1第1章绪论随着人们对房屋的装饰需要彩灯,在许多城市可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,便宜的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性。全球气候暖化危机和能源紧缺在进一步推动LED照明的普及,LED照明具有环保、光效高和寿命长的特点,但在完全取代具有墙上型调光器的白炽灯方面,LED照明还存在兼容性差的先天不足。其主要原因在于:1)现有的调光器都是针对白炽灯设计的,而白炽灯呈现的是纯阻性;LED作为固态半导体照明器件,需要恒定的直流电流驱动,所以LED照明一般都需要驱动器从交流110V/220V转换到所需要的直流电流;2)调光器种类繁多,而且工作原理各不相同,包括前切型、后切型和智能型等;3)LED照明器的种类也很多。这样一来,对于不同的LED照明匹配不同类型的调光器;LED的驱动器面临巨大挑战;照明属于消费电子产品,直接接触千家万户的消费者,不仅价格要适当,更重要的是要安全可靠;即便是任一元器件失效或调光器与LED不匹配,也不能造成漏电、过热、过流等任何安全故障。2第2章设计总体思路和原理框图本设计是一种基于单片机AT89C51的LED彩灯设计制作,本设计中的LED彩灯是由主控制器、驱动电路和显示三部分组成。其中主控制器采用单片机AT89C51芯片(即以AT89C51单片机作为主控核心)。驱动模块是由1个NPN二极管和1个电阻构成的一个简单模块。显示模块是由12个LED发光二极管构成,可根据主控制器的控制进行已设定的模式发光。具体发光模式为:首先东西南北四个方向的红灯亮,然后依次单独亮黄灯,绿灯。其间间隔时间为1秒。接着,南北方向等全亮,然后单独东西方向全亮。其间时间间隔也为1秒。最后东西南北方向的灯都亮,并保持时间3秒。按照这种模式循环工作。系统原理框图如下AT89C51时钟电路复位电路驱动电路显示电路3洞洞板/万能板成品图片左下角有地址-有录像4第3章硬件电路设计3.1主控制器模块3.1.1AT89C51芯片的介绍在整个系统中,微控制器是系统的控制中心,其工作效率的高低关系到系统效率的高低以及系统运行的稳定性。而51系列单片机具有成本低,稳定性好,且运行速度基本能满足该系统的要求。因此本系统采用AT89C51芯片作为主控制器芯片,其性能参数如下:·与MCS-51兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路5AT89C51芯片的芯片管脚图如图3-1-1所示图3-1-1AT89C51芯片管脚图下面对本设计所用到该芯片的管脚进行简单的说明:ETAL1(19脚),ETAL2(18脚):外部时钟信号的两个管脚,本设计采用的事内部时钟方式(如图2.2所示)。RST/Vpd(9脚):但作为RST使用时,为复位输入端。在时钟电路工作以后,此管脚上出现两个机器周期的高电平将是单片机复位。在RST与Vcc管脚之间接一个10~20uF的电容,RST与Vss管脚之间连接一个约8.2kΩ的电阻,就可以实现上电复位功能。本设计就是用此方式来实现复位功能的(如图2.2所示)。P1口(1~8脚):具有内部上拉电阻的8位准双向I/O口。在片内EPROM6编程及校验时,它接收低8位地址。P1口能去的4个LSTTL负载。外部不扩展单片机时,则做双向I/O口用,P0口能以吸收电流的方式去的8个LSTTL负载。3.1.2时钟与复位电路的设计单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路,如图3-1-2a所示。电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围为(20-30)pF。石英晶振选择6MHz或12MHz都可以,其结果只是机器周期时间不同,影响计数器的计数初值。3-1-2a时钟电路图单片机的RST管脚为主机提供一个外部复位信号输入端口。复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。单片机的复位方式上有电自动复位和手工复位两种。图3-1-2b所示是51系列单片机常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好地工作。复位以后,单片机内各部件恢复到初始状态。7图3-1-2b复位电路3.2LED灯驱动电路设计发光二极管加一定的正向电压时,二极管发亮。为了保护LED灯不被损坏,加一个三极管和一个电阻组成限流电路作为LED驱动电路。图3-2驱动电路图83.3显示电路设计显示电路有12只发光二级管构成,按照设定的模式工作。具体发光模式为:首先东西南北四个方向的红灯亮,然后依次单独亮黄灯,绿灯。其间间隔时间为1秒。接着,南北方向等全亮,然后单独东西方向全亮。其间时间间隔也为1秒。最后东西南北方向的灯都亮,并保持时间3秒。电路图如下图所示。图3-3显示电路图9第4章软件设计本设计采用汇编语言通过对单片机P0口的设置实现LED彩灯的工作,其程序如下。ORG0000H;本指令从0000H开始存放LOOP:MOVP0,#01111011B;P0.7和P0.2为低电平控制红灯亮CALLDL1S;延时1SMOVP0,#10111101B;控制黄灯亮CALLDL1SMOVP0,#11011110B;控制绿灯亮CALLDL1SMOVP0,#00011111B;控制南北方向灯全亮CALLDL1SMOVP0,#11111000B;控制东西方向灯全亮CALLDL1SMOVP0,#00011000B;灯全亮CALLDL3SSJMPLOOP;跳转,循环继续运行DL3S:MOVR3,#3;3S延时子程序DL1:CALLDL1SDJNZR3,DL1RETDL1S:MOVR5,#4;1S延时子程序10DL3:MOVR6,#251DL4:MOVR7,#248DL5:NOPNOPDJNZR7,DL5DJNZR6,DL4DJNZR5,DL3RETEND11第5章电路总图设计1213第6章参考文献1、王迎旭编《单片机原理与应用》机械工业出版社2、楼然苗编《51系列单片机设计实例》北京航空航天大学出版社.3、黄勤编《计算机硬件技术基础实验教程》重庆大学出版社4、刘乐善编《微型计算机接口技术及应用》华中科技大学出版社.5、陈光东编《单片微型计算机原理及接口技术》华中科技大学出版社第7章总结与体会两周的课程设计很快就要过去了,我也顺利的完成了本次课程设计。14总的来说此次课程设计还比较简单,软件设计和硬件调试都很成功。但从中我也遇到过小问题,让我对单片机控制实现功能有了更好的理解。拿到任务书的时候,一开始我不知道应该做成怎样的彩灯,于是我现在网上收集资料,当我看到一篇关于交通灯的报告时我觉得很有意思。经过仔细考虑之后我决定将交通灯的延时改一改,改成我想要的彩灯运作模式。于是首先我要重新去理解延时程序的算法,然后将其改写。在编程时让我学到了要有严谨,仔细的心思才能迅速成功的完成软件设计。比如在编程时我将其中一个LOOP不小心写成了L00P在程序编译时老出现错误,一开始没有发现最后在同学的提醒下发现了。这让我体会到编程要有严谨,仔细的心态。总之,通过本次课程设计,让我对单片机和汇编语言有了更加深的理解和认识,对keil软件和Protues软件的操作更加熟练。感谢设计中老师和同学的帮忙,让我顺利的完成了此次课程设计。中文摘要摘要:在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统15的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。基于以上思路,本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1)密码通过键盘输入,若密码正确,则将锁打开。(2)报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。16(3)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。主要的设计实施过程:首先,选用ATMEL公司的单片机AT89C51,以及选购其他电子元器件。第二步,使用DXP2004设计硬件电路原理图,并设计PCB图完成人工布线(后因PCB板损坏决定采用万能板焊接的方法)。第三步,使用KeiluVision3软件编写单片机的C语言程序、仿真、软件调试。第四部,使用PROTEUS软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次毕业设计。关键词:4×4矩阵键盘;AT89C51;密码锁;密码二次确认目录中文摘要…………………………………………….…………………14目录……………………………………………………17…..……………16第1章概述………………………………………………………..19第2章系统总体方案设计……………………………………………20第3章硬件电路设计……………………………………………….233.1键盘电路设计…………………………………………………….233.2LED显示电路……………………………………………………….253.3开锁电路………………………………………………………….263.4报警电路…………………………………………………………..27第四章软件设计……………………………………………………..294.1软件设计思路…………………………………………………….294.2各子程序设计…………………………………………………….29第5章系统调试…………………………………………………18…..34第6章心得体会………………………………………………………35第7章参考文献……………………………………………………..37附录……………………………………………………………….38源程序清单…………………………………………………………….38硬件原理图…………………………………………………………….4519第1章概述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计