基于单片机控制的8X8点阵汉字显示屏的设计毕业设计_第1页
基于单片机控制的8X8点阵汉字显示屏的设计毕业设计_第2页
基于单片机控制的8X8点阵汉字显示屏的设计毕业设计_第3页
基于单片机控制的8X8点阵汉字显示屏的设计毕业设计_第4页
基于单片机控制的8X8点阵汉字显示屏的设计毕业设计_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

1、 陕西理工学院毕业设计 基于单片机控制的点阵汉字显示屏的设计【摘要】该设计是一款以单片机 at89c51 为控制器的 led 点阵显示屏系统。该系统可实现汉字的静态和动态特效显示。系统采用 pc 机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,at89c51 单片机接收并处理 pc 机的控制命令以及显示代码,由显示驱动模块驱动一个 1616 分辨率的 led 点阵显示屏的扫描显示。pc 机与单片机之间的通信采用 rs232c 通信标准来实现。【关键字】at89c51;led 点阵显示;串行通信 陕西理工学院毕业设计 designdesign andand realizatio

2、nrealization ofof thethe latticelattice screenscreen ofof ledled basedbased onon at89c51at89c51abstract:abstract: this paper introduces a design of the led lattice display system base on mcu at89c51. the system can display chinese characters of the show and from top to bottom and move around the mag

3、ic show. and can be cascaded to expand the screen size to achieve increased content purposes. the pc sends control commands and displays code to microcontroller, at89c51 receives control commands from pc and shows the code, driver module drives a 1616-resolution led lattice leds panel display scan s

4、howed. communication between pc and the microcontroller using rs-232c communications standards. keykey words:words: at89c51;lattice leds panel display;serial communication 陕西理工学院毕业设计 目录目录引言11.课题相关知识21.1 at89c51 简介 21.2 串并转换器 74ls164 简介 21.3 锁存器 74l373 简介 31.4 dsp 简介 31.5 eda 简介 42.系统设计方案52.1 通信系统设计5

5、2.2 led 点阵显示屏设计52.3 硬件设计方案图62.4 系统软件编译器的选择72.5 上位机控制传输软件设计73. 硬件开发 83.1 硬件整体设计概述及功能分析83.2 控制系统设计83.3 译码电路设计 103.4 列驱动电路设计 103.5 通信系统硬件设计 11 陕西理工学院毕业设计 3.6 电源设计 113.7 led 显示屏设计 124. 软件设计及开发144.1 程序设计流程图 144.2 led 显示屏的显示方式的设计 154.2.1 点阵数据表达方式的设计154.2.2 显示程序的设计164.3 通信设计 185. 系统测试205.1 系统硬件部分调试方法 205.1

6、.1 串口调试 205.2 系统联合调试及结果 20总 结22致 谢23参考文献 24科技外文翻译 25附录 a 硬件原理图32附录 b 仿真图33附录 c 设计程序34 陕西理工毕业设计第 1 页共 40 页引言随着现代计算机技术和自动化技术的发展,带动了嵌入式技术的飞速发展。以单片机作为控制中心的嵌入式系统在实际生活中应用越来越广泛。该设计课题使我们能够掌握 led 显示屏的基本显示原理和设计方法,对led 显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了 51 单片机的的软硬件开发工具的使用方

7、法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,作为主要平面显示媒介的 led 显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的 led 技术虽然发展迅速但和世界先进水平还有一定的差距。因此此课题不论是对自己的就业还是对我国 led 显示技术的发展都有非常现实与积极的意义。 陕西理工毕业设计第 2 页共 40 页1.课题相关知识1.1at89c511.1at89c51 简介简介at89c51 是美国 atmel 公司生产的低功耗,高性能 cmos8 位单片机,片内含 4k bytes 的可系统编程的 flash 只读程序存储器,器

8、件采用 atmel公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚。它集 flash 程序存储器既可在线编程(isp)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,atmel 公司的功能强大,低价位at89c51 单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。at989c51 具有以下特点:与 mcs-51 产品指令系统完全兼容4k 字节在系统编程(isp)flash 闪速存储器1000 次擦写周期4.05.5v 的工作电压范围全静态工作模式:0hz33mhz三级程序加密锁1288 字节内部 ram32 个可编程 i/o 口线2 个 16 位定

9、时/计数器6 个中断源全双工串行 uart 通道系统看门狗(wdt)及双数据指针 陕西理工毕业设计第 3 页共 40 页掉电标识和快速编程特性灵活的低功耗空闲和掉电模式中断可从空闲模唤醒在系统编程(isp 字节或页写模式) at89c51 提供以下标准功能:4k 字节 flash 闪速存储器,128 字节内部 ram,32 个 i/o 口线,看门狗(wdt),两个数据指针,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51 可降至 0hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 cpu 的工作,但允许

