收藏 分销(赏)

基于51单片机的LED点阵显示屏系统的设计和实现.doc

上传人:二*** 文档编号:4516668 上传时间:2024-09-26 格式:DOC 页数:50 大小:8.98MB
下载 相关 举报
基于51单片机的LED点阵显示屏系统的设计和实现.doc_第1页
第1页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、摘要:本文介绍了一款以单片机AT89S51为控制器LED点阵显示器系统设计。该系统可实现中英文字符显示和动态特效显示。而且能够经过级连方法来扩大显示器幕尺寸以达成增加显示内容目标。系统采取PC机作为上位机,上位机向单片机发送控制命令和上位机所存放显示代码,AT89S51单片机接收并处理PC机控制命令和显示代码,由显示驱动模块驱动一个1616分辨率LED点阵显示器扫描显示。PC机和单片机之间通信采取RS232C通信标准来实现。所选择AT89S51单片机含有价格低廉程序写入方便特点使得整个系统方便维护和检修。除此之外,该系统只占用了单片机少许I /O口和内存,为系统留下了功效扩展空间。关键字:AT

2、89S51;LED点阵显示;串行通对设计题目标特点,作者对论文内容和结构将做以下安排:(1)初步方案论证和选择 搜集题目标相关资料,并参考现在通用设计思想和设计方法确定几套设计方案进行分析比较。最终选定了以PC机为上位机,单片机为关键控制器件,外加译码电路和驱动电路设计方案。(2)方案实现以设计方案为指导思想选择适宜器件来实现这一思想,选择器件时要从功效和电气特征两方面来选择和论证。经过对比选择选定AT89S51单片机为关键控制器件,由串并转换器74LS164和锁存器74LS373为译码电路器件,三极管8550和ULN2803为驱动电路器件。论文列出了具体器件参数和在系统中连接使用方法。 (3

3、)软件编写 依据硬件特点和设计要求,软件选择C语言编写。程序按功效分为静态显示、动态显示、通信等多个功效上相对独立模块。然后根据所划分模块逐一编写和调试,最终将独立模块整合起来。(4)验证和测试 调试分为硬件调试、软件调试和系统联合调试几步来进行。在硬件调试中发觉有单片机端口驱动能力不足、驱动电路工作不稳定等问题。在软件调试中出现程序整合工作不协调等问题。经过分析,查找找出了问题原因并设法将其处理。(5)结论 设计完成后对设计中所碰到问题、经验教训、和自己想法进行总结。第2章 方案论证和选择2.1 系统硬件方案大多数LED显示器全部在户外,所以对硬件质量要求很高。为方便检修和维护硬件电路设计时

4、常常采取模块化设计方法。硬件设计采取模块化设计,既要满足模块本身功效又要能够和整个系统兼容。图2-1所表示,依据显示系统功效特点确定系统硬件由显示器部分,控制部分,通信系统及上位机四部分组成。上位机经过通信部分向控制部分发送控制指令和显示内容代码,控制部分实施显示指令并将显示代码处理后控制显示部分显示内容和显示方法3。图2-1 系统硬件组成框图2.1.1 显示器主控制器控制部分是整个系统关键部分,其功效为和上位机通信接收上位机发送数据和控制指令处理过后控制显示部分显示内容。其常见电子设计方法有单片机、DSP、及EDA技术。多个设计方法比较各有其特点:(1)单片机单片机是集成了CPU,ROM,R

5、AM和I/ O口微型计算机。它有很强接口性能,很适合于工业控制,所以又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从8,16,32到64位,多采取RISC 技术,片上I/O很丰富,有单片机集成有A/ D,“ 看门狗”,PWM,显示驱动,函数发生器,键盘控制等。它们价格也高低不等,这么极大地满足了开发者选择自由。除此之外单片机还含有低电压和低功耗特点。伴随超大规模集成电路发展,NMOS工艺单片机被CMOS替换,并开始向HMOS 过渡。供电电压由5V 降到3V,2V甚至到1V,工作电流由mA降至A ,这在便携式产品中大有用武之地4。(2)DSP 芯片DSP 又叫数字信号处理器。顾名思义

