附录: 例:整屏四个字一起显示的程序 SER EQU P1.0 ; TPIC6B595 第3脚 OE EQU P1.1;TPIC6B595 第8脚 RCK EQU P1.2;TPIC6B595 第12脚 MR EQU P1.3;TPIC6B595 第9脚 SRCLK EQU P1.4;TPIC6B595 第13脚 ORG 0000H LJMP MAIN ORG 0100H ;**************************主程序********************************** MAIN: MOV SP,#70H SETB OE MOV 2BH,#00H MOV 27H,#00H START: ;初始化寄存器RAM单元 MOV R0, #30H MOV R1,#64H ;30H~6FH单元清零 MOV A, #00H ST: MOV @R0,A INC R0 DJNZ R1,ST ;2Dh------寻址偏址 ;整屏四个字一起显示 LOOP:MOV DPTR,#TAB;赋查表初值 MOV R3,#56 PLAY: MOV 2DH,#00H MOV 2FH,#10H GG: LCALL LINE16;扫描显示一次 MOV 2DH,#00H DJNZ 2FH,GG MOV A,DPL CLR C ADD A, #16 MOV DPL ,A MOV A, DPH ADDC A ,#00H MOV DPH, A DJNZ R3,PLAY SJMP START LINE16: MOV 2BH,#16;扫16行,2BH放后还剩几行 FF: LCALL LINE1;扫描显示一行子程序 DJNZ 2BH,FF;扫描行直到16行扫完再转 RET LINE1:LCALL MSTR;将显示的内容移入内存单元 LCALL SEND;发送串口子程序 LCALL XH;选通行子程序 RET MSTR: ;显示内容移入内存单元 MOV R0,#30H MOV R4,#9 MOV A,2DH; BB: MOVC A,@A+DPTR MOV @R0,A INC R0 MOV A,2DH ADD A,#16;加16移到下一行 MOV 2DH,A DJNZ R4,BB MOV A,2DH SUBB A,#143 MOV 2DH,A RET ;$$$$$$$$$$$$$$$$$$$$$$$$$$$发送数据到串口子程序$$$$$$$$$$$$$$$$$$$$$$$$$ SEND:MOV R0,#30H MOV R5,#8 ;一行有8个字节,如每次显示字数不同要作相应改动 SETB OE &n
首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5