10、 ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 ram 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。1.21.2 串并转换器串并转换器 74ls16474ls164 简介简介列译码采用的是芯片 74ls164。如果不采用译码电路完全依靠单片机的端口输出来控制 1616 的 led 点阵屏显示,需要 32 个端口。而采用了译码电路后仅仅需要 79 个端口便可实现控制显示。大大减少了 i/o 口的占用数目,为单片机扩展其他功能预留下来了空间。74ls164 为一个 8 位数据的串并转换器。当清除端(clear)为低电平时,输出端(qaqh)均为低电平。串

11、行数据输入端(a,b)可控制数据。当 a、b 任意一个为低电平,则禁止新数据输入,在时钟端(clock)脉冲上升沿作用下 q0 为低电平。当 a、b 有一个为高电平,则另一个就允许输入数据,并在 clock 上升沿作用下决定 q0 的状态。 陕西理工毕业设计第 4 页共 40 页参数最小值标准值最大值单位高电平输入电压2v低电平输入电压0.8v高电平输出电压2.43.2-v低电平输出电压0.20.4v时钟频率025mhz表 3.1 74ls164 工作参数这就要求单片机的引脚输出的高低电平要在芯片的识别范围内,由于采用了列选通行传送显示代码的方法所以行译码电路上也加上了 74l373 锁存芯片

12、。这就要求 74ls164 芯片的输出要满足锁存芯片的高低电平区分范围和频率要求。1.31.3 锁存器锁存器 74l37374l373 简介简介74ls373 为八 d 锁存器(3s,锁存允许输入有回环特性)。373 为三态输出的八 d 透明锁存器,共有 54/74s373 和 54/74ls373 两种线路结构形式当三态允许控制端 oe 为低电平时,o0o7 为正常逻辑状态,可用来驱动负载或总线。当 oe 为高电平时,o0o7 呈高阻态,即不驱动总线,也 陕西理工毕业设计第 5 页共 40 页不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 le为高电平时,o 随数据 d 而变。

13、当 le 为低电平时,o 被锁存在已建立的数据电平。参数最小值额定值最大值单位电源电压4.7555.25v输入高电平电压2v输入低电平电压0.8v输出高电平电压2.6ma输出低电平电压24ma表 3.2 74ls373 工作参数表由表与表比较可以看出,74ls164 的输出条件与 74ls373 的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。1.41.4 dspdsp 简介简介dsp 又叫数字信号处理器。顾名思义,dsp 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等

14、领域,dsp 具有修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及 陕西理工毕业设计第 6 页共 40 页流水线技术,这使得速度有了较大的提高。dsp 区别于一般微处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。而 dsp 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如 tm320 系列的 firs ,lms,macd 指令等。1.51.5 edaeda 简介简介eda(即 electronic design automation) 即电子设计自动化,它是以计算机为工具

15、,在 eda 软件平台上,对用硬件描述语言 hdl 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用 hdl 语言完成系统功能的描述,借助 eda工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。由于 fpga/cpld 可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。而且 mcu 和 dsp 都是通过串行执

16、行指令来实现特定功能,不可避免低速,而 fpga/cpld 则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,fpga/cplp 器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。三种设计方式相比较各有优点且都能够实现控制功能,但单片机的 陕西理工毕业设计第 7 页共 40 页技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在市场上常用的单片机主要有 mcs-51、avr、arm、pic 等。其中应用最广泛的单片机首推 intel 的 51 系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久” ,有先入为主的优势常作为单片机学习的

17、教材。且 51 系列的 i/o 脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各 i/o 口均置高电平) 。当该脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定 51 系列单片机作为控制部分的核心器件。 陕西理工毕业设计第 8 页共 40 页2.系统设计方案2.12.1 通信系统通信系统设计设计通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。本设计则采用串行通信。串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长

18、距离而速度要求不高的场 陕西理工毕业设计第 9 页共 40 页合。在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中。这种转换即可以用硬件实现也可以用软件实现。单由软件实现会增加 cpu 负担,降低其利用率,故目前常采用硬件实现。通用的通用异步接收/发送器,简称 uart(universal asynchromous receeiver/trabsnitter)是完成这一功能的硬件电路。在单片机芯片中,uart 已经集成在其中,作为其组成部分,构成一个串行口。