6、,DSP关键用于数字信号处理领域,很适合高密度,反复运算及大数据容量信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,DSP含有修正哈佛结构,多总线技术和流水线结构。将程序和数据存放器分开,使用多总线,取指令和取数据同时进行,和流水线技术,这使得速度有了较大提升。DSP区分于通常微处理器另一关键标志是硬件乘法器和特殊指令,通常微处理器用软件实现乘法,逐条实施指令,速度慢。而DSP 依靠硬件乘法器单周期完成乘法运算,而且还含有专门信号处理指令,如TM320 系列FIRS ,LMS,MACD指令等5。(3)EDAEDA(即Electronic

7、Design Automation) 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL 语言完成系统功效描述,借助EDA工具就可得到设计结果,将编译后代码下载到目标芯片就可在硬件上实现。因为FPGA/CPLD能够经过软件编程对该硬件结构和工作方法进行重构,修改软件程序就相当于改变了硬件,软件编写能够采取自顶向下设计方案,而且能够多个人分工并行工作这么便缩短了开发周期和上市时间,有利于在猛烈市场竞争中

8、抢占先机。而且MCU和DSP全部是经过串行实施指令来实现特定功效,不可避免低速,而FPGA/CPLD则可实现硬件上并行工作,在实时测控和高速应用领域前景宽广;其次,FPGA/CPLP器件在功效开发上是软件实现,但物理机制却和纯硬件电路一样,十分可靠。三种设计方法相比较各有优点且全部能够实现控制功效,但单片机技术门槛较低开发成本也较低很适合初学者进行学习和锻炼使用。现在市场上常见单片机关键有MCS-51、AVR、ARM、PIC等。其中应用最广泛单片机首推Intel51系列,因为产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主优势常作为单片机学习教材。且51系列I/O脚设置和使用很

9、简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案选择中选定51系列单片机作为控制部分关键器件。2.1.2 通信系统 通信部分要满足设计要求就是稳定、快速、简单易实现。因为通常情况下显示器和上位机距离不会很远,所以通信距离要求不是很高。计算机数据通信关键采取并行通信和串行通信两种方法。(1)并行通信并行通信时数据各个位同时传送,能够字或字节为单位并行进行。并行通信速度快,但用通信线多、成本高,故不宜进行远距离通信。(2)串行通信串行通信数据是一位一位次序传送,只用极少几根通信线,串行传送速度低,但

10、传送距离长,所以串行适适用于长距离而速度要求不高场所。在串行发送时,数据是一位一位按次序进行,而计算机内部数据是并行。所以,当计算机向外发送数据时,必需将并行数据转换为串行数据再发送。反之,又必需将串行数据转换为并行数据输入计算机中。这种转换即能够用硬件实现也能够用软件实现。单由软件实现会增加CPU负担,降低其利用率,故现在常采取硬件实现。通用通用异步接收/发送器,简称UART(Universal Asynchromous Receeiver/Trabsnitter)是完成这一功效硬件电路。在单片机芯片中,UART已经集成在其中,作为其组成部分,组成一个串行口6。 总而言之,题目设计已经选定了

11、单片机为开发方法而单片机UART已经集成在单片机内,所以通信系统选择串行通信为通信方法。2.1.3 LED点阵显示器显示部分包含了一块最少能够显示一个汉字显示器,和驱动该显示器驱动电路。因为单片机I/O口有限要不能直接用I/O口来驱动LED显示器,所以需要对单片机IO口进行扩展增加单片机并行输出能力。LED显示器是由一个一个发光二极管点阵组成,要组成大屏幕LED显示器就需要多个发光二极管。组成LED屏幕方法有两种,一是由单个发光二极管逐点连接起来,图2-2所表示;二是选择部分由单个发光二极管组成LED点阵子模块组成大LED点阵模块。现在市场上普遍采取点阵模块有88、1616多个;这两种屏幕组成

12、方法各有有缺点,单个发光二极管组成显示器优点在于当单个发光二极管出现问题时只需更换一个二极管即可,检修成本较低,缺点在于连接线路复杂;而点阵模块组成方法却恰好和之相反,模块组成省约了大量连线,不过当一个LED出现问题时同在一个模块全部LED全部必需被更换。这就加大了维修成本。两种方法相比较,决定采取模块组成方法来制作一个LED点阵显示器。为了避免模块缺点,选择点阵数较小模块来减小出现这一问题风险。所以构建一个1616LED点阵屏选择四块88点阵模块。图 2-2 LED点阵图一个1616LED显示器行和列各有16支引脚,不能单靠51单片机端口驱动所以必需要对单片机端口个数进行扩展。常常采取端口扩

