данных LCALL WR_N ;запись младшей тетрады POP ACC ;восстановление байта данных SWAP A ;обмен тетрадами LCALL WR_N ;запись старшей тетрады RET ;Запись тетрады: ;A - тетрада (00H..0FH) WR_N: RL A ANL A,#1EH ORL A,#80H ;A=1, WR=0 PUSH ACC ORL A,#20H ;A=1, WR=1 LCALL WR595 ;загрузка регистра 74HC595 POP ACC LCALL WR595 ;загрузка регистра 74HC595 RET ;Запись адреса: ;A - адрес (00H..0FH) WR_A: RL A ANL A,#1EH ;A=0, WR=0 PUSH ACC ORL A,#20H ;A=0, WR=1 LCALL WR595 ;загрузка регистра 74HC595 POP ACC LCALL WR595 ;загрузка регистра 74HC595 RET ;Загрузка регистра 74HC595: ;A - данные WR595: PUSH B MOV B,#8 ;загрузка счетчика CLR LOAD ;LOAD=0 WR1: CLR CLK ;CLK=0 RLC A ;сдвиг бита данных в C MOV DATA,C SETB CLK ;CLK=1 DJNZ B,WR1 SETB LOAD ;LOAD=1 POP B RET ;Таблица знакогенератора: ; FCBHADEG FONT .DB 11101110B ;code 00H, character 0 .DB 01100000B ;code 01H, character 1 .DB 00101111B ;code 02H, character 2 .DB |