15.51单片机项目程序模块程序_第1页
15.51单片机项目程序模块程序_第2页
15.51单片机项目程序模块程序_第3页
15.51单片机项目程序模块程序_第4页
15.51单片机项目程序模块程序_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LCD12864 测试程序(汇编)默认分类 2007-05-03 00:36 阅读 1745 评论 1字号: 大 中 小;EDIT BY GU;2005-4-12DI EQU P3.7E EQU P3.5RST EQU P3.2cs1 equ p3.0cs2 equ p3.1;广 州 铜 铧 电 子;T NSHARP ELECTRONICS CO,;14;本测试程序中 CS1,CS2=H ,RW =GND0000HLJMP MAIN0003HLJMP L O0100HMAIN: NOPclr eaclr cs1clr cs2CLR Elcall initMOV 34H,#0ffHLCALL D

2、ISPLAY_ALLlcall dly100MOV 34H,#00HLCALL DISPLAY_ALLlcall plybwlcall DLY100MOV 34H,#00HLCALL DISPLAY_ALLMOV R1,#0C0H ;START = 0LCALL WRImov 31h,#0mov 30h,#0MOV 30H,#0 ;xMOV 31H,#8 ;yMOV DPTR,#HZI7 ;您LCALL outhzMOV 30H,#0MOV 31H,#40MOV DPTR,#HZI8 ;好;广 州 铜 铧 电 子;T NSHARP ELECTRONICS CO,;15LCALL outhzMO

3、V 30H,#4MOV 31H,#16MOV DPTR,#HZI1 铜LCALL outhzMOV 30H,#4MOV 31H,#32MOV DPTR,#HZI2 ;铧LCALL outhzMOV 30H,#6MOV 31H,#0MOV DPTR,#HZI3 ;电LCALL outhzMOV 30H,#6MOV 31H,#16MOV DPTR,#HZI4 ;子LCALL outhzMOV 30H,#6MOV 31H,#32MOV DPTR,#HZI5 ;公LCALL outhzMOV 30H,#6MOV 31H,#48MOV DPTR,#HZI6 ;司LCALL outhzLCALL DLY1

4、00LJMP MAINL O: NOPNOPRETIinit: CLR RST ;RESETLCALL DLY50LCALL DLY50LCALL DLY50LCALL DLY50;广 州 铜 铧 电 子;T NSHARP ELECTRONICS CO,;16setb rstMOV R1,#3FH ;DISPLAY ONLCALL WRIMOV R1,#0C0H ;START = 0LCALL WRIMOV 34H,#00HLCALL DISPLAY_ALLretDISPLAY_ALL: MOV R1,#0C0H ;START = 0LCALL WRIMOV R7,#8 ;DISPLAY DA

5、TA= 34HMOV R2,#0B8HLOP1: MOV A,R2MOV R1,A ; X+1LCALL WRIMOV R1,#40H ; YLCALL WRIMOV R5,#64LOP11: MOV R1,34HLCALL WRDDJNZ R5,LOP11INC R2DJNZ R7,LOP1retouthz:;30h=x (0-6) 31h=y(0-63-16)MOV R1,#0C0H ;START = 0LCALL WRIMOV R7,#2MOV A,#0B8HADD A,30H ;B8+XMOV 30H,A ;A30HHZ2: ; MOV A,R2;广 州 铜 铧 电 子;T NSHAR

6、P ELECTRONICS CO,;17MOV R1,30H ; X+1LCALL WRIMOV A,#40H ; YADD A,31H; MOV 31H,A ;40+YMOV R1,ALCALL WRIMOV R5,#16HZ1: MOV A,#00HMOVC A,TRMOV R1,ALCALL WRDLCALL DLY10INC DPTRDJNZ R5,HZ1NC 30HDJNZ R7,HZ2RETplybw:MOV R1,#0C0H ;START = 0LCALL WRImov 30h,#0mov 31h,#0mov dptr,#bwMOV R7,#8MOV A,#0B8HADD A,3