13、展方法是用串并转换芯片进行译码。常见串并转换芯片有74LS154(4线-16线译码器)、74LS164(8位串并转换器)、74HC595等。51系列单片机端口低电平时,吸入电流可达,含有一定驱动能力;而为高电平时,输出电流仅数十甚至更小(电流实际上是由脚上拉电流形成),基础上没有驱动能力,所以单片机不能直接驱动LED显示器显示。在单片机和显示器之间还需要增加以功效放大位目标驱动电路7。2.1.4 硬件设计方案最终方案图2-3所表示,以PC机作为上位机存放和处理显示内容用串行通信方法将显示内容和控制指令传输到单片机系统,单片机依据上位机传输来内容和指令经过端口译码扩展后驱动4块88LED点阵模块

14、组成1616LED点阵显示器。题目将以此方案为指导思想展开具体硬件电路设计。图2-3 硬件设计方案2.2 系统软件方案软件设计除了满足设计功效外还必需要满足易读写,方便下载和编译。设计目标和硬件总体结构确定情况下,软件能够分为主程序,显示子程序,多种特效显示子程序,通信程序三个关键部分组成。具体结构图2-4所表示。图2-4 软件功效结构框图软件编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中实施。编写软件之前得首先选择一个适宜语言和配套编辑器和编译软件。最终还要选择一款和所选单片机下载器或下载软件来把编写程序下载到单片机中实施。第3章 系统硬件设计 3.1 硬件整体设计概述及功

15、效分析 显示系统具体设计关键由上位机,通信系统,单片机系统,译码电路,显示驱动电路和1616点阵屏六部分组成。具体工作步骤为:上位PC机经过通信系统向单片机发送控制指令和显示代码内容,单片机接收后实施控制指令处理显示代码将显示内容经过I/O口串行输出而且控制译码电路完成串并转换并行输出,最终由显示驱动电路进行电压和电流处理以达成LED显示器显示电流,电压要求进而使显示器显示内容11。依据硬件功效结构图选择适宜器件,器件不仅要求能实现所要求功效还要能兼容至整个系统之中。经过查阅资料和对比最终硬件原理图图3-1所表示。 图3-1 硬件原理图 3.2.2 控制系统设计控制电路设计中采取是单片机系统,

16、该系统必需要是工作在一个最小系统(指单片机能够最小配置系统)。AT89S51最小系统包含了外界时钟电路和复位电路,选定一定数量IO口作为控制口控制外部多种器件和数据输出。依据功效选择一定单片机端口添加外围器件,具体电路图3-2所表示。在该系统中,P1各口关键用作LED显示数据控制输出。因为端口驱动能力有限所以该端口外接了5K上拉电阻来提升驱动能力。其中P1.5P1.6P1.7还复用为ISP下载功效口。具体接法为:P1.0,P1.1,P1.4,P1.5分别接四块74LS164A端,向74LS164送入串行数据经过其转换后并行输出;P1.2和P1.6分别接列和行74LS164CLOCK端,产生移位

17、脉冲是串行数据并行输出;P1.3和P1.7接列和行CLEAR端,在一组数据完成串并转换后清除164芯片中内容转换新数据;其中P1.5P1.6P1.7还复用为ISP下载功效口。P2.0接164芯片使能控制端,当为高电平使许可输出;P2.2和P2.3接锁存器74LS373OE和LE端控制锁存器工作状态。 端口30,EA/VPP:外部访问许可。欲使CPU仅访问外部程序存放器(地址为0000HFFFFH),EA端必需保持低电平(接地)。因为没有扩展外部程序存放器所以将EA置为高电平。图3-2 控制部分电路图因为P3口是特殊功效口,在该系统中基础是采取其第二功效。其第二功效和实际利用如表3-1所表示:表

