你的位置:大电流电感 > 新闻动态

基于Proteus与汇编语言的汉字点阵动态显示

2020-09-05 23:12:43      点击:
上一篇:基于嵌入式视频存储的专用文件系统设计

单片机上电复位后,当按列扫描时,四个汉字的第一个字由Pl口输出列信号,首先第l列输出 “1”,第l列字模数据由16行输出(P0、P2口);然后延时一定时间后,第2列输出“l”,第2列字模数据再由16行输出;……;如此循环,直至第 16列;16列扫描完成后,再进行下一次循环扫描。所以在某一时刻,只有一行或一列LED被对应的字模数据驱动点亮。只要扫描间隔时间合适,利用人眼的视觉暂留特性,看上去整个字符就显示在LED点阵显示器上。

2 汉字显示程序设计

根据以上硬件电路和单片机控制原理,编程思路如图2所示。

编程思路

完整的程序代码如下:

MOV DPTR,#WORDTAB;初始化

MOV Rl,#0

MOV R2,#0

MOV R3,#16

MOV R4,#100

MOV R5,#4

LOOP:SETB P1.4

MOV A,R1 :查表取出字模数据经P0口输出

MOVC A,@A+DPTR

CPLA

MOVP0,A

INC R1 ;字模数据索引值加1

MOVA,R1 ;查表取出字模数据经P2口输出

MOVC A,@A+DPTR

CPLA

MOVP2,A

INC R1 ;字模数据索引值加1

MOV P1,R2 ;列控制信号输出

INC R2 ;列控制寄存器加1

LCALL DELAY;显示延时

DJNZ R3,LOOP;判断16列显示完否

DJNZ R4,K1 ;判断是否已显示100次

MOV R4,#100 ;显示次数寄存器重赋初值

SJMPK2

K1:CLRC ;字模数据索引值减32,列控制寄存器和列数寄存器重赋初值

插件电感

程序代码

3 仿真及结果

仿真方法是:

(1)在Keil C51仿真软件下创建项目,并把上述源程序添加到项目中,通过编译产生一个“.hex”为后缀的文件,此文件就是用于烧写到Proteus软件中AT89C51芯片的文件。