19、综上所述,题目设计已经选定了单片机为开发方式而单片机的 uart已经集成在单片机内,所以通信系统选择串行通信为通信方式。2.22.2 ledled 点阵显示屏点阵显示屏设计设计显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电路。由于单片机的 i/o 口有限要不能直接用 i/o 口来驱动 led 显示屏,所以需要对单片机 io 口进行扩展增加单片机并行输出的能力。led 显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的led 显示屏就需要多个发光二极管。构成 led 屏幕的方法有两种,一是由单个的发光二极管逐点连接起来,如图 2.2 所示;二是选用一些由单个发光二

20、极管构成的 led 点阵子模块构成大的 led 点阵模块。目前市场上普遍采用的点阵模块有 88、1616 几种;这两种屏幕构成方法各有有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵 陕西理工毕业设计第 10 页共 40 页模块构成的方法却正好与之相反,模块构成省约了大量的连线,不过当一个 led 出现问题时同在一个模块的所有 led 都必须被更换。采取模块构成的方法来制作一个 led 点阵显示屏。为了避免模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个1616 的 led 点阵屏选用

21、四块 88 点阵模块。发光二极管(light emitting diode, led),是一种把电能变成光能的特种器件,当向 led 器件施加正向电压时,有电流流过器件的正向电流使其发光。图 2.2 led 点阵图一个 1616 的 led 显示屏行和列各有 16 支引脚,不能单靠 51 单片机的端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有 74ls154(4 线- 陕西理工毕业设计第 11 页共 40 页16 线译码器) 、74ls164(8 位串并转换器) 、74hc595 等。51 系列单片机端口低电平时,吸入电流可达

22、,具有一定的驱动能力;而为高电平时,输出电流仅数十 甚至更小(电流实际上是由脚的上拉电流形成的) ,基本上没有驱动能力,所以单片机不能直接驱动 led 显示屏显示。在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路。2.32.3 硬件设计方案硬件设计方案图图最终方案如图 2.3 所示,以 pc 机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译码扩展后驱动 4 块 88led 点阵模块构成的 1616 的 led 点阵显示屏。题目将以此方案为指导思想展开具体的硬件电路设计。pc机16x16led显示屏单片机显示

23、驱动电路译码电路串行通信图 2.3 硬件设计方案2.42.4 系统软件编译器系统软件编译器的选择的选择c 语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持mcs51 用 c 语言编程的编译器主要有两种:franklin c51 编译器和keilc51 编译器。该设计选择在单片机开发中普遍使用的 keil c51 来进 陕西理工毕业设计第 12 页共 40 页行编译。因此软件设计最终方案为采用 c 语言为程序语言,kelc 为编译工具按照控制、通信、显示等几个功能模块来编写程序。2.52.5 上位机上位机控制传输软件控制传输软件设

24、计设计其中系统采用现在已经非常普遍的 pc 机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。led 显示上位机的内容一般有实时显示和存储显示两种方法。实时显示及上位机屏幕上的内容同时显示在 led 显示屏上,上位机上内容变化 led 显示屏也跟着变化。存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示。两种显示方法相比较:实时显示屏幕能及时反应上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用,但实时显示硬件开销大,对通信系统要求高,工艺复杂,成本高;存储显示

25、虽实时性不高但硬件开销小,成本低廉。课题设计题目对显示的实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有必要。所以上位机选择存储显示的方法,控制 led 显示屏的显示内容。 陕西理工毕业设计第 13 页共 40 页3. 硬件开发3.13.1 硬件整体设计概述硬件整体设计概述及功能分析及功能分析 显示系统具体设计主要由上位机,通信系统,单片机系统,译码电路,显示驱动电路和 1616 的点阵屏六部分组成。具体工作流程为:上位 pc机通过通信系统向单片机发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通过 i/o 口串行输出并且控制译码电路完成串

26、并转换并行输出,最后由显示驱动电路进行电压和电流的处理以达到 led 显示屏的显示电流,电压要求进而使显示屏显示内容。根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和对比最终的硬件原理图如图3.1 所示。 电源max232pc机at89c5174ls16474ls16474ls16474ls16474ls37374ls373三极管点阵模块阳极点阵模块阴极 图 3.1 硬件原理图 该系统所要实现的功能和要求有以下几点:(1)led 显示屏的面积必须满足至少显示一个汉字的标准。并且显示要清晰。(2)驱动电路要能提供 led 显示所需范围内的电

27、压和电流要求。 陕西理工毕业设计第 14 页共 40 页(3)译码电路的高低电平的区分能力以及译码的输入输出频率必须满足单片机以及驱动电路的要求。(4)单片机要能接收上位机的指令和显示内容且能够处理后控制 led 显示屏的显示,并且端口驱动能力要足以驱动译码电路。执行频率要能达到扫描显示的最低要求。(5)单片机由 isp 下载线下载程序和供电,可不设立专用供电电源。(6)由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要达到显示要求。3.23.2 控制系统设计控制系统设计 控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的可以的最小配置系统)。at89c5

