配色: 字号:
基于单片机的16 16点阵毕业论文
2014-04-25 | 阅:  转:  |  分享 
  
桂林电子科技大学



题目LED点阵屏的软硬件设计



院系电子工程系

专业通信工程

学生姓名

学号

指导教师赖

职称

















二O一四年四月十五日







目录

第1章绪论…………………………………………………………………………3

1.1LED点阵屏简介……………………………………………………………………3

1.2LED显示屏特点………………………………………………………………………3

1.3LED显示屏工作原理………………………………………………………………3

1.4MCS-51单片机简介…………………………………………………………………4

第2章方案选择………………………………………………………………………4

2.1系统总体设计框图……………………………………………………………………4

2.2系统设计方案简介…………………………………………………………………5

第3章系统硬件设计…………………………………………………………………5

3.1电源电路设计……………………………………………………………………………6

3.2单片机主控电路设计……………………………………………………………………8

3.2.1单片机最小系统………………………………………………………………………9

3.3行扫描电路设计……………………………………………………………………………9

3.3.174HC595简介…………………………………………………………………………9

3.3.2行驱动电路设计……………………………………………………………………10

3.4列扫描电路设计…………………………………………………………………………12

3.4.174LS154简介…………………………………………………………………………12

3.4.2列驱动电路……………………………………………………………………………13

3.5点阵连接图………………………………………………………………………………15

3.5.18×8点阵简介………………………………………………………………………15

3.5.216×16点阵连接图……………………………………………………………………16

第4章系统软件设计………………………………………………………………16

4.1软件设计总体框图……………………………………………………………………17

4.2软件设计环境与思路…………………………………………………………………17

4.2.1静态显示程序设计…………………………………………………………………18

4.2.2动态显示程序设计…………………………………………………………………19

4.2.3主程序设计…………………………………………………………………………19

第5章系统仿真与调试……………………………………………………………20

5.1protues简介…………………………………………………………………………20

5.2硬件系统调试…………………………………………………………………………24

5.3软件系统调试…………………………………………………………………………25

第6章结论………………………………………………………………………………26

参考文献………………………………………………………………………26

LED图文显示屏的软硬件实现



张培培

南京信息工程大学通信工程专业,南京210044

摘要:×8的点阵进行拼接,组成一个16×16的点阵。显示方式采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。

本文给出了基于MCS-51单片机的16×16点阵显示屏的设计方案。主要包括16×16点阵屏硬件原理图,程序设计,点阵系统仿真等设计思路。利用此方案,可以动态显示多个汉字,字符,图案等。从而达到了利用一块16×16点阵屏显示多个字符符的目的。显示信息量大,价格低廉。

关键字:AT89S51LED点阵显示LED显示屏的特点

LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。

LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。

·8位CPU·4kbytes程序存储器(ROM)(52为8K)

·256bytes的数据存储器(RAM)(52有384bytes的RAM)

·32条I/O口线·111条指令,大部分为单字节指令

·21个专用寄存器

·2个可编程定时/计数器

·5个中断源,2个优先级(52有6个)

·一个全双工串行通信口

·外部数据存储器寻址空间为64kB

·外部程序存储器寻址空间为64kB

·逻辑操作位寻址功能·双列直插40PinDIP封装

·单一+5V电源供电

元件简介:

CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;

I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;



第2章方案































图2-1系统总体设计方案框图



2.2总体设计方案简介



本电路主要以89S52为控制核心,控制74LS154和74LS595输出扫描的行和列信号,驱动4块8×8的点阵组成的16×16的点阵,显示汉字和其它一些字符。

第三章系统硬件设计



3.1电源电路设计





图3-1电源电路设计图

供电电路采用的是直流线性稳压器组成。一般直流稳压电源的组成如下图:



图3-2一般直流稳压电源组成图

分析:

交流电经过变压器变压得到电压UAC,根据单相桥式整流电路的特性,我们可以计算出整流以后的电压UO。

