基于单片机的键控彩灯电路大学本科毕业论文.doc

上传人:沧海****B 文档编号:91492315 上传时间:2023-05-27 格式:DOC 页数:20 大小:630KB
返回 下载 相关 举报
基于单片机的键控彩灯电路大学本科毕业论文.doc_第1页
第1页 / 共20页
基于单片机的键控彩灯电路大学本科毕业论文.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《基于单片机的键控彩灯电路大学本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的键控彩灯电路大学本科毕业论文.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 毕业设计(论文)任务书设计题目 基于单片机的键控彩灯电路设计 1、毕业设计(论文)主要内容及技术指标本课题一单片机为核心,利用其中断器和8个LED,设计一个彩灯控制器。有以下功能:1)花型种类不少于四中,花型自拟;2)可用键控制彩灯按预设的花型进行变换;3)可用键控制分别用快/慢俩种节拍实现花型变换。2、毕业设计(论文)基本要求编写设计(论文),格式按烟台工程职业技术学院毕业设计(论文)要求完成。完成项目开发,自行设计完成。3、 所需数据资料及参考文献1 高峰.单片微型计算机原理与接口技术.科学出版社,2007 2武庆生,仇梅.单片机原理与应用.电子科技大学出版,1998,12 3 朱定华.

2、单片机原理与接口技术.电子工业出版社,2001,4 进度计划序号阶段性工作及成果时间安排1申报毕业设计(论文)课题2015.82开题会,各指导教师下达任务书。2015.8.243全体指导教师及学生大会:考试时间调整;各指导教师检查工作进展情况。2015.9.14课题设计、撰写论文、实物制作2015.9.22015.10.85上交有关材料给指导老师2015.10.96答辩会2015.10.15目录 一摘要4二前言5三正文6 3.1设计目的6 3.2设计要求6 3.3硬件电路的设计6 3.3.1单片机总体设计原理6 3.3.2闪烁系统7 3.3.3脉冲震荡系统 8 3.3.4核心控件8 3.3.5

3、移位法9 3.3.6循环移位法10 3.3.7查表法12 3.3.8复位电路 13四使用说明14五流程图设计16结论19结束语20参考文献21成绩评定表22摘要近年来,彩灯对于美化、亮化城市有着不可轻视的重要作用。因此作为城市装饰的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高。目前市场上各种式样的LED彩灯多半是采用全硬件电路实现,存在电路结构复杂、功能单一等局限性,因此有必要对现有的彩灯控制器进行改进。单片机技术是电路设计中不可缺少的一部分,而本课题一单片机为核心,利用其中断器和8个LED,设计一个彩灯控制器,通过键控让发光二极管工作。前言电子技术是当今高新技术的“龙头”,各先进国家无

4、不把它放在优先的发展的地位。电子技术是电类专业的一门重要的技术基础课,课程的显著特点之一是它的实践性。要想很好的掌握电子技术,除了掌握基本器件的原理,还要掌握单片机技术,本课题就是利用单片机技术设计键控彩灯电路。一、设计目的 通过课程设计的教学实践,将课本所学应用于实际中,缩小理论与实际的差距,记忆不学习、掌握单片机应用系统的有关知识,加深了解单片机的工作原理。初步掌握简单单片机应用系统的设计、制作、调试的方法。是自己的设计水平和对所学的只是的应用能力以及分析问题解决问题的能力得到全面提高。 二、 设计要求 本课题一单片机为核心,利用其中断器和8个LED,设计一个彩灯控制器。有以下功能:1.

5、花型种类不少于四中,花型自拟;2. 可用键控制彩灯按预设的花型进行变换;3. 可用键控制分别用快/慢俩种节拍实现花型变换。三、硬件电路的设计1. 单片机总体设计原理 LED残灯系统包括5大部分,2. 闪烁系统 发光二极管显示器简称LED。这种灯具具有线路简单、耗电少、成本少、寿命长等优点,本系统输出结果选用8个LED。LED有共阴共阳之分,本系统采用共阳型LED ,其原理图如图所示,每段有8个发光二极管,公共端由8个发光二极管的阳极并接而成,正常显示时公共端接高电平,各发光二极管是否点亮取决于各引脚上是否是低电平。彩灯闪烁由+5V电源和8个LED发光二极管,八个限压电阻组成如下图所示是彩灯闪烁

6、系统的主要的外部可视部件。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器:另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。2、闪烁系统发光二极管显示器简称LED。这种灯具有线路简单、耗电少、成本低、寿命长等优点,本系统输出结果选用8个LED。LED有共阴共阳之分,本系统采用共阳型LED,其原理图如图2所示,每端有8个发光二极管,公共端由8个发光二极管的阳极并接而成,正常显示时公共端接高电平,各发光二极管是否点亮取决于各引脚上是否是低电平。彩灯闪烁由+5V电源和八个LED发光二极管,八个限压电阻组成如下图所示是彩灯闪烁系统的主要

