Изучение и исследование среды разработки электронных устройств PROTEUS. Коммерческий пакет программ САПР, страница 9

Далее необходимо соединить элементы между собой согласно принципиальной схеме по методике, изложенной в п. 3.3.4.

3.4.3. Теперь нужно скорректировать параметры некоторых элементов схемы. С этой целью выделите резистор R1, перейдите в режим редактирования свойств  и измените величину его сопротивления на 300 Ом (слово Ом вводить не надо), а также тип модели на DIGITAL. Далее выделите резистор R2 и измените тип его модели также на DIGITAL.

И, наконец, выделите клемму питания и перейдите в режим редактирования. В раскрывшемся окне на вкладке Label (метка) щелкните по кнопке в строке String. Из раскрывшегося списка выберите пункт VDD. Щелкните по кнопке подтверждения выбора OK. На схеме над изображением клеммы питания появится надпись VDD. Это означает, что на клемму подано положительное напряжение VDD (по умолчанию +5 В), которое используется для питания микроконтроллера.

Щелкните левой кнопкой по пустому месту схемы, чтобы убрать возможные выделения элементов.

Если полученная схема в окне редактирования Proteus соответствует приведенной на рис. 3, то разработку схемы МКУ можно считать законченной.

Теперь нужно сохранить проект в вашей папке. Выберите пункт меню File > Save Design As… Раскройте вашу папку и сохраните проект под именем  but.dsn.

3.4.4. Следующим этапом проектирования МКУ является разработка программы работы микроконтроллера. Предположим, что после включения питания МК (его сброса) светодиод не горит. При нажатии на кнопку светодиод начинает мигать с частотой 1 Гц (как в предыдущей программе). При отжатии кнопки (размыкании ее контакта) светодиод гаснет. Для упрощения программы будем предполагать, что даже при кратковременном замыкании контакта кнопки светодиод будет гореть в течение 0,5 с. Текст программы работы МКУ может иметь следующий вид.

list p=16f84a

#include<p16f84a.inc>

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC

Count 1  equ  0x0C            ; регистры хранения переменных

Count2   equ  0x0D

Count3   equ  0x0E            ; для подпрограммы временной задержки

org 0x000

clrf   PORTA       ; очистить регистр-защелку порта А

clrf   PORTB       ; очистить регистр-защелку порта В

bsf   STATUS,RP0 ; выбрать банк 1

movlw 0xFF        ; настроить все линии

movwf  TRISA    ; порта А на ввод

clrf  PORTB         ; настроить все линии порта В на вывод

bcf  STATUS,RP0  ; выбрать банк 0

wait

btfsc  PORTA,0    ; пропустить команду, если RA0=0

goto  wait              ; идти на метку, если  RA0=1

bsf  PORTB,0       ; включить светодиод

call del500ms        ; задержка на 0,5 с

bcf  PORTB,0       ; выключить светодиод

call del500ms        ; задержка на 0,5 с

goto  wait              ; зацикливание программы

#include”del500ms.asm”

end

Задание 1. Наберите текст программы управления светодиодом и сохраните его в папке с вашим проектом под именем  but.asm.

3.4.5. Далее нужно получить выходной hex-файл программы и загрузить его в память МК, то есть запрограммировать МК. Это можно сделать по методике, изложенной в пп. 3.3.7,  3.3.8.

3.4.6. После записи hex-файла программы в МК надо проверить работу МКУ. С этой целью с помощью кнопки Play – ПУСК запустите проект на выполнение. Согласно алгоритму программы после запуска МКУ светодиод должен быть погашен. Нажмите кнопку на схеме МКУ, щелкнув по кружку активатора около кнопки. Контакт кнопки должен замкнуться, а светодиод начать мигать с частотой 1 Гц. После этого вновь щелкните мышью по кружку активатора. Контакт кнопки должен разомкнуться, а светодиод погаснуть. Если все эти действия МКУ выполняет правильно, то можно сделать вывод, что программа работает согласно заданному алгоритму.

В заключение проверьте работу МКУ при кратковременном нажатии на кнопку. Это будет соответствовать кнопке без фиксации замкнутого положения контактов. С этой целью щелкните мышью по середине кнопки. Контакт кнопки должен кратковременно замкнуться, а затем разомкнуться. При этом светодиод должен загореться на время 0,5 с.