7、0H ;B8+XMOV 30H,A ;A30HHZ2bw: ; MOV A,R2MOV R1,30H ; X+1LCALL WRI; MOV A,#40H ; Y;ADD A,31H;MOV 31H,A ;40+Y;MOV R1,Amov R1,#40hLCALL WRI;广 州 铜 铧 电 子;T NSHARP ELECTRONICS CO,;18MOV R5,#64HZ1bw: MOV A,#00HMOVC A,TRMOV R1,ALCALL WRDLCALL DLY10INC DPTRDJNZ R5,HZ1bwNC 30HDJNZ R7,HZ2bwRETWRI: ;写指令子程序CLR E

8、CLR DIMOV P1,R1lcall DLY10SETB ELCALL DLY10CLR ELCALL DLY10LCALL DLY10LCALL DLY10RETWRD: ;写数据子程序CLR ESETB DIMOV P1,R1LCALL DLY10SETB ELCALL DLY10CLR ELCALL DLY10LCALL DLY10LCALL DLY10RETDLY10:MOV R3,#01HDL1:MOV R4,#01HDL2:MOV R6,#0FH;广 州 铜 铧 电 子;T NSHARP ELECTRONICS CO,;19DL3:DJNZ R6,DL3DJNZ R4,DL2D

9、JNZ R3,DL1RETDLY50:MOV R3,#04HDL111:MOV R4,#0FHDL222:MOV R6,#0AFHDL333:DJNZ R6,DL333DJNZ R4,DL222DJNZ R3,DL111RETDLY100 MOV R3,#06HDL11:MOV R4,#0FFHDL22:MOV R6,#0FFHDL33:DJNZ R6,DL33DJNZ R4,DL22DJNZ R3,DL11RET0300H: DB 57H,65H,6CH,63H,6FH,6DH,65H,20H,20H,20H,20H,20H,20H,20HDB 20H,20H,20H,20H,20H,20H

10、0320HTINSHARP: DB 54H,49H,4EH,53H,48H,41H,52H,50H,20H,4CH,43H,4DH,20H,20HDB 20H,20H,20H,20H,20H,20H0340HHZI1: ; 铜DB 080H,080H,070H,0C8H,056H,048H,0F8H,010H,010H,048H,048H,028H,0F8H,008H,000H,000HDB 000H,000H,002H,02FH,012H,008H,03FH,000H,00FH,009H,027H,040H,07FH,000H,000H,000HHZI2: ; 铧DB 000H,080H,0

11、60H,090H,05EH,050H,030H,010H,0FCH,044H,0FEH,010H,008H,080H,000H,000HDB 000H,000H,002H,03FH,012H,00AH,008H,008H,00BH,048H,07CH,009H,009H,005H,000H,000HHZI3: ;电DB 00H,0f8H, 48H, 48H, 48H, 48H,0ffH, 48H, 48H, 48H, 48H,0fcH, 08H, 00H, 00H, 00HDB 00H, 07H, 02H, 02H, 02H, 02H, 3fH, 42H, 42H, 42H, 42H, 47H

12、, 40H, 70H, 00H, 00HHZI4: ;子DB 80H, 80H, 82H, 82H, 82H, 82H, 82H,0e2H,0a2H, 92H, 8aH, 86H, 80H,0c0H, 80H, 00HDB 00H, 00H, 00H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HHZI5: ;公;广 州 铜 铧 电 子;T NSHARP ELECTRONICS CO,;20DB 00H, 00H, 80H, 40H, 30H, 0cH, 00H,0c0H, 06H, 18H, 20H, 40H,

13、 80H, 80H, 80H, 00HDB 01H, 01H, 00H, 30H, 28H, 24H, 23H, 20H, 20H, 28H, 30H, 60H, 00H, 01H, 00H, 00HHZI6: ;司DB 10H, 10H, 92H, 92H, 92H, 92H, 92H, 92H,0d2H, 9aH, 12H, 02H,0ffH, 02H, 00H, 00HDB 00H, 00H, 3fH, 10H, 10H, 10H, 10H, 10H, 3fH, 00H, 40H, 80H, 7fH, 00H, 00H, 00HHZI7: ;您DB 40H, 20H, 10H,0fcH,