28、1 的最小系统包括了外界时钟电路和复位电路,选定一定数量的 io 口作为控制口控制外部的各种器件和数据的输出。根据功能选择一定的单片机端口添加外围的器件,具体电路如图 3.2 所示。在该系统中,p1 各口主要用作 led 显示数据的控制输出。由于端口的驱动能力有限所以该端口外接了 5k 的上拉电阻来提高驱动能力。其中p1.5p1.6p1.7 还复用为 isp 下载功能口。具体接法为:p1.0,p1.1,p1.4,p1.5 分别接四块 74ls164 的 a 端,向 74ls164 送入串行数据经过其转换后并行输出;p1.2 和 p1.6 分别接列和行的 74ls164 的clock 端,产生移

29、位脉冲是串行数据并行输出;p1.3 和 p1.7 接列和行的clear 端,在一组数据完成串并转换后清除 164 芯片中的内容转换新的数据;其中 p1.5p1.6p1.7 还复用为 isp 下载功能口。p2.0 接 164 芯片的使 陕西理工毕业设计第 15 页共 40 页能控制端,当为高电平使允许输出;p2.2 和 p2.3 接锁存器 74ls373 的 oe和 le 端控制锁存器的工作状态。 端口 30,ea/vpp:外部访问允许。欲使 cpu 仅访问外部程序存储器(地址为 0000hffffh),ea 端必须保持低电平(接地)。因为没有扩展外部程序存储器所以将 ea 置为高电平。图 3.

30、2 控制部分电路图由于 p3 口是特殊功能口,在该系统中基本是采用其第二功能。其第二功能和实际运用如表 3.1 所示:表 3.1 at89c51p3 口第二功能的应用端口第二功能实际作用 陕西理工毕业设计第 16 页共 40 页p3.0rxd(串行输入口)与上位机通信的数据输入口p3.1txd(串行输出口)与上位机通信的数据输出口p3.2外部中断 0做按键中断,控制显示状态p3.3外部中断 1做按键中断,控制运行模式at89c51 单片机的 p1 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,p2 口在访问外部程序存储器或 16 位地址的外部数据存储器时

31、,p2 口送出高 8 位地址数据。所以 p1 和 p2 口留为外部数据存储器和程序存储器的扩展用,以备内部存储器和程序存储器不够用的情况时使用。3.33.3 译码电路设计译码电路设计 陕西理工毕业设计第 17 页共 40 页 译码电路的功能是为了解决单片机 i/o 端口不足。行译码所用器件为串并转换器 74ls164 和锁存器 74ls373。具体电路如图 3.3 所示,代码的方法所以行译码电路上也加上了 74l373 锁存芯片。这就要求74ls164 芯片的输出要满足锁存芯片的高低电平区分范围和频率要求图 3.3 行译码电路图。 3.43.4 列驱动电路设计列驱动电路设计列驱动采用 uln2

32、803。uln2803 是一种高电压大电流达林顿管阵列内部结构,该阵列中的八个 npn 达林顿连接晶体管是低逻辑电平数字电路(如 ttl,cmos 或 pmos)和大电流高电压的灯,继电器,打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。集电极输出功率可达 50v600ma。uln2803 作为列驱动执行的是列选的工作,当选通的列输入高电平时 陕西理工毕业设计第 18 页共 40 页其对应的输输出低电平。相对应的输出取反,并能提供较大的灌电流来吸收行驱动流出进过显示屏后的电流。具体电路如图 3.7 所示。图

33、3.7 列驱动原理图3.53.5 通信系统硬件设计通信系统硬件设计at89c51 单片机具有全双工串行 uart 通道,支持单片机进行数据的串行传输。除了单片机要与 pc 机制定通信协议,确定发送速率外还需要解决的问题就是信号电平问题。rs-232c 标准规定了 pc 机发送数据总线txd 和接收数据总线 rxd 采用 eia 电平,即传送数字“1”时传输线上的电平在315v 之间;传送数字“0”时,传输线上的电平在315 之间。但单片机串行口采用正逻辑 ttl 电平,即数字“1”时为5v 数字“0”时为-5v,所以单片机与计算机不能直接相连进行通信必须将 rs-232c 与 ttl 电平进行

34、转换。在通用的电平转换芯片中 max232 系列的芯片以集成度高,单5v 电源工作,只需外接 5 个小电容即可完成 rs-232c 与 ttl 电平之间的转换而成为单片机系统中的常用芯片。在该显示系统中,max232 为通信系统中 陕西理工毕业设计第 19 页共 40 页最重要的硬件组成部分。电路如图 3.8 所示:c1+1vdd2c1-3c2+4c2-5vee6t2out7r2in8r2out9t2in10t1in11r1out12r1in13t1out14gnd15vcc165max232acpe12345678911101d connector 9c1104c2104c3104c4104

