Курсовая работа: Цифровой термометр на микропроцессоре AVR-MEGA 128
DEC LPCNTR ; Декремент счётчика
JZ DIV3 ; 0: выход без ошибки
RLA MRESLT_LW
RLC MRESLT_HW
JNC DIV1
SUB MSTACK+2,MRESLT_HW
SETC
JMP DIV2
DIV3 CLRC ;Ошибки нет, C = 0
; Перевод сопротивления датчика в градусы Цельсия для отображения RES_2_F
CLR R12 ;Указат.на значение в табл.R
MOV #064H,R13 ;Поместить мин.темп.-1 в индик
JMP FIRST_CMP ;При первом сравн.1 не добав.
CHECK_R INCD R12 ;INC указат.на знач.в таб.cопрот.
DADD #1,R13 ;Десятичный инкремент счётчика
FIRST_CMP CMP RESIS_TAB(R12),RESULT
;Сравнить табличное значение с вычисленным сопротивлением
JNC CHECK_R ;Переход,если R датч.<табличного
;по адресу указателя
;Отобразить ”С” и знак «°» на ЖКИ
DISPLAY MOV.B #A+E+F+D,LCDM1+1 ;”С” ? дисплейная память ЖК
MOV.B #A+B+F+D,LCDM1+2 ;” °” (знак градуса)
; Отобразить значение, хранящееся в R13 в формате BCD на ЖКИ
MOV R13,R12 ;Копир.число в виде BCD в R12
MOV #LCDM1+4,R14 ;Младшая цифра в памяти ЖКИ; R14
BIC #0FFF0H,R13 ;Погасить всё,кроме младшей цифры
MOV.B LCD_TAB(R13),0(R14) ; Отпр.мл.цифру в ЖКИ
MOV R12,R13 ; Восстановить значение в R13
RRA R13 ; 4 сдвига