单片机x点阵设计_第1页
单片机x点阵设计_第2页
单片机x点阵设计_第3页
单片机x点阵设计_第4页
单片机x点阵设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、16x16点阵设计摘 要本设计是一16x16点阵LED电子显示屏的设计,整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个驱动器74HC154和两个列驱动器74HC595米驱动显示。该电子显示屏可以显示各种文字或单色图像,全屏能显示1个汉字,采用4块8x8点阵LED显示模块米组成16x16点阵显示模式。显示采用动态显示,是的图形或文字能够实现静止、移入移出等多种显示方式。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路个个部分的功能原理、相应软件的程序设计,以及使用说明等。单片机控制系统程序采用

2、单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写,也可以标准字库中提取。LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、公交干道及各种室内外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。设计结果证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。关键词:AT89C51单片机,LED,点阵显示,动态显示,C语言目 录1 绪论11.1 课题描述11.2 基本工作原理及框图12 相关芯片及硬件电路设计22.151系列单片

3、机简介:22.2 点阵显示原理52.3 列驱动电路62.4行驱动电路82.5硬件总体电路93 系统软件设计103.1 显示驱动程序103.2 系统的主程序11总 结12致 谢13参考文献14附录141 绪论1.1 课题描述单片微型计算机(singlechipmicrocomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的1。单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强

4、,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易2。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。所以研究LED显示有实用的意义。汉字显示方式是先根据所需要的汉字提取汉字点阵(如1616点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。不论显示图形还是文字,都是控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光。通常事先把需要显示的图形文字转换成点阵图形,在按照显示控制的要求以一定的格式形成显示数据。对

5、于只控制通断的图文显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样时可行的。这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件。显示图形的数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有1616、2424、3232、4848等不同规格3。用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效

6、果。因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。1.2 基本工作原理及框图LED点阵总体框图如图1所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。控制电路部分包括一个51CUP和一些外围电路。在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给屏体电路部分发送命令。点阵显示屏体、以及它的行和列的各个驱动电路。由于两部分的电路在制板时可以放到一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送。此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行

7、的同名列共用一个列驱动器。由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。另一方而,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列点燃相应的LED;未接通的列所对应的LED熄灭。单 片 机列 驱 动 器行驱动器LED显示点阵电源图1点阵显示总体框图2 相关芯片及硬件电路设计2.151系列单片机简介:单片机(Microcontroller,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。AT89C51单

8、片机的基本结构见图2图2 51单片机内部结构51是MCS-51系列单片机的一个产品。MCS-51系列单片机是Intel公司推出的通用型单片机,51单片机系列指的是MCS-51系列和其他公司的51衍生产品。这些衍生品是在基本型基础上增强了各种功能的产品。这些产品给8位单片机注入了新的活力,给它的开发应用开拓了更广泛的前景。51系列的内部结构可以划分为CPU、存储器、并行口、串行口、定时器/计数器、中断逻辑几部分。(1)中央处理器51的中央处理器由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。算术逻辑单元ALU能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以

9、及位操作运算。PSW的格式如下所示,其各位的含义是:表1 PSW寄存器各位的含义D7D6D5D4D3D2D1D0CYACF0RS1RS0OVPCY:进位标志。有进位/错位时CY=1,否则CY=0。AC:半进位标志。当D3位向D4位产生进位/错位时,AC=1,否则AC=0,常用于十进制调整运算中。F0:用户可设定的标志位,可置位/复位,也可供测试。RS1、RS0:四个通用寄存器组选择位,该两位的四种组合状态用来选择03寄存器组。OV:溢出标志。当带符号数运算结果超出-128+127范围时OV=1,否则OV=0。当无符号数乘法结果超过255时,或当无符号数除法的除数为0时OV=1,否则OV=0。P

10、:奇偶校验标志。每条指令执行完,若A中1的个数为奇数时P=1,否则P=0,即偶校验方式。控制逻辑主要包括定时和控制逻辑、指令寄存器、译码器以及地址指针DPTR和程序寄存器PC等。(2)存储器组织51单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器4。图3 51存储器组织结构程序存储器的某些单元是保留给系统使用的:0000H0002H单元是所有执行程序的入口地址,复位以后,CPU总是丛0000H单元开始执行程序。0003H002AH单元均匀地分为五段,用做五个中断服务程序的入口。用户程序不应进入上述区域。51的RAM虽然字节数不很多,但却起着十分重要的

11、作用。256个字节被分为两个区域:00H7FH时真正的RAM区,可以读写各种数据。而80HFFH是专门用于特殊功能寄存器(SFR)的区域。对于8051安排了21个特殊功能寄存器,每个寄存器为8位,所以实际上128个字节并没有全部利用。内部RAM的各个单元,都可以通过直接地址来寻找,对于工作寄存器,则一般都直接用R0R7,对特殊功能寄存器,也是直接使用其名字较为方便。8051内部特殊功能寄存器都是可以位寻址的,并可用“寄存器名.位”来表示,如ACC.0,B.7等。(3)AT89C51芯片AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4k bytes的反复擦写的

12、Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域5。AT89C51引脚图如图4所示。图4AT89C51引脚图AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个十六位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作

13、,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位6。2.2 点阵显示原理一般的点阵都是8x8的,即横竖都有8个发光二极管,如图5所示。 观察二极管正负极,我们可以很容易发现,如果赋予P0=0xff;P2=0x00;那么所有的发光二极管将被点亮,从而点阵就可以实现全亮。类似的,如果需要实现某一列或者某一行全亮,也可以进行类似的赋值。比如,我们要实现第一列全亮,第一列全亮就要求P20=0;其他为1则代码为P0=0xff;P2=0xfe;但是如果

14、需要让点阵显示一个字符的话,上述赋值则不能达到目的,需要通过动态扫描来实现。扫描包括行扫描和列扫描,我们可以任意使用其中一种。假设我们使用行扫描,就是首先令P07为1,即P00=0x80;然后观察在这一行上有哪些二极管被点亮,点亮的那一列所对应的端口就为0,不亮的就为1,记下此时P2数值,短暂延时过后,令P06=1,即P00=0x40;然后观察在这一行上有哪些二极管被点亮,点亮的那一列就为0,不亮的就为1,记下此时P2数值,同理如此重复下去,直到P00=0x01;那么所有的P0和P2的数值就构成了两个长度为8的数组,我们可以在程序中每个一段时间按顺序发送一组代码,只要时间段足够短,那么我们就可

15、以在点阵上看到稳定的字符了。图5 8x8点阵示意图2.3 列驱动电路动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就1616的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭; 第十六行之后又重新燃亮第一行,这样反复轮回。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。

16、但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并

17、出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。经过上述分析最终采用具备上述功能的74HC 595 ,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,也能达到重叠处理的目的。74HC595的外形及结构如图6所示。图6 74HC595外形结构图它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的

18、移位时钟脉冲在其上升沿发生移位,并将SI的下一个数据打入最低位移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移

19、位寄存器完全同步的级联输出。在电路图中的连接如图7所示图7 74HC595连接图2.4行驱动电路本设计中采用一个74HC154译码器实现4线16线输出,来驱动点阵显示屏的行。74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC154译码器可接受4位二进制加权地址输入(A,B, C和D),并当使能时,提供8个互斥的低有效输出(X0至X15)。74HC154特有2个使能输入端:两个低有效E1和E2。除非E1和E2置低,否则74HC154将保持所有输出为高。ABCD四个输入端可分别从0000-1111时输出段可分别选中点阵的1至15行从而实现对个

20、行的扫描控制。74HC154的使能端E1受单片机P1.4引脚控制从而实现控制扫描的开始与结束。74HC145在电路中的连接如图8所示:图8 74HC154连接图2.5硬件总体电路硬件总体电路如图9所示:图9 硬件总体电路3 系统软件设计3.1 显示驱动程序定时器赋初值读取行号并增加1送新行显示数据消 隐切换显示数据发送新行号,打开显示退出中断进入中断图10 显示驱动程序流程图显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:刷频率(帧频)=1/16T0溢出率 =1/16f/12(65536-t) 其中f位晶振频率,t

21、为定时器T0初值(工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。本文设计的系统软件能使系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。显示驱动程序(显示屏扫描函数)流程图如图10所示3.2 系统的主程序系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以

22、“卷帘出”效果显示图形,停留约1s;接着向上滚动显示“河北工程大学信电学院”这10个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。开始系统初始化“卷帘出”显示效果“上滚屏”显示效果“左跑马”显示效果“卷帘入”显示效果单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。图11是系统主程序流程图。图11 主程序流程图总 结本次课程设计主要是进行了点阵显示汉字

23、的设计,对于点阵平时见到得很多,但是对其显示的真正原理并不是很清楚,正好通过此次设计吧点阵显示的基本原理弄清楚了,并且能能够自己设计,并变成实现一些简单的应用。在这次设计的过程中我通过查阅大量的相关资料,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了目标。在设计过程中我对点阵如何显示汉字,并且如何滚动有了比较详细的了解,知道动态扫描实现的原理,并且熟练掌握了Proteus仿真软件的基本使用,与此同时也感到单片机的重要作用。另外,由于刚开始时对C语言在单片机上的应用不是很了解,导致在程序的编程时逻辑上产生了很多错误,后来通过自己对别人的程序进行了解,通过自己的不

24、断练习最终实现了想要的结果。不仅如此,通过这次设计,从这次设计中,我们最重要的感受是:做任何事都有耐心和毅力,否则将一事无成。致 谢课程设计即将结束,在老师的指导和同学的帮助之下,学生对于道路设计有了更多新的认知,对路基路面设计有了更深一步的认识,对路基路面综合设计的整体脉络了解得更加的清晰透彻。通过课程设计,我对自己大学近三年以来所学的知识有更多的认识。 课程设计,帮助我们总结大学三年收获、认清自我。同时,还帮助我们改变一些处理事情时懒散的习惯。从最开始时的搜集资料,整理资料,到方案比选,确定方案,再到着手开始进行路基工程、路面工程和路线排水的设计,每一步都是环环相扣,衔接紧密,其中任何一个

25、步骤产生遗漏或者疏忽,就会对以后的设计带来很多的不便。 学生的动手能力和资料搜集能力在设计中也得到提升。课程设计中很多数值、公式、计算方法都需要我们去耐心地查阅书籍,浏览资料,设计中需要用到辅助设计软件的地方,也需要我们耐心的学习。掌握其使用的要领,运用到设计当中去。最后汇总的时候,需要将前期各个阶段的工作认真整理。课程设计结束了,通过设计,学生深刻领会到基础的重要性,课程设计不仅仅能帮助学生检验大学四年的学习成果,更多的是课程设计可以帮助我们更加清楚的认识自我,磨练学生的意志与耐性,这会为学生日后的工作和生活带来很大的帮助。参考文献1 何立民.MCS-51系列单片机应用系统设计与接口技术.北

26、京:北京航空航天大学出版社,1990.23-252 何立民.单片机应用技术选编.北京:北京航空航天大学出版社,2000.30-333 邬宽明.单片机外围器件实用手册.北京:北京航空航天大学出版社,1998.70-734 张毅刚等.MCS-51单片机应用设计.哈尔滨:哈尔滨工业电子出版社,1996.55-565 张新成,杨志邦.c语言程序设计.郑州:河南科学技术出版社,2009.55-656 余发山,王福忠.单片机原理及应用技术.徐州:中国矿大出版社,2004.34-36附录:程序清单16x16点阵设计程序:#include #define BLKN 2 /列锁存器数sbit G = P14;

27、/P1.4为显示允许控制信号端口sbit RCLK = P16; /P1.6为输出锁存器时钟信号端sbit SCLR = P15; /P1.5为移位寄存器清0 端void delay(unsigned int); /延时函数unsigned char data dispram32; /显示缓存/x-主函数 -x/ void main(void) unsigned char code Bmp32=/字模表/ 看0,120,63,128,1,0,31,240,2,0,127,252,4,0,15,240,24,16,47,240,72,16,15,240,8,16,15,240,0,0,0,0,/

28、 我6,64,56,80,8,72,8,64,127,252,8,64,8,72,14,72,24,80,104,80,8,36,8,84,8,140,57,4,0,0,0,0,/ 的8,64,8,64,16,124,62,132,35,4,34,4,34,68,62,36,34,36,34,4,34,4,34,4,62,4,34,24,0,0,0,0,/ 单8,32,4,64,31,240,17,16,17,16,31,240,17,16,17,16,31,240,1,0,1,0,127,252,1,0,1,0,0,0,0,0,/ 片0,64,16,64,16,64,16,64,31,248

29、,16,0,16,0,16,0,31,224,16,32,16,32,16,32,32,32,64,32,0,0,0,0,/ 机16,0,17,240,17,16,125,16,17,16,17,16,57,16,53,16,81,16,17,16,17,16,18,20,18,20,20,12,0,0,0,0 ,/ 课32,0,19,248,18,72,3,248,114,72,19,248,16,64,19,252,16,64,20,224,25,80,18,72,4,68,0,64,0,0,0,0,/ 程0,0,13,248,113,8,17,8,17,248,124,0,16,0,25

30、,248,52,64,48,64,81,248,16,64,16,64,19,252,0,0,0,0,/ 设32,0,17,240,17,16,1,16,1,16,114,12,20,0,19,248,17,8,17,16,20,160,24,64,17,176,6,12,0,0,0,0,/ 计32,64,16,64,16,64,0,64,0,64,119,252,16,64,16,64,16,64,16,64,20,64,24,64,16,64,0,64,0,0,0,0, 0xF8,0x3F,0xE7,0xCF,0xDF,0xF7,0xBF,0xFB,0xB3,0x9B,0x73,0x9D,

31、0x7F,0xFD,0x7F,0xFD, 0x6F,0xED,0x67,0xCD,0xB3,0x9B,0xB8,0x3B,0xDF,0xF7,0xE7,0xCF,0xF8,0x3F,0xFF,0xFF /x:x/ ; unsigned int i,j,k,l; SCON=0x00; /串口工作模式0:移位寄存器方式TMOD=0x01; /定时器T0工作方式1:16位方式TR0 = 1; /启动定时器T0 P1=0x3f; /P1端口初值:允许接收、锁存、显示IE=0x82; /允许定时器T0中断while (1) delay(300); /延时2秒 for (i=0;i32;i+) /显示效果:卷帘出 disprami = Bmp10i;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论