ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:268.01KB ,
资源ID:13741618      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13741618.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的LED汉字显示屏的设计与实现图文精Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的LED汉字显示屏的设计与实现图文精Word格式文档下载.docx

1、本文研究了基于AT89C51单片机88 LED汉字滚动显示屏的设计并运用Proteus软件的仿真和实 现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus软件仿真和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。关键词:单片机 LED 点阵 Proteus仿真1 引 言LED 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优

2、点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。LED 显示屏发展较快,本文讲述了基于AT89C51单片机88 LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。2 硬件电路组成及工作原理本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路、88 LED点阵5部分组成,电路框图如图1所示。其中,AT89C51是一种带4 kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Rea

3、d OnlyMemory,FPEROM的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。时钟电路由AT89C51的18,19脚的时钟端(XTAI 1及XTAL2以及12 MHz晶振X 、电容C2、C3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要

4、由电阻R ,R2,电容C ,开关K 组成,分别接至AT89C51的RST复位输人端。LED点阵显示屏采用8x8共64个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。我们把行列总线接在单片机的I/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。我们在实际应用中是将LED点阵的8条列线通过驱动电路接在PO口8条行线通过限流电阻接在P2口,考虑到PO口必需设置上拉电阻,我们采用1k排电阻作为上拉电阻。汉字扫描显示的基本过程是这样的:通电后由于电阻R ,电容cl的作用,使单片机图1 硬件电路组成框图的RST复位脚电平先高后低,从而达到复位;之后,在C、C3

5、、X 以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P2和P0接口输出与内部汉字对应的代码电平送至LED点阵的行列线(高电平驱动,从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。再改变取表地址实现汉字的滚动显示。硬件电路组成框图如图1所示,硬件电路如图2所示。图2 硬件电路3 汉字的点阵显示原理及字库代码获取方法我们以UCDOS中文宋体字库为例,每一个字由8行8列的点阵组成显示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在64象素范围内的任何图形。如查用8位的AT89C51单片机控

6、制,如图3所示图3 汉字显示原理为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。首先将8行分成4位的上、下两部分,把发光的象素位编为0不发光的象素位为1的十六进制代码。这样就把要显示的“四川 汶川”字编为如下代码:DB 0FFH,80H,0BAH,82H,0BEH,82H,0BAH,80H ;四DB 0FFH,0FDH,83H,0FFH,81H,0FFH,00H,0FFH ;川DB 0B6H,0D5H,0DEH,45H,9BH,0C5H,0DEH,0DFH ;汶DB 0FFH,0FDH,83H,0FFH,81H,0FFH,00H,0FFH, ;由这个原理可以看出,无论显示何种字

7、体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。对于16X16十六进制数据的汉字代码,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图4所示。可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16641 024 Hz,周期小于1 ms即可。行扫描和列扫描方法的扫描频率必须大于168128 Hz,周期小于78 ms即可,但是一次驱动

8、一列或一行(8颗LED时需外加驱动电路提高电流,否则LED亮度会不足。图4字库提取程序4 在Keil环境中程序设计与调试软件程序主要由开始、初始化、主程序、字库组成。其中主程序的流程图如图5所示。下面的程序能够用来实现滚动显示“四川 汶川 5.12 ¥” 寓意-5月12日四川汶川大地震后全国人民都捐了很多钱。汉字的显示。程序清单如下:图5 主程序流程图ORG 0000HAJMP MAINORG 0030HMAIN: MOV DPTR,#TAB ;字码表初址赋值 MOV R1,#0FEH ;列控制码MOV R3,#8 ;列数MOV R4,#80 ;移动“及 ”“09”11个字符,共88列CM:

9、MOV R5,#12 ;每屏反复显示10次C1: MOV R2,#0 ;取字指针C8: MOV P2,#0FFH ;关显示MOV A,R2 ;MOVC A,A+DPTR ;取当前列的显示字码的一个字节MOV P0,A ;送18行控制口MOV A,R1MOV P2,A ;送列控制码ACALL D5MS ;显示5MSRR A ;列控制码左移,显示下一列MOV R1,A DJNZ R3,C8 ;未显示8 列,继续DJNZ R5,C1 ;未显示10次,继续INC DPL ;一屏反复显示10次完,字码表初值加1DJNZ R4,CM ;88列未移动完,继续AJMP MAIN ;88列显示完,返回,重新从“

10、 ”开始显示D5MS: MOV R6,#4MOV R7,#248DJNZ R7,$DJNZ R6,$-4RETTAB: DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;DB 0FFH,0FFH,0FFH,0B6H,0D5H,0DEH,45H,9BHDB 0C5H,0DEH,0DFH,0FFH,0FDH,83H,0FFH,81H ;DB 0FFH,00H,0FFH,0FFH,0FFH,0FFH,8DH,0ADH ;DB 0ADH,0A1H,0FFH,0E7H,0E7H,0FFH,0FFH,0DDH ;5DB 81H,0FDH,0FFH,0FFH,0CDH,

11、0B9H,0B5H,0CDH ;1DB 0FFH,0FFH,0ABH,0CBH,0E0H,0CBH,0ABH,0FFH ;2DB 0FFH,0ABH,0CBH,0E0H,0CBH,0ABH,0FFH,0FFH ;YDB 0ABH,0CBH,0E0H,0CBH,0ABH,0ABH,0CBH,0E0HDB 0CBH,0ABH. END图6 在keil软件中编程和调试在keil软件中完成程序编写、调试和编译之后,生成能让单片机运行的Hex文件,如图6所示。5 基于PROTEUS的电路仿真Proteus 是英国 Labcenter electronics 公司开发的 EDA 工具软件。主要由原理布图的

12、方法绘制电路并进行仿真的 ISIS 和 PCB 自动布线或人工布线电路仿真的 ARES 两个程序组成。Proteus 运行于 Windows 操作系统上, 可以动态实时仿真、分析 ( SPICE 各种模拟器件和集成器件。针对微处理器及其外围电路,可以直接在基于原理图的虚拟原型上编程, 并实现软件代码级的调试, 配合其提供的仿真图表或虚拟仪器如示波器、逻辑分析仪等可进行相应的测量与分析。借助Proteus的对CPU和外围电路强大的仿真能力以及丰富的资源库,可以有效地替代硬件仿真器进行先期的软硬件调试,等到仿真结果基本理想时再进行实际的硬件调试,这样的开发过程不仅高效,而且可以尽可能地减少损失,尤

13、其对于解决实验室资源紧张的问题是一个很好的思路。1、用PROTEUS 绘制原理图运行 Proteus 的 ISIS 程序后, 进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成(如图1所示)。通过元件选择按钮 P (从库中选择元件命令 命令, 在弹出的 Pick Devices 窗口中选择电路所需的元件, 放置元件并调整其相对位置, 对元件参数设置及元器件间连线, 完成单片机系统的硬件原理图绘制。图7所示是绘制完成的电路图。图7绘制电路图2、 PROTEUS 对单片机内核的仿真在source 菜单的Define code

14、generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files 命令下,加入单片机硬件电路的对应程序(主要采用 Keil 进行程序编译)打开如图8所示的对话框。在 Program File 栏添加编译好的十六进制格式的程序文件8X8.hex,给AT89C51输入晶振频率,此处默认为12MHZ, 单击OK 按钮完成程序添加工作, 下面就可以进行系统仿真了。Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机外围电路或没有单片机参与的其它电路的工作情况,也能仿真单片机CPU的工作情况。因此在仿真和

15、程序调试时,是从工程的角度直接看程序运行和电路工作的过程和结果。从某种意义上讲Proteus仿真,基本接近与工程应用。图8 添加程序文件8X8.hex6 LED汉字显示屏实物制作1元器件选择本设计所需元器件如表1所示。2制作PCB板首先运用Protel软件绘制电路原理图,设置元件的封装参数,再生成网络表格之后进行自动布局和自动布线最后进行手工调整,绘制出如图9所示的PCB板。最后在PCB雕刻机上雕刻出电路板。图9 PCB板3)电路装配与调试按装配图纸和装配工艺要求将电子元器件装配到PCB板上,这里特别要注意的是单片机要能正常工作,必须把在Keil软件中调试成功并生成的hex文件通过烧录器烧写到单片机芯片中

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1