08级独立本科机电一体化 - - LED静态点阵设计 - 毕业论文 - 图

更新时间:2024-05-22 03:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

湖北省三峡大学

毕 业 设 计(论 文)

题 目:智能

系 部:班 级:姓 名:指导老师:时 间:LED显示屏系统设计及制作

机电工程系 08机电一班 * * * * * * 2010年10月5日

毕业设计(论文)课题任务书

( 2009 ----2010学年)

课题名称 学生姓名 指导教师 课题概述: 李宏亮 胡金新 智能LED显示屏系统设计及制作 专业 机电工程学院08级 机电一班 任务书下达时间 学号 053008211046 2010年04月 本设计是一16×80点阵LED电子显示屏的设计。 LED大屏幕显示系统,以美国Atmel公司生产的40脚AT89S52单片机为核心,由键盘显示、与非门、外部锁存器、LED大屏幕显示等功能模块组成。基于题目基本要求,本系统对时间显示和大屏幕显示进行了重点设计。此外,扩展单片机外围接口、逐排显示,与非门等功能。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。 通过该芯片控制一个行驱动器 74HC154和十个个列驱动器74HC595来驱动显示屏显示。该电子显示屏可以显示各种文字或单色图像,全屏能显示5个汉字,采用20块8×8点阵LED显示模块来组成16×80点阵显示模式。显示采用静态显示,使得图形或文字能够实现静止的显示方式。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明。 单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。 LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。 经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。 关键词:AT89S52单片机;LED;点阵显示;静态显示;汇编语言

- 1 -

摘 要

LED大屏幕显示系统,以AT89S52单片机为核心,由键盘显示、与非门、外部锁存器、LED大屏幕显示等功能模块组成。基于题目基本要求,本系统对时间显示和大屏幕显示进行了重点设计。此外,扩展单片机外围接口、逐排显示,与非门等功能。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。

本设计主要以AT89S52单片机为核心,采用串行传输、静态扫描技术,制作一款拥有PC机通信功能的,模块化LED多功能显示屏。

关键词:AT89S52、LED、16×80点阵、单片机

- 2 -

目 录

绪论 ............................................................5 第一章 选定方案

1.1 确定方案 ..............................................6 1.2 单片机的确定 ..........................................7 1.3 显示部分 ..............................................7 1.4 芯片选择 ..............................................7 1.5 电源选择 ..............................................7

第二章 单片机概述

2.1 AT89S52单片机的结构 ..................................9 2.2 管脚说明..............................................9

第三章 系统整体方案

3.1 需要实现的功能.......................................10 3.2 显示模式方案论证.....................................10

第四章 系统硬件电路的设计

4.1 整体模块设计.........................................11 4.2 电源电路设计.........................................11 4.3 单片机最小系统电路...................................12 4.4 列扫描电路...........................................13 4.5 行控制电路...........................................13 4.6 LED显示器电路 .......................................14 4.7 总体硬件电路设计.....................................15

第五章 系统程序的设计

5.1 主程序流程图.........................................17

5.1 显示驱动程序.........................................17

第六章 调试及性能分析

- 3 -

6.1 软件调试 ............................................22 6.2 硬件调试 ............................................23 6.3 性能分析 ............................................24

总结 ...........................................................24 致谢 ...........................................................24 参考文献 ......................................................27 附件一 .......................................................27 附件二.........................................................30

- 4 -

绪论

本系统采用单片机AT89S52为LED显示屏的控制核心,制造一种简单的16×80汉字显示屏设计。内容包括软件设计、LED显示屏的硬件电路、汇编语言程序设计与调试等方面,涉及到单片机电子产品设计及制造工程中的各个环节,有助于广大学者进一步的学习、了解汉字点阵显示原理,认识单片机的基本结构、工作原理及应用方法,提高单片机知识的运用能力

LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。

LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。

目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种LED显示屏——可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。

本设计是基于单片机(AT89C51)讲述了16×80 LED汉字点阵显示的基本原理、硬件组成与设计、程序编译与下载等基本环节和相关技术。

- 5 -

