0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解析Proteus与汇编语言的汉字点阵动态显示

电子工程师 来源:电子技术期刊 作者:冯旭,王刚 2021-04-07 16:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Proteus软件的使用彻底改变了传统单片机学习和开发方式,初学者可以在没有实验硬件条件下进行仿真实验,开发者可以直接用Proteus进行电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发成本。

0 引言

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它可以仿真、分析各种模拟器件和集成电路,该软件的特点是:

a.实现了单片机仿真和 SPICE电路仿真相结合。具有模拟电路、数字电路仿真、单片机及其外围电路的仿真、各种虚拟仪器,如示波器等功能。

b.支持主流单片机系统的仿真。

c.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。

d.具有强大的原理图绘制功能。Proteus软件的使用彻底改变了传统单片机学习和开发方式,初学者可以在没有实验硬件条件下进行仿真实验,开发者可以直接用Proteus进行电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发成本。汉字点阵显示电路设计时,显示部分应用16×16点阵字模提取软件,提取“广东工贸”显示汉字的字模数据,通过查表取出字模数据送输出动态显示。

1 汉字显示电路设计

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

pIYBAGBtZfmAOqbFAAE33HujruM546.png

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

o4YBAGBtZgiAQvIxAADnZ3D1YAg416.png

完整的程序代码如下:

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,列控制寄存器和列数寄存器重赋初值

pIYBAGBtZq6AQfXpAAIju9UdWxI210.png

3 仿真及结果

仿真方法是:

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

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

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

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

o4YBAGBtZjyACkt_AADwX_SNjd8193.png

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    244

    文章

    24703

    浏览量

    692369
  • 驱动器
    +关注

    关注

    54

    文章

    9111

    浏览量

    156437
  • 元件
    +关注

    关注

    4

    文章

    1220

    浏览量

    38814
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问芯源CW32 MCU支持哪些汇编语言

    芯源CW32 MCU支持哪些汇编语言
    发表于 12-23 06:14

    第7章 变量进阶与点阵LED(7.5 7.6)

    7.5 点阵的动画显示 点阵的动画显示,说到底就是对多张图片分别进行取模,使用程序算法巧妙的切换图片,多张图片组合起来就成了一段动画了,动画片、游戏等等基本原理也都是如此。 7.5.1
    的头像 发表于 12-17 16:51 3715次阅读
    第7章 变量进阶与<b class='flag-5'>点阵</b>LED(7.5 7.6)

    C语言中可以嵌套汇编语言吗?

    请问C语言中可以嵌套汇编语言吗?
    发表于 12-15 08:14

    第6章 中断与数码管动态显示(6.1 6.2)

    中断是单片机系统重点中的重点,因为有了中断,单片机就具备了快速协调多模块工作的能力,可以完成复杂的任务。本章将首先带领大家学习一些必要的C语言基础知识,然后讲解数码管动态显示的原理,并最终借助于中断
    的头像 发表于 12-08 17:03 795次阅读

    Labview 解析dxf文件并显示

    上一期开了一个帖子讲Labview导入dxf文件,解析显示dxf文件,今天继续继续分享常用图元的解析显示方法。 LINE :用文本方式打开dxf 文件,搜索出直线部分,并摘
    发表于 12-01 11:28

    汇编语言还有必要学习吗

    1、嵌入式操作系统需要汇编语言 2、实时性要求非常高的地方,需要汇编语言,比如FFT算法。 3、汇编语言做运算那叫一个痛苦,下面是一段双字节乘法,浮点数就更难搞
    的头像 发表于 11-25 11:46 770次阅读
    <b class='flag-5'>汇编语言</b>还有必要学习吗

    汇编语言的起源

    一、汇编语言是什么? 我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。 这些指令都是二进制的,称为操作码
    发表于 11-20 07:19

    C语言和单片机C语言有什么差异

    汇编语言机器才能读懂,所以每个平台的编译器编译成对应平台汇编的程序,每个平台的汇编不一样,当然编译器也不一样。 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的编译器。具体
    发表于 11-14 07:55

    RVMCU课堂「7」: 手把手教你玩转RVSTAR—汇编程序篇

    相对于抽象层次更高的C/C++语言汇编语言是一门抽象层次比较低的语言,面向的是最底层的硬件,直接使用处理器的基本指令。虽然现在大多数的程序设计已经不再使用汇编语言,但是在一些特殊的场
    发表于 10-31 08:46

    通过内联汇编调用乘法指令mulh\\mulhsu\\mulhu

    1.蜂鸟E203内核支持的乘法指令有四种(不含融合指令),分别为mul、mulh、mulhu与mulhsu。它们的汇编语言格式如下: mulrd,rs1, rs2 将两个32位整数相乘,取低
    发表于 10-24 06:52

    汇编语言教学中文资料

    电子发烧友网站提供《汇编语言教学中文资料.rar》资料免费下载
    发表于 06-30 15:15 7次下载

    Windows环境下32位汇编语言中文资料

    电子发烧友网站提供《Windows环境下32位汇编语言中文资料.rar》资料免费下载
    发表于 06-30 15:14 0次下载

    单片机原理及应用

    和定时器等内部功能单元的应用技术、并行接口和串行接口的扩展方法,以及 Keil 软件和 Proteus 软件联合调试的方法等。书中大部分例题具有汇编语言和C51 语言的双语对照程序,便于读者选择学习。 获取完整文档资料可下
    发表于 06-16 16:58

    基于汇编语言的数字时钟

    发表于 06-03 15:49

    电磁环境动态监测与分析平台软件全面解析

    电磁环境动态监测与分析平台软件全面解析
    的头像 发表于 04-28 16:28 823次阅读
    电磁环境<b class='flag-5'>动态</b>监测与分析平台软件全面<b class='flag-5'>解析</b>