单片机课程设LED.docx
《单片机课程设LED.docx》由会员分享,可在线阅读,更多相关《单片机课程设LED.docx(12页珍藏版)》请在冰点文库上搜索。
单片机课程设LED
《单片机课程设计》设计报告
设计题目:
LED点阵显示控制系统设计
系别:
自动化工程系
专业:
测控技术与仪器
班级学号:
姓名:
指导教师:
张宝健吕江涛
设计时间:
2011年12月26日--2011年12月30日
一.前言
二.LED点阵显示控制系统设计
1、系统设计总体结构
2、芯片选择
3、8255A主要特性
三.硬件电路设计
1、AT89S52最小系统
2、8255A与AT89S52单片机接口电路
3、8255A驱动16X16LED点阵电路设计
四.软件设计
1、主程序设计
2、延时程序设计
3、8255A输出框图
五.调试与测试结果分析
1、实验连线
2、程序调试
3、结果分析
六.设计原理阐述
七.参考文献
八、设计总结及心得体会
附录:
程序清单
一.前言
LED点阵显示屏的设计
设计背景:
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、视频、录像信号等各种信息的显示屏幕。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏7采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、机场、商场、医院、宾馆、银行、建筑市场、工业企业管理和其它公共场所。
它的优点:
亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
设计要求:
实现16×16LED点阵上轮流显示8个汉字“东北大学自动化系”,要求显示汉字应稳定清晰,显示的方式自行设定。
系统的总体方案设计:
LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。
本设计是基于AT89S52单片机的16x16显示屏,其中包含了硬件、软件、调试、分析等方案的设计。
图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。
这个数字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。
具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
二.LED点阵显示控制系统设计
1、系统的总体结构:
2、芯片的选择:
根据实验要求和实验室实验仪器的配备,我们选择了8255A74LS244、74LS07、80C51单片机、MATRIX-8*8-GREE、
3、8255A芯片的主要技术特性:
1)如图所示是8255A芯片的引脚图:
2)8255A与CPU连接部分:
根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:
DB:
编号为D0~D7,用于8255与CPU传送8位数据。
AB:
编号为A0~A1,用于选择A、B、C口与控制寄存器。
CB:
片选信号、复位信号RST、写信号、读信号。
当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
3)与外设接口部分:
根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。
各通道的引脚编号如下:
A口:
编号为PA0~PA7,用于8255向外设输入输出8位并行数据。
B口:
编号为PB0~PB7,用于8255向外设输入输出8位并行数据。
C口:
编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当
8255工作于应答I/O方式时,C口用于应答信号的通信。
4)8255的工作方式:
8255有3种工作方式,这3种工作方式如表1所示。
方式0为基本I/O输入/输出方式,这是8255最常用,也是最基本的工作方式。
方式1为应答I/O方式,当8255工作于应答I/O方式时,上C口作为A口的通信线,下C口作为B口的通信线。
方式2为双向应答I/O方式,此方式仅A口使用,B口无双向I/O应答方式。
8255的3种工作方式的选择由8255工作方式选择字决定。
表18255的工作方式
5)工作方式选择字:
8255工作方式选择字共8位,如图所示,存放在8255控制寄存器
中。
最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。
6)C口置/复位控制字:
8255的C口可进行位操作,即可对8255C口的每一位进行置位或清0操作,该操作是通过设置C口置/复位字实现的。
C口置/复位字共8位,各位含义如图所示。
三、硬件电路设计:
1、AT89S52单片机最小系统:
2、8255A与AT89S52单片机接口电路设计:
3、8255A驱动16×16LED点阵电路设计:
8255A的控制口由A1、A0方式字选择,扩展口的0FF28H用于8255A的PA口,0FF29H用于PB口,0FF2AH用于PC口,0FF2BH用于控制口输出字选择。
四、软件设计:
1、主程序框图:
2、延时程序框图:
3、8255A输出程序框图:
五、调试与测试结果分析:
1、实验系统连线图:
2、程序调试:
软件为老师所提供提供,其原理在上一模块以作说明,在这里再作说明,软件经调试无误,直接将其下再到单片机中,看是否达到所要的效果软件部分是先参考书上的例子,然后自己根据硬件电路写程序,由于以前所学的是c语言,所以这个系统在编写程序过程中都采用c语言编写。
刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。
但是,在实际写如S52中,LED显示屏出现各种各样的乱码,通过再次认真仔细分析多次修改程序后,程序能够正常运行。
3、实验结果分析:
通过PC,P1口依次送入汉字的列点阵码,再通过PB/PA对行依次进行循环扫描,满足行扫描为高电平,列扫描为低电平的交叉处,相对应的LED灯点亮,否则不亮,由此扫描后所有被点亮的LED灯显示出不同的“字样”,它们依次循环变现为“东北大学自动化系”八个字样。
六.设计原理阐述
七、参考文献:
1、《单片机原理与接口技术》马淑华、王凤文、张美金编著,北京邮电大学出版社;
2、《微型计算机原理与接口技术》冯博琴、吴宁主编,清华大学出版社;
3、《单片机原理与接口技术课程设计指导书》东北大学秦皇岛分校自动化系实验室编著;
4、《单片机原理课程设计指导书—硬件部分》东北大学秦皇岛分校自动化系实验室编著。
八、设计总结及心得体会
通过这次制作LED点阵屏的学习让我们更加了解单片机AT89S52的应用,巩固了焊接技术,充分发挥了组员的动手能力,让我们深刻的体会到团结的力量是无穷的。
从老师告诉我们基本方案的制定时,再到制作电路焊接,最后进行程序调试。
在此期间我们遇到很多困难,组员相互讨论,有些不懂的问老师。
我们各自分工,相互协作,一次又一次品尝到了解决问题的喜悦,最终完成了要求的全部功能,我们学到了很多东西,最重要的是我们学会了一种精神————永不放弃。
还有就是做什么事都不能急。
在以后的时间里面我们会用这种精神去学习。
虽然在制作的过程中有过很多的问题,如、接线错误、程序问题。
但是组员都没有互相指责而是耐心的一起解决问题。
当看到产品制作成功时,大家都很有成就感