第一章 选定系统方案

1.1 确定方案

本设计要求用单片机控制一个16×80点阵显示屏,完成相应的汉字显示。 根据此要求设计者提出了三种如下相应的设计方案: 方案一:

PWM(脉宽调制)技术是一种传统的调光方式,它利用简单的数位脉冲,反覆开关LED驱动器,系统只需要提供宽、窄不同的数位式脉冲,即可简单地实现改变输出电流,从而调节LED的亮度。该技术的优点在于能够提供高品质的白光,以及应用简单,效率高。

方案二:

DSP(digital singnal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍。DSP器件还提供了高度专业化的指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。此外,DSP器件提供JTAG接口,具有更先进的开发手段,批量生产测试更方便,开发工具可实现全空间透明仿真,不占用用户任何资源。芯片内置544字的高速SRAM。外部可寻址64K字程序/数据及I/O,令周期在25ns~50ns之间,实时性处理比16位单片机快2倍以上,可取代一般的单片机。TMS320F206除了具有TMS320C203的功能外,内置32K字零等待快闪存储器,可满足单片设计的要求,能最大限度减少用户板的体积。软件配有汇编/链接C编译器、C源码调试器。

方案三:

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

方案一 致命的缺点是容易产生电磁干扰,有时甚至会产生人耳能听见的杂讯,所以排除。 方案二 DSP价格相比其它几种较贵,所以被淘汰

方案三 单片机相比其它两种方案,价格便宜且好汇编程序,更适合本次方案。

因为考虑到方案要求低,只需要显示静态汉字,再加上单片机成本低廉且符合方案要求,故选择方案三

- 6 -

1.2 单片机的确定

我国目前常用的单片机的研制厂家有如下:

Intel公司 (MCS51系列,MCS96系列)

Atmel公司 (AT89系列,MCS5内核) Microchip 公司(PIC系列) Motorola 公司 (6HCXX系列) Zilog 公司 (Z86系列)

Philips 公司 (87,80系列,MCS51内核) Siemens 公司 (SAB80系列,MCS51内核) NEC 公司 (78系列) Epson 公司 (EOC88系列)

方案一:AT89C51单片机是这几年在我国非常流行的单片机,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammable and Erasable Read Only Memory)高性能单片机,可擦除只读存储器可以反复擦除100次,具有低功耗、高性能的特点,并且可与工业标准的MCS—51指令集和输出管脚相兼容,对于论文中需要实现的功能,完全可胜任。

方案二:AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,

看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器8K 字节在系统可编程

他们是8051的内核,只不过52的内部资源比51稍多,比如增加了一个16位的计数器T2,当然相应的特殊寄存器(SFR)也有了一点变化,另外52的内存也从51的128字节提高到了256字节,ROM也从2K提高到4K,可以装下更大的程序。S52比C51还增加了ISP功能,就是在线可编程功能,这可是很有用的功能,对于买不起仿真器或希望能板上调试(就是插在成品电路板上调试)的人来说十分有价值,你可以随时更新插在电路板上的单片机的程序,十分方便。

故综合市场情况与常接触的单片机型号,论文中采用AT89S52单片机。

1.3显示部分:

LCD液晶显示器的优点:微功耗、尺寸小,超薄轻巧、显示信息量大、字迹清晰、美观、视觉舒适。使整个控制系统更加人性化。

LCM301液晶显示器,其是串行口显示,所需I/O口较少,节省了资源,焊接电路时也较为方便。

- 7 -

但以上两种因为成本太高,所以我们采用LED二极管,也能达到预期效果。