UO是整流电路的输出端电压瞬时值在一个周期内的平均值,即

Uo=(1)





图3-3单相桥式整流电路波形





UO==8.1V(公式二)

由面公式可以知道,我们在选择电容时,应选取耐压值大于8.1V的电容。并且我们对所选择的电容耐压值应该留有20%余量,故我们应该选取10V左右耐压值的电容,所民我们选取市场上常用的耐压16V系列的电容。

二极管正向平均电流:

桥式整流电路两组整流二极管交替导通,由上较长的波形图可以看出,流过每个二极管的平均电流等于输出电流的一半。即

(公式三)

滤波电容和整流二极管的选择,在未加滤波电容之前,整流二极管有半个周期处于导通状态,二极管的导通角θ=。而接入滤波电容后,二极管只在电容器充电时才导通,导通角θ<。由于滤波后输出平均电流增大,而二极管的导通角反而减小,所以流过二极管的瞬时电流很大。这对管子的寿命极为不利。因此必须选用较大容量的整流二极管。通常应选择其电大平均整流电流IF大于负载电流IO的2-3倍。

所以我选取最大整流电流为1A的整流桥。这样可以满足负载电流。

整流滤波后的直流电压UI接在输入端和公共端之间,在输出端可以获得稳定的输出电压UOUT,正常工作时,输入输出电压差为2-3V。上图中电解电容C20和C5的作用是改善负载的瞬态响应,瓷片电容C22和C6主要是抵消因为长线传输引起的电感效应;

一个发光二极管的导通时,电流通常为1mA到20mA之间,电流越大,发光二极管越亮。但寿命也会相应的缩短。在设计时,综合考虑,让二极管的工作电流为10mA,若我们采取行或列扫描,每行有16个LED,若16个全部亮时,其工作的电流为

Imax=16×Iled=160mA(公式四)

而我们选取的7805最大输出电流为1A,瞬时输出最大电流为1.5A,其提供的电流远大于电路所需的电流,所以7805可以满足整个电路的供电要求,故我们选取7805作为整个电路的稳压器。

7805稳压器的输入输出压差Uc=Uin-Uout为2V左右,根据串联型稳压电路的特性可知,在7805上消耗的功率我们可以估算出来

P7805=UC×Imax=(Uin-Uout)×Imax≈0.36W(公式五)

由于电流很小,所以发热量也很小,故我们不必要加散热片,利用7805自身的散热就可以让其正常的工作。



3.2单片机主控电路





图3-4单片机主控电路图

本系统主要采用AT89C51单片机,AT89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SHcp的上升沿输入到移位寄存器中,在STcp的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE为低电平,存储寄存器的数据输出到总线。

8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。



图3-5M74HC595脚路图

表1-2M74HC595引脚说明

符号 引脚 描述 Oo~O7 1~7 并行数据输出 GND 8 地 Q7’ 9 串行数据输出 SRCLR 10 主复位(低电平) SRCLK 11 移位寄存时钟输入 RCLK 12 存储寄存时钟输入 CE 13 输出有效(低电平) SER 14 串行数据输入 VCC 16 电源 8位串行输入/8位串行或并行输出存储状态寄存器,三种状态输出寄存器(三态输出:就是具有高电平、低电平和高阻抗三种输出状态的门电路)可以直接清除100MHz的移位频率。

595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。



行扫描驱动器主要以74HC595构成,由于595只能输出Q0-Q7共8个输出端,而我们现在要做一个16×16点阵的行扫描,所以必须用2片74HC595级联使用。这样就可以达到扫描输出16行了。其级联的电路如下。



图3-674HC595级联电路图

将2片595级连,其中第一块595的SRCLK与RCLK和第二块的连在一起,这样可以共用一个时钟信号和一个数据锁在信号。通过查阅74HC595的芯片资料,我们得知它的输入输出数据的方式为串入并出类型。

