Министерство общего и профессионального образования РФ
Хабаровский Государственный Технический Университет
Кафедра ВМ
Расчетно-графическая работа № 3
по теории проектирования ЭВМ и систем
Микропроцессорная система ввода аналоговой информации и индикации на основе стенда с однокристальной микроЭВМ INTEL8051GB.
Выполнили: студенты гр. ВМ-51
Лазебник В. Н. ,
Кириченко М. А.
Проверил: преподаватель
Березин В. В.
Хабаровск
1999 г.
Задание: Разработать и реализовать схему индикации аналогового сигнала на основе стенда с однокристальной микроЭВМ INTEL8051GB.
вход внешнего запуска TRIGIN, вывод опорного напряжения COMPREF.
Регистр ACON (097H) содержит флаг прерывания АЦП AIF, бит разрешения преобразо-вания ACE, два бита выбора канала ACS0 и ACS1, биты режима входа AIM и режима запуска ATM.
Запуск АЦП возможен как от внутреннего, так и от внешнего источника. В первом случае бит АТМ регистра ACON должен быть установлен в 1. В этом режиме в цикле, следующем за тем в котором бит АСЕ был установлен в 1, начинается преобразование с канала 0. После завершения преобразования в седьмом канале устанавливается флаг AIF. Если прерывание от АЦП разрешено установка флага в 1 вызывает прерывание по вектору АЦП. Новый цикл начинается после завер-шения предыдущего. Установка бита АСЕ в 0 завершает преобразование.
Программа для индикации преобразования напряжения в АЦП.
LOCATION EQU 0000H ; вся программа во внешней памяти программ
;Адреса (команды) для LCD: A0-RS, A1-RW
CMD_LCD EQU 0FFF0H ; запись команд в LCD
WR_LCD EQU 0FFF1H ; запись данных в LCD
STS_LCD EQU 0FFF2H ; считать состояние LCD
RD_LCD EQU 0FFF3H ; считать данные из LCD
;адpеса pегистpов для пpеобpазователя
TEMP EQU 030H
AD0 EQU 084H
ACON EQU 097H
;Инициализация
ORG LOCATION
JMP START
ORG LOCATION+100
START:
; инициализация дисплея
MOV A,#38H ;
MOV DPTR,#CMD_LCD
MOVX @DPTR,A
MOV A,#06H
CALL COMAND
MOV A,#01H
CALL COMAND
MOV A,#0EH
CALL COMAND
;цикл чтения знaчения АЦП и вывод на дисплей
LL:
MOV A,ACON
ORL A,#1 ;УСТАHОВКА БИТА ATM В 1
MOV ACON,A
MOV A,ACON
ORL A,#010000B ;УСТАHОВКА БИТА ACE
MOV ACON,A
;ЖДЕМ ЗАВЕРШЕHИЯ ПРЕОБРАЗОВАHИЯ
LL1: MOV A,ACON
ANL A,#00100000B
CJNE A,#00100000B,LL1
MOV A,ACON
ANL A,#11111110B ;УСТАHОВКА БИТА ATM В 0
MOV ACON,A
MOV A,AD0
MOV R2,A
SWAP A
CALL Hex_Asc
; В R3 and R4 результаты
CALL PUT
MOV A,R2
CALL HEX_ASC
CALL PUT
MOV A,#02H
CALL COMAND
JMP LL
;==================================================================
;ПРОЦЕДУРА ЗАПИСИ КОМАНДЫ НА ДИСПЛЕЙ
COMAND: PUSH DPL
PUSH DPH
PUSH ACC
WAITC: MOV DPTR,#STS_LCD
MOVX A,@DPTR ; читаем состояние LCD
ANL A,#80H ;
JNZ WAITC ; занят?-ждем
POP ACC
MOV DPTR,#CMD_LCD
MOVX @DPTR,A
POP DPH
POP DPL
RET
;ПРОЦЕДУРА ЗАПИСИ БАЙТА НА ДИСПЛЕЙ
PUT: PUSH DPL
PUSH DPH
PUSH ACC
WAITD: MOV DPTR,#STS_LCD
MOVX A,@DPTR ; читаем состояние LCD
ANL A,#80H ;
JNZ WAITD ; занят?-ждём
POP ACC
MOV DPTR,#WR_LCD
MOVX @DPTR,A
POP DPH
POP DPL
RET
; ПОДПРОГРАММА ПЕРЕВОДА ОДНОБАЙТНОГО ЧИСЛА В ASCII
; Данные приходят в R2, а возвращаются в R3 и R4
Hex_asc: CLR C;СБРОСИМ ПЕРЕНОС
ANL A,#0Fh
CJNE A,#0Ah,HA1
HA1: JC HAVal09
ADD A,#7
HAVal09: ADD A,#'0'
RET
;ПРЦЕДУРА ВЫДАЧИ СТРОКИ НА ДИСПЛЕЙ
STROUT: ANL A,#00H ; обнуление аккумулятора
MOVC A,@A+DPTR
CJNE A,#01H,OUT ; 1-признак конца строки
RET
OUT: CALL PUT ; вывод символа
INC DPTR
JMP STROUT
END
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.