基于单片机的led设计_第1页
基于单片机的led设计_第2页
基于单片机的led设计_第3页
基于单片机的led设计_第4页
基于单片机的led设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

课程设计任务书学院信息科学与技术专业自动化学生姓名张兆雄学号0903010413设计题目基于单片机的LED灯光控制器的设计内容及要求根据单片机原理应用相关器件搭建电路实现LED灯光控制功能。进度安排第1天1布置课程设计题目及任务。2查找文献、资料,确立设计方案。第23天1根据实际情况确定所需硬件电路的设计方案。第45天1根据硬件电路设计的要求查找相关型号的单片机、芯片等器件的接线方法及实际参数的设置方法。2在此基础上用PROTEUS软件搭建仿真电路并进行相关仿真,验证元器件是否符合设计要求。第67天1根据所搭建的硬件电路编制程序(C语言),并将其KEIL与PROTEUS两个软件进行联机调试仿真。2课程设计结果验收,针对课程设计题目进行答辩。3完成课程设计报告。指导教师(签字)年月日分院院长(签字)年月日摘要单片微型计算机简称单片机,又称为微控制器(MCU),它的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等诸多优点而独具特色。随着社会的发展、科技的进步,各种方便于生活的自动控制系统开始进入了人们的生活,以单片机为核心的控制系统就是其中之一。本论文着重阐述了LED灯光控制器的设计方法,以AT89C52单片机作为主控核心,按键、数码管等较少的辅助硬件电路相结合,采用模块设计,利用软件实现对LED灯进行控制。本系统具有体积小、硬件少、电路结构简单、软件功能完善,控制系统可靠,性价比较高等优点。论文主要论述了基于单片机的LED灯光控制器的设计过程。主要工作如下重点论证了系统方案的选择及其实现方法;全文详细论述了系统的软、硬件电路,其中硬件部分重点介绍了单片机的基本结构和各引脚以及晶振电路、复位电路的工作原理,软件部分重点叙述主程序和子程序的C语言实现;硬件、软件电路调试过程;所有源程序均采用C语言编译,并在KEILUVISION2软件里编译、调试;在PROTEUS环境下实现软、硬件电路仿真。实验结果证明了设计方案的正确性与可行性,以此为理论基础,对我们设计LED灯电路具有很强的使用和参考价值。关键词LED灯;AT89C52单片机;灯光控制器;模块设计目录1概述111课程设计的目的112课程设计的要求113基本原理12系统设计221系统功能222仿真软件PROTEUS的使用223仿真图设计43程序设计531KEILC51编程软件的使用及调试方法532本次设计调试实现的功能732程序流程图8321主函数程序流程图8322程序1流程图9323程序2流程图1033C语言源程序114系统调试1741PROTEUS和KEIL软件的联调1742仿真效果图175课程总结体会186参考文献191概述11课程设计的目的单片计算机即单片微型计算机。(SINGLECHIPMICROCOMPUTER),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而52单片机是各单片机中最为典型和最有代表性的一种。通过本课程设计,能独立地完成一个典型单片机应用系统的设计和调试任务,深刻地领会和掌握单片机原理及应用课程中讲述的基本理论和基本技能,在单片机原理及应用课程的基础上,进一步培养学生的综合分析与设计能力和动手能力,为后续课程学习和今后从事电子信息系统及相关领域的实际工作打下坚实的基础。12课程设计的要求主要内容包括理论设计、软件调试及报告等几大部分。软件设计利用KEILC51软件开发平台,采用C或汇编语言进行软件程序编写,并在KEIL上运行检测正确与否。在PROTUES软件上画图,检查无误后与KEIL写好的程序进行联调,仿真,运行无误后,写设计报告。13基本原理本课题用到的是89C52单片机,LED数码管,LED灯,键盘,光敏电阻,蜂鸣器等。89C52是一个低电压,高性能CMOS8位单片机,片内含8KBYTES的可反复擦写的FLASH只读程序存储器和256BYTES的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大的89C52单片机可提供许多较复杂系统控制应用场合。89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,89C52可以按照常规方法进行编程,但不可以在线编程。通过键盘S3,S1是否按下可以判断P15和P30的电平的高低,从而启动不同的程序。在程序一中,通过键盘S3,S4是否按下可以判断P15,P16的高低电平,从而启动和复位程序一。LED数码管是动态的。码选通过P3口的高四位,低电平选通,P0口送字段码。LED灯为共阳极接法,其阴极分别接P2口的八个输出。P2口各位送低电平,对应各口的LED灯亮。蜂鸣器有P17口控制,低电平时响,高电平时不响。光敏电阻的特性是无光照射时电阻阻值较大,有光时较小,其与可调电阻R23共同作用可调节P11的高低电平,从而控制程序二中LED灯的亮灭和蜂鸣器的声音。有光时光敏电阻阻值较小。P11为低电平,程序使LED灯和蜂鸣器不工作。无光或暗光时P11为高电平,程序使LED灯和蜂鸣器工作。2系统设计21系统功能根据所学的单片微型计算机与接口技术以及数字电路、模拟电路的相关知识设计一个基于单片机的电子屏最小系统,要求能显示汉字,能够循环显示不同的汉字,并尽量实现其动态显示功能,根据具体情况可以适当改进创新。22仿真软件PROTEUS的使用PROTEUS是一款专门的单片机系统仿真软件,其所提供的单片机型号多,可便于用户进行各种单片机系统的设计与仿真。另外,PROTEUS提供了很多设计中常用的各种芯片如各种数字门电路、触发器、移位寄存器和其他可编程逻辑芯片,方便用户进行各种设计电路的仿真。值得一提的是PROTEUS提供的示波器、信号发生器、测量探针等虚拟仪器为用户分析测试设计电路提供了理论依据,方便了用户设计。双击桌面快捷方式打开PROTEUS原理图设计软件,界面如下所示图21PROTEUS的ISIS原理图编辑界面单击界面中的YES可以查看PROTEUS软件自带的原理图仿真实例,选择NO可以进行电路原理图的设计。然后点击软件界面右面的P可以放置所需要的元器件,界面如下图所示图22元器件放置界面找到设计电路所需要的元器件然后双击所需的元器件,这时就会在软件右侧的元器件列表中看到所选择的元器件了。在此单击鼠标左键后就可将元件放到原理图编辑界面中。按住鼠标左键可以拖动元器件,放好元器件后用导线将元器件连接起来。23仿真图设计按照以上介绍的软件使用方法绘制本课程设计的仿真原理图,放置好AT89C52、74SL373、数码管、蜂鸣器、开关,发光二级管(LED)等件后,连接好后其效果图如下图所示图23仿真连接图3程序设计31KEILC51编程软件的使用及调试方法本设计的软件设计采用KEILC51来编写,该软件的使用方法介绍如下。双击桌面上的KEIL软件的快捷启动方式打开软件,打开后的软件界面如下图所示图31KEIL软件界面然后点击PROJECTNEWPROJECT选择新建工程,并保存到合适的位置,然后在芯片列表中选择相应的芯片,界面如下图所示,然后点击完成即可。图32芯片选择界面完成后点击FILENEW新建一个程序编辑文件,然后保存即可在其中编辑所需要的程序了,然后点击软件上方的调试按钮进行纠错调试直至没有错误。32本次设计调试实现的功能本作品为可光控和手控LED显示,可分为两个功能即光控制LED的显示和手动控制LED的显示。单片机上电后无动作,按下S1键后,进入光控程序。在暗光或无光时LED灯循环显示同时蜂鸣器发声。如有亮光照射是LED灯熄灭同时蜂鸣器停止工作。单片机上电后,按下S3键后,进入手控程序,同时LED灯进行四种不同的循环显示,并伴随蜂鸣器所发出的四种不同的声音。当四种循环结束一遍后LED数码管数字加一。数码管数字满16后进一位。在这过程中如果按下S4键后,则程序复位,LED灯熄灭,蜂鸣器停止工作,数码管显示0。如果S1再次按下后,则在次启动LED灯、蜂鸣器和数码管。32程序流程图321主函数程序流程图图33主函数程序流程图程序1手控判断是那个键按下程序2光控P30P15开始是否有键按下否是322程序1流程图图34程序1流程图进入LED循环函数,调用显示函数开始调用中断,实现数码管显示LED循环,调用蜂鸣器程序P16是否按下是否LED数码管复位,灯灭,蜂鸣器停止,判断P15是否按下蜂鸣器发声,进入下一LED循环是否是否循环四次否是结束323程序2流程图图35程序2流程图33C语言源程序INCLUDE开始判断有无光照射无有调用判光程序LE循环,调用蜂鸣器声音程序,判有无光照射无有结束DEFINEUCHARUNSIGNEDCHARVOIDDISPLAYVOIDCIRCLEVOIDVOIDLIGHTVOIDREENTRANTUCHARCHOOSEVOIDVOIDRESETVOIDVOIDINITTIMERSBITP11P11SBITP15P15/启动LED灯及数码管循环显示程序SBITP16P16/复位LED灯及数码管循环显示程序SBITP17P17SBITP30P30/启动光控程序INTAUCHARE/共阳极数码管位码/UNSIGNEDCHARCODEPO40XE0,0XD0,0XB0,0X70/共阳极数码管段码/UNSIGNEDCHARCODEVALUE180XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E,0X00,0XFF/延时VOIDDELAYINTIINTJFORJ0J1DELAY6666M0XF0N0X0FFORK0K1P2M|NM0XF0N0X0FFORL0L1P2M|NDELAY6666DELAY6666AVOIDLIGHTVOIDREENTRANT/光控显示函数UCHARI,J,B,TEMP,TEMP1INTKE0ECHOOSESWITCHECASE2FORK0K65535KB0XFFFORI0I8ITEMP0XFFTEMPTEMPTEMPTEMPIP2BFORJ0J8IJIFP110LIGHTDELAY30000DELAY30000/判断有无光照射SPEAK2P2P21DELAY30000DELAY50000TEMP10XFFFORA0A8AIFP110LIGHTDELAY30000DELAY30000SPEAK2P2TEMP17ADELAY30000IFK65535K0BREAKCASE1P20XFFP171LIGHTDELAY30000DELAY30000BREAKUCHARCHOOSEVOID/选择有无光照射WHILE1IFP110E1DELAY30000DELAY30000BREAKELSEE2BREAKRETURNEVOIDDISPLAYINITTIMERVOIDINITTIMER/T1中断TMOD0X10TH10XDCTL10X00EA1ET11TR11VOIDTIMER1INTERRUPT3/数码管显示STATICUNSIGNEDCHARB0TH10XDCSWITCHBCASE0P0VALUE17P3PO3P0VALUEA/4096BREAKCASE1P0VALUE17P3PO2P0VALUEA4096/256BREAKCASE2P0VALUE17P3PO1P0VALUEA256/16BREAKCASE3P0VALUE17P3PO0P0VALUEA16BREAKBIFB4B0VOIDRESETVOIDIFP160DELAY20/是否按下复位键IFP160P171WHILE1P00XC0P20XFFP30XEFA0IFP150DELAY20/是否按下重启键IFP150CIRCLE4系统调试41PROTEUS和KEIL软件的联调在KEIL中调试程序,在确保程序没有错误的情况下在工程属性中的输入输出选择生成HEX文件,然后打开之前画好的设计仿真图并双击AT89C52芯片将之前生成的HEX文件加载到单片机中,然后点击软件界面左下方的运行按钮进行相应的仿真调试。如果发现错误则检查是程序编写错误还是仿真电路图的错误并进行纠正,直至没有错误为止。42仿真效果图图41仿真效果图(手控模式)图42仿真效果图(光控模式)5课程总结体会单片机课程设计,我

温馨提示

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

最新文档

评论

0/150

提交评论