A24基于51单片机汇编语言8X8点阵显示数字0-9Proteus设计
作者:单片机仿真   类别:51单片机仿真    日期:2026-10-22 10:36:14    阅读:19 次   消耗积分:5 分

image.png

A24基于51单片机汇编语言8X8点阵显示数字0-9Proteus设计

用51单片机驱动8×8 LED点阵,轮流显示数字0到9,每个数字停1秒。核心是列扫描+查表:定时器4毫秒中断一次,中断里送一列列码、再按"数字编号×8+列号"查出该列的8位行码,8列扫完就是一幅完整数字。字模表里10个数字共80个字节,想换字体改表就行。资料包含Proteus仿真文件和完整汇编源码。

一、设计实现功能

本设计功能简介:使用51单片机和汇编语言设计一个8X8点阵显示数字0-9的proteus仿真,要求以下功能:

1、使用汇编语言编写程序。

2、8×8 LED点阵的行线接P0、列线接P3,动态扫描显示。

3、依次循环显示数字0~9,每个数字显示1秒。

二、资源汇总

1、仿真文件:Proteus工程,7.8和8.6两个版本都能直接打开。

2、程序文件:main.asm汇编源码,以及编译好的cx.hex。

3、修改日期小工具:购买资料后赠送,用于修改文件创建日期,下载地址在文章最后。

三、设计介绍

拿到压缩包之后先解压,没有解压软件的直接搜"压缩",下载解压软件后先解压文件,再运行仿真和程序。

点阵的8根行线接P0,8根列线接P3。显示一个数字靠"扫":同一时刻只点亮一列,8列快速轮换,人眼看到的是整幅图。

图1 Proteus仿真总览

仿真原理图

定时器0配置成方式1,4毫秒中断一次(12MHz):

参数值说明
定时时长4毫秒每列点亮时间
计数次数40004ms ÷ 1μs
计数初值65536-4000=61536即 0F060H
TH0 / TL00F0H / 60H61536=0xF060
整屏刷新8×4ms=32ms刷新率约31Hz

中断里做三件事:送列码、查行码、换下一列。

`asm
INT_T0: MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256
MOV DPTR,#TAB ;列码表
MOV A,R_CNT ;R_CNT=当前列号0~7
MOVC A,@A+DPTR
MOV P3,A ;列码送P3(低电平选中)
MOV DPTR,#NUB ;字模表
MOV A,NUMB ;NUMB=当前数字0~9
MOV B,#8
MUL AB ;数字编号×8
ADD A,R_CNT ;+列号,得到字模偏移
MOVC A,@A+DPTR
CPL A ;行码取反(点阵行低电平点亮)
MOV P0,A ;行码送P0
INC R_CNT
MOV A,R_CNT
CJNE A,#8,NEXT
MOV R_CNT,#00H ;8列扫完回到第0列
NEXT: INC TCOUNT
MOV A,TCOUNT
CJNE A,#250,NEX ;250×4ms=1秒
MOV TCOUNT,#00H
INC NUMB
MOV A,NUMB
CJNE A,#10,NEX ;0~9循环
MOV NUMB,#00H
NEX: RETI
`

这套"编号×8+列号"的查表法要记住,它是点阵显示的标准套路:字模表按数字顺序排列,每个数字占8个字节(8行),第n个数字第c列的数据就在表里 n*8+c 的位置。MUL AB 算乘法,MOVC A,@A+DPTR 按偏移取数,两条指令搞定二维查表。

列码表是逐位变低的循环码:

列号列码选中方式
00FEHP3.0低
10FDHP3.1低
20FBHP3.2低
30F7HP3.3低
40EFHP3.4低
50DFHP3.5低
60BFHP3.6低
707FHP3.7低

字模表前两个数字可以对照着看:

数字8字节字模说明
000,00,3E,41,41,41,3E,00上下留空,中间一个方框
100,00,00,00,21,7F,01,00中间一竖,底部一横
800,00,36,49,49,49,36,00上下两个圈

每个字节的8个bit对应8列,1表示该点亮(代码里CPL A之后变成低电平点亮)。想显示汉字或者自定义图案,用取模软件按"阴码、逐列式、逆向"生成一批8字节数据替换NUB表即可,程序逻辑一行不用改。

特别注意: 点阵显示成乱码或者斜条纹,先查字模的取模方式(逐行还是逐列、顺向还是逆向),四种组合只有一种对;显示闪烁明显,把4毫秒改成2毫秒(初值65536-2000)提高刷新率;某一列常亮不灭,看该列对应的P3引脚是不是接错或者列码表算错;换数字时拖影,属于正常现象,扫描间隙加上消隐(送列码前先清P0)会更干净;Proteus里8×8点阵分共阴共阳两种型号,接反了会出现"负片"效果(该亮的灭、该灭的亮),把CPL A去掉或加上试试。

四、日期修改

资料中提供修改日期的小工具,购买资料赠送修改文件创建日期的小工具,三个下载地址都在文章最后。

五、资料下载

付费后获取下载链接,直接下载到电脑上,然后解压即可!每个链接前面都配了二维码,手机扫码可以直接跳转。

/

版权所有,转载本站文章请注明出处:proteus单片机
上一篇:A23基于51单片机汇编语言独立按键LED累加器Proteus设计
下一篇:A25基于51单片机汇编语言独立按键8X8点阵显示字符Proteus设计
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}