14、 23H, 10H, 8cH, 67H, 04H,0f4H, 04H, 44H, 94H, 8cH, 00H, 00HDB 40H, 30H, 00H, 77H, 80H, 81H, 88H, 92H,0b4H, 83H, 80H,0e0H, 00H, 11H, 60H, 00HHZI8: ;好DB 10H, 10H,0f0H, 1fH, 10H,0f0H, 80H, 82H, 82H, 82H,0e2H, 92H, 8aH,0c6H, 80H, 00HDB 40H, 22H, 15H, 08H, 14H, 63H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H

15、, 00H, 00Hbw:DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ff

16、H, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H

17、, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00

18、H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ff

19、h,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0

20、ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0f

21、fH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H;广 州 铜 铧 电 子;T NSHARP ELECTRONICS CO,;21DB 0ffH,0

22、ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0

23、ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHDB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffHEND12864 的驱动程序来源:大虾作者:单片虫兄弟们我这几天终于学会了写

24、12864 的驱动程序心里特高兴就拿出来与大家希望对像我一样初学点阵 LCD 编程的有些帮助。前些天我从网上了一个程式就是用不了把我给急苦了后来我仔细看了看点阵 LCD 说明书重新写了程式这才 OK了。看来初学者也不能从网上直接程式用还要看看程式对不对头; 1.12864-1,12864-2 接口说明表管脚号 管脚 电平 说明1 VSS 0V 逻辑电源地。2 VDD 5.0V 逻辑电源正。3 V0 LCD 驱动电压,应用时在 VEE 与 V0 之间加一 2K 可调电阻。4 D/I H/L 数据指令选择:数据 D0-D7 将送入显示 RAM;低电平:数据 D0-D7 将送入指令寄存器执行。5 R

25、/W H/L 读写选择:读数据;低电平:写数据。6 E H.H/L 读写使能,有效,下降沿锁定数据。7 DB0 H/L 数据输入输出引脚。8 DB1 H/L 数据输入输出引脚。9 DB2 H/L 数据输入输出引脚。10 DB3 H/L 数据输入输出引脚。11 DB4 H/L 数据输入输出引脚。12 DB5 H/L 数据输入输出引脚。13 DB6 H/L 数据输入输出引脚。14 DB7 H/L 数据输入输出引脚。15 CS1 H/L 片选择信号,低电平时选择前 64 列。16 CS2 H 片选择信号,低电平时选择后 64 列。17 RET L 复位信号,低电平有效。18 VEE -10V LCD

26、 驱动电源。19 BL AC 背光电源,LED+。20 BL AC 背光电源,LED-。;以下程式为 12864 不带中文字库的驱动程序(P0 0P0.7 口对应 DB0DB7)已经过调试DIEQU P2.0RWEQU P2.1EEQU P2 2CS1EQUP2 3CS2EQUP2.4RSTEQUP2.5LVCC EQUP2.6X EQU 30HY EQU 31H;*以上是接口定义START:0000HMOV SP,#60HLJMP MA N;*主程序地址0040HMAIN:clr p2.6LCALL DLY100SETB P2.6LCALL DLY100NOPCLR ENOP;复位CLR R

27、STLCALL DLY10SETB RST;清屏LCALL CLEARCLR CS2SETB CS1MOV R1,#0C0H ;START = 0LCALL WRIMOV X,#0 ;xMOV Y,#8 ;yMOV DPTR,#HZI7 ;您LCALL outhzMOV X,#0MOV Y,#40MOV DPTR,#HZI8 ;好LCALL outhzMOV X,#2MOV Y,#16MOV DPTR,#HZI1 ;远LCALL outhzMOV X,#2MOV Y,#32MOV DPTR,#HZI2 ;扬LCALL outhzMOV X,#4MOV Y,#0MOV DPTR,#HZI3 ;电