18、3-1 AT89S51P3口第二功效应用端口第二功效实际作用P3.0RXD(串行输入口)和上位机通信数据输入口P3.1TXD(串行输出口)和上位机通信数据输出口P3.2外部中止0做按键中止,控制显示状态P3.3外部中止1做按键中止,控制运行模式AT89S51单片机P1在访问外部数据存放器或程序存放器时,这组口线分时转换地址(低8位)和数据总线复用,P2口在访问外部程序存放器或16位地址外部数据存放器时,P2口送出高8位地址数据。所以P1和P2口留为外部数据存放器和程序存放器扩展用,以备内部存放器和程序存放器不够用情况时使用12。3.3 译码电路设计 译码电路功效是为了处理单片机I/O端口不足。

19、行译码所用器件为串并转换器74LS164和锁存器74LS373。具体电路图3-3所表示图3-3 行译码电路图3.3.1 串并转换器74LS164列译码采取是芯片74LS164。假如不采取译码电路完全依靠单片机端口输出来控制1616LED点阵屏显示,需要32个端口。而采取了译码电路后仅仅需要79个端口便可实现控制显示。大大降低了I/O口占用数目,为单片机扩展其它功效预留下来了空间。74LS164为一个8位数据串并转换器。当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则严禁新数据输入,在时钟端(CLOCK)脉冲上升沿作

20、用下Q0为低电平。当A、B有一个为高电平,则另一个就许可输入数据,并在CLOCK上升沿作用下决定Q0状态。表3-1 74LS164工作参数参数最小值标准值最大值单位高电平输入电压2V低电平输入电压0.8V高电平输出电压2.43.2-V低电平输出电压0.20.4V时钟频率025MHZ这就要求单片机引脚输出高低电平要在芯片识别范围内,因为采取了列选通行传送显示代码方法所以行译码电路上也加上了74L373锁存芯片。这就要求74LS164芯片输出要满足锁存芯片高低电平区分范围和频率要求。 3.3.2 锁存器74L373因为74LS164芯片不含有锁存功效,所以在74LS164进行八位数据串并转换时,串

21、行数据第一位会从QA依次移位到QH,第二位数据会从QA依次移位到QG,依次类推在八位数据转换完成之前74LS164芯片输出会出现一段时间乱序输出,这一结果会经过驱动电路表现在显示器上。结果就是显示器无序导通闪烁,不能显示所需内容。所以在串并转换完成前就需要74LS164输出口不和驱动电路导通。所以选择锁存器74LS373来完成这一功效。74LS373为八D锁存器(3S,锁存许可输入有回环特征)。373为三态输出八D透明锁存器,共有54/74S373和54/74LS373两种线路结构形式当三态许可控制端OE为低电平时,O0O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0O7呈高阻

22、态,即不驱动总线,也不为总线负载,但锁存器内部逻辑操作不受影响。当锁存许可端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立数据电平。表3-2 74LS373工作参数表参数最小值额定值最大值单位电源电压4.7555.25V输入高电平电压2V输入低电平电压0.8V输出高电平电压2.6mA输出低电平电压24mA由表和表比较能够看出,74LS164输出条件和74LS373输入条件相匹配,理论上能够实现锁存器对译码器数据锁存。3.4 驱动电路设计3.4.1 行驱动电路设计发光二极管,LED(Light Emitting Diodes),即是在在一些半导体材料PN结中,注入少数载流子和

23、多数载流子复合时会把多出能量以光形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作二极管叫发光二极管,通称LED。 行驱动采取PNP三极管8550接法图3-4示:图3-4 行驱动器件8550接法8550为PNP型三极管,内部结构图3-5示。发射极e接5V电源,基极接译码信号输出端,集电极接输出驱动LED点阵屏。当译码器端口输出为低电平时,发射极和基极电势差为5V基极中带负电电子越过PN结扩散到发射区。发射极产生和电子扩散方向相反电流,因为基极电子大量扩散到发射极集电极电子扩散到基极中形成了电流。当译码器端口输出高电平时发射极和

24、基极之间电势差为5V,因为发射极和基极之间电势差降低基极电子向发射极扩散电子数量降低故集电极电流也随之降低。故8550在驱动电路中起到提供驱动电流和选通开关作用。图3-5 8550内部结构图3.4.2 列驱动电路设计列驱动采取ULN2803。ULN2803是一个高电压大电流达林顿管阵列内部结构图,该阵列中八个NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS或PMOS)和大电流高电压灯,继电器,打印机锤和其它类似负载间接口理想器件。广泛用于计算机,工业和消费类产品中。全部器件有集电极开路输出和用于瞬变抑制续流箝位二极管。集电极输出功率可达50V600mA13。ULN2803作为列驱