当我们想让第一行显示时,串行数据从SER脚输入经过64个SRCLK时钟周期之后,发送到74HC595中,同时控制它的RCLK脚,输出一个锁存信号。这样刚才输入的数据就被存到了74HC595中。

只要我们让使能脚置低电平,这样就可以把刚才存入的数据经过D0-D7送出来了,输出为8位并行方式。从而实现了串入并出。



3.4列扫描驱动电路设计





3.4.1 74LS154简介



74LS154为4线-12线译码器,当选通端G1G2为低电平时,可将地址端(ABCD)的二进制编码在一个输出端以低电平译出。

若将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154还可以作为,1-16线数据分配器。





图3-774LS154芯片引脚图

其中,A、B、C、D为译码地址输入端。(低电平有效)G1G2为选通端(低电平有效),0-15为输出端(低电平有效)



3.4.2列驱动电路





图3-8列驱动74HC154电路图

列驱动电路主要采用了一片74LS154,由于我们要占用全部的输出口,所以G1G2都必须接低电平。A、B、C、D分别接到单片机的P0.4-P0.7。

74LS154是4线输入,状态,按照其翻译成对应的输出信号。在图1中,74138是一种线—线译码器,个输入端共有种状态组合(000—1111),可译出个输出信号0—D15。有个使能输入端,当与G均为0,译码器处于工作状态,输出低电平。当译码器被禁止时,输高电平。

注:

H-----高电平

L------低电平

×------高阻态

由于点阵里面是发光二极管组成的,其工作时的压降约为1.7V,工作时的电流约为1mA-30mA,74LS154在连接点阵时,必须要考虑点阵正常工作时的电压与电流。

74LS154输出端为高电平时约为5V,若直接接到点阵上,可能会引起流过LED的电流过大而烧掉,所以我们必须得加限流电阻。

LED工作时的电流与亮度有关,电流越大时,亮度越高。但当电流过大时会烧掉,所以我们必须在保证不被烧掉的情况下让亮度尽量亮一些。

LED的驱动方式一般有两种,一种为静态驱动,另外一种为动态扫描驱动。

静态驱动就是给单独每一个LED供电。这样每个LED都有足够的电流,亮度也相应的比较高。

动态扫描驱动就是把本来供给一个LED灯的电流,同时分给了N个灯,所以它的亮度会有所降低。当然在同时供给两个led灯电流时不是平均的分配电流,而是电流不断地在两led间扫描,其扫描频率达到了每秒钟100次,也就是说电流在1/100秒内是供个其中一个led,在下一1/100秒内是供给了另一个led。其实这两个led是在不断的亮灭,只是人眼的视觉暂留效果让我们察觉不到它们在不断的亮灭,只要扫描频率达到了每秒64次以上,人眼就分辨不出来了。

由上面的分析可以得到限流电阻R的值

(公式六)

若我们想让这个1616点阵的每个LED工作时的电流ILED为2mA.Uled为正常工作时的电压取1.7V。则我们可以得出限流电阻的取值为

(公式七)

所以我们选取100欧的限流电阻。这样每个LED工作时的电流约为2mA.在保证LED能亮的同时不会被烧坏。



3.5点阵连接图





3.5.18×8点阵简介







图3-98×8共阴型点阵图



对于共阴型的8×8LED点阵而言,每列LED的阴极连接在一起,即为列脚,每行LED连在一起,即为行引脚。通常是站在列的角度来看,所以称为“共阴极型”,若要点亮其中的LED,则列的信号与行的信号要有交集。

例如。要第1列,第2行的的LED亮,则必须将第一列引脚接到GND,第二行的引脚接VCC,这样才能形成一个正向回路,LED才会亮。对于共阴极型的数码管,列引脚必须采用低电平扫描,而行引脚则为高电平信号。





图3-108×8共阳型点阵图

