基于单片机控制的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 rea

2、lizationrealization ofof thethe latticelattice screenscreen ofof ledled basedbased onon at89c51at89c51 abstract: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

3、 the magic 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 displa

4、y scan showed. communication between pc and the microcontroller using rs-232c communications standards. keykey words:words: at89c51;lattice leds panel display;serial communication 陕西理工学院毕业设计 目录目录 引言1 1.课题相关知识2 1.1 at89c51 简介 2 1.2 串并转换器 74ls164 简介 2 1.3 锁存器 74l373 简介 3 1.4 dsp 简介 3 1.5 eda 简介 4 2.系统

5、设计方案5 2.1 通信系统设计5 2.2 led 点阵显示屏设计5 2.3 硬件设计方案图6 2.4 系统软件编译器的选择7 2.5 上位机控制传输软件设计7 3. 硬件开发 8 3.1 硬件整体设计概述及功能分析8 3.2 控制系统设计8 3.3 译码电路设计 10 3.4 列驱动电路设计 10 3.5 通信系统硬件设计 11 陕西理工学院毕业设计 3.6 电源设计 11 3.7 led 显示屏设计 12 4. 软件设计及开发14 4.1 程序设计流程图 14 4.2 led 显示屏的显示方式的设计 15 4.2.1 点阵数据表达方式的设计15 4.2.2 显示程序的设计16 4.3 通信

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

7、,使我们对所学过的理论知识有了新的认识。并且 通过该设计课题掌握了 51 单片机的的软硬件开发工具的使用方法,为以 后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅 速,作为主要平面显示媒介的 led 显示屏的作用也越练越广泛,相关的从 业人员也会越来越紧缺。但同时应该清楚的认识到我国的 led 技术虽然发 展迅速但和世界先进水平还有一定的差距。因此此课题不论是对自己的就 业还是对我国 led 显示技术的发展都有非常现实与积极的意义。 陕西理工毕业设计 第 2 页共 40 页 1.课题相关知识 1.1at89c511.1at89c51 简介简介 at89c51 是美国 atme

8、l 公司生产的低功耗,高性能 cmos8 位单片机, 片内含 4k bytes 的可系统编程的 flash 只读程序存储器,器件采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚。 它集 flash 程序存储器既可在线编程(isp)也可用传统方法进行编程及 通用 8 位微处理器于单片芯片中,atmel 公司的功能强大,低价位 at89c51 单片机可提供许多高性价比的应用场合,可灵活应用于各种控制 领域。at989c51 具有以下特点: 与 mcs-51 产品指令系统完全兼容 4k 字节在系统编程(isp)flash 闪速存储器 1000 次擦写周期 4.

9、05.5v 的工作电压范围 全静态工作模式:0hz33mhz 三级程序加密锁 1288 字节内部 ram 32 个可编程 i/o 口线 2 个 16 位定时/计数器 6 个中断源 全双工串行 uart 通道系统 看门狗(wdt)及双数据指针 陕西理工毕业设计 第 3 页共 40 页 掉电标识和快速编程特性 灵活的 低功耗空闲和掉电模式 中断可从空闲模唤醒在系统编程(isp 字节或页写模式) at89c51 提供以下标准功能:4k 字节 flash 闪速存储器,128 字节内 部 ram,32 个 i/o 口线,看门狗(wdt),两个数据指针,两个 16 位定时 /计数器,一个 5 向量两级中断

10、结构,一个全双工串行通信口,片内振荡 器及时钟电路。同时,at89c51 可降至 0hz 的静态逻辑操作,并支持两种 软件可选的节电工作模式。空闲方式停止 cpu 的工作,但允许 ram,定时/ 计数器,串行通信口及中断系统继续工作。掉电方式保存 ram 中的内容, 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 1.21.2 串并转换器串并转换器 74ls16474ls164 简介简介 列译码采用的是芯片 74ls164。如果不采用译码电路完全依靠单片机 的端口输出来控制 1616 的 led 点阵屏显示,需要 32 个端口。而采用了 译码电路后仅仅需要 79 个端口便可实现控制

11、显示。大大减少了 i/o 口 的占用数目,为单片机扩展其他功能预留下来了空间。 74ls164 为一个 8 位数据的串并转换器。当清除端(clear)为低电平 时,输出端(qaqh)均为低电平。串行数据输入端(a,b)可控制数据。 当 a、b 任意一个为低电平,则禁止新数据输入,在时钟端(clock)脉冲 上升沿作用下 q0 为低电平。当 a、b 有一个为高电平,则另一个就允许输 入数据,并在 clock 上升沿作用下决定 q0 的状态。 陕西理工毕业设计 第 4 页共 40 页 参数最小 值 标准 值 最大 值 单位 高电平输 入电压 2v 低电平输 入电压 0.8v 高电平输 出电压 2.

12、43.2-v 低电平输 出电压 0.20.4v 时钟频率 025mhz 表 3.1 74ls164 工作参数 这就要求单片机的引脚输出的高低电平要在芯片的识别范围内,由于采用 了列选通行传送显示代码的方法所以行译码电路上也加上了 74l373 锁存 芯片。这就要求 74ls164 芯片的输出要满足锁存芯片的高低电平区分范围 和频率要求。 1.31.3 锁存器锁存器 74l37374l373 简介简介 74ls373 为八 d 锁存器(3s,锁存允许输入有回环特性)。373 为三态 输出的八 d 透明锁存器,共有 54/74s373 和 54/74ls373 两种线路结构形 式当三态允许控制端

13、oe 为低电平时,o0o7 为正常逻辑状态,可用来驱 动负载或总线。当 oe 为高电平时,o0o7 呈高阻态,即不驱动总线,也 陕西理工毕业设计 第 5 页共 40 页 不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 le 为高电平时,o 随数据 d 而变。当 le 为低电平时,o 被锁存在已建立的 数据电平。 参数最小值额定值最大值单位 电源电压 4.7555.25v 输入高电平 电压 2v 输入低电平 电压 0.8v 输出高电平 电压 2.6 ma 输出低电平 电压 24ma 表 3.2 74ls373 工作参数表 由表与表比较可以看出,74ls164 的输出条件与 74ls

14、373 的输入条 件相匹配,理论上可以实现锁存器对译码器的数据锁存。 1.41.4 dspdsp 简介简介 dsp 又叫数字信号处理器。顾名思义,dsp 主要用于数字信号处理领 域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛 应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、 医疗设备等领域,dsp 具有修正的哈佛结构,多总线技术以及流水线结构。 将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及 陕西理工毕业设计 第 6 页共 40 页 流水线技术,这使得速度有了较大的提高。dsp 区别于一般微处理器的另 一重要标志是硬件乘法器以及特殊指令,一

15、般微处理器用软件实现乘法, 逐条执行指令,速度慢。而 dsp 依靠硬件乘法器单周期完成乘法运算,而 且还具有专门的信号处理指令,如 tm320 系列的 firs ,lms,macd 指令 等。 1.51.5 edaeda 简介简介 eda(即 electronic design automation) 即电子设计自动化,它是 以计算机为工具,在 eda 软件平台上,对用硬件描述语言 hdl 完成的设 计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑 布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射 和编程下载等。设计者只需用 hdl 语言完成系统功能的描述,借助 e

16、da 工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实 现。由于 fpga/cpld 可以通过软件编程对该硬件的结构和工作方式进行 重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下 的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上 市时间,有利于在激烈的市场竞争中抢占先机。而且 mcu 和 dsp 都是通 过串行执行指令来实现特定功能,不可避免低速,而 fpga/cpld 则可实 现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面, fpga/cplp 器件在功能开发上是软件实现的,但物理机制却和纯硬件电 路一样,十分可靠。 三种设计方式

17、相比较各有优点且都能够实现控制功能,但单片机的 陕西理工毕业设计 第 7 页共 40 页 技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现 在市场上常用的单片机主要有 mcs-51、avr、arm、pic 等。其中应用最 广泛的单片机首推 intel 的 51 系列,由于产品硬件结构合理,指令系统 规范,加之生产历史“悠久” ,有先入为主的优势常作为单片机学习的教 材。且 51 系列的 i/o 脚的设置和使用非常简单,当该脚作输入脚使用时, 只须将该脚设置为高电平(复位时,各 i/o 口均置高电平) 。当该脚作输 出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中 选

18、定 51 系列单片机作为控制部分的核心器件。 陕西理工毕业设计 第 8 页共 40 页 2.系统设计方案 2.12.1 通信系统通信系统设计设计 通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常 情况下显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。 本设计则采用串行通信。 串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送 的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场 陕西理工毕业设计 第 9 页共 40 页 合。在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据 是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行

19、数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中。这 种转换即可以用硬件实现也可以用软件实现。单由软件实现会增加 cpu 负 担,降低其利用率,故目前常采用硬件实现。通用的通用异步接收/发送 器,简称 uart(universal asynchromous receeiver/trabsnitter)是完 成这一功能的硬件电路。在单片机芯片中,uart 已经集成在其中,作为其 组成部分,构成一个串行口。 综上所述,题目设计已经选定了单片机为开发方式而单片机的 uart 已经集成在单片机内,所以通信系统选择串行通信为通信方式。 2.22.2 ledled 点阵显示屏点阵显示屏设计设计

20、 显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该 显示屏的驱动电路。由于单片机的 i/o 口有限要不能直接用 i/o 口来驱 动 led 显示屏,所以需要对单片机 io 口进行扩展增加单片机并行输出的 能力。 led 显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的 led 显示屏就需要多个发光二极管。构成 led 屏幕的方法有两种,一是由 单个的发光二极管逐点连接起来,如图 2.2 所示;二是选用一些由单个发 光二极管构成的 led 点阵子模块构成大的 led 点阵模块。目前市场上普遍 采用的点阵模块有 88、1616 几种;这两种屏幕构成方法各有有缺点, 单个发光二极管

21、构成显示屏优点在于当单个的发光二极管出现问题时只需 更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵 陕西理工毕业设计 第 10 页共 40 页 模块构成的方法却正好与之相反,模块构成省约了大量的连线,不过当一 个 led 出现问题时同在一个模块的所有 led 都必须被更换。 采取模块构成的方法来制作一个 led 点阵显示屏。为了避免模块的缺 点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个 1616 的 led 点阵屏选用四块 88 点阵模块。 发光二极管(light emitting diode, led),是一种把电能变成光能 的特种器件,当向 led 器件

22、施加正向电压时,有电流流过器件的正向电流 使其发光。 图 2.2 led 点阵图 一个 1616 的 led 显示屏行和列各有 16 支引脚,不能单靠 51 单片机的 端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展 方法是用串并转换芯片进行译码。常用的串并转换芯片有 74ls154(4 线- 陕西理工毕业设计 第 11 页共 40 页 16 线译码器) 、74ls164(8 位串并转换器) 、74hc595 等。51 系列单片机 端口低电平时,吸入电流可达,具有一定的驱动能力;而为高电 平时,输出电流仅数十 甚至更小(电流实际上是由脚的上拉电流形成 的) ,基本上没有驱动能力

23、,所以单片机不能直接驱动 led 显示屏显示。 在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路。 2.32.3 硬件设计方案硬件设计方案图图 最终方案如图 2.3 所示,以 pc 机作为上位机存储和处理显示内容用 串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据 上位机传输来的内容和指令通过端口译码扩展后驱动 4 块 88led 点阵 模块构成的 1616 的 led 点阵显示屏。题目将以此方案为指导思想展开 具体的硬件电路设计。 pc机 16x16led 显示屏 单 片 机 显 示 驱 动 电 路 译 码 电 路 串 行 通 信 图 2.3 硬件设计方案 2.42.4

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

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

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

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

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

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

30、1.2 和 p1.6 分别接列和行的 74ls164 的 clock 端,产生移位脉冲是串行数据并行输出;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),

31、ea 端必须保持低电平(接地)。因为没有扩 展外部程序存储器所以将 ea 置为高电平。 图 3.2 控制部分电路图 由于 p3 口是特殊功能口,在该系统中基本是采用其第二功能。其第 二功能和实际运用如表 3.1 所示: 表 3.1 at89c51p3 口第二功能的应用 端口第二功能实际作用 陕西理工毕业设计 第 16 页共 40 页 p3.0 rxd(串行输 入口) 与上位机通信的数 据输入口 p3.1 txd(串行输出 口) 与上位机通信的数 据输出口 p3.2 外部中断 0做按键中断,控制 显示状态 p3.3 外部中断 1做按键中断,控制 运行模式 at89c51 单片机的 p1 在访问外

32、部数据存储器或程序存储器时,这组 口线分时转换地址(低 8 位)和数据总线复用,p2 口在访问外部程序存 储器或 16 位地址的外部数据存储器时,p2 口送出高 8 位地址数据。所 以 p1 和 p2 口留为外部数据存储器和程序存储器的扩展用,以备内部存 储器和程序存储器不够用的情况时使用。 3.33.3 译码电路设计译码电路设计 陕西理工毕业设计 第 17 页共 40 页 译码电路的功能是为了解决单片机 i/o 端口不足。行译码所用器件 为串并转换器 74ls164 和锁存器 74ls373。具体电路如图 3.3 所示,代 码的方法所以行译码电路上也加上了 74l373 锁存芯片。这就要求

33、74ls164 芯片的输出要满足锁存芯片的高低电平区分范围和频率要求 图 3.3 行译码电路图 。 3.43.4 列驱动电路设计列驱动电路设计 列驱动采用 uln2803。uln2803 是一种高电压大电流达林顿管阵列内 部结构,该阵列中的八个 npn 达林顿连接晶体管是低逻辑电平数字电路 (如 ttl,cmos 或 pmos)和大电流高电压的灯,继电器,打印机锤和其 他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品 中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。集 电极输出功率可达 50v600ma。 uln2803 作为列驱动执行的是列选的工作,当选通的列输入高

34、电平时 陕西理工毕业设计 第 18 页共 40 页 其对应的输输出低电平。相对应的输出取反,并能提供较大的灌电流来 吸收行驱动流出进过显示屏后的电流。具体电路如图 3.7 所示。 图 3.7 列驱动原理图 3.53.5 通信系统硬件设计通信系统硬件设计 at89c51 单片机具有全双工串行 uart 通道,支持单片机进行数据的 串行传输。除了单片机要与 pc 机制定通信协议,确定发送速率外还需要 解决的问题就是信号电平问题。rs-232c 标准规定了 pc 机发送数据总线 txd 和接收数据总线 rxd 采用 eia 电平,即传送数字“1”时传输线上的 电平在315v 之间;传送数字“0”时,

35、传输线上的电平在 315 之间。但单片机串行口采用正逻辑 ttl 电平,即数字“1”时 为5v 数字“0”时为-5v,所以单片机与计算机不能直接相连进行通信 必须将 rs-232c 与 ttl 电平进行转换。 在通用的电平转换芯片中 max232 系列的芯片以集成度高,单5v 电 源工作,只需外接 5 个小电容即可完成 rs-232c 与 ttl 电平之间的转换而 成为单片机系统中的常用芯片。在该显示系统中,max232 为通信系统中 陕西理工毕业设计 第 19 页共 40 页 最重要的硬件组成部分。电路如图 3.8 所示: c1+ 1 vdd 2 c1- 3 c2+ 4 c2- 5 vee

36、6 t2out 7 r2in 8 r2out 9 t2in 10 t1in 11 r1out 12 r1in 13 t1out 14 gnd 15 vcc 16 5 max232acpe 1 2 3 4 5 6 7 8 9 11 10 1 d connector 9 c1 104 c2 104 c3 104 c4 104 vcc p3.1 tx p3.0 rx vcc 图 3.8 串口通信系统电路图 3.63.6 电源设计电源设计 在系统中 max232、74ls164、74ls373、at89s51 都需要 5v 的供电电 压,在系统开发过程中可以使用电脑 usb 供电。在实际的大屏幕 le

37、d 显 示屏设计中,用电脑 usb 供电明显不切实际。此时需要对民用的 220v 进 行降压整流为 5v 直流电压为显示系统供电。电路图如图 3.9 所示。 图 3.9 电源原理图 陕西理工毕业设计 第 20 页共 40 页 如图所示,用 220v 转 12v 的变压器进行降压后再通过一个桥式整流电路 将交流电整流为直流电。最后通过 5v 三端稳压模块 lm7805 得出稳定的 5v 输出。 3.73.7 ledled 显示屏显示屏设计设计 led 显示屏主要采用内部译码器级连和多个单片机系统级连的方法。 译码器级连如图 3.10 所示。 将第 1 个 74ls164 的 q7 端接第 2 个

38、 74ls164 的 a 端,将第 2 个 74ls164 的 q7 端接第 3 个 74ls164 的 a 端,如此炮制当 n 块 74ls164 相 级连时就变为一个串行输入 7n 口输出的串并转换器。这种级连的优点 在于一块单片机可以同时控制更多的 led 点阵显示屏,且 74ls164 的价 格低廉整体成本得到了降低。但是这种级连方法也存在一定的缺点,51 系列的单片机的晶振频率不高 74ls164 级连过多会增加一次扫描的时间 从而导致显示出现闪烁。从端口输出的显示数据的显示也要作出相应的 改变。 图 3.10 74lsl64 级连 构建 led 显示屏的另一种方法是将以较小的 le

39、d 显示系统做为模块 陕西理工毕业设计 第 21 页共 40 页 进行级连。如图 3-11 所示,由独立的 led 显示系统组成一个大的 led 显 示系统。其中各子显示系统之间在功能和控制上都是相互独立的,将画 面拆分为几块小画面再分别送入到各子系统中,各子系统同步显示便可 以得到一幅大的画面。使用这种级连的办法可以避免 51 单片机晶振频率 低的弱点,更容易实现大屏幕的显示。但这种方法仍然存在难点,一是 各独立的子系统的通信和协调性要求更高了,如果要实现显示内容的实 时性必须需要上位机不断更新显示内容则增加了上位机的通信数据量, 逐个的单片机传送数据也会影响整个画面的更新速度。 电源上位机

40、 单片机系统 驱动电路 译码电路 单片机系统 译码电路 驱动电路驱动电路 译码电路 单片机系统 led点整模块led点整模块led点整模块 图 3.11 由子系统构建 led 显示屏 在实际应用中通常采用内部扩展和外部级连联合使用的方法来构建 大屏幕 led 显示屏幕。即增加单个显示系统显示屏幕大小的同时又将单 个的显示系统级连。详细硬件原理图见附录 a。 陕西理工毕业设计 第 22 页共 40 页 4. 软件设计及开发 4.14.1 程序设计程序设计流程图流程图 系统软件采用 c 语言编写,按照模块化的设计思路设计。首先分析 程序所要实现的功能,程序要实现串口通信,静态显示,动态显示三大 功

41、能。其功能结构如图 2.4 所示。通信程序接收上位机数据,交给主程 序处理再通过控制程序选择不同的显示程序进行显示。主程序的工作流 程如图 4.1 所示: 开始 初始化系统 从显示数组读取 数据到显示寄存 器 读取显示控制命 令选择显示方式 调用相应显示 程序 结束 是否显示正常 y 中断开始 i=1? 起始位? 接收显示数据及控 制命令 将显示数据移入显 示数组,将控制命 令赋值给控制字符 中断结束 y n n 图 4.1 主程序流程图 程序开始时首先必须对单片机进行初始化,其中初始化的内容包括: 陕西理工毕业设计 第 23 页共 40 页 中断优先级的设定,中断初始化,串行通信时通信方式的

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

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

44、第 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 点阵数据原理图 即数据是纵向的,一

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

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

47、元素向右逻辑移位 后再与 0x01 相与,所得结果通过单片机端口输出到串并转换器的 a 端, 锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各 列来显示所需画面。 陕西理工毕业设计 第 27 页共 40 页 开始 读入显示数组 显示 显示数组元素在数 组中的位置上/下 移一位 移位次数是否 为16位? 结束 n y 开始 读入显示数组 显示 显示数组元素逻辑 左/右移一位 移位次数是否 为16位? 结束 y n 图 4.5 左右移/上下移程序流程图 动态显示程序流程如图 4.5 所示,根据显示数据的存储原理通过改 变实际 led 列与数据逻辑列的方法来实现程序的左右移动。显示数据

48、与 列的对应关系为:第 i 列对应的数据为数组中 i 和第 2i 个数据。所以 当 uln2803 选通时,而送入后一列的数据则相当于画面左移移位,同理 送入前一列数据相当于右移一位。如此循环则产生一幅稳定运动的画面。 4.34.3 通信设计通信设计 系统采用串行中断的方式进行通信。mcs-51 单片机的五个中断源两 种类型:一类是外部中断源;另一类是内部中断源,包括两个定时器/计 数器(t0 和 t1)的溢出中断和串行口的接收和发送中断。mcs-51 单片 机设置了 4 个专用寄存器用于中断控制,分别为定时器控制寄存器 陕西理工毕业设计 第 28 页共 40 页 (tcon) ,串行口中断控

49、制器(scon) ,中断允许控制寄存器(ie) ,中断 优先级控制寄存器(ip) 。编程时通过设置其状态来管理中断系统。 在编辑中断程序时首先是将中断控制寄存器(ie)初始化。其控制位 分布如表。ea 为中断允许总控制位,ea=1 时 cpu 开发中断;ea1 时。 cpu 屏蔽所有中断。es、et、ex1、et0、ex0 为对应的串行口中断、定时 器/计数器 1 中断、外部中断 1 中断、定时器/计数器 0 中断、外部中断 0 中断的中断允许位。对应位为 1 时允许其中断,对应位为 0 时,禁止 其中断。 表 4.1 中断允许寄存器格式 所以初始化时设定中断允许寄存器初值为 0xff,指令为

50、 ie=0xff。 程序设计时还要考虑到中断优先级的问题。因为不同的中断同时产生而 cpu 响应的顺序取决于内部查询顺序。 设置串口工作方式 1,波特率 9600,计算可得计数器初值的十六进制 表示为 0xfd。通信协议如表 4.2 所示: 数据 结构 第 1 个字节第 2 至第 33 个 字节 第 34 个字节 内容起始标志位s显示数据控制指令 作用判断是否开始接 收数据 led 的显示内 容 控制 led 显 示方式 d7d6d5d4d3d2d1d0 eaeset1ex1et0ex0 陕西理工毕业设计 第 29 页共 40 页 表 4.2 串口通信数据结构 具体串口中断程序流程图如图 4.

51、6 所示,在主程序中先进行了串行 中断的初始化,初始化内容包括了串行工作方式选择,波特率的设定, 计数初值的设定。程序开始进入中断等待,当 pc 机向单片机发送数据时 产生中断接收允许位 ri 置 1,将 sbuf(缓冲寄存器)中的值输入到暂存 器中进行数据处理。首先判断数据是否设定的起始标志位s如果是则 开始接收起始位后的 33 个字节,不是则中断返回继续等待。接收到第 34 个字节后便将收到的数据发送回 pc 机进行验证比较。 陕西理工毕业设计 第 30 页共 40 页 ri=1? 接收串口数据 起始位s 接收起始位后 33 位数据 接收到第 34 位? 将第 2 位起的 32 位数据发回

52、 pc 机 n n n y y y 中断开始 中断返回 图 4.6 通信程序流程图 所有软件编写完成后都必须经过编译才能被单片机识别使用。为了减 小软件的修改和优化难度,先把各子程序写为一个可单独执行的完整程 序。各子程序编译没有错误后再输入单片机进行验证,这两项都通过后 再将所有的程序整合到一起形成一个完整的程序再进行编译和验证。详 细程序见附录 b。 陕西理工毕业设计 第 31 页共 40 页 5. 系统测试 硬件制作和软件编写过后,得出实物如图 5.1 所示。实物完成后必须 对其进行调试,检 查设计功能是否实现了。软件硬件完成后开始进行调试。调试可分为硬件 调试,软件调试和系统联合调试。

53、 5.15.1 系统硬件部分调试系统硬件部分调试方法方法 硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电 压是否符合设计要求,最后测试各硬件部分能否完成设计功能。因此把 硬件调试按照以下四部分分步来进行: (1)测试所有焊点是否有短路和虚焊的现象存在; (2)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内; (3)测试 isp 下栽线的功能是否能够实现; (4)测试串口系统的通信功能是否能够实现。 由于最重要的显示系统功能的测试需要软件配合所以在硬件调试部 分只测试单片机复位电平,功能部分测试放在系统联合调试部分来完成。 5.1.15.1.1 串口调试串口调试 串口部分的

54、作用为单片机与 pc 机之间通信,要检查硬件是否正常工 作可以采用将 max232 芯片的单片机端输出口与输入口直接相连的办法来 测试。具体电路图如图 5-2 所示,将 max232 的第 10 端和第 9 端直接短 陕西理工毕业设计 第 32 页共 40 页 接。功能上表示将单片机的输出口与输入口直接相连,单片机收到数据 的同时就将数据发送回 pc 机。如果发送的数据能够被接收则证明串口通 信部分的硬件是正常的。将串口与电脑 com1 相接,通过串口调试助手发 送不同位数的数据再在把发送的数据与接收数据相比较。 c1+ 1 vdd 2 c1- 3 c2+ 4 c2- 5 vee 6 t2ou

55、t 7 r2in 8 r2out 9 t2in 10 t1in 11 r1out 12 r1in 13 t1out 14 gnd 15 vcc 16 5 max232acpe 1 2 3 4 5 6 7 8 9 11 10 1 d connector 9 c1 104 c2 104 c3 104 c4 104 vcc p3.1 tx p3.0 rx vcc 图 5.2 串口硬件调试 5.25.2 系统联合调试系统联合调试及结果及结果 经过硬件调试和软件调试,排除了硬件的连接问题和验证了串口功 能的可实现性。其余功能的软件便可以在此基础上调试验证其功能的正 确性。联合调试的具体方法如下: (1)

56、编写一个逐点扫描的显示程序,再结合硬件电路运行。这样做的目 的在于检测各器件是否能够正常运行和显示屏的各个 led 灯是否有损坏。 结果显示显示屏中只有边角出有一个 led 灯被烧坏,其他器件逻辑功能运 行正常。 (2)将静态显示子程序与各种动态显示程序结合硬件电路进行调试。系 统运行时显示如图 5-1 所示,显示图像比较清晰,各动态显示效果也能够 实现。但显示存在两个问题。一是发光点的下方会出现一个很微弱的亮点, 陕西理工毕业设计 第 33 页共 40 页 影响了整体的显示效果。二是同一列的 led 灯被点亮的数量与其亮度出反 比,即如果同一列的灯都被点亮则亮度比只点亮几个时要暗一点。 (3

57、)将串口通信,显示,硬件联合调试。按照设定的通信协议,先由 pc 机向单片机发送起始控制字 s,接着再发送 32 比特的显示数据,最后发送 控制显示方式的显示控制字。再发送不同的显示数据和显示控制字,观察 各种显示方式的运行情况和各种显示方式之间的切换情况。结果是显示屏 执行显示控制指令,显示所发送的内容。结果如图 5.4 所示 p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 cs1 1 cs2 2 gnd 3 vcc 4 v0 5 di 6 r/w 7 e 8 db0 9 db1 10 db2 11 db3 12 db4 13 db5 14 db6 15 db

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

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

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

温馨提示

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

评论

0/150

提交评论