28、LCALL outhzMOV X,#4MOV Y,#16MOV DPTR,#HZI4 ;子LCALL outhzMOV X,#4MOV Y,#32MOV DPTR,#HZI5 ;公LCALL outhzMOV X,#4MOV Y,#48MOV DPTR,#HZI6 ;司LCALL outhzLJMP MAIN;取数显示子程序outhz:MOV R0,#2AJMP NZ1SEC:INC X;设置 Y 地址NZ1 MOV A,YADD A,#040HMOV R1,ALCALL WRI;设置页地址MOV A,XADD A,#0B8HMOV R1,ALCALL WRI;取数MOV R5,#16HZ1:

29、 MOV A,#00HMOVC A,TRMOV R1,ALCALL WRDLCALL DLY10INC DPTRDJNZ R5,HZ1DJNZ R0,SEC;设置显示起始行MOV R1,#0C0H ;START = 0LCALL WRI;开显示MOV R1,#00111111BLCALL WRI;延时显示MOV R0,#5RX:LCALL DLY50DJNZ R0,RXRET;清屏子程序CLEAR:MOV R0,#64MOV R2,#8MOV X,#0B8HAJMP NBZ1NBZ2: NC XNBZ1 MOV R1,XLCALL WRIMOV R1,#040HLCALL WRINBZ3 MO

30、V R1,#00HLCALL WRDDJNZ R0,NBZ3DJNZ R2,NBZ2RETWRI: ;写指令子程序CLR ECLR RWCLR DIMOV P0,R1SETB ELCALL DLY10CLR ERETWRD: ;写数据子程序CLR ECLR RWSETB DIMOV P0,R1SETB ELCALL DLY10CLR ERET;延时 10USDLY10 MOV R3,#5DJNZ R3,$RET;延时 1SDLY50:MOV R3,#01HDL111:MOV R4,#0AFHDL222 MOV R6,#0FFHDL333:DJNZ R6,DL333DJNZ R4,DL222DJ

31、NZ R3,DL111RET;延时 2SDLY100 MOV R3,#02HDL11:MOV R4,#0FFHDL22:MOV R6,#0FFHDL33:DJNZ R6,DL33DJNZ R4,DL22DJNZ R3,DL11RET0340HHZI1: ;远DB 0CH, 89H, 0CBH, 0A8H, 98H, 00H, 10H, 12H, 0F2H, 72H, 12H, 0F2H, 73H, 1AH, 10HDB 00H,18H,1CH,37H,21H,20H,28H,66H,63H,60H,60H,6FH,6CH,6CH,27H,14HHZI2: ;扬DB 00H, 30H, 22H,

32、 0FFH, 20H, 0A0H, 00H, 43H, 62H, 0E2H,0D2H, 5AH, 0C2H, 0C6H, 80HDB 00H, 16H, 62H, 7FH, 01H, 00H, 00H, 24H, 22H, 11H, 08H, 0CH, 23H, 61H, 7FH, 00HHZI3: ;电DB 00H,0f8H, 48H, 48H, 48H, 48H,0ffH, 48H, 48H, 48H, 48H,0fcH, 08H, 00H, 00H, 00HDB 00H, 07H, 02H, 02H, 02H, 02H, 3fH, 42H, 42H, 42H, 42H, 47H, 40H

33、, 70H, 00H, 00HHZI4: ;子DB 80H, 80H, 82H, 82H, 82H, 82H, 82H,0e2H,0a2H, 92H, 8aH, 86H, 80H,0c0H, 80H, 00HDB 00H, 00H, 00H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HHZI5: ;公DB 00H, 00H, 80H, 40H, 30H, 0cH, 00H,0c0H, 06H, 18H, 20H, 40H, 80H, 80H, 80H, 00HDB 01H, 01H, 00H, 30H, 28H

