ORG 0000H
ST: MOV DPTR,#TAB ;显现数据表首址LP5:CLR P2.2 ;74HC595输出清零SETB P2.2 CLR P2.4 ;选取榜首行000CLR P2.5CLR P2.6MOV A,#00H ;清累加器MOVC A,@A+DPTR ;取显现数据LCALL DIS ;送列数据子程?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 ;一桢画面显现完结回来持续显现下一祯;****************************************************************;送列数据子程序;****************************************************************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;*****************************************************************;显现数据表;*****************************************************************TAB: DB 0ffH,7eH,3cH,18H,18H,3cH,7eH,0FFHTAB1:DB 10,0feH,92H,92H,0feH,92H,10H,10HEND