25、动实施是列选工作,当选通列输入高电平时其对应输输出低电平。相对应输出取反,并能提供较大灌电流来吸收行驱动流出进过显示器后电流。具体电路图3-7所表示。图3-7 列驱动原理图3.5 通信系统硬件设计AT89S51单片机含有全双工串行UART通道,支持单片机进行数据串行传输。除了单片机要和PC机制订通信协议,确定发送速率外还需要处理问题就是信号电平问题。RS-232C标准要求了PC机发送数据总线TXD和接收数据总线RXD采取EIA电平,即传送数字“1”时传输线上电平在315V之间;传送数字“0”时,传输线上电平在315之间。但单片机串行口采取正逻辑TTL电平,即数字“1”时为5V数字“0”时为-5

26、V,所以单片机和计算机不能直接相连进行通信必需将RS-232C和TTL电平进行转换14。在通用电平转换芯片中MAX232系列芯片以集成度高,单5V电源工作,只需外接5个小电容即可完成RS-232C和TTL电平之间转换而成为单片机系统中常见芯片。在该显示系统中,MAX232为通信系统中最关键硬件组成部分15。电路图3-8所表示:图3-8 串口通信系统电路图3.6 电源设计在系统中MAX232、74LS164、74LS373、AT89S51全部需要5V供电电压,在系统开发过程中能够使用电脑USB供电。在实际大屏幕LED显示器设计中,用电脑USB供电显著不切实际。此时需要对民用220V进行降压整流为

27、5V直流电压为显示系统供电。电路图图3-9所表示。图3-9 电源原理图图所表示,用220V转12V变压器进行降压后再经过一个桥式整流电路将交流电整流为直流电。最终经过5V三端稳压模块LM7805得出稳定5V输出。3.7 级连大屏幕LED显示器 要实现LED大屏幕显示关键采取内部译码器级连和多个单片机系统级连方法。译码器级连图3-10所表示 将第1个74LS164Q7端接第2个74LS164A端,将第2个74LS164Q7端接第3个74LS164A端,如此炮制当N块74LS164相级连时就变为一个串行输入7N口输出串并转换器。这种级连优点在于一块单片机能够同时控制更多LED点阵显示器,且74LS

28、164价格低廉整体成本得到了降低。不过这种级连方法也存在一定缺点,51系列单片机晶振频率不高74LS164级连过多会增加一次扫描时间从而造成显示出现闪烁。从端口输出显示数据显示也要作出对应改变。图3-10 74LSL64级连构建大屏幕LED显示器另一个方法是将以较小LED显示系统做为模块进行级连。图3-11所表示,由独立LED显示系统组成一个大LED显示系统。其中各子显示系统之间在功效和控制上全部是相互独立,将一幅大屏幕画面拆分为几块小画面再分别送入到各子系统中,各子系统同时显示便能够得到一幅大画面。使用这种级连措施能够避免51单片机晶振频率低弱点,更轻易实现大屏幕显示。但这种方法仍然存在难点

29、,一是各独立子系统通信和协调性要求更高了,假如要实现显示内容实时性必需需要上位机不停更新显示内容则增加了上位机通信数据量,逐一单片机传送数据也会影响整个画面更新速度;二是成本提升了。图3-11 由子系统构建大屏幕LED显示器在实际应用中通常采取内部扩展和外部级连联合使用方法来构建大屏幕LED显示器幕。即增加单个显示系统显示器幕大小同时又将单个显示系统级连。具体硬件原理图见附录1。第4章 系统软件设计4.1 程序设计系统软件采取C语言编写,根据模块化设计思绪设计。首先分析程序所要实现功效,程序要实现串口通信,静态显示,动态显示三大功效。其功效结构图2-4所表示。通信程序接收上位机数据,交给主程序

