Реализация шины SMBus на базе микроконтроллера MSP430


очищается старший

байт)

MOV.B address, R5 AND #OOOFh, R5 MOV.B LCD_Tab(R5) отобразить младшую тетраду 0-MOV.B address, R5 AND #00F0h, R5

R5 ? младший байт

; маска на старшую

; тетраду ,LCD1+1 F

R5 ? младший байт

; маска на младшую

; тетраду

RRA R5
RRA R5
RRA R5
RRA R5

сдвиг вправо

сдвиг вправо

сдвиг вправо

сдвиг вправо

MOV.B LCD_Tab(R5) ; отобразить старшую тетраду 0- PUSH #00h PUSH address SUB #06, SP CALL #hunt POP RIO POP Rll ADD #04h, SP

LCD1+2

место для кода ошибки поместить адрес в стек

POP CMP JZ MOV MOV DEC JNZ DEC JNZ MOV
R9 #00h, R9 retry #0FFh, R7 #0B4Fh, R6 R6 dela3 R7 dela4 #0000h, R5

вернуть данные в R1C вернуть данные в Rll освободить место для адреса и команд вернуть код ошибки

повтор при неудаче

очистка (убедиться, что очищается старший байт) R5 ? младший байт маска на старшую тетраду LCD1+4 R5 ? младший байт ; маска на младшую ; тетраду

dela4 dela3

MOV.B address, R5 AND #000Fh, R5

MOV.B LCD_Tab(R5) отобразить младшую тетраду СК MOV.B address, R5 AND OOFOh, R5