单片机的彩灯课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、系统设计

本设计以STC89C52单片机为核心,用独立键盘控制模式的选择,STC89C52单片机接收到键盘信号后控制发光二极管以不同的模式闪烁的实验装置,用STC89C52单片机控制8个发光二极管发光,实现亮点的循环移动。通过Protel软件设计,布线排版,手工制版,并能掌握通过软件控制发光二极管的思路和技巧。这次设计重点就在于利用单片机的知识去控制系统的运行,图1-1为整体方案设计框图。

图1-1 总体方框图

1.设计要求:

a.上电复位。

b.上电后数码管消隐,LED灯全灭。

c.当按下第一个按键后数码管显示1第二个按键显示2以此类推。

d.每个按键控制不同的闪烁模式。

e.数码管显示有保持功能。

二、方案设计

本设计总体设计思路为:以STC89C52单片机为核心,用独立键盘作STC89C52单片机的信号输入,STC89C52单片机接收到键盘信号后经单片机内部软件处理后将数据输出至P1口和P0口,使8发光二极管以不同的模式闪烁,并由七段数码管显示其闪烁模式编号。在课程设计中通过Protel软件设计原理图,布线排版,用万能版(单孔)手工焊接制作出实物。

1.方案论证

方案一:采用汇编语言编程的软件的STC89C52单片机系统。

本方案设计的核心为STC89C52单片机系统,包括硬件和软件,硬件采用四位独立键盘做信号输入,STC89C52单片机进行信号处理并输出,显示部分为八个发光二级管和七段数码管,八个发光二极管采用共阴极接法,七段数码管采用共阳极的。软件采用Kell编辑的汇编语言程序,并烧写至STC89C52单片机。图2-1为方案一方框图

图2-1 方案一方框图

方案二:采用C语言编程的软件的STC89C52单片机系统。

本方案设计的核心为STC89C52单片机系统,包括硬件和软件,硬件采用四位独立键盘做信号输入,STC89C52单片机进行信号处理并输出,显示部分为八个发光二级管和七段数码管,八个发光二极管采用共阳极接法,七段数码管采用共阴极的。软件采用Kell编辑的C语言程序,并烧写至STC89C52单片机。图2-2为方案二方框图。

图2-2方案二方框图

2.方案比较

由于方案一软件部分采用的汇编语言编程较为复杂,其对STC89C52单片机硬件匹配度较高,所以其移植性也差,同时对于我来说汇编语言并不太熟练。又由于方案一八个发光二极管采用的是共阴极,七段数码管采用的是共阳极,这对编辑程序带来很大的麻烦。而方案二软件部分采用的是C语言编程,其对STC89C52单片机硬件匹配度较小,所以其移植性也好,同时对于我来说C语言比汇编语言更加熟练。又由于方案二八个发光二极管采用的是共阳极,七段数码管采用的是共阴极,这对编辑程序带来很大的方便。综上述,采用方案二更为适合。

三、系统模块设计

1.四位独立键盘

键盘为本系统的唯一信号源,由于键盘为四位,只需要四个按键即可,而STC89C52单片机有24个I/O口,故四位键盘采用独立式键盘电路,按键采用4X4按键。当按键按下时,电路接通电源负极,此时想STC89C52单片机输入一个低电平,当按键没有按下时此时电路处于悬空状态。图3-1为四位键盘电路图。

图3-1 四位独立键盘电路

2.数字显示模块

7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成数字显示,另外一个圆形的发光二极管显示小数点。当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管。

共阴极

共阳极

图3-2 7段数码管结构图

发光二极管(LED是一种由磷化镓(GaP)等半导体材料制成的,

能直接将电能转变成光能的发光显示器件。当其内部有一一电流通过时,它就会发光。

7段数码管每段的驱动电流和其他单个LED发光二极管一样,一般

为5~10mA;正向电压随发光材料不同表现为1.8~2.5V不等。

7段数码管的显示方法可分为静态显示与动态显示,下面分别介绍。

(1)静态显示

所谓静态显示,就是当显示某一字符时,相应段的发光二极管恒

定地寻能可截止。这种显示方法为每一们都需要有一个8位输出口控制。对于51单片机,可以在并行口上扩展多片锁存74LS573作为静态

显示器接口。

静态显示器的优点是显示稳定,在发光二极管导通电注一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率;缺点是位数较多时,所需I/O口太多,硬件开销太大,因此常采用另外一种显示方式——动态显示。

(2)动态显示

所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,看到的却是多个字符“同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参烽,可实现亮度较高较稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位I/O口(称为扫描口或字位口),控制各位LED显示器所显示的字形也需要一个8位口(称为数据口或字形口)

由于本设计只需一个数码管即可显示模式编号,所以本设计显示模块采用静态显示,七段数码管阴极直接与电源负极相连,段选数据(即七个阳极)与STC89C52单片机P0口连接。此设计方法电路简单,也便于软件部分的设计。图3-3为显示模块电路。

相关文档
最新文档