34、, 24H, 23H, 20H, 20H, 28H, 30H, 60H, 00H, 01H, 00H, 00HHZI6: ;司DB 10H, 10H, 92H, 92H, 92H, 92H, 92H, 92H,0d2H, 9aH, 12H, 02H,0ffH, 02H, 00H, 00HDB 00H, 00H, 3fH, 10H, 10H, 10H, 10H, 10H, 3fH, 00H, 40H, 80H, 7fH, 00H, 00H, 00HHZI7: ;您DB 40H, 20H, 10H,0fcH, 23H, 10H, 8cH, 67H, 04H,0f4H, 04H, 44H, 94H,

35、 8cH, 00H, 00HDB 40H, 30H, 00H, 77H, 80H, 81H, 88H, 92H,0b4H, 83H, 80H,0e0H, 00H, 11H, 60H, 00HHZI8: ;好DB 10H, 10H,0f0H, 1fH, 10H,0f0H, 80H, 82H, 82H, 82H,0e2H, 92H, 8aH,0c6H, 80H, 00HDB 40H, 22H, 15H, 08H, 14H, 63H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00HEND12864(不带中文字库)全显控制程式 转兄弟们,最近我写出了

36、12864(不带中文字库)全显控制程式。知道:12864 以及相关的液晶显示器都存在片选,因此在写入要显示的数据时,常常要先处理好片选问题,此问题若是处理不好, 显示的图像就会乱七八糟,我曾经被这个问题困了很久。我曾写了一段程式,自己在电脑上调试一点问题也没有,烧入 IC 中运行却根本,有时连一点显示也没有,查了很长一段时间也没找出原因,那时我急啊多想有位师傅也教教我。初学液晶显示就是这么难!不过经过我半个多月的调试和画逻辑图,还是把它搞定了,下面这些程式中的 WRITE_OUT 子程序为我要编的程序,它是处理对要显示的文字或图像进行自动片选和换行的主程序。也许这对初学液晶显示者都有一点帮助和

37、启发,所以就发出来现丑了。:本人也是初学单片机,此程式可能存在缺陷或冗余,因此参考和学习用,但是此程式绝对可行,我已在我的 12864 液晶(不带中文字库)仿特别真器运行 OK。;单片机:89S51,晶振频率为 12MHz配用不带中文字库的 12864 液晶显示器DIEQU P2.0RWEQU P2.1EEQU P2 2WCSAEQU P2.3WCSBEQU P2.4RSTEQU P2.5LVCCEQU P2.6X EQU 30HY EQU 31H;*以上是接口定义START:0000HMOV SP,#60HLJMP MA N;*主程序地址0040HMAIN:NOPCLR ENOP;复位CLR

38、 RSTLCALL DLY10SETB RST;清屏CLR WCSASETB WCSBLCALL CLEARLCALL SHOWER_YECLR WCSBSETB WCSALCALL CLEARLCALL SHOWER_YE;以下程序将在液晶上每隔 0 5S 左右依次显示你好远扬电子公司MOV X,#0 ;xMOV Y,#0 ;yMOV R7,#16MOV R0,#2MOV DPTR,#HZI7 ;您LCALL WRITE_OUTLCALL DLY100MOV R7,#16MOV R0,#2MOV DPTR,#HZI8 ;好LCALL WRITE_OUTLCALL DLY100MOV R7,#

39、16MOV R0,#2MOV DPTR,#HZI1 ;远LCALL WRITE_OUTLCALL DLY100MOV R7,#16MOV R0,#2MOV DPTR,#HZI2 ;扬LCALL WRITE_OUTLCALL DLY100MOV R7,#16MOV R0,#2MOV DPTR,#HZI3 ;电LCALL WRITE_OUTLCALL DLY100MOV R7,#16MOV R0,#2MOV DPTR,#HZI4 ;子LCALL WRITE_OUTLCALL DLY100MOV R7,#16MOV R0,#2MOV DPTR,#HZI5 ;公LCALL WRITE_OUTLCALL