LED的发光颜色和发光效率与制作LED的材料和工艺有关,目前广泛使用的有红、绿、蓝三种。由于LED工作电压低(仅1.5-3V), 能主动发光且有一定亮度,亮度又能用电压(或电流)调节,本身又耐冲击、抗振动、寿命长( 10万小时),所以在大型的显示设备中, 目前尚无其他的显示方式与 LED显示方式匹敌。 把红色和绿色的 LED放在一起作为一个像素制作的显示屏叫双基色屏或伪彩色屏;把红、绿、蓝三种LED管放在一起作为一个像素的显示屏叫三基色屏或全彩屏。制作室内 LED屏的像素尺寸一般是2-10毫米,常常采用把几种能产生不同基色的LED管芯封装成一体,室外LED屏的像素尺寸多为 12-26毫米,每个像素由若干个各种单色LED组成,常见的成品称像素筒或像素模块。LED显示屏如果想要显示图象,则需要构成像素的每个LED的发光亮度都必须能调节,其调节的精细程度就是显示屏的灰度等级。灰度等级越高,显示的图像就越细腻,色彩也越丰富,相应的显示控制系统也越复杂。在当前的技术水平下, 256级灰度的图像,颜色过渡已十分柔和,图像还原效果比较令人满意。

1.4芯片的选择

方案一:采取并口输入,占用大量I/O口资源

方案二:选取串口输入,使用较少。74HC595有8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。8位串行输入, 8位串行或并行输出存储状态寄存器,三种状态输出寄存器可以直接清除 100MHz的移位频率, 输出能力,并行输出,总线驱动。串行输出,标准,中等规模集成电路。

综合以上比较,我们选取74HC595来驱动LED点阵。

1.5电源选择

78L05是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合.象牵涉到单点稳压场合需要限制噪声和解决分布问题的在-卡调节.此外它们还可以和其它功率转移器件一起构成大电流的稳压电源,如可驱动输出电流高达100毫安的稳压器.其卓越的内部电流限制和热关断特性使之特别适用于过载的情况.当用于替代传统的齐纳二极管-电阻组的时候,其输出阻抗得到有效的改善,其偏置电流大大减少。

8550参数: 集电极-基极电压Vcbo:-40V 工作温度:-55℃ to +150℃

由于AT89C51的额定工作电压为5V;74HC154额定工作电压为5V;16*16LED驱动电流为0.4A,所以16*80的驱动电流是为2A。

二极管的驱动电压是1.6~1.8v,所以一个二极管需要串联一个电阻降压R=U/I得R=5—1.8/2=1.6。整个16*80的LED需要串联1000欧的电阻。采用8550

- 8 -

第二章 AT89S52单片机概述

2.1 AT89S52单片机的结构

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C52 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,

2.2 管脚说明

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个

- 9 -

TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)

时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),

- 10 -

EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。 FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

第三章 系统整体方案

3.1 需要实现的功能

此次需要实现的功能是利用一个AT89C51、一个74HC154、10个74HC595、20个16*80LED点阵,静态显示“机电工程系”5个字

3.2 显示模式方案论证

显示部分是本次设计最核心的部分,对于LED8*8点阵显示有以下两种方案:

方案一:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示L ED 无电流,即暗状态;若为1 则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有L ED 的状态保持到下一幅画。对于静态显示方式方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。

方案二:动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间≥1m s 时, 显示亮度较好, 无闪烁感.。

鉴于上述原因, 我们采用方案一

第四章 系统硬件电路的设计

系统硬件部分电路大致上可以分成电源电路、单片机最小系统电路及外围电路、列扫描电路、行扫描电路和LED显示屏电路五部分。

4.1整体模块设计

本设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如下图2.1所示:

- 11 -

列驱动器 单 电源 片机行驱动器 16×16LED点阵显示屏 AT89S52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8KB可反复擦写的Flash只读程序存储器和256 字节随机存取数据存储器。该器件采用ATMEL公司高密度、非易失性存储技术制造,兼容标准MCS-51指令系统,灵活应用于各种控制领域。AT89C51单片机最小系统电路由复位电路、晶振电路两部分组成。

AT89C51单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。复位电路产生的复位信号(高电平有效)由RST引脚送入到内部的复位电路,对AT89C51单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使AT89C51单片机可靠复位。AT89C51单片机复位电路如下图2.3所示:

复位电路工作原理:

- 12 -

图2.1 系统结构设计总图

图2.2 电源电路

4.3单片机最小系统电路

图2.3复位电路图 图2.4 晶振电路图

