i
[
"РЛ" - НАЧИНАЮ Щ ИМ
о
---------------------
:— —
\
Роман Абраш
г. Новочеркасск
LüQJ
IK ü -JLiJLJJCil
Продолжение.
Начало в Nb1-2/2007
Глава б. Разбор полетов
Итак, я искренне надеюсь, что схе-
ма, которую вы собрали по прочтении
главы 4, не подкачала: светодиод за-
мигал примерно 1 раз в секунду. Вы,
разумеется, сразу догадались, что мы
реализовали практически нашу са-
мую первую “программу" из цикла, на-
деюсь, вы ее еще помните. Остается
разобраться, как же практически
были получены те самые коды про-
граммы или, что собственно одно и
то же, “написать” ее самостоятельно.
Но прежде давайте обсудим нашу
схему, ведь одно дело сделать ее не
понимая, что к чему, а другое - осоз-
нанно. Итак, самый главный элемент
- разумеется микроконтроллер 0Р1.
Вы можете заметить, что из его 40 вы-
водов задействовано совсем немно-
го. По характерным обозначениям
РО.О, Р0.1 и т.д. вы, наверное, дога-
дались, что' это те самые порты вво-
да-вывода, о которых мы уже говори-
ли. Как видите, отдельная линия пор-
та обозначается так: сначала назва-
ние порта, а затем через точку - но-
мер линии. Помните, что самый млад-
ший бит в байте имеет нулевой но-
мер? Значит, и линия порта РО.О бу-
дет соответствовать самому
младше-
му
биту порта РО, а линия Р0.7 - са-
мому
старшему.
Так, через точку, мы
довольно часто будем обозначать от-
дельные биты в байтах, а так же от-
дельные линии портов ввода-вывода,
это общепринятое обозначение.
По схеме мы видим, /что одна ли-
ния порта РО задействована для уп-
равления свечением светодиода. Оче-
видно, что светодиод будет светиться,
когдачна линии РО.О будет низкий ло-
гический уровень. К сожалению^ зас-
тавить светиться светодиод от высо-
кого логического уровня нам не удас-
тся - это особенность нашего микро-
контроллера: все его порты могут
обеспечить более-менее значитель-
ный ток нагрузки (до 10 мА) только при
низком уровне, а при высоком выте-
кающий ток составляет доли милли-
ампера. Подобным поведением отлича-
ются, как вы, наверное, знаете, выводы
микросхем с открытым коллектором
или стоком. Фактически выводы мик-
роконтроллера не являются чисто “от- '
крытыми", они соединяются с питаю-
щей шиной внутри кристалла через
источник тока небольшой величины.
Эту особенность вы должны учиты-
вать всегда при разработке собствен-
ных устройств, обеспечивая при необ-
ходимости внешними резисторами
“подтягивание" сигналов к высокому
уровню. Заметим, что существуют раз-
новидности микроконтроллеров семей-
ства MCS51, у которых все выводы вы-
полнены по мощной схеме push-pull,
которая обеспечивает достаточно
большие значения тока как высокого
уровня, так и низкого. Так же отметим,
что прародитель 8051 имел порт РО с
классическими
открытыми коллекто-
рами,
т.е. для его нормальной работы
внешние подтягивающие резисторы
были обязательными. Более подроб-
но о строении портов микроконтрол-
лера можно узнать из фирменной до-
кументации9.
Линии с 5-ой по 7-ю порта Р1 за-
действованы для программирования
памяти программ микроконтроллера.
Эти линии фактически реализуют ин-
терфейс SPI (сигналы MOSI, MISO и
SCK), который и используется для
программирования. При некоторых
ухищрениях эти выводы можно за-
действовать и в схеме устройства, со-
хранив возможность изменять про-
грамму микроконтроллера. Такой
прием называют
внутрисхемным
или
внутрисистемным
программировани-
ем. Раньше микроконтроллер необхо-
димо было всегда прошивать в про-
грамматоре, и лишь затем впаивать
в изделие. Если выяснялось, что в
программе имеется ошибка, то выпа-
ивать микроконтроллер было сущим
мучением, ведь применение панелек
не всегда возможно.
.. Появление
микроконтроллеров с возможностью
внутрисистемного программирования
значительно упростило жизнь разра-
ботчику -теперь уже в готовом изде-
лии программу можно менять практи-
чески неограниченное число раз без
выпаивания микроконтроллера!
Кроме линий интерфейса вР1 на
разъем Х1, используемый для связи
]
с адаптером СОМ-порта компьютера,
I
выведен общий провод схемы и сиг-
нал с вывода микроконтроллера, обо-
значенного ЯвТ. Это вход
сброса.
\
После того, как на микроконтроллер
|
подано питание, состояние его внут-
|
ренних функциональных узлов не оп-
|
ределено (как, собственно, у любой
|
цифровой схемы). Для приведения их
Л
в исходное состояние требуется спе-
]
циальный импульс высокого уровня,
1
подаваемый на вход БвТ (как види-
|
те, формирование этого импульса
обеспечивается БС-цепочкой Р1С1)-
|
прием, широко используемый
В
циф-
ровой схемотехнике. Значения рези-
i
стора Б1 и конденсатора С1 рекомен-
дованы фирмой-производителем, так
что вы всегда можете использовать
их в своих конструкциях не особо за-
думываясь над номиналами. Для тех
же, кто всегда хочет докопаться до
сути, могу сказать, что надежный
сброс микроконтроллера возможен
только в том случае, если высокий
уровень на входе БвТ длится
не ме-
нее
24 периодов частоты кварцевого
резонатора, используемого для так-
тирования микроконтроллера. На
практике следует выбирать сопротив-
ление резистора от 1 кОм до 10 кОм,
а егЛкость конденсатора так, чтобы га-
рантировать длительность импульса
сброса хотя бы 1 миллисекунду. Кста-
ти, все время, пока на входе БЭТ при-
сутствует высокий логический уро-
вень, все устройства микроконтрол-
лера остановлены, программа не вы-
полняется, и лишь в момент, когда
уровень снова становится низким, все
устройства устанавливаются в исход-
ное состояние, и начинается исполне-
ние программы с самой первой ко-
манды, находящейся в нулевой ячей-
ке памяти программ (т.е. с адреса
ООООИ). Кнопкой вВ1 мы можем при-
нудительно подать импульс сброса на
микроконтроллер, заставив его про- .
грамму перезапуститься с самого на-
чала - тоже характерный часто ис-
пользуемый прием при разработке ус-
тройств с микроконтроллерами.
9 http-y/www.atmel.com/dyn/resources/prod_documents/doc4316.pdf
48
У
Радиолюбитель - 0 3 /2 0 0 7
предыдущая страница 48 Радиолюбитель 2007-03 читать онлайн следующая страница 50 Радиолюбитель 2007-03 читать онлайн Домой Выключить/включить текст