Вычислительные машины, сети и системы Проектирование цифровых устройств на микроконтроллере Отчет по лабораторной работе № 1
Скачать:
Вычислительные машины, сети и системы
Проектирование цифровых устройств на микроконтроллере
Отчет по лабораторной работе № 1
Цель работы: проектирование цифрового устройства «бинарные часы» на микроконтроллере в комплексе программ для автоматизированного проектирования Proteus, а именно в его подпрограмме ISIS — программе синтеза и моделирования электронных схем, а затем запрограммировать микроконтроллер, написав для него программный файл в программной среде mikroPascal PRO for AVR.
Ход работы:
Для реализации быстродействующих цифровых устройств (в том числе и предназначенных для обработки аналоговых сигналов) обычно применяются программируемые логические интегральные схемы. Проектируемое устройство будет отображать посекундно время с помощью батареи LED-индикаторов.
Для выполнения данной лабораторной работы выберем программируемый микроконтроллер AT90S8535 (рисунок 1).
Рисунок 1 – Микроконтроллер AT90S8535
Следующий блок, который обязательно должен входить в состав часов - это устройство индикации. Добавим 4 батареи для отображения десятков и единиц минут и секунд LED-BARGRAPH-GRN, состоящие из десяти LED-индикаторов, и определённым образом присоединим их к микроконтроллеру (рисунок 2).
Рисунок 2 – Схема присоединения световых индикаторов к микроконтроллеру
При этом используя в качестве генератора эталонных интервалов кварцевый генератор с частотой 12 МГц (рисунок 3).
Рисунок 3 – Реализация генератора эталонных интервалов времени
Затем установим регулятор напряжения на напряжение 5 В при силе тока 1 А (рисунок 4).
Рисунок 4 – Регулятор напряжения
После чего получим готовую схему проектируемого устройства (рисунок 5).
Рисунок 5 – Схема проектируемого устройства
На данном этапе необходимо запрограммировать микроконтроллер. Напишем для этого текст прошивки в программе mikroPascal PRO for AVR и, скомпилировав его, получим программный файл для микроконтроллера. Ниже представим текст программы.
Текст программы:
program net;
var cifers:array[0..9] of Byte;
var minH,minL,sekH,sekL: byte;
{ Declarations section }
procedure FillArray;
begin
minH:=0;
minL:=0;
sekH:=0;
sekL:=0;
end;
procedure ShowTime;
begin
if sekL=0 then begin PortC.0:=0; PortA:=0; end else if sekL=9 then PortC.0:=1 else PortA.(sekL-1):=1;
if sekH=0 then begin PortC.1:=0; PortC.2:=0; PortC.3:=0; PortC.4:=0; PortC.5:=0; end else PortC.sekH:=1;
if minL=0 then begin PortD.0:=0; PortB:=0; end else if minL=9 then PortD.0:=1 else PortB.(minL-1):=1;
if minH=0 then begin PortD.1:=0; PortD.2:=0; PortD.3:=0; PortD.4:=0; PortD.5:=0; end else PortD.minH:=1;
end;
procedure Tick;
begin
sekL:=sekL+1;
if sekL>9 then begin sekH:=sekH+1; sekL:=0;end;
if sekH>5 then begin minL:=minL+1;sekH:=0;end;
if minL>9 then begin minH:=minH+1; minL:=0;end;
if minH>5 then minH:=0;
end;
begin
FillArray;
ddra:=$FF;
ddrb:=$FF;
ddrc:=$FF;
ddrd:=$FF;
while true do begin
ShowTime;
Tick;
delay_ms(83);
end;
end.
Изобразим проектируемое устройство в рабочем состоянии (рисунок 6).
Рисунок 6 - Проектируемое устройство в процессе работы
Вывод
Проделав данную лабораторную работу, мы спроектировали устройство на микроконтроллере «бинарные часы» в Proteus, а именно в его подпрограмме ISIS. При этом данная среда автоматизированного проектирования оказалась удобной в связи с наличием в ней моделей различных устройств, что позволяет испытать построенную схему без риска сгорания дорогостоящих электронных устройств.