4.3.1复位电路

上电瞬间RST引脚的电位与VCC等电位,RST引脚为高电平,随着电容C3充电电流的减少,RST引脚的电位不断下降,其充电时间常数为T=R3*C3=100ms,此时间常数足以RST引脚在保持为高电平的时间内完成复位操作。

当单片机已在运行当中时,按下复位键S5后再松开,也能使RST引脚为一段时间的高电平,从而实现AT89S52单片机复位。

4.3.2 晶振电路

晶振电路如上图2.4所示:

XTAL1和XTAL2是片内振荡电路输入端,这两个端子用来外接石英晶体和微调电容,即用来连接AT89S52单片机片内OSC的定时反馈回路。晶振起振后要能在XTAL2端输出一个3V左右的正弦波,以便使片内OSC电路按晶振相同频率自激振荡。通常,OSC的输出时钟频率FOSC为6MHZ—16MHZ,典型值为12MHZ或11.0592MHZ。电容C1和C2帮助晶振起振,典型值为30pf,调节它们可以达到微调FOSC的目的。本系统中,晶振为12MHZ,C1=C2=20pf。

4.4 列扫描电路

列扫描电路由集成电路74HC595构成如图2.5所示,列的处理信号有三个,SER、SRCLK、RCLK,SER做为列移位寄存器的输入,SRCLK是移位时钟,RCLK做为锁存时钟当将16个位数据在SRCLK的脉冲作用下移位寄存器后,就可以开启RCLK时钟,使寄存器的数据存入锁存器,因使能脚接0使能,数据直接输出Q端,Q端数据经330欧姆的限流电阻接入点阵列脚位,即一行的数据显示。[13]

图2.5 列扫描电路原理图

4.5 行控制电路

- 13 -

行控制电路如下图2.6所示:

图2.6 行驱动电路原理图

行的处理信号有AB和SCK,AB做为行移位寄存器的输入,SCK是移位时钟,AB的输入在SCK的时钟脉冲下移入寄存器,寄存器输出端Q经4.7K电阻接入三极管B极,控制三极管的导通和截止,从而控制点阵行脚位电量。每次移位的输出16个Q位只允许有一个是低电平,即是分时轮流的输出低电平是三极管导通,从而使扫描至上而下进行。本文行扫描采用的工作方式是:单片机的P2^3不断的向单片机一位一位的(即串行)发送数据,74HC154不断的接收数据并且存储起来,待到74HC154寄存器?集满?16位数据的时候,再通过并行输出把数据传给点阵,发送给点阵的16位行信号与两片74HC595芯片发送的16位列信号?会合?从而产生一个汉字或其他别的图形通过点阵显示出来。

排阻RP1和RP2为限流排阻,以免74HC154的输出电流过大烧坏三极管,本文将74HC154输出的信号通过S8550三极管放大再传送给点阵行输入端,以加大扫描强度,提高点阵显示亮度。

4.6 LED显示屏电路

LED显示屏是将发光二极管按行按列布置的,在扫描驱动方式下可以按行扫描按列控制,也可以按列扫描按行控制。本文就是使用20块8×8点阵组成1块16×80点阵,采用按列扫描按行控制控制方式,扫描顺序自上而下,以满足汉字显示的要求。16×80点阵LED结构如图2.7所示:

- 14 -

图2.7 16×16点阵电路图

要实现显示动画,只需考虑其显示方式,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的驱动方式时,LED显示屏8行的同名列共用一套列驱动器。行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。

以上就是16×80点阵显示屏系统硬件部分的各功能模块分述,经过合理的设计论证后和就可以整体结合在一起,再根据设计配备好各元器件实物,通过组装后等在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。

4.7 总体硬件电路设计

在整个电路设计中,用两片8位输出锁存移位寄存器74HC595作为列扫描,用两片74LS154芯片作为行扫描,用单片机AT89S52对74HC595和74HC154进行控制和驱动

- 15 -

- 16 -

第五章 系统程序的设计

5.1主程序流程图