40、 DLY100MOV R7,#16MOV R0,#2MOV DPTR,#HZI6 ;司LCALL WRITE_OUTLCALL DLY100;清屏CLR WCSASETB WCSBLCALL CLEARLCALL SHOWER_YECLR WCSBSETB WCSALCALL CLEARLCALL SHOWER_YEMOV X,#1MOV Y,#13MOV R7,#101MOV R0,#6MOV DPTR,#TU_TAB1 ;一幅很丑的画_随便画的LCALL WRITE_OUTLCALL DLY100LCALL DLY100LCALL DLY100LCALL DLY100LCALL DLY10

41、0LJMP MAIN;取数显示子程序,此为 12864(不带中文字库)全显控制程式运行时占用了 R0,R2,R4,R5,R6,R7其中R7 用于指定;要显示的字或的横向点阵数R0 用于指定要显示的字或的列向点阵数例如要显示一个 16X16 的中文字则要在 R7中;写入#16在 R0 中写入#2,要显示一个 128X64 的则要在 R7 中输入 128在 R0 中输入 8依此类推.;如果你要输入一排字并在显示的时候自动换片选和换行只需定义第一个字的 X/Y 的值即可例如 X=0Y=0则第一个字写;入后后面的字将自动处理 X/Y 的值无需为每个要显示的字定义 X/Y 值;但是必需定义每个字 R7

42、和 R0 的值_WRITE_OUT:MOV A,R7MOV R5,ACJNE A,#64,RATHER_A1AJMP WRITE_WB1RATHER_A1:JC WRITE_WB1 ;以下为处理 R7 大于 64 小于等于 128 的情况MOV A,#128MOV B,YCLR CYSUBB A,BMOV R6,A ;以上为 128-Y 运算并存入 R6 中JNB WCSA,WRITE_WA1 ;如果 WCSA=0 则转 WRITE_WA1 处MOV A,R7MOV B,R6CJNE A,B,WRITE_WA2AJMP WRITE_WA3WRITE_WA2:JC WRITE_WA3 ;以上为比

43、较 R7R6 的大小如果 R7 小于等于 R6则转 WRITE_WA3 处AJMP WRITE_WA4WRITE_WA1:CLR WCSB ;换页处理CLR WCSAWRITE_WA4:INC XINC XMOV Y,#00H ;换行处理WRITE_WA3:MOV A,#64MOV B,YMOV R4,BCLR CYSUBB A,BMOV R2,AMOV R6,A ;以上进行 64-Y 运算并存入 R6/R2 中LJMP WRITE_WCXY ;至此 R7 小于等于 128 大于 64 的情况处理完毕;以下为 R7 小于 64 的情况处理WRITE_WB1:MOV A,#64MOV B,YCL

44、R CYSUBB A,BMOV R2,AMOV R6,A ;以上进行 64-Y 运算并存入 R6/R2 中JB WCSA,WRITE_WC1 ;如果WCSA=1,则转到 WRIT3_WC1 处否则往下进行比较 R7/R6 的大小MOV A,R7MOV B,R6CJNE A,B,WRITE_WB2AJMP WRITE_WBXY ;设置 XY 址WRITE_WB2 JC WRITE_WBXY ;以上为比较 R7R6 的大小如果 R7 小于等于 R6则转 WRITE_WBXY 处CLR WCSBSETB WCSAMOV R6,#00HMOV Y,#00HINC XINC X ;以上为换页并换行AJM

45、P WRITE_WBXYWRITE_WB4:INC XMOV A,R7MOV R5,A ;以上为换行并重新置数 R5WRITE_WBXY:LCALL WRITE_XY ;设置 XY 址WRITE_WB3:LCALL WRITE_IN ;取数写入DJNZ R5,WRITE_WB3 ;R5 减 1 后不为零则转 WRITE_WB3 处再输入DJNZ R0,WRITE_WB4 ;R0 减 1 后不为零则转 WRITE_WB4 处换行输入否则表示已经输入完毕MOV A,YADD A,R7MOV Y,A ;以上进行 Y+R7 运算并将结果存入 Y 中CJNE A,#64,WRITE_EXIT ;相加后如

