12864的驱动程序.docx
- 文档编号:6187636
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:17.92KB
12864的驱动程序.docx
《12864的驱动程序.docx》由会员分享,可在线阅读,更多相关《12864的驱动程序.docx(12页珍藏版)》请在冰豆网上搜索。
12864的驱动程序
12864的驱动程序(51汇编)
0
推荐
CS2BITP1.5
CS1BITP1.4
EBITP1.2
R_WBITP1.1
D_IBITP1.0
RSTBITP1.3
COMEQU20H;指令寄存器
DATEQU21H;数据寄存器
DENGBITP1.6
WAIT EQU 22H;中断循环次数(软件延时)
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP TIME_ET0
ORG0050H
MAIN:
NOP
MOV WAIT,#00H;清0
MOVTMOD,#01H ;方式1,16位定时器
MOVTH0,#00H
MOVTL0,#00H
MOVR5,#0C0H ;设置行命令,选中的行显示在第一行
SETBET0
SETBEA ;开定时,但是还没有开T0定时.程序后面才开
CLRRST
SETBRST ;给一个低电平脉冲信号来复位LCD
; LCALLDELLY
; CPLDENG
; MOVCOM,#3EH ;指令将显示设置开关关闭
; LCALLPR1
; LCALLDELLY ;延时一段时间
MOVCOM,#3FH ;指令将显示设置开关打开
LCALLPR1
LCALLDELLY
CLRCS2;清屏(清右半边屏幕)
SETBCS1
LCALLQINGP;清屏子程序
LCALLDELLY
CLRCS1
SETBCS2
LCALLQINGP;清屏子程序
LCALLDELLY;调延时子程序等待它反应,我们也可以读它的状态来判断.
;SJMP$
;---------左屏幕----------------
;name1:
;显示公司名称
CLRCS2
SETBCS1;选中左半边屏幕
LCALLDELLY
MOVDPTR,#ADDRJ;江
MOVR3,#0B8H;页地址
MOVR4,#40H;列地址
LCALLHZSHOW
;LCALLDELLY
MOVDPTR,#ADDRS;苏
MOVR3,#0B8H;页地址
MOVR4,#50H;列地址
LCALLHZSHOW
;LCALLDELLY
MOVDPTR,#ADDRSH;省
MOVR3,#0B8H;页地址
MOVR4,#60H;列地址
LCALLHZSHOW
;LCALLDELLY
MOVDPTR,#ADDRJI;激
MOVR3,#0B8H;页地址
MOVR4,#70H;列地址
LCALLHZSHOW
;显示公司网址
; CLRCS2
; SETBCS1;选中左半边屏幕
;LCALLDELLY
MOVDPTR,#ADDW;W
MOVR3,#0BAH
MOVR4,#48H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDW;W
MOVR3,#0BAH
MOVR4,#50H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDW;W
MOVR3,#0BAH
MOVR4,#58H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDD;.
MOVR3,#0BAH
MOVR4,#60H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDJ;J
MOVR3,#0BAH
MOVR4,#68H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDS;S
MOVR3,#0BAH
MOVR4,#70H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDL;L
MOVR3,#0BAH
MOVR4,#78H
LCALLYWSHOW
;LCALLDELLY
;显示图象
; CLRCS2
; SETBCS1;选中左半边屏幕
;LCALLDELLY
MOVDPTR,#PIC1 ;图象的首地址
MOVR3,#0BCH ;第三页
MOVR4,#40H ;第0列
LCALLPICSHOW ;图象显示子程序
MOVDPTR,#PIC2 ;图象的首地址
MOVR3,#0BDH ;第四页
MOVR4,#40H
LCALLPICSHOW
;LCALLDELLY
MOVDPTR,#PIC3 ;图象的首地址
MOVR3,#0BEH
MOVR4,#40H
LCALLPICSHOW
MOVDPTR,#PIC4 ;图象的首地址
MOVR3,#0BFH
MOVR4,#40H
LCALLPICSHOW
; LCALLDELLY ;调用延时子程序
;-----------右屏幕--------------
; LCALLDELLY
CLRCS1
SETBCS2
;LCALLDELLY
MOVDPTR,#ADDRG;光
MOVR3,#0B8H;页地址
MOVR4,#40H;列地址
LCALLHZSHOW
;LCALLDELLY
MOVDPTR,#ADDRY;研
MOVR3,#0B8H ;页地址
MOVR4,#50H ;列地址
LCALLHZSHOW
;LCALLDELLY
MOVDPTR,#ADDRJIU;究
MOVR3,#0B8H ;页地址
MOVR4,#60H ;列地址
LCALLHZSHOW
;LCALLDELLY
MOVDPTR,#ADDRSUO;所
MOVR3,#0B8H ;页地址
MOVR4,#70H ;列地址
LCALLHZSHOW
;LCALLDELLY
;sjmpname1
;LCALLDELLY
MOVDPTR,#ADDA;A
MOVR3,#0BAH
MOVR4,#40H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDS;S
MOVR3,#0BAH
MOVR4,#48H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDE;E
MOVR3,#0BAH
MOVR4,#50H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDR;R
MOVR3,#0BAH
MOVR4,#58H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDD;.
MOVR3,#0BAH
MOVR4,#60H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDCC;C
MOVR3,#0BAH
MOVR4,#68H
LCALLYWSHOW
;LCALLDELLY
MOVDPTR,#ADDN;N
MOVR3,#0BAH
MOVR4,#70H
LCALLYWSHOW
;LCALLDELLY
SETBTR0 ;开定时器
AJMP$ ;等待定时中断
;中断子程序
TIME_ET0:
INC WAIT
MOV A,#0AH ;中断16次,
CJNE A,WAIT,TT2
; SJMP MOV_LINE ;相等则跳转,换行
;ADD_WAIT:
; INC WAIT
; MOVTH0,#00H
; MOVTL0,#00H ;清空定时器
; RETI
;MOV_LINE:
NOP
MOV WAIT,#00H;清空软件记数单元
CPLDENG ;猜想是用来指示换行的灯,没什么实际意义
CLRCS2
SETBCS1 ;选中左屏
MOVCOM,R5 ;R5当前的内容#0C0H,该命令是用来设置显示起始行.所设置的行将在第一行显示,估计用来动态显示的.
LCALLPR1 ;11000000后六位对应0-63行,当前是将第一行显示
CPLCS1
CPLCS2 ;切换到右屏显示
MOVCOM,R5
LCALLPR1
CJNER5,#0FFH,TT;
MOVR5,#0C0H;重新开始显示下一个轮回的第一行
AJMPTT2
TT:
INCR5;显示下面一行内容
TT2:
MOVTH0,#00H
MOVTL0,#00H;清空定时器
RETI
QINGP:
MOVR3,#0B8H
MOVCOM,R3;设置页地址为0
LCALLPR1
MOVCOM,#40H;设置列地址0
LCALLPR1
MOVR1,#00H
MOVR2,#00H
LOOP_CLR:
MOVDAT,#00H;输入数据为0则为清掉屏幕
LCALLPR2
INCR1
CJNER1,#40H,LOOP_CLR;看看是否到了64列了,如果没有满则继续刷新列
MOVR1,#00H
INCR2 ;用来控制页数的
INCR3 ;下一页,设置地址为下一页
MOVCOM,R3
LCALLPR1
MOVCOM,#40H;重新设置列地址0
LCALLPR1
CJNER2,#08H,LOOP_CLR
RET
;16*16汉字显示的子程序
HZSHOW:
MOVCOM,R3 ;R3为页地址
LCALLPR1
MOVCOM,R4 ;R4为列地址
LCALLPR1
MOVR2,#20H ;32
MOVR1,#00H ;R1用来取字码的
LOOP:
CJNER2,#10H,LOOP1;如果不相等则跳转,刚刚开始不相等的,如果相等了则换到下一页
INCR3 ;下一页
MOVCOM,R3
LCALLPR1
MOVCOM,R4 ;R4为列地址
LCALLPR1
LOOP1:
MOVA,R1
MOVCA,@A+DPTR
MOVDAT,A ;传送字符编码
LCALLPR2
INCR1
DJNZR2,LOOP
RET
;10*16英文显示的子程序
YWSHOW:
MOVCOM,R3
LCALLPR1
MOVCOM,R4
LCALLPR1
MOVR2,#10H
MOVR1,#00H
LOOP2:
CJNER2,#08H,LOOP22
INCR3
MOVCOM,R3
LCALLPR1
MOVCOM,R4
LCALLPR1
LOOP22:
MOVA,R1
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
INCR1
DJNZR2,LOOP2
RET
;32*32图片1HANG显示的子程序
PICSHOW:
MOVCOM,R3;页地址
LCALLPR1
MOVCOM,R4;列地址
LCALLPR1
MOVR2,#20H;32*32的图片
MOVR1,#00H
LOOP3:
MOVA,R1
MOVCA,@A+DPTR
MOVDAT,A
LCALLPR2
INCR1
DJNZR2,LOOP3
RET
;延时
DELLY:
MOVR7,#0A8H
MS2:
MOVR6,#0FFH
MS1:
DJNZR6,MS1
DJNZR7,MS2
RET
;读BF和AC值
PR0:
PUSHACC
MOVP0,#0FFH
SETBE
CLRD_I
SETBR_W
MOVCOM,P0
CLRE
POPACC
RET
;写指令子程序
PR1:
PUSHACC
SETBE
CLRD_I
CLRR_W
MOVP0,COM
CLRE
POPACC
RET
;写数据子程序
PR2:
PUSHACC
SETBE
SETBD_I
CLRR_W
MOVP0,DAT
CLRE
POPACC
RET
;江(0)苏
(1)省
(2)激(3)光(4)研(5)究(6)所(7)
ADDRJ:
;--文字:
江--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB10H,60H,01H,0C6H,30H,00H,04H,04H,04H,0FCH,04H,04H,04H,04H,00H,00H;
DB04H,04H,7EH,01H,20H,20H,20H,20H,20H,3FH,20H,20H,20H,20H,20H,00H;"江",0
ADDRS:
;--文字:
苏--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB04H,04H,44H,44H,44H,5FH,44H,0F4H,44H,5FH,44H,0C4H,04H,04H,04H,00H;
DB00H,40H,4CH,27H,10H,0CH,07H,01H,20H,40H,40H,3FH,00H,02H,0CH,00H;"苏",1
ADDRSH:
;--文字:
省--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,10H,90H,88H,86H,0C0H,0C0H,0BFH,0A0H,90H,90H,8AH,84H,18H,00H,00H;
DB01H,01H,00H,00H,0FFH,4AH,4AH,4AH,4AH,4AH,4AH,4AH,0FFH,00H,00H,00H;"省",2
ADDRJI:
;--文字:
激--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB10H,21H,86H,60H,7CH,56H,0D5H,54H,7CH,20H,0F8H,17H,90H,70H,10H,00H;
DB04H,7CH,43H,21H,19H,07H,45H,85H,7DH,20H,13H,0CH,33H,60H,20H,00H;"激",3
ADDRG:
;--文字:
光--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,40H,42H,44H,5CH,0C8H,40H,7FH,40H,0C0H,50H,4EH,44H,60H,40H,00H;
DB00H,80H,40H,20H,18H,07H,00H,00H,00H,3FH,40H,40H,40H,40H,78H,00H;"光",4
ADDRY:
;--文字:
研--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB02H,0C2H,0F2H,4EH,0C2H,02H,40H,42H,0FEH,42H,42H,42H,0FEH,42H,42H,00H;
DB01H,00H,3FH,10H,9FH,40H,20H,18H,07H,00H,00H,00H,0FFH,00H,00H,00H;"研",5
ADDRJIU:
;--文字:
究--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,4CH,24H,94H,84H,84H,0F5H,86H,84H,84H,14H,24H,44H,0CH,04H,00H;
DB00H,00H,40H,20H,10H,0CH,03H,00H,00H,3FH,40H,40H,40H,40H,78H,00H;"究",6
ADDRSUO:
;--文字:
所--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,0FEH,12H,12H,11H,0F1H,01H,00H,0FEH,22H,22H,21H,0E1H,21H,21H,00H;
DB40H,3FH,01H,01H,81H,41H,30H,0CH,03H,00H,00H,00H,0FFH,00H,00H,00H;"所",7
;公司网址:
w(0)w
(1)w
(2).(3)j(4)s(5)l(6)a(7)s(8)e(9)r(10).(11)c(12)n(13)
ADDW:
;--文字:
w--
DB80H,80H,00H,80H,00H,80H,80H,80H,0FH,30H,0CH,03H,0CH,30H,0FH,00H;"w",0
ADDD:
;--文字:
.--
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,30H,30H,00H,00H,00H,00H,00H;".",3
ADDJ:
;--文字:
J--
DB00H,00H,00H,80H,98H,98H,00H,00H,00H,0C0H,80H,80H,80H,7FH,00H,00H;"j",4
ADDS:
;--文字:
S--
DB00H,00H,80H,80H,80H,80H,80H,00H,00H,33H,24H,24H,24H,24H,19H,00H;"s",5
ADDL:
;--文字:
L--
DB00H,08H,08H,0F8H,00H,00H,00H,00H,00H,20H,20H,3FH,20H,20H,00H,00H;"l",6
ADDA:
;--文字:
A--
DB00H,00H,80H,80H,80H,80H,00H,00H,00H,19H,24H,22H,22H,22H,3FH,20H;"a",7
ADDE:
;--文字:
E--
DB00H,00H,80H,80H,80H,80H,00H,00H,00H,1FH,22H,22H,22H,22H,13H,00H;"e",9
ADDR:
;--文字:
R--
DB80H,80H,80H,00H,80H,80H,80H,00H,20H,20H,3FH,21H,20H,00H,01H,00H;"r",10
ADDCC:
;--文字:
C--
DB00H,00H,00H,80H,80H,80H,00H,00H,00H,0EH,11H,20H,20H,20H,11H,00H;"c",12
ADDN:
;--文字:
N--
DB80H,80H,00H,80H,80H,80H,00H,00H,20H,3FH,21H,00H,00H,20H,3FH,20H;"n",13
PIC1:
;--调入了一幅图像
;--宽度x高度=32x32--
DB00H,7FH,09H,0FH,00H,7FH,40H,40H,00H,7FH,41H,41H,00H,00H,00H,00H;
DB00H,00H,00H,00H,7FH,41H,41H,41H,00H,4FH,4AH,4AH,7AH,00H,7FH,00H;
PIC2:
DB00H,0FEH,82H,7EH,00H,0C4H,8AH,72H,00H,0FEH,12H,1EH,00H,00H,00H,00H;
DB00H,00H,0FCH,22H,0FCH,00H,0FEH,32H,5EH,80H,0FEH,04H,08H,04H,0FEH,00H;
PIC3:
DB00H,00H,0FCH,1CH,0F4H,9CH,80H,80H,80H,00H,00H,00H,20H,0F0H,0B8H,0F8H;
DB0BCH,0F0H,20H,00H,00H,0E0H,0E0H,0E0H,00H,80H,9CH,0F4H,9CH,80H,00H,00H;
PIC4:
DB00H,00H,7FH,04H,07H,06H,7EH,7EH,40H,00H,00H,00H,00H,33H,32H,7BH;
DB3AH,3BH,78H,38H,00H,00H,00H,01H,0F1H,11H,12H,0FFH,82H,83H,00H,00H
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12864 驱动程序