对于共阳型的8×8LED点阵而言,每列LED的阳极连接在一起,即为列脚,每行LED连在一起,即为行引脚。通常是站在列的角度来看,所以称为“共阳极型”,若要点亮其中的LED,则列的信号与行的信号要有交集。

例如。要第1列,第2行的的LED亮,则必须将第一列引脚接到VCC,第二行的引脚接GND,这样才能形成一个正向回路,LED才会亮。对于共阳极型的数码管,列引脚必须采用高电平扫描,而行引脚则为低电平信号。



3.5.216×16点阵连接图



图3-111616点阵连接图



上图为4块8×8组成的16×16点阵原理图,上图的列COL1-COL16接到74LS154的输出端,行ROW1-ROW16接到74HC595的输出端。

16×16点阵的扫描方式必须配合锁存信号,例如要显示第一扫描线,则先送入上面部分的显示信号,再对上面部分的锁在器送一个正脉冲,即可将该信号锁在该锁在器里面不受影响;紧接着,下面部分的显示信号再对下面部分的锁存器送一个正脉冲,即可将该信号锁在该锁存器里而不受影响。最后送出该列的扫描信号,即可显示该列的16个LED。

第四章系统软件设计



4.1软件设计总体框图

















图4-1软件设计总体框图



4.2软件设计环境与思路



本次毕业设计主要在KeiluVison3下采用C语言来编写程序。KeiluVison3可以进行C语言,汇编语言,的编译。并可以进行软件设计与仿真。编译之后生成的.HEX文件可以下载到单片机里面。同时我们也可以配合Protues仿真软件进行仿真。这样可以缩短我们程序的调试时间,及时发现我们程序中的不足之处。

我们可以把整个程序分成4个模块来说:

首先我们应该写书显示字符程序,用点阵取模软件,将所需要的字转化为一个一维数组;



图4-2字模提取

第二、我们可以书写显示字符的静态显示程序,将这些字符静态显示出来;

第三、当静态显示完成后,我们可以试着将静态显示变为动态显示,例如,将字符向左移动,或向右移动,向上移动,向上移动等方式。这样便可以实现一个16×16显示多个字符;

第四、将以上三步的程序进行整合,缩合调试,最后得出系统的总体程序。



4.2.116×16静态显示程序设计

































NO





YES



NO





YES





图4-3LED静态显示程序流程图



上面流程图主要是让单片机控制16×16点阵静态显示2个字。让第一个字静态显示一定的时间,然后再显示第二个字,依次轮流显示。

首先,在keiluvison3里面建立项目工程文件,然后开始编写程序。然后打开点阵取模软件,将我们所要显示的2个汉字取模。

显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第i列对应的行数据为数组中的第i和第i+16个元素。将对应元素的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与0X01相与,所得结果通过单片机端口输出到串并转换器端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各列来显示所需画面。

×16动态显示程序设计

































NO





YES



NO





YES





图4-4LED动态显示程序流程图

若要将文字或图形在LED占阵里左右移动,只要以不同的顺序显示其编码即可。对于1616的点阵,其左移就是显示8个不同的字型。首先扫描第一个字型,同样是16行,16次扫描,16次显示;完成第一个字型后,再扫描第二个字型;完成第二个字型后,再扫描第三个字型。以此类推,即可产生该文字字型或图形左移的感觉。



4.2.3主程序设计

主程序主要将前面的程序进行整合,根据功能需求与电路结构,在KeilC里面编写程序进行编译,以产生.hex文件。然后进行软件调试/仿真。看其功能是否正常,若有错误或非预期状态,则检查源程序,看哪里出了问题,并进行修改。若在线仿真功能正常,则将程序与仿真软件相结合再进行调试



















































YES





YES NO







图4-5主程序设计流程图



第五章系统仿真与调试

5.1仿真软件protues简介

Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:

(1)原理布图

(2)PCB自动或人工布线

(3)SPICE电路仿真

特点:

(1)互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

(2)仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。

图5-1Protues系统界面



智能原理图设计(ISIS)

丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。

完善的电路仿真功能(Prospice)

ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。在PROTUES绘制好原理图后,调入已编译好的目标代码文件:.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表。随着科技的发展“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。

图5-1静态仿真图

在静态仿真完成后,我们进行了动态字体仿真,主要是让字体左移。其仿真的效果如下所示



图5-2动态仿真图





图5-3动态仿真抓拍图

在仿真的过程中,我们发现由于前面的程序没处理好,导致在仿真的过程中字有拖影。

如下图所示,由于程序没有处理完好,所以出现了此种现像。



图5-4拖影图和正确图比较

问题的原因。通过网上查找资料,我们得知出拖影的原因主要要有以下几个方面

关闭显示。(黑屏,如果不关闭显示就切换,内容就会瞬间重叠,拖尾,闪烁)

同时切换行和列,必须要在列切换前关闭行列切换后再开行显。



5.3硬件系统调试



做硬件焊接完成之后,我们必须对硬件进行调试,发现其中可能存在的问题,并对其进行改进。

1.硬件调试的方法:

方法一:用万用用表和其它仪器仪表进行检测

方法二:采用软件测试硬件的方法进行检测



方法分析:

这两种方法各有优点,方法一能直接准确的确定元件的故障所在点,并直接进行故障排除。但是此方法必须对元件进行一一检测,检测的过程非常慢。对于一个大系统和元件比较多的电路来说,此种方法不适合。

方法二用软件来控制硬件,编写某一电路的控制程序,看这部分的电路的运行结果是否与书的软件控制的效果一致。如果不一致,则证明这部分电路有问题。这种方法可以迅速的判断某一部分电路的故障,对于大系统来说,这种方法可以缩小故障的范围,再对所出现的故障进行排除,节约系统调试的时间。

在16×16点阵系统中,我们把电路分成几个小模块,采取方法一和方法二相结合的测试方法进行测试。

2.测试步骤:

1.用万用表对电路中的电源线进行测量,我们先用万用表的蜂鸣档,将万用表的红黑表笔接到电路电源线进行测量,若发现蜂鸣器响,则证明电源线有短路。如蜂鸣器没有响,则证明电源线无短路现象。

2.再用蜂鸣档对单片机的电源、晶振、复位等电路进行测量,看有没有连接好。若连接正常,则对系统进行通电。通电前先拨出单片

3.测量单片机的工作电压。看是否正常,若不正常。再用万用表进行检测,排除电源故障

4.若电源工作正常,插上单片机。编程控制,让所有点阵都亮,测试各元件有没有正常工作。



5.4软件系统调试



软件调试是建立在硬件调试的基础之上的。调试完硬件之后,我们就开始编写程序,对程序进行调试。我们先画出程序的流程图,然后根据流程图来编写程序。

程序编写调试方法:

方法一:根据流程图,直接编写。

方法二:先编写部分模块的程序,再对模块程序进行整合。

方法分析:

方法一中直接根据流程图写,适合小规模的程序,对于大规模的程序不适合,且程序的可移植性差。

方法二中可以移植相似的程序,节约程序编写的工作量。对于大规模的程序比较适合。程序的编写也相对比较轻松。可以节约程序的编写时间。

在本系统中,我们采取方法二来进行软件的编写与调试。

第六章结论

在前面的学习和设计的过程中,我首先设计了硬件电路原理图,包括电源模块,单片机模块,行扫描模块,列驱动模块。在设计这些模块时,遇到了一些参数的选取,要通过一定的理论计算才可以得出元件的参数。在设计电源模块时,计算了二极管参数的选取,稳压芯片的功耗与热稳定性分析,电解电容与瓷片电容在电源电路中的作用,以及整个电路功耗和估算。在设计单片机模块时,分析了单片机最小系统,它主要由三个部分组成,电源、晶振,复位。只有当这三个条件同时满足时,单片机才会正常工作。行扫描模块中主要介绍了74HC595这个芯片的工作原理与硬件电路设计。列扫描模块中主要介绍了74LS154的原理与原硬件电路中限流电阻的计算分析。

