;количество, выводимое на дисплей в двоично-десятичном коде
;выходные параметры: IND4,IND5,IND6- сотни, десятки, единицы
ORG 01D0H
OBMEN:MOV A,R6 ;(A)ßсотни
MOVC A,@A+DPTR ;
MOV IND5,A ;IND5ßсс-код числа сотен
MOV A,R7 ;(R7)ßдесятки
MOVC A,@A+DPTR ;
MOV IND6,A ;IND6ßсс-код числа десятков
MOV A,B ;(А)ßединицы
MOVC A,@A+DPTR ;
MOV IND7,A ;IND7ßсс-код числа единиц
RET ;
;п/п перекодировки двоичного числа в двоично-десятичный
;входные параметры: (А)-двоичный код
;выходные параметры: (R6),(R7),(B)- сотни, десятки, единицы
ORG 01E0H
BIN_BCD: MOV B,#64H ;
DIV AB ;делим на 100
MOV R6,A ;(R6)ßсотни
MOV A,#0AH ;
XCH A,B ;
DIV AB ;делим на 10
RET ;
;п/п передачи пакета данных внешней ЭВМ
;входные параметры:R1-начальный адрес записи
;последнего пакета данных
ORG 01F0H
INTERF:MOV R6,#11H ;счетчик переданных байтов
CLR ET1 ;запрет прерываний от т/с1
SETB SMOD ;удвоенная скорость передачи
MOV SCON,#42H ;установка режима УАПП
MOV TMOD,#20H ;т/с1 в режиме2
MOV TH0,#250 ;
SETB TR1 ;запуск т/с1
CLR P1.2 ;DTR=0,мы готовы к передаче
JNB P1.3,MET1 ;переход на MET1 если DSR=0
SETB P1.2 ;данные не приняли
EXIT: CLR TR1 ;останов т/с1
EXIT: RET ;возврат из п/п
MET1: MOV A,R1 ;
SUBB A,#11H ;
MOV A,@R1 ;(А)ßпересылаемый байт
MET2: MOV SBUF,A ;
SPOUT: JNB TI,SPOUT ;ожидание передачи байта
CLR TI ;гашение флага пре-ния передатчика
JNB P1.3,MET2 ;если DSR=0,то повтор передачи
SETB P1.2 ;иначе данные передали
INC R1 ;адрес следующего байта
DJNZ R2,MET1 ;если байт не последний, то МЕТ1
JMP EXIT ;передача завершена, выход
;таблица перекодировки в семисегментный код
ORG 0050H
TAB_C:DB 3FH---------0
DB 06H---------1
DB 5BH--------2
DB 4FH---------3
DB 66H---------4
DB 6DH--------5
DB 7DH--------6
DB 07H---------7
DB 7FH---------8
DB 6FH---------9
DB 39H---------C
DB 73H---------P
DB 79H---------E
DB 60H---------знак минус
;п/п опросадатчиков расхода электроэнергии
ORG 0230H
OPROS:CJNE R1,3FH,M2 ;если не все ячейки, отведенные для
; хранения заполнены, то переход
MOV R1,#00H ;обнуление счетчика ячеек хранения
;данных
M2: MOV R3,#0000 1101 B;код подключения первого датчика
M1: MOV A,R3 ;
ANL P1,A ;подключения i-го датчика
MOV A,P0 ;сбор информации с i-го датчика
SETB P1.2 ;отключение i-го датчика
MOV @R1,A ;запоминание информации в ячейке ПД
INC R1 ;адрес след. ячейки для запоминания
SWAP A ;код
INCA ;подключения
SWAP A ;следующего
CLR A.2 ;датчика
MOV R3,A ;
CJNE R3,00H,M1 ;если датчик не последний, то M1
RET ;
6. Расчет блока питания.
Подсчитаем общий потребляемый ток всего устройства.
+5В:
КР580ВВ79 – 120мА
КР1816ВЕ51 – 150мА
К534ИД7 – 74мА
К561ИЕ10 – 10мА
1533ИД3 – 15мА
1533ИР33 – 50мА 16шт
133ЛА8 – 22мА 2шт
155ЛН5 – 51мА 2шт
533ТЛ2 – 21мА
АЛС305 – 144мА 7шт
К155ЛЛ2 – 68мА 8шт
К155ЛА1 – 11мА 8шт
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.