7、的外部可视部件。LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。由于系统要显示的内容比较简单,显示量不多,所以选用LED既方便又经济如下图所示。3、 脉冲震荡系统 为彩灯循环系统提供稳定频率波在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,引入唯一的外部脉冲信号作为各单片机的振荡脉冲。这时外部的脉冲信号是经单片机89C52的XTAL2引脚注入的;如图3所示 4、核心控件 89C52单片机是整个彩灯循环系统的核心是控制彩灯循环闪烁等等一切功能的部件;其中内部有ROM、有

8、RAM、有并行I/O口等,在52单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。P1接口(P1.0P1.7);8位准双向I/O接口,占18脚.准双向接口是指该接口内部有上拉电阻,能驱动4个LSTTL(低功耗肖脱基晶体管逻辑电路)负载.P1接口一般作通用I/O接口线使用.P2接口(P2.P2.7);8位准双向I/O接口,占2128脚.能驱使动个LSTTL负载.如果系统接有外部存储器,则CPU访问外边存储器时,该口作高8位地址线使用.P3

9、接口(P3.0P3.7);8位准双向I/O接口,占1017脚.能驱动4个LSTTL负载.P3借口同时也是多功能接口,除可作通用I/O接口线使用外,其每一引脚还有第二功能。 89C52单片机最小系统是指单片机要工作所必须保证的最低配置如图4所示。5、移位法这是一种最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,从而来控制相应LED灯的亮灭。程序如下:ORG 0000H ;单片机上电后从0000H地址执行AJMP START ;跳转到主程序存放地址处ORG 0030H ;设置主程序开始地址START:MOV SP,#60H ;设置堆栈起始地址为60HCLR P1.0 ;

10、P1.0输出低电平,使LED1点亮ACALL DELAY ;调用延时子程序SETB P1.0 ;P1.0输出高电平,使LED1熄灭CLR P1.1 ;P1.1输出低电平,使LED2点亮ACALL DELAY ;调用延时子程序SETB P1.1 ;P1.1输出高电平,使LED2熄灭CLR P1.2 ;P1.2输出低电平,使LED3点亮ACALL DELAY ;调用延时子程序SETB P1.2 ;P1.2输出高电平,使LED3熄灭CLR P1.3 ;P1.3输出低电平,使LED4点亮ACALL DELAY ;调用延时子程序SETB P1.3 ;P1.3输出高电平,使LED4熄灭CLR P1.4 ;

11、P1.4输出低电平,使LED5点亮ACALL DELAY ;调用延时子程序SETB P1.4 ;P1.4输出高电平,使LED5熄灭CLR P1.5 ;P1.5输出低电平,使LED6点亮ACALL DELAY ;调用延时子程序SETB P1.5 ;P1.5输出高电平,使LED6熄灭CLR P1.6 ;P1.6输出低电平,使LED7点亮ACALL DELAY ;调用延时子程序SETB P1.6 ;P1.6输出高电平,使LED7熄灭CLR P1.7 ;P1.7输出低电平,使LED8点亮ACALL DELAY ;调用延时子程序SETB P1.7 ;P1.7输出高电平,使LED8熄灭ACALL DELA

12、Y ;调用延时子程序AJMP START ;8个LED流了一遍后返回到标号START处再循环DELAY: ;延时子程序MOV R0,#255 ;延时一段时间D1: MOV R1,#255 DJNZ R1,$ DJNZ R0,D1 RET ;子程序返回 END ;程序结束6、循环移位法在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。由于8051系列单片机的指

13、令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。具体编程如下所示。ORG 0000H ;单片机上电后从0000H地址执行AJMP START ;跳转到主程序存放地址处ORG 0030H ;设置主程序开始地址START:MOV SP,#60H ;设置堆栈起始地址为60HMOV A,#0FEH ;ACC中先装入LED1亮的数据(二进制的11111110)MOV P1,A ;将ACC的数据送P1口MOV R0,#7 ;将数据再移动7次就完成一个8位流水过程LOOP: RL

14、A ;将ACC中的数据左移一位MOV P1,A ;把ACC移动过的数据送p1口显示ACALL DELAY ;调用延时子程序DJNZ R0,LOOP ;没有移动够7次继续移动AJMP STARTDELAY: ;延时子程序MOV R0,#255 ;延时一段时间D1: MOV R1,#255DJNZ R1,$DJNZ R0,D1RET ;子程序返回END ;程序结束7、查表法上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随

15、心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“MOVC A,A+DPTR”把数据取到累加器A中,然后再送到P1口进行显示。具体源程序如下,TAB标号处的数据表可以根据实现效果的要求任意修改。ORG 0000H ;单片机上电后从0000H地址执行AJMP START ;跳转到主程序存放地址处ORG 0030H ;设置主程序开始地址START:MOV SP,#60H ;设置堆栈起始地址为60HMOV DPTR,# TAB ;流水花样表首地址送DPTRLOOP: CLR A ;累加器清零MOVC A,A+DPTR ;取数据表中的值CJNE A,

