闪烁LED小灯的设计_第1页
闪烁LED小灯的设计_第2页
闪烁LED小灯的设计_第3页
闪烁LED小灯的设计_第4页
闪烁LED小灯的设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、闪烁LED小灯的设计一、设计要求利用单片机作为控制核心,完成功能:本设计的闪烁小灯控制器,具体要求如下:可使小灯轮流点亮,可使小灯轮流点亮、逐点点亮、间隔点亮。通 过按键来进行切换。i.i基本部分(i)主程序(2)中断程序(3)扫描子程序(4)延时程序二、实验方案与原理分析实验总体电路构造方案比较简单,主要包括键盘控制电路(用脉冲按键开关对电路 进行控制),程序控制电路和显示电路(单片机控制发光二极管的显示)。按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗 系统及典型系统等。低电压、高性能CMO8位单片机,具有丰富的内部资源:4kB闪存、 128BRAM 32根I/O

2、 口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工 的用行口,具有 4.255.50V的电压工作范围和 012MHzT作频率,使用 ST89C52 片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机 最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个 单片机。2.1、 案一利用STC89C52AB片彳故为CPU只有3.3V工作电压的STC89C52I片机,使得产品更小,更轻,功耗更低降低成本, 提升性能,原有程序直接使用,硬件无需改动。如果相关新增功能没有用到,则不需看 相应部分。用STCl供的STC-ISP.exe工具将您原有

3、的代码下载进STC相关的单片机即 可,或用通用编程器编程。另外TXD和RX比用于异步串行通信的。其实STC系歹1单片机的ISP下载线就是一 个max232E片连接STCft计算机的串行通信口。计算机把程序从九针串口送到MAX232芯片,电平转换后送进单片机的串行口,也就是TXD?口 RXD然后单片机的串行模块把数据送到程序区。方案一系统方框图如下:pi 口JE时、计数器程序存储 器中断系 统CPU(运算部件)1 特殊功能寄存, 器图1系统方框图串行口方案一的电路原理图:I. 12_MALIPDBftDOPD.1JWD1 P 口即其XIA12叩油口 3P ,地口 1 叩熟口 5P口肿口 6RST