35、vccp3.1 txp3.0 rxvcc图 3.8 串口通信系统电路图3.63.6 电源设计电源设计 在系统中 max232、74ls164、74ls373、at89s51 都需要 5v 的供电电压,在系统开发过程中可以使用电脑 usb 供电。在实际的大屏幕 led 显示屏设计中,用电脑 usb 供电明显不切实际。此时需要对民用的 220v 进行降压整流为 5v 直流电压为显示系统供电。电路图如图 3.9 所示。图 3.9 电源原理图 陕西理工毕业设计第 20 页共 40 页如图所示,用 220v 转 12v 的变压器进行降压后再通过一个桥式整流电路将交流电整流为直流电。最后通过 5v 三端稳

36、压模块 lm7805 得出稳定的 5v输出。3.73.7 ledled 显示屏显示屏设计设计 led 显示屏主要采用内部译码器级连和多个单片机系统级连的方法。译码器级连如图 3.10 所示。 将第 1 个 74ls164 的 q7 端接第 2 个 74ls164 的 a 端,将第 2 个74ls164 的 q7 端接第 3 个 74ls164 的 a 端,如此炮制当 n 块 74ls164 相级连时就变为一个串行输入 7n 口输出的串并转换器。这种级连的优点在于一块单片机可以同时控制更多的 led 点阵显示屏,且 74ls164 的价格低廉整体成本得到了降低。但是这种级连方法也存在一定的缺点,

37、51系列的单片机的晶振频率不高 74ls164 级连过多会增加一次扫描的时间从而导致显示出现闪烁。从端口输出的显示数据的显示也要作出相应的改变。图 3.10 74lsl64 级连构建 led 显示屏的另一种方法是将以较小的 led 显示系统做为模块 陕西理工毕业设计第 21 页共 40 页进行级连。如图 3-11 所示,由独立的 led 显示系统组成一个大的 led 显示系统。其中各子显示系统之间在功能和控制上都是相互独立的,将画面拆分为几块小画面再分别送入到各子系统中,各子系统同步显示便可以得到一幅大的画面。使用这种级连的办法可以避免 51 单片机晶振频率低的弱点,更容易实现大屏幕的显示。但

38、这种方法仍然存在难点,一是各独立的子系统的通信和协调性要求更高了,如果要实现显示内容的实时性必须需要上位机不断更新显示内容则增加了上位机的通信数据量,逐个的单片机传送数据也会影响整个画面的更新速度。电源上位机单片机系统驱动电路译码电路单片机系统译码电路驱动电路驱动电路译码电路单片机系统led点整模块led点整模块led点整模块图 3.11 由子系统构建 led 显示屏在实际应用中通常采用内部扩展和外部级连联合使用的方法来构建大屏幕 led 显示屏幕。即增加单个显示系统显示屏幕大小的同时又将单个的显示系统级连。详细硬件原理图见附录 a。 陕西理工毕业设计第 22 页共 40 页4. 软件设计及开

39、发4.14.1 程序设计程序设计流程图流程图系统软件采用 c 语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现串口通信,静态显示,动态显示三大功能。其功能结构如图 2.4 所示。通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示。主程序的工作流程如图 4.1 所示:开始初始化系统从显示数组读取数据到显示寄存器读取显示控制命令选择显示方式调用相应显示程序结束是否显示正常y中断开始i=1?起始位?接收显示数据及控制命令将显示数据移入显示数组,将控制命令赋值给控制字符中断结束ynn图 4.1 主程序流程图程序开始时首先必须对单片机进行初始化,其中

40、初始化的内容包括: 陕西理工毕业设计第 23 页共 40 页中断优先级的设定,中断初始化,串行通信时通信方式的选择和波特率的设定,各 io 口功能的设定等。初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源和串行中断。外部中断源由按键的电平变化触发,外部中断主要功能是选择 led 点阵显示屏的控制方式是由按键控制还是上位机控制和显示状态是静态显示还是动态显示。串行中断包括发送中断和接收中断都是由软件触发。中断产生后由预先初始化时设定跳转执行中断子程序。中断程序设定了 led 点阵显示屏所要显示的内容和显示的方式,最后执行的是各种显示程序。按照设定的方式和内容显示出所需