30、处理再经过控制程序选择不一样显示程序进行显示。 主程序工作步骤图4-1所表示:系统初始化从显示数组读取数据到显示寄存器读取显示控制命令选择显示方法调用对应显示程序RI=1?起始位?接收显示数据及控制命令将显示数据移入显示数组将控制命令赋值给控制字符NNYY开 始中止开始中 断 返 回图4-1 主程序步骤图程序开始时首先必需对单片机进行初始化,其中初始化内容包含:中止优先级设定,中止初始化,串行通信时通信方法选择和波特率设定,各IO口功效设定等。初始化完成后程序进入待机状态等候中止发生,该程序中关键用到了两个外部中止源和串行中止。外部中止源由按键电平改变触发,外部中止关键功效是选择LED点阵显示

31、器控制方法是由按键控制还是上位机控制和显示状态是静态显示还是动态显示。串行中止包含发送中止和接收中止全部是由软件触发。中止产生后由预先初始化时设定跳转实施中止子程序。中止程序设定了LED点阵显示器所要显示内容和显示方法,最终实施是多种显示程序。根据设定方法和内容显示出所需要内容。4.2 显示程序设计4.2.1 LED显示器显示方法 LED点阵屏显示方法关键由静态显示和动态扫描显示两种。 对静态显示来说,每一个发光二极管全部需要一套驱动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了显示内容,需要重新输出新点阵数据这种方法系统原理相对简单部分,但所需译码驱动装量很多,引线多而繁杂,不便于

32、大屏幕制造,成本高,其可靠性也较低另一个动态扫描显示是把整个LED屏幕分成若干部分,每一幅画面显示是显示完一部分后,又显示第二部分直到显示完最终一部分又重新开始显示第一部分,反复循环进行在反复扫描速度足够快情况下,我们看到就是一幅稳定画面也就是说采取动态扫描显示需要不停进行画面刷新在这种方法下其显示驱动电路可反复利用,引线也大大降低,从而使硬件成本降低,且屏幕上发光二极管轮番发光,使用时耗电量大大降低大屏幕制造、维护要轻易很多,可靠性也增加了两种显示方法比较再结合51单片机IO口数量有限原因决定采取动态扫描方法进行显示。动态扫描分为行扫描和列扫描两种方法区分在于选通端和数据输入端分别是行还是列

33、。在该显示系统中扫描显示工作原理图4-2所表示,先选通列然后再从行送入对应列数据,这么从第1列到第16列循环往复,只要切换速度足够快利用人眼延时特征就能够看见一幅稳定画面。图4-2 扫描显示程序原理图4.2.2 点阵数据表示方法该显示系统显示数据采取纵向取模方向正向数据存放方法图4-3, 图4-3 点阵数据原理图 即数据是纵向,一个像素对应一个位。8个像素对应一个字节,字节位次序是上高下低,比如从上到下8个点状态是“*-*-”(*为黑点,-为白点),则转换字模数据是0x82(B1000_0010)。图(4-3)所表示,一幅1616点阵画面点阵数据根据B1B2B3B31B32存放。所以一幅画面数

34、据量为32字节。画面显示时选通第i列对应数组元素为第i和i+16个元素16。4.2.3 显示程序设计开 始 显示程序分为静态显示程序、左移显示、右移显示、上移显示、下移显示五种种显示方法。其中上下左右移动程序全部调用了静态显示程序为子程序。静态显示程序步骤图图4-4所表示: 初 始 化读取显示数据依次选通列,行74LS164CLOCK端置低,锁存器严禁输出对应行数组元素和0X01相和,相和结果写入单片机端口输出数组元素右移一位,对应74LS164 CLOCK端置高N右移次数是否为8?Y锁存器许可输出图4-4 静态显示程序步骤图显示采取是列扫描显示方法,选通一列后根据列和数据元素对应关系第i列对

35、应行数据为数组中第i和第i+16个元素。将对应元素由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再和0X01相和,所得结果经过单片机端口输出到串并转换器A端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各列来显示所需画面17。图4-5 左右移/上下移程序步骤图 动态显示程序步骤图4-5所表示,依据显示数据存放原理经过改变实际LED列和数据逻辑列方法来实现程序左右移动。显示数据和列对应关系为:第i列对应数据为数组中i和第2i个数据。所以当ULN2803选通时,而送入后一列数据则相当于画面左移移位,同理送入前一列数据相当于右移一位。如此循环则产生一幅稳定运动画面。 显示数组

