Распределение портов и организация взаимодействия с внешними устройствами

 

В техническом задании на курсовой проект заданы базовый микроконтроллер, АЦП и формат входных и выходных сигналов. Микроконтроллер КР1830ВЕ51 представлен на рис. 1.

 

рис. 1[3]*

Для ввода и вывода данных будем использовать два двунаправленных порта: P2 – для ввода данных, P0 – для вывода. Необходимо организовать взаимодействие микроконтроллера и внешнего устройства таким образом, что бы готовые данные поступали с заданной частотой дискретизации. Нулевой бит порта P3 (P3.0) будем использовать в качестве линии запуска внешнего устройства. По этой линии на вывод внешнего устройства будет поступать импульс нулевого или высокого (в зависимости от внешнего устройства) уровня. Примем в программе импульс запуска - низкого уровня. Сигнал о готовности входного отсчета будет поступать на вывод P3.2 микроконтроллера. В программе будем считать, что данные готовы, если данный бит равен 0. Примем, что входное внешнее устройство имеет третье состояние выходных портов, тогда для того, что бы входные отсчеты поступили на порт микроконтроллера будем подавать импульс низкого уровня на соответствующий вход внешнего устройства. Выделим для этого линию P3.1. Запуск внешнего устройства целесообразно делать в начале программы, что позволит сэкономить время необходимое для ожидания готовности отсчета. Другими словами внешнее устройство параллельно с выполнением программы подготовит входные отсчеты еще до момента требующего их ввода. Или же, в случае если внешнее устройство не успеет подготовить отсчеты к тому времени, когда в программе предусмотрен их ввод; мы сэкономим время равное времени выполнения программы до этого момента.

В отличие от ввода отсчетов, их вывод осуществляется сразу «по готовности». Заданный в теоретическом задании ЦАП работает в состоянии постоянной готовности. И что бы ЦАП не считывала «неправильные» данные с выходного порта (это связано с тем, что выходной отсчет приходит неравномерно на каждый бит порта), будем формировать импульс считывания поданный на соответствующий вход ЦАП. Выделим для этого линию P1.0.

Для промежуточного хранения данных в микроконтроллере предусмотрено 4 регистровых банка RB0…RB3 по восемь регистров в каждом (R0…R7) (рис. 2).

 

рис. 2[3]

 

Регистровые банки переключаются полем RS слова состояния программы PWS. [3]

Выберем для основной программы 1 регистровый банк (RB1). Для рабочей программы определим третий регистровый банк (RB3).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: