基于arduino的一种简易电子显示屏设计_第1页
基于arduino的一种简易电子显示屏设计_第2页
基于arduino的一种简易电子显示屏设计_第3页
基于arduino的一种简易电子显示屏设计_第4页
基于arduino的一种简易电子显示屏设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 学术论文写作课程论文 基于Arduino的一种电子显示屏控制系统设计姓 名:学院(系):专业:自动化班 级:学 号:基于arduino的一种简易电子显示屏设计摘要:LED显示屏因其工作稳定可靠、寿命长、亮度高等优点,在许多场合中应用广泛。加强显示屏控制系统的可靠性研究意义重大。基于Arduino单片机,研究设计了一种新的电子显示屏控制系统。以PC机为上位机,向单片机发送显示代码和控制命令,单片机控制显示驱动模块驱动LED点阵显示屏进行扫描显示。PC机与单片机之间的通信采用ISP下载编程器来实现。利用按键模块通过单片机对显示屏的显示内容进行翻页和更新控制。关键词:显示屏;可靠性;Arduino

2、;控制The Design of Electronic Display Control System based on ArduinoAbstract: LED displays is widely used in many occasions because of its advantages such as stable, reliable and long life. It is of great significance to strengthen the research of the reliability of electronic display

3、control system. Here introduces a new kind of electronic display control system based on Arduino microcontroller. System uses PC as upper computer.PC send control commands and display code it has stored to the 

4、Arduino microcontroller. And arduino microcontroller receives and deals with control command and display code which are from PC. Then drives scan display of the display screen. Communic

5、ation between PC and the microcomputer can be implemented by using ISP download programmer. At last, page and update the content which is displayed of the billboard by using&#

6、160;the key module and all is based on the single chip microcomputer. Keywords: electronic display; reliability; Arduino microcontroller1. 系统整体设计本系统硬件的设计采用模块化设计,既能满足模块本身功能又要能够和整个系统兼容,如图1.1所示。系统硬件由Arduino控制系统,显示扫描电路,显示屏,键盘扫描电路及数据传输部分以及上位机六部分

7、组成。上位机通过数据传输部分向MCU系统发送显示代码和控制命令,MCU系统执行显示命令并将显示代码处理后控制显示部分的显示内容和显示方式。而按键也可以通过键盘扫描电路对显示进行控制。图1.1 系统硬件组成框图2. 控制系统设计 控制系统的核心是Arduino单片机。Arduino是一个基于开放原始码的软硬件平台,具有使用类似Java、C语言的Processing/Wiring开发环境。Arduino UNO是系列的一个版本。UNO的处理器核心是ATmega328,具有14路数字IO口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP

8、header和一个复位按钮。选定一定数量的IO口作为控制口,控制外部的各种器件和数据的输出【2】。根据功能选择一定的单片机端口添加外围的器件,具体电路如图2.1所示。在该系统中,数字接口主要用作LED显示数据的行控制输出以及矩阵键盘的控制。具体接法为:矩阵键盘的x1、x2、x3、x4、y1、y2、y3、y4分别接10、11、12、A0、A1、A2、A3、A4接口,点阵模块的连接如图2.2所示。图2.1 控制部分电路图图2.2 点阵单片机连接图3. 驱动单元3.1 行驱动单元译码电路的功能是为了解决单片机I/O端口不足。行译码所用器件为串并转换器74HC138和锁存器74HC573。四个138级

9、联成8线-32线译码器,三级管Q1-Q16接显示屏H1-H8解决了显示屏供电不足的问题。锁存器573的Q3,Q7分别接138的G2B,G2A使能端,实现对138的使能控制,达到锁存功能,Q4,Q5,Q6分别接138的A,B,C端,A,B,C为138译码器的三个地址输入。具体电路如图3.1所示图3.1 行驱动单元电路行译码采用的是芯片74HC138。如果不采用译码电路完全依靠单片机的端口输出来控制LED显示屏显示,需要很多个端口。而采用了译码电路后仅仅需要少量端口便可实现控制显示。大大减少了I/O口的占用数目,为单片机扩展其他功能预留下来了空间。74HC138译码器可接受3位二进制加权地址输入(

10、A0,A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)【4】。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。表1 74HC138集成译码器功能表3.2 列驱动单元列驱动电路由74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的【5】。各管脚说明见表3-2。数据在SH_CP的上升沿输入,在ST_CP的上升沿进入的存储寄存器中去。如果两个时钟

11、连在一起,则移位寄存器总是比存储寄存器早一个脉冲【6】。移位寄存器有一个串行移位输入(DS),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线 引用自ATmega128通用实验板手册。表3.2 74HC595管脚说明管脚编号管脚名说明1、2、3、4、5、6、7、15QA-AH三态输出管脚8GND电源地9SQH串行数据输出管脚10SCLR移位寄存器清零端11SCK数据输入时钟线12RCK输出存储器锁存时钟线13OE输出使能14SI数据线15VCC电源端 工作顺序:单片机先送1个8位数据到第一个59

12、5的内部移位寄存器->然后数据会送到内部的输出寄存器->输出,当MR(10引脚)为高电平,OE(13引脚)为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。具体电路如图3.2所示图3.2 列驱动单元电路3.3 按键模块矩阵键盘用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个,它能够有效地提高单片机系统中I/O口的利用率。矩阵键盘的编程方法:(1)先读取键盘的状态,得到按键的特征编码。先从P1口的高四位输出低电平,低四位输出高电平,从P1口的低四位读取键盘状态。再

13、从P1口的低四位输出低电平,高四位输出高电平,从P1口的高四位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法我们得到16个键的特征编码。(2)根据按键的特征编码,查表得到按键的顺序编码。将16个按键的特征编码按照按键排列的顺序排成一张特征编码与顺序编码的对应关系表,然后用当前读得的特征编码来查表,当表中有该特征编码时,它所在的位置就是对应的顺序编码。矩阵键盘电路如图3.3所示。图3.3 矩阵键盘电路4. 程序设计设计目标和硬件总体结构确定的情况下,软件可以分为主程序,通信程序,静态显示子程序,各种特效显示子程序,键盘控制程序等五个主要部分组成。具体结构如图4.1

14、所示。静态显示程序特效显示程序主程序键盘控制程序通信程序 图4.1 软件功能结构框图4.1 主程序系统软件采用C语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现静态显示,动态显示,按键控制三大功能。其通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示。主程序的工作流程如图4.2所示。图4.2 主程序流程图4.2 左移显示程序显示程序分为静态显示程序、左移显示2种种显示方式。其中左移程序调用了静态显示程序为子程序。 显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第i列对应的行数据为数组中的第i和第i+16个元素。将对应元素

15、的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与0X01相与,所得结果通过单片机端口输出到串并转换器的A端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各列来显示所需画面。动态显示程序流程如图4.3所示,根据显示数据的存储原理通过改变实际LED列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第i列对应的数据为数组中i和第2×i个数据。显示数组中,第1至16个元素的第8至第1位LED显示屏中的第1至第8行。同理第17至32个元素的第8至第1位LED显示屏中的第9至第16行。所以将元素数据进行逻辑位移便能产生左移动的效果。开始读入显示数组显

16、示显示数组元素逻辑左移一位移位次数是否为16NY图4.3 左移程序流程图4.3 矩阵按键程序的设计4*4矩阵键盘有8个引脚,4个一组,分别对应行和列,通过按键扫描的方法,对不同行(列)分别输入高低电平,然后读取不同列(行)上的电平,从而知道键盘上的某一按键按下。例如,当第1行输出低电平,其他行输出高电平,分别读取依次列上的状态,如果第1列为低,结果为(1,1),按键为1,如果第2列为低,则结果为(1,2)按键为2。5 系统调试对矩阵键盘进行调试,利用简单的控制程序测试矩阵按键是否能控制13号数字接口上的LED等的亮灭。发现有时控制不了,说明焊接存在虚焊情况,然后及时补救,将觉得可能虚焊的点又重

17、新焊了一次,再次测试,没有问题了。然后矩阵按键与单片机的连接进行了检查,方法是接入电源试运行,发现有时运行不稳定,说明接线有时会存在接触不良现象,于是换用了插口比较紧的接线,也解决了这一问题。在软件调试过程中,配合对应硬件电路单独运行某程序功能块,检查是否正确,发现有些模块执行结果和预想的不一致,于是通过单步运行以及设置断点等方法,找到原因并加以改正,最终得到正确的运行结果。6. 结语为了在传统设计的基础上增强电子广告屏系统的可靠性,基于Arduino为核心,以串并转换器74HC138和锁存器74HC573为行驱动器,串并转换器74HC138和锁存器74HC573为列驱动器,以4×4矩阵键盘为控制键盘重新设计一个电子显示屏控制系统,通过上位机软件将控制代码和显示代码发送到Arduino单片机中,然后由Arduino单片机和矩阵键盘控制电子显示屏的显示。通过实践,本控制系统的稳定性、实时性及易操作性能够满足电子显示屏的显示要求。引用文献:1张校珩.单片机C语言编程100例M.北京:中国电力出版社,2014.01:56

温馨提示

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

评论

0/150

提交评论