Автор: Пользователь скрыл имя, 12 Января 2012 в 04:06, контрольная работа
Целью данного курсового проекта является создание системы, способной автоматически давать звонки по заданному расписанию.
not154:
ldi r17,0x12
cp r17,r3
brne not155
ldi r17,0x23
cp r17,r2
brne not155
clr r17
cp r17,r1
brne not155
rcall zvonokbeg // 18:35
not155:
ldi r17,0x12
cp r17,r3
brne not1541
ldi r17,0x2D
cp r17,r2
brne not1541
clr r17
cp r17,r1
brne not1541
rcall zvonokbeg // 18:45
not1541:
ldi r17,0x13
cp r17,r3
brne not1542
ldi r17,0x1E
cp r17,r2
brne not1542
clr r17
cp r17,r1
brne not1542
rcall zvonokbeg // 19:30
not1542:
ldi r17,0x13
cp r17,r3
brne not1543
ldi r17,0x23
cp r17,r2
brne not1543
clr r17
cp r17,r1
brne not1543
rcall zvonokbeg // 19:35
not1543:
ldi r17,0x14
cp r17,r3
brne not1544
ldi r17,0x14
cp r17,r2
brne not1544
clr r17
cp r17,r1
brne not1544
rcall zvonokbeg // 20:20
not1544:
pop r21
ldi r19,0x80
or r19,r21
out sreg, r19
reti
zvonokbeg1:
//звоним
ldi r23, 0x01
out portd, r23
ser r24
ret
start: //точка входа в программу
cli
ldi r17, 0x02
out spl, r17
out sph, r17 // жахнули поинтер на стэк
// запретили прерывания к чортям
clr r17
out EIMSK, r17
ldi r17,0x00
out TCCR0A, r17 //после 32 тыс тактов вызываем прерывание
ldi r17,0x04 //делим на 256, каждые 128 по 256 вызываем прерывание
out TCCR0B, r17
ldi r17, 0x05
sts TIMSK0, r17
ldi r17, 0x7F
out OCR0B, r17
ldi r23, 0x01
out ddrd, r23
ldi r23, 0x00
out portd, r23
ldi r17, 0x80
out sreg, r17 //приривания Пщель!
sei
endl:
nop //В случае если нажата кнопка, сбрасываем время на 8:00
in r11, pind
ldi r18, 0x02
and r11,r18
clr r18
cp r11,r18
breq neep
nop
ldi r17, 0x3B
mov r1,r17
mov r2,r17
ldi r17, 0x07
mov r3, r17
//clr r17
//out pinc, r17
neep:
rjmp endl
rjmp endl
nop
zvonokbeg:
nop
//звоним
//Устанавливаем выходной пин PIND1 в 5 В, Взводим флаг начала звонка
ldi r23, 0x01
out portd, r23
ser r24
ret
Часть 4 - Отладка
Предлагается
использовать электромагнитное реле в
выходном каскаде, т.к. потребляемый звонками
ток превышает 300 мА. Для этого
выходной каскад оптопары подключаем
последовательно к обмотке реле и источнику
питания (12 Вольт). Нормально разомкнутые
контакты реле подключаем параллельно
кнопке звонка. Так же следует сделать
двухпозиционный выключатель, служащий
для отключения контакта реле от выходного
каскада. Это позволит не отключать устройство
в случае наступления выходных\праздников\каникул.
Часть 5 - Заключение
Мы получили устройство, дающее звонки по расписанию. Максимальная мощность нагрузки которого составляет 1,1 кВт. Точность устройства определяется точностью используемого кварцевого резонатора, используемого в качестве источника тактовых сигналов. Т.к. кварцевый резонатор взят из часов, то устройство дает погрешность +\- 1 сек в сутки, что не критично для заданного процесса. Если на основе данной схемы предполагается собирать другие устройства, более критичные ко времени срабатывания, можно использовать кварцевый резонатор\стабилизатор с тепловой стабилизацией частоты.
Данное
устройство введено в эксплуатацию
1.10.11 г. Никаких недостатков или
трудностей выявлено не было.
Информация о работе Расчет системы подачи звонков на основе МК AVR