Автор работы: Пользователь скрыл имя, 23 Марта 2014 в 21:56, курсовая работа
В ходе развития технологии микроэлектроники происходила миниатюризация электронных схем, и появились СБИС. Массовое производство СБИС привело к их удешевлению. Одним из дешёвых и миниатюрных устройств является микроконтроллер (МК). Микроконтроллер – это СБИС, содержащая на одном кристалле процессор, ПЗУ, ОЗУ, последовательный или параллельный интерфейс связи, таймеры, схему прерываний и другие периферийные устройства. Таким образом, на одной ИС можно реализовать множество различных устройств, в которых требуется управлять каким то процессом. Причём совершенствование технологии изготовления СБИС привело к повышению их производительности, и микроконтроллеры могут достаточно быстро реагировать на событие и обрабатывать его.
Рисунок 3 – Блок – схема алгоритма подпрограммы InputADC1
Продолжение рисунка 3
Ниже приведены фрагмент текста программы для настройки АЦП (фрагмент нужно разместить после фрагмента для настройки прерываний):
;-----------------------------
; Настройка АЦП0
;-----------------------------
mov SFRPAGE, #000h
mov AMX0CF, #000h
mov AMX0SL, #000h
mov ADC0CF, #0F8h
mov ADC0CN, #080h
Дальше приведён фрагмент текста программы подпрограммы InputADC1, который соответствует частоте дискретизации 500 КГц (для остальных частот аналогично):
;-----------------------------
;Частота дискретизации 500 КГц
;-----------------------------
_500KHz1:
cjne kf1, #004h, _250KHz1
; Задание числа c которого считает таймер
mov SFRPAGE, #001h
mov RCAP3H,#0FFh
mov RCAP3L,#05Ch
mov R4, #000h ;переменная synchronization
mov DPTR, #000h
Input1_4:
mov SFRPAGE, #00Fh ;3
mov A, Padc1 ;2
movx @DPTR, A ;3
inc DPTR ;1
cjne R3,#000h, L0
clr AD0INT
setb AD0BUSY ; запуск АЦП
jz AD0INT,&
mov A, ADC0L
mov R0, A
clr C
subb A,R0
cjne A, #000h, Input1_4
mov R4, #001h
mov A, #0F0h ;2
L0: mov SFRPAGE, #001h ;3
mov TMR3CN, #004h ;3
;задержка 1690 нс
jnb TMR3CN.7,$ ;4
nop
nop
mov TMR3CN,#000h ;3
mov TMR3H,#0FFh ;3
mov TMR3L,#05Ch ;3
cjne A, DPL, Input1_4 ;5