16、#0FFH,SHOW ;检查流水结束标志AJMP START ;所有花样流完,则从头开始重复流 SHOW: MOV P1,A ;将数据送到P1口ACALL DELAY ;调用延时子程序INC DPTR ;取数据表指针指向下一数据AJMP LOOP ;继续查表取数据DELAY:MOV R0,#255 ;延时一段时间D1: MOV R1,#255DJNZ R1,$DJNZ R0,D1RET ;子程序返回 ;下面是流水花样数据表,用户可据要求任意编写TAB: DB 11111110B ;二进制表示的流水花样数据,从低到高左移DB 11111101BDB 11111011BDB 11110111BDB

17、 11101111BDB 11011111BDB 10111111BDB 01111111BDB 01111111B ;二进制表示的流水花样数据,从高到低右移 DB 10111111BDB 11011111BDB 11101111BDB 11110111BDB 11111011BDB 11111101BDB 11111110BDB 0FEH,0FDH,0FBH,0F7H ;十六进制表示的流水花样数据 DB 0EFH,0DFH,0BFH,7FHDB 7FH,0BFH,0DFH,0EFHDB 0F7H,0FBH,0FDH,0FEHDB 0FFH ;流水花样结束标志0FFHEND ;程序结束8、复位

18、电路 复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。 除PC之外,复位操作还对其它一些专用寄存器有影响,它们的复位状态如表1所示:单片机的RST管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手动复位方式完成。复位电路如图所示四、使用说明 1、花型选择按钮,每按一次切换一次花型,循环切换4种花型。 2、复位开关,返回第一种花型及慢速状态。 3、快慢控制按钮,用于快/慢两种节拍的切换。五、流程图设计#include unsigned char key=1; bit s

19、peed = 0; void delay() unsigned int j ,k; if(speed = 0) for(k=0;k1000;k+) for(j=0;j100;j+); else for(k=0;k1000;k+) for(j=0;j20;j+); void int_init() IT0 = 1; IT1 = 1; EX1 = 1; EX0 = 1; EA = 1; void show1(void) unsigned char i; while (1) if (key != 1) break; for (i=0; i8; i+) if (key != 1) break; P1 =

20、 (1i); delay(); void show2(void) unsigned char i; while (1) if (key != 2) break; for (i=0; i8; i+) if (i 7) P1 = (3i); else P1 = (0x81); delay(); if (key != 2) break; void show3(void) while(1) if (key != 3) break; P1 = 0xaa; delay(); P1 = 0x55; delay(); void show4(void) while (1) if (key != 4) break

21、; P1 = 0x18;delay(); if (key != 4) break; P1 = 0x24; delay(); if (key != 4) break; P1 = 0x42; delay(); if (key != 4) break; P1 = 0x81; delay(); main() /timer_init(); int_init(); while (1) switch (key) case 1: show1(); break; case 2: show2(); break; case 3: show3(); break; case 4: show4(); break; def

22、ault : show1(); void interrupt_int0()interrupt 0 speed = speed; void interrupt_int1()interrupt 2 key+; if(key = 5) key=1; 当上述程序之一编写好以后,我们需要使用编译软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写到单片机中,最后连接好电路通电,我们就看到LED1LED8的“流水”效果了设计总结 单片机是一门实践性很强的课程,光光一个单片机并不能发挥什么作用,必须要和其它的芯片一起才能最大可能的发挥它的各种各样的功能。为了做这个课程设计我查阅了不少

23、单片机的资料,图书馆关于单片机的书基本上都被我们班同学借光了。上网查找相应的资料和找老师指导;最后完成了这篇课程设计。在这次设计的过程中,软件编程是比较难的环节,因为用的是汇编和C语言,汇编语言是低级语言,不像高级语言哪么直观,算法的实现也比较困难,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,才能实现LED灯的相应的功能,在编程上需要花大量的时间在里面。结束语 在这次设计中,我真诚地感谢老师和同学们的帮助,在他们的帮助下我顺利的完成了此次设计也使我对单片机的一些相应的周边知识有了更进一步的了解。 在做论文的过程中,老师又反复而耐心地给我指出问题的所在,并帮助我纠正了许多不妥

24、之处。在做系统设计这一过程中,也给我提出了许多意见和建议,并交给我许多解决问题的技巧和方法。 参考文献 1 高峰.单片微型计算机原理与接口技术.科学出版社,2007 2武庆生,仇梅.单片机原理与应用.电子科技大学出版,1998,12 3 朱定华.单片机原理与接口技术.电子工业出版社,2001,4 4 刘瑞新.单片机原理及应用教程.机械工业出版社,2003,7 5吴普特,牛文全,郝宏科.现代化高效节水灌溉设施.化学工业出版社,2002 6刘连吉.ISD单片语音录放器件及电路实现J. 青岛海洋大学学报,2003 7 阎 石. 数字电子技术基础(第四版)M.高等教育出版社,2000年5月第一版. 8 胡汉才. 单片机原理及其接口技术M.清华大学出版社,2000年5月第一版. 9 何立民. 单片机高级教程M.北京航空航天大学出版社,2000年5月第一版

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