打印

16*16点阵LED屏显示字体出错,相比造字程序的点阵错了!!

[复制链接]
4023|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangguon|  楼主 | 2007-8-14 18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人以经肯定电路的硬件连接没有问题了,4个8*8的点阵屏都有点亮,但和造字程序相比的点阵错了,本人可以推断出硬件是左移或右移,当有仿真器调试
A P2口全为1时,P1.0-P1.3的四位0或1可以控制16*16点阵的下半部灯一行一行亮,可以上下或左右移动.
B P2口全为0,P0口全为1时P1.0-P1.3的四位0或1可以控制16*16点阵的上半部灯一行一行亮,可以上下或左右移动.
请问我的程序错在哪里!!可以帮帮忙!!教教小弟吗??


      ORG      00H
START: MOV      A,#00H
       MOV      P0,A           ;清除画面
       ANL      P2,#00H
       MOV      R2,#200
D1:   MOV      R3,#0F8H      ;延一秒
       DJNZ     R3,$
       DJNZ     R2,D1
       MOV      20H,#00H       ;取码措针初值
L1:   ;MOV      R1,#0FFH ;每字停留时间
L2:    MOV      R6,#16       ;每字16个码
       MOV      R4,#00H        ;扫描初值
       MOV      R0,20H         ;取码指针存入R0
L3:    MOV      A,R4          ;扫描指针载入A
       MOV      P1,A           ;扫描输出
       INC      R4             ;扫描下一个
       MOV      A,R0           ;取码指针载入A
       MOV      DPTR,#TABLE    ;数据指针指到TABLE
       MOVC     A,@A+DPTR      ;至TABLE取上半部数据码
       MOV      P0,A           ;输出至P0显示
       INC      R0             ;取码指针加1
       MOV      A,R0           ;取码指针载入A
       MOV      DPTR,#TABLE    ;数据指针指到TABLE
       MOVC     A,@A+DPTR      ;至TABLE取下半部数据码
       MOV      P2,A           ;输出数据码
       INC      R0             ;取下一个码
       MOV      R3,#02H        ;扫描时间1毫秒
 D2:   MOV      R5,#0F8H
       DJNZ     R5,$
       DJNZ     R3,D2
       MOV      A,#00H         ;清除屏幕
       MOV      P0,A
       ANL      P2,#00H
       DJNZ     R6,L3          ;显示1个字了?
       DJNZ     R1,L2          ;停留时间到了?
       MOV      20H,R0         ;取码指针存入 20H地址
       CJNE    R0,#0FFH,L1    ;8个字256码 是否取完了
       JMP      START
;欢
TABLE: DB   0CH,20H,3CH,10H
       DB   44H,08H,84H,04H
       DB   04H,03H,04H,03H
       DB   84H,04H,44H,08H
       DB   3CH,10H,00H,20H
       DB   00H,00H,7H,20H
       DB   04H,10H,0F4H,0FH
       DB   04H, 10H,1CH,20H
;迎
       DB   00H,00H,49H,20H
       DB   6AH,10H,0D3H,0FH
       DB   08H,10H,00H,20H
       DB   0FEH,27H,02H,22H
       DB   02H,21H,81H,20H
       DB   00H,20H,02H,20H
       DB   0FEH,2FH,02H,22H
       DB   02H,22H,0FEH,21H
;莅
       DB   00H,00H,82H,00H
       DB   42H,00H,0E2H,3FH
       DB   17H,00H,0AH,00H
       DB   02H,00H,02H,00H
       DB   22H,20H,22H,20H
       DB   0E2H,3EH,3AH,20H
       DB   0E7H,3FH,3AH,20H
       DB   22H,20H,22H,20H
;临
       DB   00H,00H,0F0H,03H
       DB   00H,00H,00H,00H
       DB   0FFH,3FH,00H,00H
       DB   40H,20H,00H,3FH
       DB   10H,21H,0FH,21H
       DB   14H,21H,24H,3FH
       DB   44H,21H,04H,21H
       DB   04H,21H,04H,3FH
