LCDWR .EQU P0.2 ;ñèãíàë çàïèñè â ÆÊ-äèñïëåé LCDRD .EQU P0.4 ;ñèãíàë ÷òåíèÿ èç ÆÊ-äèñïëåÿ LCDRES .EQU P0.6 ;ñèãíàë ñáðîñà ÆÊ-äèñïëåÿ LCDCD .EQU P3.4 ;ñèãíàë çàïèñè êîìàíäû/äàííûõ â ÆÊ-äèñïëåé LCD_D0 .EQU P2.0 ;øèíà äàííûõ ÆÊ-äèñïëåÿ LCD_D1 .EQU P2.1 LCD_D2 .EQU P2.2 LCD_D3 .EQU P2.3 LCD_D4 .EQU P2.4 LCD_D5 .EQU P2.5 LCD_D6 .EQU P2.6 LCD_D7 .EQU P2.7 ADDR_L .EQU 50H ;ÍÀ×ÀËÜÍÛÉ ÀÄÐÅÑ ÂÛÂÎÄÀ ÄËß ÏÎÄÏÐÎÃÐÀÌÌÛ - ADDR ADDR_H .EQU 51H ;******************************************************** ;***** ÏÎÄÏÐÎÃÐÀÌÌÀ ÇÀÏÈÑÈ ÊÎÌÀÍÄÛ Â ÆÊ-ÄÈÑÏËÅÉ ***** ;******************************************************** WRITEC: SETB LCDCD ;ACC - ÊÎÄ ÊÎÌÀÍÄÛ MOV P2, #0FFH ;ÏÐÎÂÅÐÊÀ ÃÎÒÎÂÍÎÑÒÈ ÆÊ-ÄÈÑÏËÅß PUSH ACC STAT1: CLR LCDRD LCALL MKSEK MOV A, P2 SETB LCDRD ANL A, #03H CJNE A, #03H, STAT1 POP P2 ;ÇÀÏÈÑÜ ÊÎÌÀÍÄÛ Â ÆÊ-ÄÈÑÏËÅÉ LCALL MKSEK CLR LCDWR LCALL MKSEK SETB LCDWR MOV P2, #0FFH RET ;******************************************************* ;***** ÏÎÄÏÐÎÃÐÀÌÌÀ ÇÀÏÈÑÈ ÄÀÍÍÛÕ Â ÆÊ-ÄÈÑÏËÅÉ ***** ;******************************************************* WRITED: SETB LCDCD ;ACC - ÄÀÍÍÛÅ MOV P2, #0FFH ;ÏÐÎÂÅÐÊÀ ÃÎÒÎÂÍÎÑÒÈ ÆÊ-ÄÈÑÏËÅß PUSH ACC STAT2: CLR LCDRD LCALL MKSEK MOV A, P2 SETB LCDRD ANL A, #03H CJNE A, #03H, STAT2 CLR LCDCD ;ÇÀÏÈÑÜ ÄÀÍÍÛÕ Â ÆÊ-ÄÈÑÏËÅÉ POP P2 LCALL MKSEK CLR LCDWR LCALL MKSEK SETB LCDWR MOV P2, #0FFH RET ;********************************************** ;***** ÏÎÄÏÐÎÃÐÀÌÌÀ ÇÀÄÅÐÆÊÈ ÍÀ 1 ÌÊÑ ***** ;********************************************** MKSEK: NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP RET ;*************************************************************** ;***** ÏÎÄÏÐÎÃÐÀÌÌÀ ÂÛÂÎÄÀ ÑÈÌÂÎËÀ/ÁÀÉÒÀ ÍÀ ÆÊ-ÄÈÑÏËÅÉ ***** ;*************************************************************** WRITE: LCALL WRITED ;ACC - ÑÈÌÂÎË MOV A, #0C0H LJMP WRITEC ;***************************************************** ;***** ÏÎÄÏÐÎÃÐÀÌÌÀ ÈÍÈÖÈÀËÈÇÀÖÈÈ ÆÊ-ÄÈÑÏËÅß ***** ;***************************************************** INIZ: CLR LCDRES ;ÔÎÐÌÈÐÓÈÌ ÈÌÏÓËÜÑ ÑÁÐÎÑÀ LCALL MKSEK ;ÆÊ-ÄÈÑÏËÅß ÄËÈÒÅËÜÍÎÑÒÜÞ 5 ÌÊÑ LCALL MKSEK LCALL MKSEK LCALL MKSEK LCALL MKSEK SETB LCDRES CLR A ;ÓÑÒÀÍÎÂÊÀ ÍÀ×ÀËÜÍÎÃÎ ÀÄÐÅÑÀ LCALL WRITED ;ÃÐÀÔÈ×ÅÑÊÎÉ ÎÁËÀÑÒÈ 0000H CLR A LCALL WRITED MOV A, #42H LCALL WRITEC MOV A, #1EH ;ÓÑÒÀÍÎÂÊÀ ÎÁËÀÑÒÈ ÃÐÀÔÈÊÈ LCALL WRITED CLR A LCALL WRITED MOV A, #43H LCALL WRITEC MOV A, #81H ;ÓÑÒÀÍÀÂËÈÂÀÅÌ ÐÅÆÈÌ ÍÀËÎÆÅÍÈß EXOR LCALL WRITEC MOV A, #98H ;ÓÑÒÀÍÀÂËÈÂÀÅÌ ÃÐÀÔÈ×ÅÑÊÈÉ ÐÅÆÈÌ ÂÛÂÎÄÀ LJMP WRITEC ;ÂÎÇÂÐÀÒ ÈÇ ÏÎÄÏÐÎÃÐÀÌÌÛ ;************************************************************** ;***** ÏÎÄÏÐÎÃÐÀÌÌÀ ÓÑÒÀÍÎÂÊÈ ÓÊÓÇÀÒÅËß ÀÄÐÅÑÀ ÂÛÂÎÄÀ ***** ;************************************************************** ADDR: MOV A, ADDR_L ;ADDR_L, ADDR_H - ÀÄÐÅÑ LCALL WRITED MOV A, ADDR_H MET_ADR1: LCALL WRITED MOV A, #24H LJMP WRITEC ;********************************************************************* ;***** ÏÎÄÏÐÎÃÐÀÌÌÀ ÏÅÐÅÂÎÄÀ ÓÊÀÇÀÒÅËß ÀÄÐÅÑÀ ÍÀ ÑÒÐÎÊÓ ÂÍÈÇ ***** ;********************************************************************* PER_STR: MOV A, ADDR_L ADD A, #30 MOV ADDR_L, A MOV A, ADDR_H ADDC A, #00 MOV ADDR_H, A RET