首页 » 技术文章 » 基于Proteus与汇编语言的汉字点阵动态显示

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

作者:  时间:2010-11-22 10:53  来源:EDN

  0 引言

  Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它可以仿真、分析各种模拟器件和集成电路,该软件的特点是:a.实现了单片机仿真和 SPICE电路仿真相结合。具有模拟电路、数字电路仿真、单片机及其外围电路的仿真、各种虚拟仪器,如示波器等功能。b.支持主流单片机系统的仿真。c.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。d.具有强大的原理图绘制功能。Proteus软件的使用彻底改变了传统单片机学习和开发方式,初学者可以在没有实验硬件条件下进行仿真实验,开发者可以直接用Proteus进行电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发成本。汉字点阵显示电路设计时,显示部分应用16×16点阵字模提取软件,提取广东工贸显示汉字的字模数据,通过查表取出字模数据送输出动态显示。

  1 汉字显示电路设计

  汉字点阵的控制电路采用AT89C51单片机,硬件电路由单片机接口电路、LED显示屏行列驱动电路、LED点阵显示屏三部分组成,如图1所示,电路用Proteus软件画出,具体画法参见文献。

  一般情况下要完全显示出常用汉字至少需要16×16点阵,但由于Proteus元件库中没有16×16LED模块,为了达到显示要求,每个汉字可由四块8×8 LED模块组成。组合方式为先对每个8×8模块行列引脚连接好总线,然后四个单色模块组合紧密。

  驱动电路采用动态扫描驱动方式,设计中行驱动信号采用了16个同向驱动器7407,并在每根信号线上接上拉电阻;列驱动信号先接-4-16译码器74HCl54,然后十六个列驱动信号接16个反向驱动器7406,并每根信号线接上拉电阻。

  单片机上电复位后,当按列扫描时,四个汉字的第一个字由Pl口输出列信号,首先第l列输出“1”,第l列字模数据由16行输出(P0P2);然后延时一定时间后,第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 P14
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,列控制寄存器和列数寄存器重赋初值

相关推荐

基于Proteus的电子产品仿真设计

Proteus  仿真设计  2010-11-30

基于Proteus的单片机虚拟开发环境

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

Proteus  汇编语言  2010-11-22

Proteus软件在嵌入式系统教学中的应用研究

嵌入式系统  Proteus  ARM7TDMI  2010-11-03

proteus 7.12与 keil 8.0的联调方法

proteus  联调  2010-08-27

单片机MCS-51系列指令快速记忆法

8051  指令  汇编语言  2008-08-11
在线研讨会
焦点