36、中,第1至16个元素第8至第1位LED显示器中第1至第8行。同理第17至32个元素第8至第1位LED显示器中第9至第16行。所以将元素数据进行逻辑位移便能产生上下移动效果18。4.3 通信程序设计系统采取串行中止方法进行通信。MCS-51单片机五个中止源两种类型:一类是外部中止源;另一类是内部中止源,包含两个定时器/计数器(T0和T1)溢出中止和串行口接收和发送中止。MCS-51单片机设置了4个专用寄存器用于中止控制,分别为定时器控制寄存器(TCON),串行口中止控制器(SCON),中止许可控制寄存器(IE),中止优先级控制寄存器(IP)。编程时经过设置其状态来管理中止系统。在编辑中止程序时首

37、先是将中止控制寄存器(IE)初始化。其控制位分布如表。EA为中止许可总控制位,EA=1时CPU开发中止;EA1时。CPU屏蔽全部中止。ES、ET、EX1、ET0、EX0为对应串行口中止、定时器/计数器1中止、外部中止1中止、定时器/计数器0中止、外部中止0中止中止许可位。对应位为1时许可其中止,对应位为0时,严禁其中止。表4-1 中止许可寄存器格式D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0 所以初始化时设定中止许可寄存器初值为0XFF,指令为 IE=0XFF。程序设计时还要考虑到中止优先级问题。因为不一样中止同时产生而CPU响应次序取决于内部查询次序。设置串口工作方法1,

38、波特率9600,计算可得计数器初值十六进制表示为0XFD。通信协议如表4-2所表示:表4-2 串口通信数据结构数据结构第1个字节第2至第33个字节第34个字节内容起始标志位S显示数据控制指令作用判定是否开始接收数据LED显示内容控制LED显示方法具体串口中止程序步骤图图4-6所表示,在主程序中优异行了串行中止初始化,初始化内容包含了串行工作方法选择,波特率设定,计数初值设定。程序开始进入中止等候,当PC机向单片机发送数据时产生中止接收许可位RI置1,将SBUF(缓冲寄存器)中值输入到暂存器中进行数据处理。首先判定数据是否设定起始标志位S假如是则开始接收起始位后33个字节,不是则中止返回继续等候

39、。接收到第34个字节后便将收到数据发送回PC机进行验证比较。RI=1?接收串口数据起始位S接收起始位后33位数据接收到第34位?将第2位起32位数据发回PC机NNNYYY中止开始中止返回 图4-6 通信程序步骤图全部软件编写完成后全部必需经过编译才能被单片机识别使用。为了减小软件修改和优化难度,先把各子程序写为一个可单独实施完整程序。各子程序编译没有错误后再输入单片机进行验证,这两项全部经过后再将全部程序整合到一起形成一个完整程序再进行编译和验证。具体程序见附录2。第5章 系统调试硬件制作和软件编写过后,得出实物图5-1所表示。实物完成后必需对其进行调试,检验设计功效是否实现了。软件硬件完成后

40、开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。图5-1 实物图5.1 系统硬件部分调试方法硬件调试关键是调试各部分焊接是否合格和各芯片输出输入电压是否符合设计要求,最终测试各硬件部分能否完成设计功效。所以把硬件调试根据以下四部分分步来进行:(1)测试全部焊点是否有短路和虚焊现象存在;(2)通电测试全部硬件芯片输入输出电压是否在设计要求范围内;(3)测试ISP下栽线功效是否能够实现;(4)测试串口系统通信功效是否能够实现。因为最关键显示系统功效测试需要软件配合所以在硬件调试部分只测试单片机复位电平,功效部分测试放在系统联合调试部分来完成。5.1.1 短路和虚焊检测 检测工具为万用表,

41、使用万用表短路报警功效,逐一测试相临两个焊点检测是否短路。根据电路图检测需要连接两点是否短路来检测是否已经连接上,以此来检测虚焊情况。检测和修改完成后为下一步通电检测排除了短路危险和因为虚焊引发检测结果不真实麻烦。5.1.2 上电测试因为系统测试时是采取USB电源为系统电源,所以电源输入全部为5V。显示系统中单片机、译码器,锁存器,驱动电路电源电压均要求为5V所以可同时直接接入。上电后首先观察电路是否有过热,异味,冒烟现象出现。经过观察,没有这些现象出现。然后测试各器件电源,接地及部分电平应该固定端口电压。测试结果为:各器件电源端在4.3V4.8V之间满足器件电源电压要求,单片机端口在未接负载