程序初始化 外部中断0 定时/计数 四字逐排显示子程序 四字显示 程 序 扫 描 程 序 结束显示 汉 字

5.2显示驱动程序

;显示字用查表法,不占内存,用四个16*128共阳LED点阵显示,;R2:行扫描地址(从00-0FH)。

;R3:滚动显示时控制移动速度,也可控制静止显示的时间。 ;************; ;中断入口程序; ;************; ;

- 17 -

ORG 0000H LJMP START ORG 0003H RETI

ORG 000BH LJMP INTTO ORG 0013H RETI

ORG 001BH RETI

ORG 0023H RETI

ORG 002BH RETI ;

;************; ; 初始化程序 ; ;************; ; ;

;************; ; 主程序 ; ;************; ;

START: MOV 20H,#00H MOV A,#0FFH MOV P1,A MOV P2,A MOV P3,A MOV P0,A

CLR P1.6 MOV TMOD,#01H MOV TH0,#0FCH MOV TL0,#18H

MOV SCON,#00H MOV IE,#82H MOV SP,#70H

LCALL DIS1 MAIN: MOV DPTR,#TAB

LCALL MOVDISP AJMP MAIN ; ;

;********************;

;清标志,00H为1帧扫描结束标志 ;端口初始化 ;串行寄存器打入输出端控制位

;使用T0作16位定时器,行扫描用。 ;1ms初值(12MHZ) ;串口0方式传送显示字节 ;T0中断允许,总中断允许 ;显示准备,黑屏,1.5秒 - 18 -

; 四字逐排显示子程序 ; ;********************;

;每次四字移入移出显示方式,入口时定义好DPTR值 ;

MOVDISP: MOV R1,#10 ;显示13排字,每排四字(R1=排数) DISLOOP: MOV R3,#100 ;每排显示时间1.6*100=1.6S DISMOV: MOV R2,#00H ;第0行开始

SETB TR0 ;开扫描(每次一帧)

WAITMOV: JBC 00H,DISMOV1 ;标志为1扫描一帧结束(16毫秒为1帧,每行1毫秒)

AJMP WAITMOV

DISMOV1: DJNZ R3,DISMOV ;1帧重复显示(控制显示时间)

MOV A,#160 ;显示字指针移一排(每排8字*32=256) ADD A,DPL ; MOV DPL,A MOV A,#0 ADDC A,DPH MOV DPH,A

DEC R1 ;R1为0,显示完 MOV A,R1

JZ MOVOUT ; AJMP DISLOOP ;

MOVOUT: RET ;移动显示结束 ;

;*****************; ; 四个字显示子程序 ; ;*****************; ;静止显示表中某四个字

DIS1: MOV R3,#5AH ;静止显示时间控制(16MS*#=1.6秒) DIS11: MOV R2,#00H ;一帧扫描初始值(行地址从00-0FH) MOV DPTR,#TAB ;取表首址

SETB TR0 ;开扫描(每次一帧) WAIT11: JBC 00H,DIS111 ;为1,扫描一帧结束 AJMP WAIT11 DIS111: DJNZ R3,DIS11 RET ; ;

;************; ; 扫描程序 ; ;************;

;1MS传送一行,每行显示1毫秒,一次传送四个字的某行共8个字节. ;

- 19 -

INTTO: PUSH ACC

MOV TH0,#0FCH ;1ms初值重装 MOV TL0,#18H

MOV A,#129 ;指向第八个字行右字节 ADD A,DPL MOV DPL,A MOV A,#0 ADDC A,DPH MOV DPH,A WAIT: GO: WAIT1: ;

GO1: MLOOP: WAIT2: GO2:

MOV A,#0

MOVC A,@A+DPTR ;查表

MOV SBUF,A ;串口0方式发送 JBC TI,GO ;等待发送完毕 AJMP WAIT ;

MOV A,DPL ;指向第八个字行左字节 SUBB A,#1 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A MOV A,#0

MOVC A,@A+DPTR MOV SBUF,A JBC TI,GO1 AJMP WAIT1 MOV R0,#04H