41、要的内容。4.24.2 ledled 显示屏的显示方式显示屏的显示方式的设计的设计led 点阵屏显示方式主要由静态显示和动态扫描显示两种。对静态显示来说,每一个发光二极管都需要一套驱动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了显示内容,需要重新输出新的点阵数据这种方式系统原理相对简单一些,但所需的译码驱动装量很多,引线多而繁杂,不便于大屏幕的制造,成本高,其可靠性也较低。另一种动态扫描显示是把整个 led 屏幕分成若干部分,每一幅画面的显示是显示完一部分后,又显示第二部分直到显示完最后一部分又重新开始显示第一部分,重复循环进行在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的

42、画面也就是说采用动态扫描显示需要不断进行画面的刷新。 陕西理工毕业设计第 24 页共 40 页读取所需要显示的数据至显示寄存器选通第1列从数据中读取第16列对应的行数据从数据中读取第2列对应的行数据从数据中读取第1列对应的行数据16x16led选通第16列选通第2列16x16led16x16led按数据导通相应行选通led第1列选通led第2列选通led第16列按数据导通相应行按数据导通相应行图 4.2 扫描显示程序原理图4.2.14.2.1 点阵数据表达方式点阵数据表达方式的设计的设计该显示系统的显示数据采取纵向取模方向正向的数据存储方式如图4.3 图 4.3 点阵数据原理图 即数据是纵向的

43、,一个像素对应一个位。8 个像素对应一个字节, 陕西理工毕业设计第 25 页共 40 页字节的位顺序是上高下低,比如从上到下 8 个点的状态是“*-*-”(*为黑点,-为白点),则转换的字模数据是 0 x82(b1000_0010)。如图(4-3)所示,一幅 1616 的点阵画面点阵数据按照 b1b2b3b31b32 存储。所以一幅画面的数据量为 32 字节。画面显示时选通的第 i 列对应的数组元素为第 i 和 i+16 个元素。4.2.24.2.2 显示程序的设计显示程序的设计 显示程序分为静态显示程序、左移显示、右移显示、上移显示、下移显示五种种显示方式。其中上下左右移动程序都调用了静态显

44、示程序为子程序。静态显示程序流程图如图 4.4 所示: 陕西理工毕业设计第 26 页共 40 页开始初始化读取显示数依次选通列,行74ls164的clock端置低,锁存器禁止输出对应行数组元素与0x01相与,相与结果写入单片机端口输出数组元素右移一位,对应74ls164clock端置高右移次数是否为8?结束锁存器允许输出y图 4.4 静态显示程序流程图 静态显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第 i 列对应的行数据为数组中的第 i 和第 i+16 个元素。将对应元素的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与 0x01 相与,所得结果通过单片机端口

45、输出到串并转换器的 a 端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各列来显示所需画面。 陕西理工毕业设计第 27 页共 40 页开始读入显示数组显示显示数组元素在数组中的位置上/下移一位移位次数是否为16位?结束ny开始读入显示数组显示显示数组元素逻辑左/右移一位移位次数是否为16位?结束yn图 4.5 左右移/上下移程序流程图 动态显示程序流程如图 4.5 所示,根据显示数据的存储原理通过改变实际 led 列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第 i 列对应的数据为数组中 i 和第 2i 个数据。所以当 uln2803 选通时,而送入后一列

46、的数据则相当于画面左移移位,同理送入前一列数据相当于右移一位。如此循环则产生一幅稳定运动的画面。4.34.3 通信设计通信设计系统采用串行中断的方式进行通信。mcs-51 单片机的五个中断源两种类型:一类是外部中断源;另一类是内部中断源,包括两个定时器/计数器(t0 和 t1)的溢出中断和串行口的接收和发送中断。mcs-51 单片机设置了 4 个专用寄存器用于中断控制,分别为定时器控制寄存器 陕西理工毕业设计第 28 页共 40 页(tcon) ,串行口中断控制器(scon) ,中断允许控制寄存器(ie) ,中断优先级控制寄存器(ip) 。编程时通过设置其状态来管理中断系统。在编辑中断程序时首

47、先是将中断控制寄存器(ie)初始化。其控制位分布如表。ea 为中断允许总控制位,ea=1 时 cpu 开发中断;ea1 时。cpu 屏蔽所有中断。es、et、ex1、et0、ex0 为对应的串行口中断、定时器/计数器 1 中断、外部中断 1 中断、定时器/计数器 0 中断、外部中断0 中断的中断允许位。对应位为 1 时允许其中断,对应位为 0 时,禁止其中断。表 4.1 中断允许寄存器格式 所以初始化时设定中断允许寄存器初值为 0xff,指令为 ie=0xff。程序设计时还要考虑到中断优先级的问题。因为不同的中断同时产生而cpu 响应的顺序取决于内部查询顺序。设置串口工作方式 1,波特率 96