4、P 口加 D7P2MP2.1JMP22(moPSEN吃晒1ALEP2.UW12尊P25W13P婶11 P日网5P1WT2P3WR;(DP1.1/T2KP11/TXDP12P3Z1 而PiapntTPl.iP3.P15P3 机 1P1£口3丽P1.TP葡而1!1 !29为汇_1_23321, Zs za JL2?3ID, 11 12i56T5图2方案一的电路原理图2.2、 方案二利用MSP43*片彳故为CPUMSP43咯端口具有丰富的控制寄存器供用户实现相应的操作。其中P1,P2具有7个寄存器,P3P6具有4个寄存器。通过设置寄存器我们可以实现:(1)每个I/O位独 立编程;(2)任意

5、组合输入,输出和中断;(3) P1,P2所有8个位全部可以用作外部中 断处理;(4)可以使用所以指令对寄存器操作;(5)可以按字节输入、输出,也可按位 进行操作;方案二的框图如下:ACLK基本的时钟系统SMCLK16MhzCPU16个寄存器P2 口8 个 IO 口启动看门狗电路定时寄存器JTAG 接口图3方案二系统框图2.3、 方案三框图略。利用芯片PIC16FA做为主要芯片。此芯片具有高性能 RISC CPU.仅有35条单字指令,除程序分支指令为两个周期外,其余均为单周期指令,有 14个中断源,8 个深度的硬件堆栈,也是支持直接,间接和相对寻址方式。三、方案对比利用STC89C52密片彳故为

6、CPU寸在掉电时典型功耗为0.5uA, 还可由外部中断唤 醒,中断返回后,继续执行原程序。空闲模式,典型功耗为2mA正常工作模式,典型功耗为4mA - 7mA超强抗干扰STC89C51RC / RD系列单片机。I/O 口输入/输出口经 过特殊处理,很多干扰是从I/O进去的,每个I/O均有对VCC对GNDC级管箝位保护。 电源单片机内部的电源供电系统经过特殊处理,很多干扰是从电源进去的。时钟,单片 机内部的时钟电路经过特殊处理,很多干扰是从时钟部分进去的。看门狗,单片机内部 的看门狗电路经过特殊处理,打开后无法关闭,可放心省去外部看门狗。复位电路,单 片机内部的复位电路经过特殊处理,很多干扰是从

7、复位电路部分进去 的,STC89C51RC/RD系列单片机为高电平复位。推荐外置复位电路为MAX810/STC。而在用MSP4305片彳故为CPU寸,MSP43原统中没有专门的输入/输出指令,输入/ 输出操作通过传送指令来实现。当任一事件引起的中断进行处理时,PXIFG.0PXIFG.7不会自动复位,必须由软件来判断是对哪一个事件,并将相应的标志复位并且外部中断 事件的时间必须保持不低于1.5倍的MCLK寸问,以保证中断请求被接受,且使相应中 断标志同时端口 P& P4、PS P6没有中断能力,端口 COMBS,他们实现必需要与液晶 片的直接接口相连。对于方案三中,在当中断发生时,中断

8、标志位置1,不管它的相应使 能位或全体使能位的状态,用户软件在使能一个中断之前保证合适的中断标志位清零。 且价格比ST89C52要贵得多。尤其重要的是STC89C52As片便宜,且对于我们所需功能不是很多,且对于这个要 求不是很高的 LED灯点亮的情况下,都能满足条件。因此我是毫不犹豫的选择了 STC89C52盛片做为我的主芯片;四、LED灯的介绍该灯使用5V电源供电,220V交流电经C1降压电容降压后经全桥整流再通过 C2滤波 后经限流电阻R3给串联的38颗LE则供恒流电源.LED的额定电流为20mA但是我们在 制作节能灯的时候要考虑很多方面的因素对 LED勺影响,包括光衰和发热的问题,我们

9、在 做这种灯的时候因为LED的安装密度比较高,热量不容易散出,LED的温度对光衰和寿命 影响很大,如果散热不好很容易产生光衰,因为LED的特性是温度升高电流就会增大,所 以一般在做大功率照明时散热的问题是最重要的,将影响到LED勺稳定性,小功率一般都 采取自散热方式,所以在电路设计时电流不宜过大.所以一定要有个保护电阻,电容C1还 得有一个卸放电阻,限流电阻防止电压升高和温度升高 LED的电流增大,C2是滤波电容, 实际在LED电路中可以不用滤波电路,C2是用来防止开灯时的冲击电流对 LED的损害, 开灯的瞬间因为C1的存在会有一个很大的充电电流,该电流流过LED等会对LED产生损 伤,有了

10、C2的介入,开灯的充电电流完全被 C2吸收起到了开灯防冲击保护.该电路是小 功率灯杯最实用的电路,占用体积小可以方便的装在空间较小的灯杯里,现在被灯杯产 品广泛的采用.优点:恒流源,电源功耗小,体积小,经济实用.但是在设计时降压电容要 采用耐压在400V以上的涤纶电容或CBBfe容,滤波电容要用耐压250v以上.此电路适合 驱动 20-40 只 20mA勺 LED.五、程序说明程序中我们是可以逐个控制P1端口的每个位来实现的,但是程序显得会有点复杂, 而我利用循环移位指令及查表,采用循环程序结构进行编程。我们在程序一开始就给P1 口送一个数,这个数本身就让 P1.0先低,其他位为高,然后延时一

11、段时间,再让这个 数据向高位移动,然后再输出至 P1 口,这样就实现“流水”效果啦。由于 8051系列单 片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需 移动的数据先放到ACC中,让其移动,然后将 ACC®动后的数据再转送到P1 口,这样 同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只 要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“ M

12、OVC A, A+DPTR巴数据取到累加器 A中,然后再送到P1 口进 行显示5.1、初始化程序通过扫描P3.2 口,判断是否有按键按下,然后再 20H内存单元的低3位的对应位 置1标志,确定应执行的闪烁功能。当 20H.0为1时,发光管轮流点亮;当20H.1为1 时,发光管逐点点亮;当20H.2为1时,发光管间隔点亮。在主程序对 20H的低3位进 行位值判定后,转入相应的闪烁控制程序。上电初始化时,对 20H的最低置1,系统进 入轮流点亮方式.如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生 5ms- 10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状

13、态电平 则确认为真正有键按下。当检测到按键释放后,也要给5m腔10ms的延时,待后沿抖动消 失后才能转入该键的处理程序。以下是本次设计的软件消抖子程序块:DELAY:MOV R3,#20; 延时0.2秒 ,改变R3的值可以改变延时间的长短D1:MOV R4,#20D2:MOV R5,#248DJNZ R5,$DJNZ R4,D2DJNZ R3,D1RET;延时时间为513usDL512:MOVR2, #0FFHLOOP1:DJNZR2, LOOP1RET;10ms延时子程序(调用20次0.5ms延时子程序)DL10MS:MOV R3, #14HLOOP2:LCALL DL512DJNZ R3,

14、 LOOP2RET;延时子程序,改变R4寄存器初值可改变闪烁的快慢(时间为 200ms*15)DL05S:MOVR4, #0FHLOOP3:LCALL DL25MSDJNZ R4, LOOP3RET200ms延时子程序,调用扫键子程序延时,可快速读出功能按键值DL25MS: MOV R5, #0FFHLOOP4:LCALL KEYWORKDJNZ R5, LOOP4RET5. 2显示功能程序我们主要是从显示设备上获取微机系统的信息的,因此,我们每操作一下,显示设 备上都应该有一定的反应。也就是说监控程序需要调用显示模块。不同的操作就需要显 示不同的内容。这也说明各执行模块对显示模块的驱动方式是

15、不同的。但是没有操作的 时候,显示的内容也是要有变化的,如现场各个量的变化情况。在安排中断程序时,中 断程序也是要调用显示模块。这样一来我们可以得到一种比较好的方法就是只让一处调 用显示模块,其他各处均不得直接调用显示模块,但是有权力申请。我们只要设置一个 标志,当某个模块需要时,将申请标志置位,同时设定有关显示内容。这样一来就不会 发生冲突了。为了使显示模块能及时反映系统需要,应将显示模块安排在一个重复执行 的循环。这样处理起来也就比较方便,只要在监控程序的汇合处调用显示模块就可以了, 不过在为了避免出现显示混乱。解决这个的办法是在申请显示前,先检查是否已经有显 示申请,如果有,就不再中请,

16、等待下次机会;如果没有,则先置位申请标志,冉将显 示内容送到显示缓冲区。这时就不必担心其他的前台模块来打扰了,就可以得到一次完 整的显示机会。显示程序由显示主程序和显示子程序组成。显示主程序负责每次显示地址首址(在A寄存器中)、第个数字的显示时间和下一个显示地址的间隔用延时来处理。 在显示子程 序中,1ms延时程序是用调用键扫描子程序的方法实现的。主程序如附录 (四)延时程序 所示.第一种功能就是轮流点亮,我采用的带进位的左移指令这样的话也就是使灯从11111111 变成 11111110 111111011111101111110111111011111101111110111 111011

17、1111111111111.第二种功能就是逐点点亮,为了方便,我是用了查表的方式把整个显示放在一个 TAB 中。也就是为了方便查表使用。只要我让其在最开始时就把指针放在表头位置,然后一 步一步查表就可以得到我们想要的效果。第三种功能是间隔点亮,这个功能是最简单的了,我们只要赋好了初值,也就是关 键是把初值赋成了 10101010,也就是一开始便让他是间隔点亮。这样一来,我们只要用 一个指令CPL也就是逐位取反可以得到,但是仔细一点会发现,我们只要通过移位指令 就可以了。我就是用的RL移位指令来实现我们所需要的这种功能。对于三种功能的实现,只要利用按键就可以进行切换。这就是这次课程设计的总体 设

18、计任务的实现。六、总结与思考及致谢我们进行了为期一周的课程设计。通过这次课程设计,我拓宽了知识面,锻炼了能 力,综合素质得到较大提高。而安排课程设计的基本目的,是在于通过理论与实际的结 合、人与人的沟通,进一步提高思想觉悟和领悟力。尤其是观察、分析和解决问题的实 际工作能力。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际 设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验 学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中 存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。对我们电子专 业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远 不够的,必须从课堂走向实践。这也是一次预演和准备毕业设计工作。通过课程设计, 让我们找出自身状况与实际需要的差距,并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论