MOV A,DPL ;指向前7个字行右字节SUBB A,#31 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A MOV A,#0

MOVC A,@A+DPTR ;查表

MOV SBUF,A ;串口0方式发送 JBC TI,GO2 ;等待发送完毕 AJMP WAIT2 ;

MOV A,DPL ;指向前7个字行左字节 SUBB A,#1 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A

- 20 -

MOV A,#0

MOVC A,@A+DPTR MOV SBUF,A WAIT3: JBC TI,GO3 AJMP WAIT3

GO3: DJNZ R0,MLOOP ;执行7次 ; ;

SETB P1.7 ;关行显示,准备涮新 NOP ;串口寄存器数据稳定

SETB P1.6 ;产生上升沿,行数据打入输出端 NOP ; NOP ;

CLR P1.6 ;恢复低电平

MOV A,R2 ;修改显示行地址 ORL A,#0F0H ;修改显示行地址 MOV R2,A ;修改显示行地址 MOV A,P1 ;修改显示行地址 ORL A,#0FH ;修改显示行地址 ANL A,R2 ;修改显示行地址 MOV P1,A ;修改完成 CLR P1.7 ;开行显示

INC R2 ;下一行扫描地址值 INC DPTR ;

INC DPTR ;下一行数据地址 MOV A,R2 ANL A,#0FH JNZ GO4

SETB 00H ;R2为10H,现为末行扫描,置1帧结束标志 MOV A,DPL ;指针修正为原帧初值 SUBB A,#32 MOV DPL,A MOV A,DPH SUBB A,#0 MOV DPH,A

CLR TR0 ;一帧扫描完,关扫描 GO4: POP ACC ljmp intto TAB:

DB 0EFH, 0DFH ,0EFH, 3FH ,0ECH, 0FFH ,00H, 00H ,0EDH, 0FFH ,0EEH, 7DH ,0EFH, 0F3H ,0FFH, 0CFH;

DB 80H ,3FH, 0BFH ,0FFH ,0BFH ,0FFH, 0BFH ,0FFH ,80H ,03H, 0FFH ,0FDH ,0FFH ,0E1H, 0FFH ,0FFH;\机\

- 21 -

DB 0FFH, 0FFH ,0FFH, 0FFH ,0E0H, 0FH ,0EDH, 0DFH ,0EDH, 0DFH ,0EDH, 0DFH,0EDH, 0DFH ,00H, 03H;

DB 0EDH ,0DDH, 0EDH ,0DDH, 0EDH ,0DDH, 0EDH ,0DDH, 0E0H ,0DH, 0FFH ,0FDH, 0FFH ,0F1H, 0FFH ,0FFH;\电\

DB 0FFH, 0FBH ,0FFH, 0FBH, 0BFH ,0FBH, 0BFH, 0FBH ,0BFH, 0FBH, 0BFH, 0FBH, 0BFH, 0FBH, 80H, 03H;

DB 0BFH ,0FBH,0BFH, 0FBH ,0BFH ,0FBH ,0BFH ,0FBH ,0BFH ,0FBH, 0BFH ,0FBH, 0FFH ,0FBH, 0FFH ,0FFH;\工\

DB 0F7H, 0DFH ,0B7H, 3FH ,0B4H, 0FFH, 80H, 00H ,76H, 0FFH ,77H, 7DH ,0FEH, 0DDH ,02H, 0DDH;

DB 7AH ,0DDH, 7AH ,01H, 7AH ,0DDH, 7AH ,0DDH, 02H ,0DDH, 0FEH ,0DDH, 0FFH ,0FDH, 0FFH ,0FFH;\程\

DB 0FFH, 0FFH ,0FFH, 0FDH ,0BFH, 7BH ,0BBH, 37H ,0B2H, 6FH ,0AAH, 5FH, 99H, 7DH ,0B9H, 7EH;

DB 0BBH ,01H, 77H ,7FH, 4DH ,5FH, 7EH ,6FH, 7FH ,37H, 7FH ,0B9H, 0FFH ,0FFH, 0FFH ,0FFH;\系\ ret end