48、00,计算可得计数器初值的十六进制表示为 0xfd。通信协议如表 4.2 所示:数据结构第 1 个字节第 2 至第 33 个字节第 34 个字节内容起始标志位s显示数据控制指令作用判断是否开始接收数据led 的显示内容控制 led 显示方式d7d6d5d4d3d2d1d0eaeset1ex1et0ex0 陕西理工毕业设计第 29 页共 40 页表 4.2 串口通信数据结构 具体串口中断程序流程图如图 4.6 所示,在主程序中先进行了串行中断的初始化,初始化内容包括了串行工作方式选择,波特率的设定,计数初值的设定。程序开始进入中断等待,当 pc 机向单片机发送数据时产生中断接收允许位 ri 置

49、1,将 sbuf(缓冲寄存器)中的值输入到暂存器中进行数据处理。首先判断数据是否设定的起始标志位s如果是则开始接收起始位后的 33 个字节,不是则中断返回继续等待。接收到第34 个字节后便将收到的数据发送回 pc 机进行验证比较。 陕西理工毕业设计第 30 页共 40 页 ri=1?接收串口数据起始位s接收起始位后 33 位数据接收到第 34 位?将第 2 位起的 32位数据发回 pc 机nnnyyy中断开始中断返回图 4.6 通信程序流程图所有软件编写完成后都必须经过编译才能被单片机识别使用。为了减小软件的修改和优化难度,先把各子程序写为一个可单独执行的完整程序。各子程序编译没有错误后再输入

50、单片机进行验证,这两项都通过后再将所有的程序整合到一起形成一个完整的程序再进行编译和验证。详细程序见附录 b。 陕西理工毕业设计第 31 页共 40 页5. 系统测试硬件制作和软件编写过后,得出实物如图 5.1 所示。实物完成后必须对其进行调试,检查设计功能是否实现了。软件硬件完成后开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。5.15.1 系统硬件部分调试系统硬件部分调试方法方法硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电压是否符合设计要求,最后测试各硬件部分能否完成设计功能。因此把硬件调试按照以下四部分分步来进行:(1)测试所有焊点是否有短路和虚焊的现象存在;(2

51、)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内;(3)测试 isp 下栽线的功能是否能够实现;(4)测试串口系统的通信功能是否能够实现。由于最重要的显示系统功能的测试需要软件配合所以在硬件调试部分只测试单片机复位电平,功能部分测试放在系统联合调试部分来完成。5.1.15.1.1 串口调试串口调试 串口部分的作用为单片机与 pc 机之间通信,要检查硬件是否正常工作可以采用将 max232 芯片的单片机端输出口与输入口直接相连的办法来测试。具体电路图如图 5-2 所示,将 max232 的第 10 端和第 9 端直接短 陕西理工毕业设计第 32 页共 40 页接。功能上表示将单片机的输

52、出口与输入口直接相连,单片机收到数据的同时就将数据发送回 pc 机。如果发送的数据能够被接收则证明串口通信部分的硬件是正常的。将串口与电脑 com1 相接,通过串口调试助手发送不同位数的数据再在把发送的数据与接收数据相比较。c1+1vdd2c1-3c2+4c2-5vee6t2out7r2in8r2out9t2in10t1in11r1out12r1in13t1out14gnd15vcc165max232acpe12345678911101d connector 9c1104c2104c3104c4104vccp3.1 txp3.0 rxvcc图 5.2 串口硬件调试5.25.2 系统联合调试系统

53、联合调试及结果及结果 经过硬件调试和软件调试,排除了硬件的连接问题和验证了串口功能的可实现性。其余功能的软件便可以在此基础上调试验证其功能的正确性。联合调试的具体方法如下:(1)编写一个逐点扫描的显示程序,再结合硬件电路运行。这样做的目的在于检测各器件是否能够正常运行和显示屏的各个 led 灯是否有损坏。结果显示显示屏中只有边角出有一个 led 灯被烧坏,其他器件逻辑功能运行正常。(2)将静态显示子程序与各种动态显示程序结合硬件电路进行调试。系统运行时显示如图 5-1 所示,显示图像比较清晰,各动态显示效果也能够实现。但显示存在两个问题。一是发光点的下方会出现一个很微弱的亮点, 陕西理工毕业设

54、计第 33 页共 40 页影响了整体的显示效果。二是同一列的 led 灯被点亮的数量与其亮度出反比,即如果同一列的灯都被点亮则亮度比只点亮几个时要暗一点。(3)将串口通信,显示,硬件联合调试。按照设定的通信协议,先由 pc机向单片机发送起始控制字 s,接着再发送 32 比特的显示数据,最后发送控制显示方式的显示控制字。再发送不同的显示数据和显示控制字,观察各种显示方式的运行情况和各种显示方式之间的切换情况。结果是显示屏执行显示控制指令,显示所发送的内容。结果如图 5.4 所示p0.0p0.1p0.2p0.3p0.4p0.5p0.6p0.7cs11cs22gnd3vcc4v05di6r/w7e8

