单片机循环彩灯.doc_第1页
单片机循环彩灯.doc_第2页
单片机循环彩灯.doc_第3页
单片机循环彩灯.doc_第4页
单片机循环彩灯.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计 说 明 书课程名称: 单片机技术与应用 设计题目: 多级外部中断控制灯移动 院 系: 电子信息与电气工程学院 学生姓名: 学 号: 专业班级: 指导教师: 范秋凤 2012 年 5月 18 日课 程 设 计 任 务 书设计题目 多级外部中断控制灯移动学生姓名所在院系电子信息与电气工程学院专业、年级、班设计要求:1. 利用多级外部中断控制灯的移动; 2. 具有电源开关及指示灯,有复位按键; 3. P1端口接8只LED,复位后,8只灯闪烁; 4. 按下外部中断开关S1后,8只灯中一只灯左右移三次,之后回复闪烁;按下外部中断开关S2后,8只灯中两个灯左右移四次,之后回复闪烁;之后,8个LED回复闪烁; 5. 注意多级中断优先权。如:S2优先级高于S1.。则,当按S1使一只灯左右移过程中按下S2,立即开始两只灯左右移,然后再继续完成没有完成的一只灯移动次数;若先按S2,在两只灯左右移没进行完时按开关S1,并不影响两只灯的移动,知道完成规定次数。学生应完成的工作:1. 认真理解课程设计书所要求的工作; 2. 查找并收集相关书籍资料; 3. 根据要求设计出完整的硬件电路; 4. 设计汇编程序; 5. 烧录程序; 6. 焊接电路,调试并修改。参考文献阅读:1 万文略.单片机原理及应用. 重庆:重庆大学出版社,20042 杜尚丰.CAN总线测控技术及其应用.北京:电子工业出版社,2007.13 童诗白,华成英.模拟电子技术基础(第四版).北京:高等教育出版社,2006.4 张毅刚,彭喜元,彭宇.单片机原理及应用(第二版).北京:高等教育出版社,2010.55 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6工作计划:5月7日5月8日 理解课题搜集资料 5月9日5月10日 完成硬件设计 5月14日5月15日 完成程序设计并烧录程序 5月16日5月17日 焊接电路板并调试验证5月18日 写实习报告任务下达日期:2012 年5月 7 日 任务完成日期:2012 年5月 18 日指导教师(签名): 学生(签名): 多级外部中断控制灯移动摘 要:本设计是用AT89S52及其基本外围电路实现单片机控制灯移动。主要包括:电源电路、复位电路、时钟脉冲电路、两级外部中断电路以及发光二极管显示几个部分。在写入相应的程序后,能够实现用两个外部中断控制八只灯的闪烁和有规律循环移动,按下复位键后灯恢复闪烁。该系统能够很方便调整灯的移动,两个外部中断之间有优先级的差别,使灯在移动过程中不会混乱,具有较广泛的实用价值。 关键词:单片机AT89S52 中断 汇编程序 桥堆 晶振 目 录1.设计背景1 1.1.课题依据1 1.2.实习背景 1 2.设计方案1 2.1.提出方案1 2.2.确定方案1 3.方案实施1 3.1.硬件原理1 3.2.软件程序4 33做出实物6 4.结果与结论6 4.1.结果6 4.2.结论6 5.收获与致谢6 5.1.收获6 5.2.致谢7 6.参考文献7 7.附件7 7.1.原理图7 7.2.程序清单8 7.3.元器件清单10 1.设计背景1.1课题依据AT89S52单片机的中断系统有5个中断请求源,两个中断优先级,可实现两级中断服务程序嵌套,每个中断源可以用软件独立地控制为允许中断或禁止中断状态,每个中断源的中断优先级别均可由软件来设置。在单片机系统中,中断技术主要用于实时监测与控制,也就是单片机能及时地响应中断请求源提出的服务请求并作出快速的响应和及时处理,提高了单片机的工作效率和实时性。1.2实习背景由于单片机具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用,嵌入到工业控制单元、机器人、智能仪器仪表、汽车电子系统、武器系统、家用电器、办公自动化设备、金融电子系统、玩具、个人信息终端及通讯产品中。在世界范围内已经得到广泛普及和应用。目前在工业控制、智能仪器仪表、家用电器、测控等领域,都可以看到单片机的踪影,在我国,单片机的开发和使用技术发展迅速。近年来,单片机成为全国各高校相关专业的重要课程。实习是学以致用的重要途径之一。2.设计方案2.1方案提出方案一 单片机的P1口接8只LED,和接两级外部中断电路;采用汇编语言编程,在主程序中调用中断程序、循环程序和延时程序。 方案二 单片机的P1口接8只LED,和接两级外部中断电路;采用C语言编程,在主程序中调用循环程序并且调用中断子程序和延时子程序。2.2确定方案采用汇编语言编程占用资源少,而且执行效率高;思路清晰,但是程序较繁琐。采用C语言编程程序较简短一些,编写比较难理解,占用资源多。中断优先级容易设置,方案一和方案二都能够达到实验要求。在讲两种编程语言对比后,结合自己的知识掌握情况。我们使用了汇编语言编程,决定采用方案一。3.方案实施3.1硬件原理本设计主要以AT89S52芯片为中心,分别与电源电路、复位电路、中断系统、时钟电路、LED显示电路连接,组成一个具有两级中断控制灯移动的简易系统。1、 电源模块桥堆是整流电路中常见的器件,它实际上就是将4只整流二极管封装在一起。桥堆有4根引脚,从它的内电路中可以看出,四只二极管构成桥式电路。7805三端稳压器件是最常用的线性降压型DC/DC转换器,内含过流和过载保护电路。用桥堆2W10和7805以及电容电阻与外界变压器相连为复位电路、LED显示电路、中断部分提供+5伏电压。开关控制电源,发光二极管为电源指示灯。电源电路如图1所示。 图1 电源模块2、 复位电路 AT89S52的复位是由外部的复位电路实现的。复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位电路的基本功能是:系统上电时提供复位信号直至系统稳定后,撤销复位信号,在初始化程序中应安排一定的复位延迟时间用来系统可靠复位。本设计采用了按键手动电平复位,如图2所示,C3左端引线接电源,C3右端引线接AT89S52的RST接口。其工作原理是:VCC上电时,电容充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,电容充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下按键,电容放电。松手,电容又充电,在10K电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。本实验中,当LED在有规律率闪烁时。按下开关SW,就可以恢复到8个发光二极管闪烁。这种复位电路比较简单,其中电阻和电容参数可以根据时钟频率确定,我们选择的是电容22pF,电阻10K欧姆。 图2 复位电路3、 中断电路 在设计中断电路时我们采用的是电平触发方式,这种触发方式的外部中断申请触发器的状态随着CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,在中断服务程序返回之前,外中断请求输入必须无效(即外部中断请求输入已由低电平变为高电平),否则会再次响应中断。所以电平触发方式适合于外部中断以低电平输入且中断服务程序能清除外部中断请求源(即外中断输入电平又变为高电平)的情况。AT89S52正在执行低优先级中断的服务程序时,可被高优先级中断请求所中断,待高优先级中断处理完毕后,再返回低优先级中断服务程序。两级中断嵌套的过程如图3所示。图5-6 两级中断嵌套的过程52系列单片机的外部中断和为低电平有效,如图4所示,R11和R12 下端接电源,右端两根引线分别接和,在按下按键S2和S1时。外部中断接收低电平,发出中断请求,此时LED灯按照程序循环。S2的优先级高于S1。 图3 中断电路4、 时钟电路 51系列单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出芯片引脚XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,为单片机提供时钟脉冲。如图4构成单片机最小工作模式。C1、C2电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。晶振Y1的频率越高,系统的时钟频率越高,单片机的运行速度也越快。但反过来,运行速度快对存储器的要求也越高,对印制电路板的工艺要求也高,及要求线间的寄生电容也越小,因此图中晶振Y1采用12MHZ,属于内部时钟电路。根据书中所述确定两个电容的值,Y1设置为12MHZ时,C1、C2值为33PF。时钟电路如图4所示。 图4 时钟电路5、LED显示电路AT89S52有四个双向8位并行I/O端口,分别记作P0-P3,共32根口线 。在次设计中,P1口作为输出口使用,使用单片机的并行口P1直接驱动发光二极管,电路如图5。由于P1内部有30k左右的上拉电阻。如高电平输出,则强行从P1口输出的电流Id会造成单片机端口的损坏,如图(a)所示。如端口引脚为低电平,能使电流Id 从单片机外部流入内部,则将大大增加流过的电流值,如图(b)所示。所以,当P1口驱动LED发光二极管时,应该采用低电平驱动。(a)不恰当的连接:高电平驱动 (b)恰当的连接:低电平驱动图5发光二极管与AT89S51并行口的直接连接因此八只LED接到AT89S52DE P1端口的电路如图6所示,在外部电平的驱动下。由于程序的作用。这8只LED按照要求发光,每个发光二极管都要串联一个适当的都电阻作为保护措施。 图6 LED显示电路3.2软件编程 采用汇编语言编程,在主程序中,先把累加器赋初值0FEH,可以点亮第一个灯。初始化后要进行累加器的取反,主程序调用中断子程序,此程序的主要部分是两个中断子程序和延时程序。中断要先设置优先级,在设计中我们将S1接作为高级中断,让一个工作寄存器循环向右移动一位,在执行三次循环之后返回,S2接作为低级中断,让相邻两个寄存器依次向右移动两位,在执行四个循环后返回。两个中断子程序均要嵌套调用一个延时程序。在写完程序之后,要使用KEIL软件进行编译。程序流程图如图7所示。开始设置终端优先级是外部中断0吗?是外部中断1吗?有外部中断0吗?执行WINT1执行WINT0初始化P1继续执行WINT1执行WINT0YYNNYN 图7 程序流程图4.系统仿真完成各个模块之后用proteus软件进行仿真,首先在proteus上画好原理图,然后把汇编程序在keil软件上转换成hex格式的文件后导入到单片机上,最后进行仿真。仿真原理图见附件图7所示。 5.结果与结论5.1实物制作由于我们是使用万用板需要布局使实物更美观,我们讨论如何规划元器件布局之后,进行了焊接工作,焊接时,先安装上最大的器件AT89S52,然后围绕AT89S52将其他模块焊接上,在焊接时要注意时钟电路的晶振和电容应尽量靠近AT89S52,以减少寄生电容。还要留出电源线和接地线。焊接时应注意焊锡和电烙铁之间的距离,手一定要稳,一定不能虚焊,不能让元件之间发生短路。焊接好的实物见附录图5.2硬件测试焊接完成后烧录程序,当接通电源后进行调试,发现单片机不能正常的按要求工作,经过测试后发现整个电路不执行程序,为了查找原因,我们用万用表仔细的测量底座和其他模块看是否是由于虚焊的原因,测量后最后发现电路没有虚焊,且电路没有接错,直到最后才发现单片机上的第31管脚EA接口没有接高电平,才导致整个电路不执行程序,在经过修改之后,单片机能够执行程序,进行工作。5.3软件测试单片机执行程序后,8只LED灯开始闪烁,但是按下中断开关1实现的却是中断2的功能,8只LED中的两只依次移动两位循环四次,在执行四次循环之后返回。分析原因后,我们作出相应的修改之后,基本能完成设计要求的所有功能。在按下S1之后,一只LED循环移动三个来回之后,恢复闪烁。按下S2,则两个灯循环四个来回之后恢复。若在S1按下之后立即按下S2,则先执行两个灯循环,然后继续执行一个灯循环,结束后恢复八只灯闪烁5.4结论该设计实现了外部中断对灯移动的控制,在许多LED显示中都有应用。在实际的产品中,程序和电路更加复杂,显示功能也更加强大。若是对该系统加以修整,可以制作电子显示屏、流水灯等。应用前景很广泛。6.收获与致谢6.1 收获 此次实习让我更加熟练的掌握AT89S52的时钟电路、复位电路,这些是最基本的单片机知识。由于电源电路有多种实现方式,这此实习使用的比较简单。在显示电路中,AT89S52有多种工作模式,在不同条件下,输出也不同。对单片机的工作原理,结构和使用方法了解深入。在编写程序时,中断、循环、嵌套、延时等的编写都需要对汇编语言的常用指令和基本程序的设计有很深入的了解。在硬件和软件都掌握的情况下,可以用单片机作出很多实际用途的系统。 通过这次课程设计,我更加深刻的理解单片机的相关知识,初步掌握如何应用 单片机,对汇编语言编程有了更深入的认识。在学习课本知识的同时,增强了动手能力。理论联系实际。锻炼了自己的能力。为以后的工作和学习打下坚实基础。从设计要求分析到硬件电路设计、系统方案论证与选取以及软件编程和电路板的焊接,一路走来,我加深了对单片机以及电子系统设计的理解,理论源于实际又要反作用于实际,我们没有源于实际这个过程,又缺乏将理论作用于实际的机会,在这次课程设计过程中许多问题便凸现出来。此次课程设计我们使用了Keil uVision4, proteus ISIS这些应用软件,在此过程我掌握了这些软件的常用功能,对单片机应用程序开发流程有了较为深入的了解,通过实际电路的焊接,我也掌握了焊接电路的技巧。焊接后对系统的调试从感觉无从下手到后来逐渐理清思路,自己也学到了很多电路调试的技巧,也学会了基本元器件的管脚判别。 6.2致谢 在实习中,范老师对我们进行了耐心指导和细心的讲解,本小组成员相互交流,积极参与,配合工作。同班同学在一些问题上也给与了很多的指正和讲解。再次我向尊敬的老师和亲爱的同学们表示真诚的谢意。另外,感谢学校和系里为我们提供了一个自我锻炼的平台,感谢在这次实习活动中付出辛勤劳动的各位老师和工作人员。7.参考文献1 万文略.单片机原理及应用. 重庆:重庆大学出版社,20042 杜尚丰.CAN总线测控技术及其应用.北京:电子工业出版社,2007.13 童诗白,华成英.模拟电子技术基础(第四版).北京:高等教育出版社,2006.4 张毅刚,彭喜元,彭宇.单片机原理及应用(第二版).北京:高等教育出版社,2010.55 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.68.附件附件1元器件清单元器件名称型号规格数量单片机AT89S521桥堆2W101三端稳压集成电路78051万能实验板1晶振12M1发光二极管12电源开关长动1按键开关点动12电阻300欧8电阻10千欧1电阻1千欧3电解电容1000uf2电解电容22uf1瓷片电容33pf2底座40脚1导线若干附件2原理图附件3仿真图附件4程序清单YS1 EQU 30HYS2 EQU 40HORG 0000H ;主程序入口地址LJMP MAINORG 0003H ;外部中断0入口地址LJMP WINT0ORG 0013H ;外部中断1入口地址LJMP WINT1MAIN:SETB EA SETB EX1 SETB EX0 SETB PX0 CLR IT0 CLR IT1 MOV SP,#70H CLR ASS:MOV P1,A ;闪烁 LCALL DELAY CPL A LJMP SSWINT0:PUSH Acc ;外部中断0 PUSH PSW SETB RS0 SETB RS1 MOV

温馨提示

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

评论

0/150

提交评论