软件设计首先确定了软件设计的环境设计思路,画出了设计的框图。然后编写了静态的显示程序,动态的显示程序,最后对这两个程序进行整合,得出了最终的程序。

为验证整个硬件电路与程序的正确性,我用仿真软件protues对整个电路进行了仿真,仿真中发现字体的拖影现象,我通过上网查找资料,发现了问题的所在。利用仿真软件,我完成了整个电路的软件调试工作。然后再利用万用表,配合程序实现硬件检测与调试。





参考文献:

[1]高胜东,梁采,张宏富.<<一种LED大屏幕显示系统[J]》.成都气象学院学报.1998,(03):108-120.

[2]关积珍.《LED显示屏发展状况及趋势[J]》.世界电子元器件.2000,(02):277-301.

[3]陈玉华,王铭霞.《LED大屏幕显示电路的设计[J]》.大连海事大学学报.1997,(03):55-56.

[4]王亭,李瑞涛,宋召清.《在Windows下PC机和单片机的串行通信[J]》.微型机与应用.2000(1):25-27.

[5]缪思恩.《LED大屏幕显示电路设计[J]》.电子技术应用.1996,(08):56-77.

[6]张全福.《汇编语言程序设计实验教学改革与探索》.教学研究.2005,(06):3-5.

[7]彭宁,只佩华.《单片机对LED大屏幕显示的控制系统[J]》.河北大学学报(自然科学版).1993,13(3):86-89.

[8]卢弥坚.《主从分布式LED大屏幕显示系统[J]》.电脑与信息技术.1997,(04):6-13.

[9]郑刚,李宇成.《LED大屏幕显示系统的设计[J]》.北方工业大学学报.2001,(03):43-47.

[10]李元生.《LED光柱专用驱动器[J]》.家庭电子.2005,(04):1-7.

[11]DaveJackson.《关于DSP芯片的问与答》.今日电子.1998,(12):1-7.

[12]文哲雄.《用单片机控制LED显示屏[D]》.佛山科学技术学院,1995.

[13]陈新忠.《基于RS232总线的单片机多机通信软件设计[J]》.现代电子技术.2002,(03):56-78.

[14]乔世杰.《小波图像编码中的对称边界延拓法[J]》.中国图像图形学报.2000,5(9):725-729.

[15]李桂平.《LED屏幕显示器的设计[J]》.零陵师范学院学报.2002,(9):367-380.

[16]Marston.Radio-Electronics,WorkingwithLEDdisplaydrivers[J].Mar1992,Vol.63Issue3,65,8p,3charts,23diagrams;(AN9206290756).

[17]DavidFRogers.Computergraphicsalgorithm[M].Beijing:ChinaMachinePress,2002:97-99.

[18]JeyamkondanS,JayasDS,HollyRA.16x16dotmatrixLEDhas4mmprofile.ElectronicsWeekly,11/26/2003Issue2125,36-36,1/9p,1c;(AN11842012).

[19]Regenold,Stephen.LEDsAreStillPopular(andImproving)afterAllTheseYears[Z].Sep2004,Vol.18Issue9,44-44,1/7p,1c;(AN14525210).





附录一:程序





#include

#defineSCANPP1

#defineuintunsignedint

#defineucharunsignedchar

sbitDS=P3^4;//74HC595的数据串行输入端口SDI

sbitST=P3^7;//74HC595并行输出使能LCK

sbitSH=P3^6;//74HC595移位寄存器移位使能SCK

