Proteus的汉字点阵显示电路程序设计及仿真
0 引言
本文引用地址:http://www.amcfsurvey.com/article/185649.htm一般情况下要完全显示出常用汉字至少需要16×16点阵,但由于Proteus元件库中没有16×16LED模块,为了达到显示要求,每个汉字可由四块8×8 LED模块组成。组合方式为先对每个8×8模块行列引脚连接好总线,然后四个单色模块组合紧密。 驱动电路采用动态扫描驱动方式,设计中行驱动信号采用了16个同向驱动器7407,并在每根信号线上接上拉电阻;列驱动信号先接-4-16译码器74HCl54,然后十六个列驱动信号接16个反向驱动器7406,并每根信号线接上拉电阻。
单片机上电复位后,当按列扫描时,四个汉字的第一个字由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口输出
评论