《自-基于单片机的LED汉字显示屏的设计与实现24783》由会员分享,可在线阅读,更多相关《自-基于单片机的LED汉字显示屏的设计与实现24783(12页珍藏版)》请在金锄头文库上搜索。
1、 全国中职骨干专业教师培训班论文 题 目: 基于单片机LD汉字显示屏的设计与实现 系 别: 电子与信息学院 专业: 电子技术应用班 姓 名: 谢利民 指导老师: 韩克 柳秀山 时 间: 2008 年 9 月基于单片机的LE汉字显示屏的设计与实现全国中职骨干教师培训班电子应用技术班 谢利民摘 要:本文研究了基于T89C51单片机88 ED汉字滚动显示屏的设计并运用roteu软件的仿真和实 现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Pros软件仿真和实物制作等方面的内容,本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。能帮助广大电子爱好者了解汉字的点阵显示原
2、理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。关键词:单片机 LD 点阵 Proteu仿真 引言 LD 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。 显示屏发展较快,本文讲述了基于AT851单片机8LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、roteu软件仿真等基本环节和相关技术。 硬件电路组成及工作原理本产品采用以AT89C1单片机为核心芯片的电路
3、来实现,主要由AT8951芯片、时钟电路、复位电路、列扫描驱动电路、88 LE点阵部分组成,电路框图如图所示。其中,T89C51是一种带 kB闪烁可编程可擦除只读存储器(Fals grammable and asle ead nlMeor,PERO)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用TMEL高密度非易失存储器制造技术制造,工业标准的MCS一5指令集和输出管脚相兼容。由于将多功能位PU和闪烁存储器组合在单个芯片中,能够进行1 000次写擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过
4、程中经常用到T89C51芯片。时钟电路由AT851的1,19脚的时钟端(TI 1及A2)以及1 MHz晶振 、电容C2、3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R ,R2,电容 ,开关K组成,分别接至AT89C51的ST复位输人端。LED点阵显示屏采用88共个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。我们把行列总线接在单片机的/O口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。我们在实际应用中是将LED点阵的条列线通过驱动电路接在PO口,条行线通过限流电阻接在2口,考虑到O口必需设置上拉电阻,我们采用1k排电阻作为上拉电
5、阻。汉字扫描显示的基本过程是这样的:通电后由于电阻R ,电容c的作用,使单片机图1 硬件电路组成框图的RST复位脚电平先高后低,从而达到复位;之后,在C、C3 、X 以及单片机内部时钟电路的作用下,单片机9C按照设定的程序在2和P0接口输出与内部汉字对应的代码电平送至LD点阵的行列线(高电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。再改变取表地址实现汉字的滚动显示。硬件电路组成框图如图所示,硬件电路如图2所示。图2 硬件电路3 汉字的点阵显示原理及字库代码获取方法 我们以DOS中文宋体字库为例,每一个字由8行8列的点阵组成显示。我们可以把每一个点理解为一
6、个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在4象素范围内的任何图形。如查用8位的AT89C51单片机控制,如图3所示图3 汉字显示原理为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。首先将8行分成4位的上、下两部分,把发光的象素位编为不发光的象素位为1的十六进制代码。这样就把要显示的“四川 汶川”字编为如下代码:DB0FF,8H,0BAH,82H,0BE,8,0BAH,0 ;四DBFH,0FH,8H,FH,81H,FFH,0H,FFH;川DB 0BH,05,DEH,45,9BH,C5,0DH,DFH ;汶DB0FH,0FH,83H,0
7、FF,81,0FFH,00,0FFH, ;川 由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。对于16X6十六进制数据的汉字代码,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图所示。可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16641 02 Hz,周期小于1ms即可。行扫描和列扫描方法的
8、扫描频率必须大于16828 H,周期小于78m即可,但是一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LE亮度会不足。图字库提取程序4 在Keil环境中程序设计与调试软件程序主要由开始、初始化、主程序、字库组成。其中主程序的流程图如图5所示。下面的程序能够用来实现滚动显示“四川 汶川 .12 ¥” 寓意-5月2日四川汶川大地震后全国人民都捐了很多钱。汉字的显示。程序清单如下:图5 主程序流程图OR000HAMPMAINOG000HAN:MVDPR,AB ;字码表初址赋值OVR1,#0E ;列控制码 MVR3,8 ;列数 VR4,#8 ;移动“及 ”“09”11个字符,共8列CM
9、:MOR,#12 ;每屏反复显示0次C1: MOVR2,# ;取字指针8: MO 2,#0FH ;关显示 MOVA,R2 ; MOVCA,+DPTR ;取当前列的显示字码的一个字节 MOV0,A ;送18行控制口 MO,R1 MOVP2,A ;送列控制码 AALL5M ;显示5M RR A ;列控制码左移,显示下一列 O1,A DJZR3,C ;未显示8列,继续 DJNZR5,C1 ;未显示0次,继续 NL ;一屏反复显示10次完,字码表初值加1 DJNZR4,M ;88列未移动完,继续 AJMAI ;8列显示完,返回,重新从“ ”开始显示D5M:MOVR6,#4 MOR7,#248 JNZR
10、,$ JNZR6,$ RETTB:B0FFH,FFH,0FF,0FFH,FFH,0FH,0FH,0H ;0F,80H,0BAH,82H,0BEH,82,0BAH,0 ;四DBFFH,0FDH,83H,0FFH,81,0H,00H,0FFH ;川D 0FFH,0FFH,0FFH,B6,0D5H,0DEH,4H,9BHB0C5H,0DEH,0DFH,FH,0FH,83H,0FF,81H ;汶DBF,0H,0FFH,0F,0H,0FH,8DH,0AH ;川 DB,0A1,FFH,0E7H,0E7,0FFH,0FH,0DH ;5D81,0FD,0FFH,0FH,0CDH,B9,B5H,0CDH ;1B
11、FH,0FFH,0AB,0CH,0E0H,0CBH,0AB,0FF ;2DBFH,0AH,0BH,0,CBH,0H,0F,0FFH ;YD0AH,0BH,0E0H,BH,0ABH,AH,0CH,0E0HDB 0CB,0ABH. ED图6 在eil软件中编程和调试在kil软件中完成程序编写、调试和编译之后,生成能让单片机运行的He文件,如图所示。5 基于PROEUS的电路仿真 Prteus 是英国 acener eectronics 公司开发的 EDA 工具软件。主要由原理布图的方法绘制电路并进行仿真的 IS 和 P 自动布线或人工布线电路仿真的ARES 两个程序组成。Prteus运行于 Win
12、dow操作系统上, 可以动态实时仿真、分析 ( SI) 各种模拟器件和集成器件。针对微处理器及其外围电路,可以直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,配合其提供的仿真图表或虚拟仪器如示波器、逻辑分析仪等可进行相应的测量与分析。借助Prteus的对CP和外围电路强大的仿真能力以及丰富的资源库,可以有效地替代硬件仿真器进行先期的软硬件调试,等到仿真结果基本理想时再进行实际的硬件调试,这样的开发过程不仅高效,而且可以尽可能地减少损失,尤其对于解决实验室资源紧张的问题是一个很好的思路。1)、用PROTUS 绘制原理图运行 Protes 的 ISS 程序后,进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成(如图所示)。通过元件选择按钮P (从库中选择元件命令) 命令, 在弹出的 Pik Dvce 窗口中选择电路所需的元件, 放置元件并调整其相对位置, 对元件参数设置及元器件间连线, 完成单片机系统的硬件原理图绘制。图所示是绘制完成的电路图。图7 绘制电路图2)、 ROTE 对单片机内核的仿真在se 菜单的Defin ode genrotols菜单