基于Proteus仿真的串口发送数据到2片88点阵屏滚动显示Word文档下载推荐.docx
《基于Proteus仿真的串口发送数据到2片88点阵屏滚动显示Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于Proteus仿真的串口发送数据到2片88点阵屏滚动显示Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
4性能分析与总结7
4.1性能分析7
4.2系统仿真结果8
总结9
参考文献9
附录B主要汇编程序清单10
前言
点阵显示是集微电子技术、计算机技术、信息处理于一体的新型显示方式。
由于其具有色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点,并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。
但显示的信息量少,内容固定,修改站点信息比较麻烦,不能快速、便捷的更新站点信息一直制约着市场发展。
随着单片机技术的不断发展,SMT技术的飞速发展,开关电源的大规模使用,使其无论在体积上还是在可靠性上都比传统的点阵显示技术有明显的优势,为其在特殊领域的应用奠定了基础。
本文讲述了基于AT89C51单片机8×
8LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术,采用LED点阵显示模块,设计一个用串口发送数据到8×
8点阵屏滚动显示的LED单色图文显示屏,它能在目测条件下LED显示屏各点亮度均匀,充足,可显示图形和文字,稳定清晰无串扰,图形或文字显示有静止和移入移出等显示方式。
正文
2工作原理及外围电路
2.1工作原理
本设计采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、扫描驱动电路、8×
8LED点阵5部分组成。
AT89C51是一种带4kB闪烁可编程可擦除只读存储器的低电压、高性能CMOS型8位微处理器,俗称单片机。
它是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。
因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。
时钟电路由AT89C51的18,19脚的时钟端(XTAI1及XTAL2)以及12MHz晶振X、电容C2、C3组成,采用片内振荡方式。
复位电路采用简易的上电复位电路,主要由电阻R,R2,电容C,开关K组成,分别接至AT89C51的RST复位输人端。
LED点阵显示屏采用8x8共64个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。
把行列总线接在单片机的I/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。
在实际应用中是将LED点阵的8条列线通过驱动电路接在PO口8条行线通过限流电阻接在P2口,考虑到PO口必需设置上拉电阻,我们采用1k排电阻作为上拉电阻。
汉字扫描显示的基本过程是这样的:
通电后由于电阻R,电容cl的作用,使单片机的RST复位脚电平先高后低,从而达到复位;
之后,在C、C3、X以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P2和P0接口输出与内部汉字对应的代码电平送至LED点阵的行列线(高电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。
再改变取表地址实现汉字的滚动显示
2.2列驱动电路
列驱动电路有集成电路74HC595构成。
它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,既达到重叠处理的目的。
74HC595的外形及内部结构如图1所示。
它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。
引脚SI是串行数据的输入端。
引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。
移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。
RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。
引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。
SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。
由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。
芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。
但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移位寄存器完全同步的级联输出。
图174HC595外形及引脚
2.3行驱动器
单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。
一条行线上要带动16列的LED进行显示,按每一LED器件20MA电流计算,16个LED同时发光时,需要320MA电流,选通三极管8550作为驱动管可满足要求。
2.4电路设计
选用74HC595芯片及2块8×
8点阵显示模块。
从结构上可知,它的每一列共用一根列线,每一行共用一根行线。
当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。
通常情况下,一块8×
8的LED显示屏是能用来显示图像的。
在显示过程中,多采用扫描方式,利用人的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。
控制系统的结构框图如图7-18所示。
2.5复位电路
单片机有多种复位电路,本系统采用电平式开关复位与上电复位方式,电路如图7-20所示。
当上电时,C1相当于短路,使单片机复位,在正常工作时,按下复位键时单片机复位。
在有时碰到干扰时会造成错误复位,但在大多数条件下,不会出现单片机错误复位,而可能会引起内部某些寄存器错误复位,如果在复位端加一个去耦电容,则会得到很好的效果。
图2复位电路图3传输电路
2.6行数据传输电路
根据如图3所示的74HC595管脚图对控制端的说明为:
MR(10脚)指低点平时将移位寄存器数据清零;
SH_CP(11脚)指上升沿时数据寄存器的数据移位;
Q1、Q2、Q3、...、Q7指下降沿移位寄存器数据不变(脉冲宽度:
5V时,大于几十纳秒就行了,通常都选微秒级);
ST_CP(12脚)指上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
通常将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了,通常都选微秒级),更新显示数据;
/G(13脚)指高电平时禁止输出(高阻态)。
如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果,这样比通过数据端移位控制要省时省力。
然后用三片74HC595串联起来组成行数据传输端,如图7-22所示。
通过数据端和时钟端把数据传送到移位寄存器。
2.7列控制电路
列控器件74LS138是3-8译码器,它具有三个使能端,三个数据输入端,只有当使能端S1为高电平,而S2与S3之和为低电平时,才能正常工作,输出端低电平有效。
此设计采用三片138和每个输出端串接一个470Ω的电阻起一定的限流作用,然后与P1口相连接作为显示屏的列选择线。
ABC为译码器数据输入端,E1、E2、E3为片使能端。
当E1为高点平,E2和E3为低电平时第一片译码器使能可控制(COL0~COL7)列,以此类推选择列。
2.8单片机和按键连接电路
在单片机的I/O口连接电路,P1口作为连接74HC138的片选使能和译码数据端,P0作为连接74HC595的时钟端、数据端、清零端、使能端的分配。
按键用P2口的P2.0、P2.1、P2.2分别控制点阵屏停止/移动,开/关显示,速度的加/减功能。
3系统程序的设计
显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。
根据软件分层次设计的原理,可以把显示屏的软件系统分为两层;
第一层是底层的显示驱动程序,第二层是上层的系统应用程序。
显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。
显示驱动器程序由定时器T0中断程序实现。
系统应用程序完成系统环境设置、显示效果处理等工作,由主程序来实现。
3.1显示驱动程序
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:
刷频率(帧频)=1/16×
T0溢出率=1/16×
f/12(65536-t)
其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。
然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。
为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。
图4显示驱动程序流程图
3.2系统主程序
本设计的系统软件能使系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。
图形或文字显示有静止、移入移出等显示方式。
系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;
然后以“箭头”效果显示图形,停留约3s;
由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。
单元显示屏可以接收来自控制器或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。
图5系统主程序流程图
4性能分析与总结
4.1性能分析
LED显示屏硬件电路只要硬件质量可靠,引脚焊接正确,一般无需调试即可正常工作。
软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。
显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,表5.1给出了实验调试时采用的频率及其对应的定时器T0初值。
刷新率
25
50
62.5
75
85
100
120
T0初值
0Xec78
0Xf63C
0Xf830
0xF97E
0XFA42
0XFB1E
0xFBEE
显示平刷新率与T0初值关系表(24MHz晶振)
从理论上来说,24Hz以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的CPU时间越多。
试验证明,在目测条件下刷新频率40Hz一下的画面看起来闪烁较严重,刷新频率50Hz以上的已基本察觉不出画面的闪烁,刷新频率达到85Hz以上时再增加画面闪烁没有明显的改善。
显示效果处理程序的内容及方法非常广泛,其调试过程在此不作具体讨论,读者可以照源程序自行分析。
这个方案设计的8x8的点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;
显示屏各点亮度均匀、充足;
显示图形或文字稳定、清晰无串扰;
可用静止、移入移出等多种显示方式显示图形或文字。
4.2系统仿真结果
将上述程序进行编译后,打开89C51单片机的元件属性编辑对话框,如图7-27所示。
在ProgramFile中,单击文件夹图标,选择“程序1.HEX”文件后,即可对系统进行仿真。
整个系统的仿真结果如图6所示。
图6系统的仿真结果
总结
本文设计的用8x8的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。
本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
总结本文的研究工作,主要做了下面几点较突出的工作:
一、通过查阅大量