;民
       DB   00H,00H,00H,20H
       DB   0FFH,3FH,11H,21H
       DB   11H,21H,11H,11H
       DB   11H,09H,11H,01H
       DB   11H,01H,11H,01H
       DB   0F1H,03H,11H,05H
       DB   11H,09H,1FH,11H
       DB   00H,21H,00H,38H
;雄
       DB   00H,00H,08H,11H
       DB   88H,18H,48H,14H
       DB   3FH,12H,08H,10H
       DB   18H,10H,08H,38H
       DB   04H,00H,0FEH,3FH
       DB   45H,22H,44H,22H
       DB   44H,22H,0FFH,3FH
       DB   44H,22H,44H,22H
;农
       DB   00H,00H,00H,00H
       DB   1CH,04H,04H,04H 
       DB   04H,02H,04H,01H
       DB   84H,00H,0C4H,3FH
       DB   3FH,20H,44H,10H
       DB   84H,00H,04H,01H
       DB   04H,03H,84H,04H
       DB   5CH,08H,00H,10H
;工
       DB   00H,00H,00H,20H
       DB   01H,20H,01H,20H
       DB   01H,20H,01H,20H
       DB   01H,20H,01H,20H
       DB   0FFH,3FH,01H,20H
       DB   01H,20H,01H,20H
       DB   01H,20H,01H,20H
       DB   01H,20H,01H,20H
       END                                             
沙发
yangguon|  楼主 | 2007-8-31 11:31 | 只看该作者

16*16点阵LED屏显示字体出错,相比造字程序的点阵错了!!

点阵屏有显示,比如“欢字”,显示出来字型和原本的不一样,至于行扫描还是列扫描问题,按照仿真

器可以控制8P灯一行上下或左右显示,推断为行扫描,做完这个调试后有一点不了解,为何这个电路板

不可控制16P灯上下移动,是不是电路有问题。程序看出来没什么错的。请有经验的朋友指点啦

使用特权

评论回复
板凳
xwj| | 2007-8-31 11:43 | 只看该作者

自己按照硬件喝程序重新取模啊

使用特权

评论回复
地板
yangguon|  楼主 | 2007-9-7 09:11 | 只看该作者

16*16点阵LED屏显示字体出错,相比造字程序的点阵错了!!

上一楼主可以详细苗述取模的方法吗?本人没有经验啊!想听听大家的调试方法

使用特权

评论回复
5
yewuyi| | 2007-9-7 15:58 | 只看该作者

取模的方法在这里就如同计算8位段式数码管段码一样

使用特权

评论回复
6
yangguon|  楼主 | 2007-9-12 16:46 | 只看该作者

16*16点阵LED屏显示字体出错,相比造字程序的点阵错了

如"工"字你可以将这个字的字码发上网吗??本人第一次做这个实验,有点不懂

使用特权

评论回复
7
yewuyi| | 2007-9-13 08:37 | 只看该作者

汉字取模的具体数据和你取模的方法有关系

例如是横着还是竖着取模,取模是16*16还是32*16,等等

所以具体的数据对你是没有用的,取模其实很简单,就和小孩子玩的填方格游戏差不多


呵呵,我相信你的智力一定比小孩子强……

使用特权

评论回复
8
yangguon|  楼主 | 2007-9-17 15:49 | 只看该作者

16*16点阵LED屏显示字体出错,相比造字程序的点阵错了!!

各位大哥不好意思,因本人的硬件电路给了一个高手检测,以上的提问作废.现重新提出疑难

1.现在电路板接入5V电源,接着再原理图的74LS154的0-15脚共16位输入一个接地的电源信号,比如74LS154的0脚接了地电源线 16*16点阵屏的最顶一行16P灯全亮,如接1脚.点阵屏的最顶的第二行16P灯全亮,操作如此类推,
A仿真了以上的程序,结果是屏的左部8P屏的右部8P点阵显示是一样的.程序错在哪里??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

30

帖子

0

粉丝