42、时端口电压为4.5V。5.1.3 串口调试串口部分作用为单片机和PC机之间通信,要检验硬件是否正常工作能够采取将MAX232芯片单片机端输出口和输入口直接相连措施来测试。具体电路图图5-2所表示,将MAX232第10端和第9端直接短接。功效上表示将单片机输出口和输入口直接相连,单片机收到数据同时就将数据发送回PC机。假如发送数据能够被接收则证实串口通信部分硬件是正常。【19】将串口和电脑COM1相接,经过串口调试助手发送不一样位数数据再在把发送数据和接收数据相比较。图5-2 串口硬件调试5.2 系统软件调试方法因为已经进行了硬件调试,所以软件调试关键是软件编译和将各功效块程序分别写入以验证其功

43、效可实现性。在进行功效调试前必需用KEIL C对全部程序进行编译,编译成功生产可实施.hex后方可进行功效测试。其中测试串口程序功效是否完善不仅要连接单片机系统还要借助串口调试工具。串口调试工具选择是串口调试助手,其功效是根据设定串口、波特率向单片机发送数据和接收单片机向PC机发送数据。而且能把发送和接收数据内容显示在状态栏内。所以只要设定PC机向单片机发送内容和单片机向PC机发送内容就能够经过串口调试助手验证串口通信是否正确,是否满足功效要求。串口程序设计为:设定波特率位9600,以0XAA为起始标志位,单片机接收自起始标志位后32位十六进制数再发送会PC机。测试程序时设定波特率为9600,

44、选择串口1,无校验,8位数据。PC机向单片机发送内容为aa 77889900aabbccddeeff77889900aabbccddeeff。PC机收到数据为 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF。测试表明串口程序和串口电路实现了设计目标。再进行数次不一样数据发送,接收到数据也验证了设计要求实现。图5-3 串口调试图串口程序测试成功后为显示程序提供了正确显示内容。余下得多种显示程序和中止程序全部编译成功后只有联合硬件才能验证其功效可行性。5.

45、3 系统联合调试及结果经过硬件调试和软件调试,排除了硬件连接问题和验证了串口功效可实现性。其它功效软件便能够在此基础上调试验证其功效正确性。联合调试具体方法以下:(1)编写一个逐点扫描显示程序,再结合硬件电路运行。这么做目标在于检测各器件是否能够正常运行和显示器各个LED灯是否有损坏。结果显示显示器中只有边角出有一个LED灯被烧坏,其它器件逻辑功效运行正常。(2)将静态显示子程序和多种动态显示程序结合硬件电路进行调试。系统运行时显示图5-1所表示,显示图像比较清楚,各动态显示效果也能够实现。但显示存在两个问题。一是发光点下方会出现一个很微弱亮点,影响了整体显示效果。二是同一列LED灯被点亮数量

46、和其亮度出反比,即假如同一列灯全部被点亮则亮度比只点亮多个时要暗一点。(3)将串口通信,显示,硬件联合调试。根据设定通信协议,先由PC机向单片机发送起始控制字s,接着再发送32比特显示数据,最终发送控制显示方法显示控制字。再发送不一样显示数据和显示控制字,观察多种显示方法运行情况和多种显示方法之间切换情况。结果是显示器实施显示控制指令,显示所发送内容。5.4 调试结果分析对调试中出现问题进行了分析,得出以下原因和修改措施。(1)硬件工作表现出不稳定,关键是表现在LED显示器驱动电路部分和单片机系统部分。具体表现为单片机接负载后电压被拉低值1.7V左右,无法满足译码电路输入要求。显示时会有部分行驱动输出不够设计指标 ,造成所驱动那一行在显示器上表现为选定点不能够很好区分,图像出现模糊。分析造成这一现象原因为,焊接时三极管8550遭到了高温损坏以致工作不稳定和焊接电路不够牢靠,还有就是8550e端所接电压过高。修改措施为将单片机输出端口外接5K上拉电阻,替换损坏三极管。(2)虚点产生和软件和三极管电压相关。修改措施是将软件中延时时间调至合适

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服