物理与电子工程学院《单片机原理与接口技术》课程设计报告书设计题目:基于单片机的8位二极管循环点亮电路的设计专业:自动化班级:14级接本班学生姓名:张永乐学号:20140343124指导教师:成燕平2015年6月14日物理与电子工程学院2014级本科课程设计II物理与电子工程学院课程设计任务书专业:自动化班级:14级接本班学生姓名张永乐学号20140343124课程名称微机原理与应用设计题目基于单片机的8位循环点亮电路的设计设计目的、主要内容(参数、方法)及要求设计目的:掌握由单片机控制的硬件电路和软件程序的设计方法。掌握KeiluVision编程软件和ProteusProfessional仿真软件的使用方法。设计主要内容及要求:硬件电路主要由电源部分、单片机主控部分、显示部分构成。画出系统电路原理图,软件设计(系统流程图、编写源代码程序),最后对系统进行仿真调试。1、电源部分:采用稳压直流电源对系统进行供电,设计三端稳压电源电路。2、主控部分:对单片机进行选型,并设计单片机最小系统电路。3、显示部分:采用8个二极管作为显示电路。实现功能为:8个发光二极管依次循环点亮,初始时第一个二极管亮,停留2S后熄灭,立即让第二个二极管点亮,停留2S后熄灭,立即让第三个二极管点亮,……一直到最后一个二极管点亮,停留2S后熄灭,再回来点亮第一个二极管,一直循环下去。工作量2周时间,每天3学时,共计42学时进度安排第1天:明确课程设计的目的和意义,根据课程设计要求查找相关资料第2-3天:学习课程设计中用到的单片机相关知识第4-5天:根据课程设计的要求完成硬件主要芯片选型及硬件电路设计。第6-7天:学习ProteusProfessional仿真软件,绘制硬件电路原理图。第8-10天:学习KeiluVision编程软件,完成软件系统设计。第11-12天:通过ProteusProfessional仿真软件,进行仿真调试。第13-14天:撰写课程设计报告。主要参考资料[1]郭天祥编著,51单片机C语言教程——入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2014.11[2]宋雪松,李冬明,催长胜.手把手教你学51单片机(C语言版)[M].北京:清华大学出版社,2014.4[3]汤嘉立,李林,胡羽等.单片机应用技术实例教程[M].北京:人民邮电出版社,2014.11[4]徐爱钧.单片机原理实用教程-基于Proteus虚拟仿真(第2版)[M].北京:电子工业出版社,2012.12[5]徐爱钧,徐阳.Keil单片机高级语言应用编程与实践[M].电子工业出版社,2013.12指导教师签字教研室主任签字物理与电子工程学院2014级本科课程设计III摘要本设计提出了一种基于AT89C51单片机的彩灯循环控制的方案,实现对LED灯的控制。本方案以89C51单片机作为主控核心,以按键、显示、驱动等模块组成核心主控制模块。进一步熟悉和掌握89C51单片机的结构及工作原理掌握单片机的接口技术及相关外围芯片的外特性和控制方法。通过实际程序设计和调试,逐步掌握模块化程序设计的方法和调试技术。本设计完成后,能掌握以单片机核心的电路设计的基本方法和技术。根据用户需要可以编写各种亮灯模式的程序,用户可以根据不同场合选用不同的彩灯循环方式。与普通LED彩灯相比,它具有体积小、价格低、低能耗等优点。通过完成一个包括电路设计和程序开发完整过程,了解开发以单片机应用系统的全过程,为今后从事相应工作打下基础关键词:单片机;中断;循环物理与电子工程学院2014级本科课程设计IV目录1引言......................................................12设计原理..................................................22.1功能介绍.....................................................23硬件电路设计..............................................34系统软件程序设计..........................................55电路仿真及调试.................................................66心得体会.......................................................9参考文献................................................11附录.....................................................12物理与电子工程学院2014级本科课程设计11引言当今社会中,循环灯在人们的日常生活中有着日益重要的作用。它不仅能美化环境,渲染气氛,还可以用于娱乐场所和电子玩具中,并且在不同场所都各具特色。由于循环彩灯的快速发展使其应用也越来越广泛,逐渐深入到了人们生产、生活的各个领域。随着彩灯应用的深入发展,对其安全要求也就越来越高。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时也带动传统控制日新月异更新。在自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,并加以完善。随着社会不断的发展,电子产品的质量也不断提高。彩灯循环电路也由以前的简单、功能单一的电路,变为现在复杂、实现功能多的电子产品。本次我进行了彩灯循环控制电路的设计。灯是我们日常经常使用的产品,它制作简单,过程易学,还可以提高我们的动手能力,增强我们分析和解决问题的能力。利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电。近年来,随着人们生活水平的较大提高,人们对于物质生活的要求也在逐渐提高,不仅需要各种各样的生活电器,也开始对环境提出了更高的要求。彩灯的运用已经遍布于人们的生活中,从歌舞厅到各种儿童电子玩具,从庆祝节日到日常生活中的点缀。这些都说明了彩灯的发展及应用水平有了很大的飞跃,也说明科技在现实运用中有了较大的发展,随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到广泛运用。本次设计全面运用了我们以前所学的知识,在加强我直接应用综合能力的同时,力求让我在短时间里得以掌握先进科学技术:如本设计中所使用到的keil、Protel99等设计软件,使自己能够理论联系实际,并且设计电路的能力也有所提高。物理与电子工程学院2014级本科课程设计22设计原理(1)设计采用74LS138芯片,实现8位流水灯循环点亮电路。74LS138为3-8线译码器,它的工作原理是:①当一个选通端(E1)为高电平,另两个选通端E2和E3为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。举例说明:如果A2A1A0=001,那么Y1输出0,其余输出1,发光二极管阴极接Y0-Y7,阳极接VCC,接上限流电阻,则Y1端发光二极管发光。课题要求设计八位二极管循环点亮,则需要一系列脉冲序列,使得A2A1A0电平发生变化。即依次选通Y0-Y7,脉冲从000-111。(2)设计利用74LS161产生脉冲序列000-111控制74LS138的A2A1A0,依次选通Y0-Y7,并作为计数器。采用555定时器产生方波,作为计数的时钟脉冲。最后设计采用4511芯片来驱动七段共阴数码管,以显示第几个LED灯发光。2.1功能介绍(1)主控器在AT89C51中烧入软件程序后就控制整个电路实现功能。(2)时钟电路为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。时序电路用于产生单片机工作所需要的时钟信号。(3)电源电路采用经市电降压、整流、滤波、稳压的稳压电源把市电变为+5v的直流给单片机供电。(4)模式控制电路模式控制部分是单片机的一个中断系统,中断按下后,转换彩灯循环的不同模式。(5)复位电路使CPU和系统中其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。(6)灯显示电路由LED发光二极管组成,也是本次设计的主体,就是要用编写程序烧入芯片,并有单片机控制电路实现LED灯的循环点亮。(7)数码管显示电路本次设计的彩灯循环共有5种循环模式,在仿真中当按键按下的时候,七段数码管就显示由1~5的模式号。物理与电子工程学院2014级本科课程设计33硬件电路设计(1)发光二极管电路设计所选取的红色发光二极管,导通压降为1.5-2V,取1.5V计算,导通电流为2-5mA,如图所示,最大R=(VCC-1.5)/2=1.75kΩ,最小R=(VCC-2)/5=700Ω,但做实际电路时限流电阻取470Ω电阻,所以仿真及原理图绘制时都选取的470Ω。如下图3-1所示图3-1(2)脉冲序列设计采用反馈置数法,时钟脉冲外部接入,原理图如下图3-2所示图3-2物理与电子工程学院2014级本科课程设计4(3)矩形波发生器利用555定时器构成多谐振荡电路,由RC电路充放电公式计算T1=0.7(R1+R2)C,T2=0.7R2C,T=T1+T2.通过计算可得到一定频率,一定占空比的方波信号,此处C=0.1μF。如下图3-3所示图3-3(4)数码管显示采用4511七段显示译码器,显示第几个灯在闪烁,信号从DA,DB,DC输入,OAOBOCODOEOFOG分别接数码管的ABCDEFG,连接数码管和4511还需要限流电阻220Ω。如图3-4所示物理与电子工程学院2014级本科课程设计5图3-44系统软件程序设计主程序的主要功能是负责整个电路的运行,由INT0引出的中断信号,转换控制彩灯循环闪亮的方式。判断是否有中断命令向CPU发出,若是则转换闪亮的模式,若不是若该方式继续运行,每个彩灯闪烁的周期为1s。主程序设计如下:ORG0000HJMPMAINORG000BHJMPT0_INTMAIN:MOVTMOD,#01HMOVTH0,#HIGH(65536-62500)MOVTL0,#LOW(65536-62500)SETBTR0MOVA,#7FHMOVP0,AM_LOOP:物理与电子工程学院2014级本科课程设计6SJMPM_LOOP;--------------------------------T0_INT:MOVTH0,#HIGH(65536-62500)MOVTL0,#LOW(65536-62500)DJNZR7,T0_ENDMOVR7,#32RRAMOVP0,AT0_END:RETI;--------------------------------END5电路仿真及调试KeilC51软件是目前最流行的开发MCS-51系列单片机的软件。KeilC51提供了C编辑器、宏汇编、链接器、库管器和一个功能强大的仿真调试器等在内的完整开发方案,并通过一个集成开发环境(μVision2)将它们组合在一起。由于KeilC51本身是纯软件,还不能直接进行硬件仿真,所以必须挂接单片机仿真器的硬件才可以进行仿真。KeilC51同时还支持PLM汇编和C语言的程序设计,它界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序和软件仿真方面也有很强大的功能(如图5-1所示)。KeilC51支持的CPU很多,本设计中选用的是Atmel公司的AT89C51芯片。当程序编写并仿真成功后,就运行Proteus的ISIS软件,将电路图画好后在进行调试,进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成。通过元件选择按钮P(从库中选择元件命令)命令,在弹出的PickDevices窗口(如图5-3所示)中选择电路所需的元件,放置元件并调整其相对位置,对元件参数设置及元器件间