标题: 高手们,帮看看这个程序错在那里喂,在线等回答···谢谢 [打印本页]

作者: 蓝色夜空    时间: 2008-11-2 14:22
标题: 高手们,帮看看这个程序错在那里喂,在线等回答···谢谢

 这个子程序主要是想送0~9的其中一个去12864显示,其它显示文字的程序都正常了,就差这个子程序~~~~
MOV FFFF,#0X20 
LCALL SETY
MOV EEEE,#0X06  
LCALL SETPAGE

LCALL H8X16

AJMP $
                        
                        

                  H8X16:

                        MOV R0,#0X10
                        MOV DPTR,#HZOO
                        CLR AAA   ;AAA=0=上半字
                     H2:MOV R1,#0X08 ;写上8个Y列
                     H3:
                       
                        MOV A,#0X00
                        MOVC A,@A+DPTR
                       
                        LCALL LCDWRDATA ; 调用写数据程序
                        INC DPTR
                        INC FFFF ;列地址加一
                        DEC R0
                        DJNZ R1,H3 ;判断是否写完8列
                        JB AAA,H4 ;AAA=0往下,=1跳至HZ2
                        CLR C   ;进位清0为减法做准备
                        MOV A,FFFF
                        SUBB A,#0X08
                        MOV FFFF,A 
                        LCALL SETY ;Y列减8, 即返回扫描
                        INC EEEE   ;页地址加1,即换第2页扫描
                        LCALL SETPAGE
                        SETB AAA    ;AAA=1=下半字     
                    
                        LJMP H2    
                     H4:
                        RET



HZOO:

;--  文字:  0  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,00FH,010H,020H,020H,010H,00FH,000H

;--  文字:  1  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,010H,010H,0F8H,000H,000H,000H,000H,000H,020H,020H,03FH,020H,020H,000H,000H

;--  文字:  2  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,070H,008H,008H,008H,088H,070H,000H,000H,030H,028H,024H,022H,021H,030H,000H

;--  文字:  3  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,030H,008H,088H,088H,048H,030H,000H,000H,018H,020H,020H,020H,011H,00EH,000H

;--  文字:  4  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,000H,0C0H,020H,010H,0F8H,000H,000H,000H,007H,004H,024H,024H,03FH,024H,000H

;--  文字:  5  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,0F8H,008H,088H,088H,008H,008H,000H,000H,019H,021H,020H,020H,011H,00EH,000H

;--  文字:  6  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,0E0H,010H,088H,088H,018H,000H,000H,000H,00FH,011H,020H,020H,011H,00EH,000H

;--  文字:  7  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,038H,008H,008H,0C8H,038H,008H,000H,000H,000H,000H,03FH,000H,000H,000H,000H

;--  文字:  8  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,070H,088H,008H,008H,088H,070H,000H,000H,01CH,022H,021H,021H,022H,01CH,000H

;--  文字:  9  --
;--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --
DB  000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,031H,022H,022H,011H,00FH,000H

;数字字节一共为160字节!!


作者: 蓝色夜空    时间: 2008-11-2 14:25
或是那个高手有用12864来显示时钟的程序,贴出来给我参考也好啊,谢谢啦!!
这问题我头痛了两天了
作者: 蓝色夜空    时间: 2008-11-2 14:34
等等等,高手出现!!
作者: 蓝色夜空    时间: 2008-11-2 16:13

~~~~没人愿意回我呀~~~~

 

 

晕哦,再搞下去我要上青山鸟


作者: 蓝色夜空    时间: 2008-11-2 17:18
这个子程序主要是想送0~9的其中一个去12864某一处显示,其它显示文字的程序都正常了,就差这个子程序~~~~

高手们说说下面那里出错,,或给个汇编程序参考一下,谢谢!


HZ0:CLR CSAB 选片
MOV DDDD,#00H
LCALL SETLINE ;设置起始 行


MOV FFFF,#0X20
LCALL SETY ;列写
MOV EEEE,#0X06
LCALL SETPAGE ;写页
CLR C
MOV A,#0X05;程序设想是在此送什么数到A,LCD第6页处就显什么数!!
LCALL H8X16

AJMP $



H8X16:MOV B,#0X10;乘16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;写8x16入口,张要显示的数字放入A之后就可调用本程序
MUL AB
ADD A,#0X10


MOV 7FH,A
MOV DPTR,#HZOO
CLR AAA ;AAA=0=上半字
H2:MOV R0,#0X08 ;写上8个Y列
H3:
MOV A,7FH
MOV A,#0X7F
MOVC A,@A+DPTR

LCALL LCDWRDATA ; 调用写数据程序

INC FFFF ;列地址加一
DEC 7FH
DJNZ R0,H3 ;判断是否写完8列
JB AAA,H4 ;AAA=0往下,=1跳至HZ2
CLR C ;进位清0为减法做准备
MOV A,FFFF
SUBB A,#0X08
MOV FFFF,A
LCALL SETY ;Y列减8, 即返回扫描
INC EEEE ;页地址加1,即换第2页扫描
LCALL SETPAGE
SETB AAA ;AAA=1=下半字

LJMP H2
H4:
RET



HZOO:

;-- 文字: 0 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --
DB 000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,00FH,010H,020H,020H,010H,00FH,000H

;-- 文字: 1 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --
DB 000H,010H,010H,0F8H,000H,000H,000H,000H,000H,020H,020H,03FH,020H,020H,000H,000H

;-- 文字: 2 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --
DB 000H,070H,008H,008H,008H,088H,070H,000H,000H,030H,028H,024H,022H,021H,030H,000H

;-- 文字: 3 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --
DB 000H,030H,008H,088H,088H,048H,030H,000H,000H,018H,020H,020H,020H,011H,00EH,000H

.......;1~9数字字节一共为160字节!!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1