46、果不等于 64则退出否则还要进行下一步外理JNB WCSA,WRITE_WB5SETB WCSBCLR WCSAAJMP WRITE_WB6 ;如果判断 WCSA=1,则换页WRITE_WB5:CLR WCSBSETB WCSA ;如果WCSA=0,则切换到另一页INC XINC X ;此情况下还要换行WRITE_WB6:MOV Y,#00H ;将 Y 值置 0LJMP WRITE_EXIT ;至此 CS=0 且 R7 小于等于 64 的情况处理完毕WRITE_WC1: ;以下为处理 R7 小于等于 64 且 WCSA=1 的情况MOV R4,YAJMP WRITE_WCXYWRITE_WC4

47、:JB WCSA,WRITE_WCYE ;如果中途有换页操作则需要换回来SETB WCSACLR WCSBWRITE_WCYE: ;以下为将 X 加 1Y/R6/R5 重新置数INC XMOV Y,R4MOV A,R7MOV R5,AMOV A,R2MOV R6,AWRITE_WCXY:LCALL WRITE_XY ;设置 XY 址WRITE_WC2:LCALL WRITE_IN ;取数写入DJNZ R6,WRITE_WC3 ;R6 减 1 后不为 0 则转 WRITE_WC3 处CLR WCSASETB WCSB ;换页MOV Y,#00H ;Y 址清零LCALL WRITE_XY ;重新输

48、入 Y 地址WRITE_WC3JNZ R5,WRITE_WC2 ;R5 减 1 后不为零则转 WRITE_WC2 处再输入DJNZ R0,WRITE_WC4 ;R0 减 1 后不为零则转 WRITE_WC4 处换行输入否则表示已经输入完毕MOV A,R7JB WCSA,WRITE_WC5MOV A,R4ADD A,R7MOV B,#64CLR CYSUBB A,B;以上为进行 R4+R7-64 运算并存入 A 中WRITE_WC5:ADD A,YMOV Y,A;以上为进行 Y+A 运算并存入 Y 中 至此此程序处理完毕WRITE_EXIT:DEC XRETWRITE_XY: ;设X/Y 址;设

49、置 Y 地址MOV A,YADD A,#040HMOV R1,ALCALL WRI;设置 X 地址MOV A,XADD A,#0B8HMOV R1,ALCALL WRIRETWRITE_IN:;取数写入MOV A,#00HMOVC A,TRMOV R1,ALCALL WRDINC DPTRRET;清屏子程序CLEAR:MOV R0,#64MOV R2,#8MOV X,#0B8HAJMP NBZ1NBZ2: NC XNBZ1 MOV R1,XLCALL WRIMOV R1,#040HLCALL WRINBZ3 MOV R1,#00HLCALL WRDDJNZ R0,NBZ3DJNZ R2,NBZ

50、2RETSHOWER_YE:;设置显示起始行MOV R1,#0C0H ;START = 0LCALL WRI;开显示MOV R1,#00111111BLCALL WRIRETWRI: ;写指令子程序CLR ECLR RWCLR DIMOV P0,R1SETB ECLR ERETWRD: ;写数据子程序CLR ECLR RWSETB DIMOV P0,R1SETB ECLR ERET;延时 10USDLY10 MOV R3,#5DJNZ R3,RET;延时 2SDLY100 MOV R3,#02HDL11:MOV R4,#0FFHDL22:MOV R6,#0FFHDL33JNZ R6,DL33D