第六章 调试及性能分析

6.1 软件调试

软件调试主要是利用计算机仿真针对程序中可能存在的错误进行检测,知道得到正确的显示结果。

- 22 -

图二:

- 23 -

图三:

图四:

- 24 -

6.2硬件调试

根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。

由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:LED驱动模块的调试,数据存储模块的调试等,最后将各模块组合后进行整体测试。

1、硬件组装

在做好的PCB空板上把系统所用到的所有元器件插入到板上,进行焊接,确保无一处有虚焊、漏焊等。

2、硬件调试

首先把对各个模块的功能进行调试,主要调试各模块能否实现指定的功能。 3、软件调试

按照程序流程图在KEIL C51软件中编写好程序,在此软件中检测编写好的程序是否有误语法错误。

4、硬件软件联调

将调试好的硬件和软件进行联调,主要调试系统的实现功能。

6.3测试结果

此次系统设计结果较好,LED显示屏能很好的显示信息。LED显示屏由20块8×8的LED小模块组成,整个显示屏可以显示16×80的“机电工程系”

- 25 -

总 结

本文的点阵LED显示系统以AT89C51单片机为核心,控制点阵的显示与流动,加以设计的,可实现汉字方式循环显示,经实际应用验证,本条屏作为信息显示屏,工作稳定,字迹清晰、美观,亮度适中等优点。我们还可以灵活扩展,使字可以左右或者上下循环移动,本次设计的点阵显示屏可以在我校系部挂起,或者通过修改程序使用在其他领域中,比如医院、银行、俱乐部、出租车、商店等地方,同时本显示屏质量给与保证,经久耐用,损坏时修理方便,调理简便,价格低廉是以后社会发展广泛应用和最适宜的。

通过此次论文设计,让我学到了许多知道的和不知道的,都有提高,在单片机的选择、显示屏的组合还有各种器件的选用有了一个明确的认识,程序设计上清晰地思路,理论在实践方面的运用能力有巨大的提高。在实习以前,由于对单片机有一定的兴趣,我通过课外学习已经接触了很多概念以及设计方式,但不专业。但是通过这次深层次的学习、设计我有了一定的实践经验和理论基础,也让我可以进行更深的研究学习,再设计思路上,通过查阅资料了解了许多方法,认识到形式的多样性,模仿优秀作品是每个设计师必走之路,但是做设计必须要有自己的思想,人也要有自己的鲜明个性,久了,就成了自己的风格,风格的养成与一个人的艺术素养和个人修养有直接关系。

要拓展自己的知识面,使自己的知识系统化。知识需要接触社会的方方面面,光有书本知识是远远不够的。要求自己在以后的学习中多想,多读,多学。要求自己的写作水平一定要过硬。经验的提高,让我今后在设计时更加方便、快捷,也为毕业后的就业提供了保障,本次论文的完成,让我认识到自己很多方面的不足,知识是无穷无限的,知道的越多,就越感觉到自己的不足,自己该提升的空间就越大。在今后我要深刻对知识的理解记忆,实践操作方面要勤加练习,设计论文形式摇动的创新,勤加思考,勤快练习,不懈怠,对于知识不懂得要及时查阅资料,更要勤加积累总结。

在实践中不断对自己所学的知识进行更新,进行补充。

致 谢

毕业论文的收尾,这也意味着我在三峡职院的三年学习生活即将结束,在这三年的学习生涯中,我在学习上和思想上,操作上都受益匪浅,这除了自身的努力外与各位老师、同学、朋友的帮助、鼓励、支持分不开的,这两年多中还得到众多老师的关心支持和帮助。在此,谨向老师们致以衷心的感谢和崇高的敬意!在这里我要特别感谢胡金新老师,在写论文时,从最初的出题,到资料的收集,到写作的修改,到论文的定稿,他给了我耐心的指导和无私的帮助,

- 26 -

而他则失去了许多休息的时间,下半时都推迟到很晚,他的这种无私奉献精神令人钦佩,在此我向他表示我诚挚的谢意。