55、db09db110db211db312db413db514db615db716rst17-vout18lcd1lgm12641bs1r图 5.4 点阵汉字显示效果图 陕西理工毕业设计第 34 页共 40 页总 结经过一段时间的努力,终于完成了基于 51 单片机的 led 显示系统的设计,项目所要求的功能全部达到。通过这次设计收获颇多,不仅是所作题目涉及到的软硬件知识还有更为重要的实际经验和过程中所发现的问题。接手题目之后从互联网上对 led 进行了详细的资料收集,从技术和产业的两方面对 led 进行了了解。通过了解我认识到 led 是一门当今应用非常广泛的技术,整个产业每年都会有巨大的产值而且

56、技术还在不断发展和创新。从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计 陕西理工毕业设计第 35 页共 40 页一款小屏幕的 led 点阵显示屏。在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。整个设计采用 at89c51 做核心控制器,74ls164和 74ls373 组成译码电路,三极管 8550 和 uln2803 做行和列驱动。在实现这一设计的过程中所遇到的问题和困难给我留下了宝贵的经验和深刻教训。这些经验和教训是:(1)设计之前应该进行大量的资料收集和分析,确定一个清晰的设计思路;(2)器件选择时要详细阅读器件使用手册,不但要考虑器件的功能实现还要考虑器件在整个系统

57、中的兼容性;(3)硬件的系统的建立必须合理和稳定,实物建立之前最好进行仿真这样才能为软件提供一个可靠的试验平台;(4)软件的编写不但要实现功能还要不断的优化、简练、易读。随着课题的进行,对 led 的了解也越来越深入。认为 led 技术也会进一步发展,led 应用将会更加广泛。可以设想利用 led 的高稳定性和低能耗,再与无线通信技术相结合在沙漠深处或者人迹罕至的雪山之颠树立一块依靠太阳能充电,通过无线传输方式更改显示内容的信息板为登山者提供指示和天气信息,为沙漠迷路的人指引方向。设计结束了,但学习还在继续。我相信通过此次设计所得到的知识、心得、经验乃至感受都会让我在以后的日子里受益匪浅。 陕

58、西理工毕业设计第 36 页共 40 页致 谢这次能够圆满完成毕业设计我首先要感谢我的指导老师潘继强老师,感谢他在毕业设计期间对我的指导、勉励、和督导。同时我要感谢大学四年里教过我课程的老师们,感谢他们对我知识增长所付出的辛勤劳动。在我毕业论文写作期间,老师给我提供了各种专业知识上的指导,没有您们的帮助,我不会这么顺利的完成毕业设计,借此机会,向您们表示 陕西理工毕业设计第 37 页共 40 页由衷的感谢。接着,我要感谢同组的各位同学。在毕业设计的短短 3 个月里,你们给我提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。和他们的相互帮助和启发中,才有我今天的小小收获。最

59、后我要深深地感谢我的家人,正是他们含辛茹苦地把我养育成人,在生活路上的和学习上给予我无尽的爱、理解和支持,才使我时刻充满信心和勇气,克服成长种种困难,顺利的完成大学学习。 还有许许多多给予我学业上鼓励和帮助的师长、朋友,在此无法一一列举,在此也一并表示忠心地感谢! 陕西理工毕业设计第 38 页共 40 页参考文献1戴梅萼,史嘉权.微型计算机技术及应用(第四版)m. 北京:清华大学出版社,2008.2李建忠.单片机原理及应用m. 西安:西安电子科技大学出版社,2008.3何钦铭,颜晖.c 语言程序设计m. 北京:高等教育出版社,2007. 4李群芳.单片机微型计算机与接口技术m.北京:电子工业出

60、版社,2010. 5步维提,郭强.最新液晶显示应用m. 北京:电子工业出版社,2007.6李华.mcu-51 系列单片机实用接口技术m.北京:北京航空航天大学出版社,2009.7胡强,张昆.c+ builder 6 编程实例教程m.北京:北京希望电子出版社,2009.8王波.基于 51 单片机的 led 显示系统的设计m.山西:山西大学出版社,2008.9陈新忠.基于 rs232 总线的单片机多机通信软件设计m.北京:人民出版社,2009.10 李桂平.led 屏幕显示器的设计m.西安:西安交通大学出版社,2011.11 王亭,李瑞涛,宋召清. pc 机和单片机的串行通信m.西安:西安教育出版

温馨提示

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

评论

0/150

提交评论