您现在的位置: 主页 > 电子技术 > EDA > Proteus的汉字点阵显示电路设计 -
本文所属标签:
为本文创立个标签吧:

Proteus的汉字点阵显示电路设计 -

来源: 网络用户发布,如有版权联系网管删除 2018-08-07 

[导读]  0 引言  
  一般情况下要完全显示出常用汉字至少需要16×16点阵,但由于Proteus元件库中没有16×16LED模块,为了达到显示要求,每个汉字可由四块8×8 LED模块组成。组合方式为先对每个8&t

  0 引言

本文引用地址: http://www.21ic.com/app/eda/201202/108028.htm

   汉字点阵的控制电路 www.elecfans.com


 

  一般情况下要完全显示出常用汉字至少需要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口输出


 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芯片的文件。

  (2)把生成的“.hex”为后缀的文件添加到Proteus软件中绘制的AT89C51芯片中作为控制程序。

  (3)在Proteus软件仿真电路图中点击左下角的运行按钮,则可在LED显示点阵中看到“广东工贸”四个汉字轮流显示的结果。

  从仿真图中可以看到“东”字在LED显示点阵中显示出来,设定每个字显示1秒,下秒将显示“工”字,“广东工贸”四个字循环显示。四个字显示出来如图3所示。

  



              查看评论 回复



嵌入式交流网主页 > 电子技术 > EDA > Proteus的汉字点阵显示电路设计 -
 

"Proteus的汉字点阵显示电路设计 -"的相关文章

网站地图

围观()