最后,我要向在百忙之中抽时间对本文进行审阅、评议的老师表示感谢

参考文献

李朝青 主编,《单片机原理及接口技术(第3版)》,北京:北京航空航天大学出版社,2005.10 张毅刚 主编,《MCS-51 单片机实用子程序设计》, 哈尔滨大学出版社, 2003.6 史光国 主编,《半导体发光二级管及固体照明》,科学出版社,2007-4-1 沈红卫 主编,《基于单片机结构的智能系统设计与实现》,电子工业出版社 黄惠媛 主编,《单片机原理与接口技术》,海洋出版社 周平、伍云辉 主编,《单片机应用技术》,电子科技大学出版社

吴金戌 沈金阳 郭庭吉 主编《8051单片机实践与应用》清华大学出版社

附件一:

74HC595芯片资料

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

8位串行输入 8位串行或并行输出 存储状态寄存器,三种状态 输出寄存器可以直接清除 100MHz的移位频率 输出能力

并行输出,总线驱动 串行输出;标准 中等规模集成电路 应用

串行到并行的数据转换 描述

595是告诉的硅结构的CMOS器件,

- 27 -

兼容低电压TTL电路,遵守JEDEC标准。

595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。

数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。

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

参考数据 符号 参数 条件 TYP HC tPHL/tPLH 传输延时 SHcp到Q7? STcp到Qn MR到Q7? fmax STcp到SHcp 最大时钟速度 CL CPD 输入电容 Power dissipation capacitance per package.

CPD决定动态的能耗,

PD=CPD×VCC×f1+∑(CL×VCC2×f0)

F1=输入频率,CL=输出电容 f0=输出频率(MHz) Vcc=电源电压

- 28 -

单位 HCt 21 20 19 Ns Ns Ns CL=15pF Vcc=5V 16 17 14 100 57 MHz Notes 1 Notes2 3.5 3.5 115 130 pF pF

引脚说明 符号 Q0…Q7 GND Q7? MR SHCP STCP OE DS VCC 功能表

输入 SHCP × × × ↑ STCP OE × ↑ × × L L H L MR ↓ L L H DS × × × H 输出 Q7? Qn L L L Q6? 功能 引脚 15, 1, 7 8 9 10 11 12 13 14 16 描述 并行数据输出 地 串行数据输出 主复位(低电平) 移位寄存器时钟输入 存储寄存器时钟输入 输出有效(低电平) 串行数据输入 电源 NC MR为低电平时紧紧影响移位寄存器 L Z 空移位寄存器到输出寄存器 清空移位寄存器,并行输出为高阻状态 NC 逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入,例如,以前的状态6(内部Q6”)出现在串行输出位。 × ↑ L H × NC Qn? 移位寄存器的内容到达保持寄存器并从并口输出 ↑ ↑ L H × Q6? Qn? 移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并输出。

H=高电平状态

- 29 -

L=低电平状态 ↑=上升沿 ↓=下降沿 Z=高阻 NC=无变化 ×=无效

附件二:

74HC154中文资料

74HC154 功能简述:

74HC154 4线-16 线译码器/解调器

·将4个二进制编码输入译成16个彼独立的输出之一

·将数据从一个输入线分配到16个输出的任意一个而实现解调功能 ·输入箝位二极管简化了系统设计 ·与大部分TTL和DTL电路完全兼容

74154这种单片4 线—16 线译码器非常适合用于 高性能存储器的译码器。当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。

- 30 -

L=低电平状态 ↑=上升沿 ↓=下降沿 Z=高阻 NC=无变化 ×=无效

附件二:

74HC154中文资料

74HC154 功能简述:

74HC154 4线-16 线译码器/解调器

·将4个二进制编码输入译成16个彼独立的输出之一

·将数据从一个输入线分配到16个输出的任意一个而实现解调功能 ·输入箝位二极管简化了系统设计 ·与大部分TTL和DTL电路完全兼容

74154这种单片4 线—16 线译码器非常适合用于 高性能存储器的译码器。当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。

- 30 -

本文来源:https://www.bwwdw.com/article/oa27.html

Top