ORG 0000HST: MOV DPTR,#TAB ;顯示數(shù)據(jù)表首址LP5:CLR P2.2 ;74HC595輸出清零SETB P2.2 CLR P2.4 ;選取第一行000CLR P2.5CLR P2.6MOV A,#00H ;清累加器MOVC A,@A+DPTR ;取顯示數(shù)據(jù)LCALL DIS ;送列數(shù)據(jù)子程?LCALL DELAY ; 延時SETB P2.4 ;選取第二行001 CLR P2.5CLR P2.6INC DPTRMOV A,#00HMOVC A,@A+DPTRLCALL DISLCALL DELAYCLR P2.4 ;選取第三行010SETB P2.5CLR P2.6INC DPTRMOV A,#00HMOVC A,@A+DPTRLCALL DISLCALL DELAYSETB P2.4 ;選取第四行011SETB P2.5CLR P2.6INC DPTRMOV A,#00HMOVC A,@A+DPTRLCALL DISLCALL DELAYCLR P2.4 ;選取第五行100CLR P2.5SETB P2.6INC DPTRMOV A,#00HMOVC A,@A+DPTRLCALL DISLCALL DELAYSETB P2.4 ;選取第六行101CLR P2.5SETB P2.6INC DPTRMOV A,#00HMOVC A,@A+DPTRLCALL DISLCALL DELAYCLR P2.4 ;選取第七行110SETB P2.5SETB P2.6INC DPTRMOV A,#00HMOVC A,@A+DPTRLCALL DISLCALL DELAYSETB P2.4 ;選取第八行111SETB P2.5SETB P2.6INC DPTRMOV A,#00HMOVC A,@A+DPTRLCALL DISLCALL DELAY LJMP ST ;一楨畫面顯示完成返回繼續(xù)顯示下一禎;****************************************************************;送列數(shù)據(jù)子程序;****************************************************************DIS:CLR CLP1:MOV R5,#08HLP: RRC AMOV P2.0,CCLR P2.1SETB P2.1DJNZ R5, LPCLR P2.3SETB P2.3NOPNOPRET;******************************************************************;延時子程序;******************************************************************DELAY: MOV R5,#04HH0: MOV R6,#0ffHH1 : MOV R7,#0ffHH2: DJNZ R7,H2DJNZ R6,H1DJNZ R5,H0RET;*****************************************************************;顯示數(shù)據(jù)表;*****************************************************************TAB: DB 0ffH,7eH,3cH,18H,18H,3cH,7eH,0FFHTAB1:DB 10,0feH,92H,92H,0feH,92H,10H,10HEND
評論