ucharcoded[]={

0x00,0x00,0x22,0x08,0x22,0x0C,0x3F,0xF8,0x62,0x10,0x22,0x10,0x7F,0xFF,0x49,0x22,

0x49,0x24,0x49,0x00,0x49,0xFE,0x49,0x11,0xFF,0x21,0x40,0x41,0x00,0x07,0x00,0x00,//琨



0x00,0x20,0x01,0x20,0xFF,0xA0,0x11,0x20,0x12,0x20,0x12,0x20,0x14,0x20,0x00,0xFF,//毕

0xFE,0x20,0x11,0x20,0x11,0x20,0x21,0x20,0x21,0x20,0x07,0x60,0x00,0x20,0x00,0x00,



0x00,0x02,0x08,0x02,0x06,0x02,0x01,0xE2,0x00,0x02,0xFF,0xFE,0x00,0x02,0x00,0x02,

0x00,0x02,0xFF,0xFE,0x00,0x22,0x00,0xC2,0x03,0x02,0x0C,0x06,0x00,0x02,0x00,0x00,//业



0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x02,0x40,0x01,0x47,0xFE,

0x44,0x00,0x48,0x00,0x50,0x00,0x60,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00//了

};

voiddisplay();

voiddelay1ms(uint);

voidSendByte(uchardate);

//主函数//

voidmain()

{ uchari,k;

uintj;

while(1)

{ for(j=0;j<352;j=j+2)

{ for(k=0;k<2;k++)

{ for(i=0,SCANP=0;i<32,SCANP<16;i=i+2,SCANP++)

{ SendByte(d[j+i]);

SendByte(d[j+i+1]);

display();

delay1ms(1);

}

}

}

}

}

//延时子程序//

voiddelay1ms(uinta)

{ uinti,j;

for(i=0;i
for(j=0;j<120;j++);

}

////

voidSendByte(uchardate)

{ uchari;

for(i=0;i<8;i++)

{

if(date&0x80)DS=1;//将date最高位移到74HC595的移位寄存器

elseDS=0;

ST=0;

SH=1;//SH上升沿时移位

SH=0;

date=date<<1;//左移一位,将送出第二位数据

}

}

////

voiddisplay()

{

ST=1;

ST=1;

}







































附录二:总电路图













































ThesofthardwareofLEDdiagramtextmonitorcarriesout



ZhangPeipei

BinjiangCollege,NanjingUniversityofInformationScience&Technology,Nanjing210044



Summary:LEDtechniqueofdevelopdaybyday,makeitproduceindailylifeandindustryinofapplicationmoreandmoreextensive,LEDandtraditionallightsourcecompare,itachievementconsumelow,lifespanlong.LEDeconomizesonenergyalight,LED''sadvertisingacardhasbeenveryfamiliarinourlife.Thisdesignis16×sat16:00thedesignoftheLEDelectronicsmonitor.ThethisLEDmonitormainlytakesAT89S52ascoreandpassestheactuator74LS154softhechip''s74HC595sandalinetodriveamonitortoshow.Adopt4piecesof8xeses8:00LEDshowmoldpiecetoconstitutesa16the×s16pointsofmonitors.Showawayadoptiondynamicstatesuggests,makesketchorwritingabletocarryoutstatic,movegointomoveavarietieslike,etctoshowaway.

Keywords:89s52LEDlatticedisplaydynamicdisplay



建议如下:

1、5和6两章合并“系统仿真与调试”。

2、目录中,参考文献以后不需要再编章节。

2、全文1.25倍行距,请修改。



答:已经修改



2







电源







1616点阵



列驱动信号



行扫描信号



74LS154



74LS595



单片机



主程序



显示字符程序



动态显示程序



静态显示程序



从第一个字型开始



下一个字型



2个字型



16列



读取数组

输出

延迟



申明字型数组变量与函数



开始



从第一个字型开始



下一个字型



2个字型



16列



读取数组

锁存Hi锁存Lo

输出扫描信号



开始



申明字型数组变量与函数



开始



重复次数完成



数据输送完成



输出数据



声明变量

函数

定义字模数组



扫描信号

显示信号







献花(0)
+1
(本文系毕业论文大...首藏)