51、JNZ R4,DL22DJNZ R3,DL11RET0340HHZI1: ;远DB 00H,10H,22H,24H,04H,10H,10H,0D4H,54H,54H,5EH,54H,54H,0D4H,10H,10HDB 00H,0C2H,42H,3FH,22H,40H,48H,89H,85H,83H,0BFH,85H,89H,95H,0B4H,80HHZI2: ;扬DB 00H,10H,10H,0FEH,12H,90H,80H,0BEH,0AAH,0AAH,0AAH,0AAH,0BEH,80H,0C0H,80HDB 00H,46H,0C2H,7FH,01H,08H,28H,24H,53H,4E

52、H,22H,52H,0CEH,42H,3EH,00HHZI3: ;电DB 00H,0f8H, 48H, 48H, 48H, 48H,0ffH, 48H, 48H, 48H, 48H,0fcH, 08H, 00H, 00H, 00HDB 00H, 07H, 02H, 02H, 02H, 02H, 3fH, 42H, 42H, 42H, 42H, 47H, 40H, 70H, 00H, 00HHZI4: ;子DB 80H, 80H, 82H, 82H, 82H, 82H, 82H,0e2H,0a2H, 92H, 8aH, 86H, 80H,0c0H, 80H, 00HDB 00H, 00H, 00

53、H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00HHZI5: ;公DB 00H, 00H, 80H, 40H, 30H, 0cH, 00H,0c0H, 06H, 18H, 20H, 40H, 80H, 80H, 80H, 00HDB 01H, 01H, 00H, 30H, 28H, 24H, 23H, 20H, 20H, 28H, 30H, 60H, 00H, 01H, 00H, 00HHZI6: ;司DB 10H, 10H, 92H, 92H, 92H, 92H, 92H, 92H,0d2H, 9aH, 12H

54、, 02H,0ffH, 02H, 00H, 00HDB 00H, 00H, 3fH, 10H, 10H, 10H, 10H, 10H, 3fH, 00H, 40H, 80H, 7fH, 00H, 00H, 00HHZI7: ;您DB 40H, 20H, 10H,0fcH, 23H, 10H, 8cH, 67H, 04H,0f4H, 04H, 44H, 94H, 8cH, 00H, 00HDB 40H, 30H, 00H, 77H, 80H, 81H, 88H, 92H,0b4H, 83H, 80H,0e0H, 00H, 11H, 60H, 00HHZI8: ;好DB 10H, 10H,0f0H

55、, 1fH, 10H,0f0H, 80H, 82H, 82H, 82H,0e2H, 92H, 8aH,0c6H, 80H, 00HDB 40H, 22H, 15H, 08H, 14H, 63H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H;- 一幅很丑的随便画的画点阵数=101x48 -TU_TAB1:DB 00H,00H,00H,00H,00H,00H,00H,00H,10H,38H,08H,88H,08H,08H,0C8H,0A8HDB 28H,68H,48H,0A8H,28H,40H,00H,00H,40H,00H,08H,40H,1

56、0H,00H,00H,08HDB 0C0H,40H,20H,20H,20H,30H,20H,20H,60H,0C0H,10H,00H,00H,00H,00H,00HDB 10H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,80HDB 0C0H,60H,20H,10H,10H,10H,10H,20H,20H,20H,20H,60H,60H,38H,08H,08HDB 08H,08H,08H,08H,08H,18H,10H,30H,60H,80H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,

57、00H,00H,00H,18H,08H,08H,04H,04H,04H,04H,04H,04HDB 04H,04H,04H,04H,09H,09H,09H,11H,21H,64H,0C2H,80H,00H,00H,00H,00HDB 00H,0E0H,38H,0EH,03H,01H,00H,00H,00H,00H,00H,00H,00H,00H,00H,03HDB 0FEH,80H,00H,00H,00H,00H,80H,0C0H,30H,1CH,06H,02H,02H,04H,00H,00HDB 00H,00H,00H,0FEH,03H,00H,00H,00H,00H,00H,00H,00H,00H,0F0H,18H,08HDB 00H,00H,00H,00H,08H,08H,08H,70H,0C0H,00H,00H,00H,00H,00H,01H,07HDB 1CH,0E0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论