多级外部中断控制灯移动_第1页
多级外部中断控制灯移动_第2页
多级外部中断控制灯移动_第3页
多级外部中断控制灯移动_第4页
多级外部中断控制灯移动_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、. . . . 18 / 23课 程 设 计 任 务 书设计题目多级外部中断控制灯移动学生设计要求:1、 具有电源开关与指示灯,有复位按键;2、 单片机P1端口接8只LED,复位后,8只灯闪烁;3、 按下外部中断开关(即外部中断输入信号)K1后,8只灯中一个灯左右移动三次,之后恢复闪烁;按下外部中断开关(即外部中断输入信号)K2后,8只灯中两个灯左右移动四次,之后8个LED恢复闪烁; 4、 注意多级中断优先级。如:若K2高优先级,K1低优先级。则,但按K1使一只灯左右移动过程中按下K2,立即开始两只灯左右移动,然后再继续完成没有完成的一只灯移动次数;若先按K2,在两只灯左右移没进行完时按下开关

2、K1,并不会影响到两只灯的移动,直至完成规定次数。学生应完成的工作:1、认真理解课程设计任务书的设计要求 2、查找并收集相关书籍资料,并根据要求确定设计方案3、用DXP软件画出硬件连接图4、用Keil软件编写相应程序,并在Proteus软件里进行仿真实验。 5、焊接电路板,烧录程序并调试,做出相应的修改 6、完成课程设计报告 7、该生负责焊接、调试与维修参考文献阅读:1毅刚.单片机原理与应用M.:高等教育,2010. 2杜尚丰.CAN总线测控技术与其应用.:电子工业,2007.13童诗白.模拟电子技术基础M.:高等教育,2005.4白延敏.51单片机典型系统开发实例精讲M.:电子工业,2009

3、. 5康维新.MCS-51单片机原理与应用M.:中国轻工业,2009.6杜树春.单片机C语言和汇编语言混合编程实例详解.:航空航天大学,2006.6工作计划:5月6号集体讲解,下达各组任务书;5月7号12号各组进行相应软硬件设计;5月13号发放元器件与万能版,准备课程设计报告;5月14号15号电路板安装与程序烧录与调试,5月17号提交课程设计说明书。任务下达日期:2013 年5月 6 日 任务完成日期:2013 年5月 17 日指导教师(签名): 学生(签名): 多级外部中断控制灯移动摘 要:本次课程设计是用单片机AT89S52与其外部电路实现多级外部中断的控制灯移动。在外部电路中:电源电路由

4、整流桥堆2W10、滤波电容、7805稳压器、发光二极管组成;电容和晶振组成时钟脉冲电路为单片机提供12MH脉冲信号。电容、电阻与按键组成的复位电路随时可以将单片机恢复到中断执行前的工作状态;通过按钮接地给单片机两个优先级不同的中断信号输入;8个二极管组成输出电路作为单片机运行状态监控。在外部硬件电路和软件程序设计好之后用Keil软件对程序进行编译并生成程序文件,再用Proteus仿真软件给单片机写入相应的汇编语言程序后,进行仿真实验。能够实现课程设计所要求的利用两个外部中断控制实现八个发光二极管的闪烁和有规律的移动。该系统的两个外部中断有优先级区别,使灯在移动中不会出现混乱,并且能很方便的调整

5、灯的移动,进行实时控制,具有较广泛的实用价值。关键词:AT89S52;多级中断;桥堆2W10;7805;输出电路目 录1. 设计背景11.1单片机的应用与发展11.2 中断系统11.3 课题的实用价值、意义与发展12. 设计方案22.1 任务分析22.2 方案提出22.3确定方案33. 方案实施33.1 系统的构成33.2 硬件电路43.3 软件程序83.4 电路仿真94. 结果与结论 94.1 结果104.2结论105. 收获与致116. 参考文献117. 附 件127.1 电路原理图127.2 仿真图127.3实物图137.4 元器件清单147.5 程序141. 设计背景1.1单片机的应用

6、与发展单片机的问世是计算机技术发展史上的一个重要的里程碑,因为它的诞生标志着计算机正式形成了通用的计算机系统和嵌入式计算机系统两大类。其基本组成包括运算器、控制器、存储器、输入设备与输出设备。运算器:其核心是ALU部件,主要作用就是完成二进制算术与逻辑运算,运算器的辅助设备包括暂存器TMP、寄存器B、累加器 ACC、布尔处理器以与程序状态标志寄存器 PSW 等等;控制器:其为CPU的神经中枢,包括定时控制逻辑电路、指令寄存器以与译码器等模块;存储器:存储器中的每个存储单元均对应一个地址,其利用2位16进制数表示;输入设备与输出设备:单片机通过输入、输出设备来控制外部电路。单片机的体积小,但是集

7、成度高,具备较高的可靠性与控制功能。功耗低且采用低电压,因此对便携式产品的制造与生产十分有利,具备较好的扩展性与优异的性能比。其应用围十分广泛,包括办公室自动化设备、实时过程的控制、各类仪器仪表、医疗领域相关设备、汽车电子产品以与计算机网络通信技术等等。由此可见,单片机是一种实用性非常强的嵌入式系统。由于单片机对各行各业都有用, 这种电子技术的进步导致各行各业的进步,也带动了人类文明的进步。1.2中断系统在单片机系统中,中断技术主要用于实时监测与控制,就是要求单片机能与时的响应中断请求源提出的服务请求,并做出快速响应和与时处理。这些工作就是由单片机片的中断系统来实现的。当中断请求源发出中断请求

8、时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断程序。如果单片机中没有中断系统,单片机的大量时间可能会浪费在查询是否有服务请求发生的定时查询操作上,即不论是否有服务请求发生,都必须去查询。采用中断技术完全消除了单片机在查询方式中的等待现象,大大提高了单片机的工作效率和实时性。由于中断工作方式的优点极为明显,因此,单片机的片硬件中都带有中断系统。1.3 课题的实用价值、意义与发展状况本次设计应用多级外部中断对灯的移动进行控制。在商业街道上看到的绚丽霓虹灯就是最简单的实际应用。引入多级中断是因为:为

9、使系统能与时的响应和处理所发生的紧迫中断,同时又不至于发生中断信号丢失,计算机发展早起在设计中断系统硬件时根据各种中断的轻重在线路上做出安排,从而使中断响应能有一个优先次序。多级中断的处理原则:当多级中断同时发生时,CPU按照由高到低的顺序响应。高级中断可以打断低级中断处理程序的运行,转而执行高级中断处理程序。当同级中断同时到时,则按位响应。在科技迅速发展的当代社会,智能化是高端技术的主流,要实现智能控制就必须规定控制程序的执行顺序与优先权。在这里多级中断起到了至关重要的作用。在将来,中断系统将会引领智能控制走向尖峰!2.设计方案2.1任务分析根据课程设计要求,可知此设计电路有五部分组成,即电

10、源电路、时钟脉冲电路、中断电路、复位电路、输出电路。芯片的工作电压为直流+5V,而市电是220V交流电,因此要有变压、整流、稳压与电源显示器件。灯有规律的闪烁和移动,需要有定时器产生固定频率的时钟脉冲信号,为单片机提供工作所需求的时钟脉冲或者是为控制灯的驱动电路提供固定控制脉冲信号。中断和复位都需要有按键来手动控制,输出则有发光二极管显示。2.2方案提出方案一 由555定时器产生时钟信号,74LS192N将十进制信号转换成二进制信号,74LS138N将二级制信号转换高低电平驱动二极管发光,以与电源器件提供工作电压。方案二 由外部定时器为单片机提供工作所需求的脉冲时钟信号,单片机的P1口接8只L

11、ED, 和接两级外部中断电路;采用汇编语言编程,在主程序中调用中断程序、循环程序和延时程序的嵌套。方案三 采用单片机部自带的时钟电路,用晶振连接成脉冲发生器为单片机提供11.0592MH的工作脉冲信号,单片机的P1口接8只LED,和接两级外部中断电路;采用汇编语言编程,在主程序中调用中断程序、循环程序和延时程序的嵌套。2.3确定方案由于硬件器材本身工作时具有较大的误差,再加上纯硬件器材的相互影响,工作结果会与设与要求有很大的差别,所以要采用单片机进行软件控制。这样一来只要软件程序编写的符合要求,实际执行结果会和理想结果十分的相像。而单片机工作所需求的时钟脉冲信号若用外部电路来提供则十分的繁琐,

12、在焊接时会增加一定的工作量,并且外部电路越多误差越大。采用单片机部自带的时钟电路,减少了焊接工作量,节省了器材,并且时钟信号与单片机同步工作,很大程度减小了误差,使工作结果更加接近理想状态。因此,本次课题采用方案三进行设计并验证。3. 方案实施3.1系统的构成时钟脉冲电路本次设计主要以AT89S52芯片为中心,分别与电源电路、复位电路,中断系统、时钟脉冲电路、LED显示电路连接,组成一个具有两级中断控制灯移动的简易系统。其结构与信息流程图如图1 所示。电源电路复位电路多 级中 断电 路AT89S52单 片 机输出电路图1 系统结构与信息流程图3.2 硬件电路1、电源电路电源电路由桥堆2W10、

13、滤波电容、LM7805稳压器、发光二极管、限流电阻和USB接口组成,其原理图如图2所示。图2电源电路原理图桥堆是整流电路中常见的器件,它是将4只整流二极管连接成整流桥电路,并且封装在一起。输入为交流电,输出为带波动的直流电,电容C1、C2、C3为滤波电容,C1和C2用来减小整流桥输出直流电的波动。其中用7805三端稳压IC来组成稳压电源所需的外围元件极少,电路部还有过流、过热与调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78后面的数字代表该三端集成稳压电路的输出电压,如7805表示输出电压为正5V。从正面看引脚从左向右按顺序标注,接入电路时脚电压高于脚,脚为输

14、出位。对于78*正压系列,脚高电位,脚接地,在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。 R1为分压限流电阻,LED为电源信号指示灯。当电源供电,开关打开的情况下,根据发光二极管的发光情况用来判断是否输出有电压,起到显示作用。本此设计采用双电源供电,在没有交流电的情况下,可以采用USB,+5V直流供电。2、复位电路复位电路通常采用上电自动复位和按钮复位两种方式。因为要在中断执行过程中进行手动复位,所以本次设计采用按钮复位。复位电路由电容、复位按钮和电阻组成。其电路原理图如图3所示。图3复位电路复位电路的基本功能

15、是:系统上电时提供复位信号直至系统稳定后,撤销复位信号,在初始化程序中应安排一定的复位延迟时间用来实现系统可靠复位。如图3所示,R2左端引线接电源,C6右端引线接AT89C52的RST接口。其工作原理是:VCC上电时,电容充电,在1K电阻上出现电压,使得单片机复位;几个毫秒后,电容充满,1K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下按键,电容放电。松手,电容又充电,在1K电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。在实验中,当执行中断程序,LED在有规律率移动闪烁时。按下开关S3,就可以恢复到8个发光二极管同时闪烁。这种复位电路比较简单,其中电阻和

16、电容参数可以根据时钟频率确定。3、中断电路51系列单片机外部中断和为低电平有效,当给端口一个低电平触发脉冲后单片机中断系统工作。外部中断电路,需要给单片机一个低电平信号,在此理论基础上,需要两个按钮,连成两个中断电路。由此在单片机中断端口接触两个按钮再接到低电平上。原理图如图4所示。此次设计有两个中断,且有优先级区分,设置K2为高优先级,K1为低优先级。即:按下K1时,一只灯左右移动,在此过程中按下K2,立即开始两灯左右移,当两只灯左右移动完成后,再继续完成没有完成的一只灯的移动;若先按下K2,则,两只灯左右移动,在此过程中按下K1不影响两灯移动,直至完成规定次数。图4 中断电路原理图4、时钟

17、脉冲电路51系列单片机部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输入端为引脚XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,为单片机提供时钟脉冲。时钟脉冲电路原理图如图5所示。图5 时钟脉冲电路在时钟电路中晶振是重要器件,每个单片机系统里都有晶振,全称是叫晶体振荡器,在单片机系统里晶振的作用非常大,它结合单片机部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标

18、称的谐振频率。由此可以得知,C1和C2电容值的大小直接影响着振荡器频率的高低、振荡器的稳定性和温度稳定性。理论上应该选用12MH的晶振,但是本次设计采用11.0592MHZ的晶振,这种晶振主要是可以方便和精确的设计串口或其它异步通讯时的波特率。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。5、LED显示电路AT89S52有四个双向8位并行I/O端口,分别记作P0-P3,共32根口线 。在次设计中,使用P1口作为输出口,八只LED接到AT89S52 P1端口,在外部电平的驱动下。由于程序的作用。这8只LED

19、按照要求发光,外电路需接电阻来分压限流。其原理图如图6所示。图6 输出电路原理图6、AT89S52AT89S52是一种低功耗、高性能CMOS8位微控制器,与MCS-51单片机产品兼容。具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片晶振与时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或

20、硬件复位为止。如图7所示。RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。为了执行部程序指令,应该接VCC。 在flash编程期间,也接收12伏VPP电压。XTAL1:振荡器反相放大器和部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。和:两个外部中断请求。图7 AT89S523

21、.3 软件程序采用汇编语言按照设计要求编写相应的程序。在主程序中, P1赋初值0FFH,灯灭,调用延时程序,延时之后取反点亮灯再调用延时,如此无限循环,直至有中断请求。设置中断允许请求,初始化中断,设置中断优先级。在设计中我们将K1接作为低级中断,让一个工作寄存器循环向左移动一位并延时,在执行8次左移之后再右移8次,总体循环3次后返回主程序。K2接作为高级中断,让两个灯左右移动1位并延时,循环4次回归初始状态,然后返回主程序。按要求编写程序后在Kiel软件中进行编译下载,仔细检查编译无误后,导出程序文件(后缀为.hex的文件),注意在导出文件是要对文件所适用的单片机工作频率进行选择(即选定为1

22、2MH)。程序流程图如图8所示。开始中断1中断0初始化点亮中间两灯点亮1个灯YYY左移一次延时向两边移一次动YYY8只灯灭是否移动4次是否左移8次YYY延时N YN8只灯亮向中间移一次右移一次延时YYY延时是否右移8次是否移动4次NYYYNN是否循环3次是否循环4次YYN NY返回返回YY图8 程序流程图3.4 电路仿真在硬件电路图与软件程序设计完成后,在Proteus软件中仿真。先按照设计的电路原理图,在仿真软件中画出相应的仿真图。要注意的是,在仿真软件中芯片是没有电源管脚的,当点击运行开关后系统默认给芯片加上+5V的工作电压,因此仿真电路中不需要有电源电路。在检查无误后,给芯片导入编译好的

23、程序文件(即在Keil中生成的后缀为.hex的文件),运行仿真软件,观察仿真结果。此时8只发光二级管闪烁,按下中断开关K1后一只灯左右移,在此过程中按K2,立即开始两灯左右移然后再继续完成没有完成一只灯移动次数;若先按K2,在两只灯左右移没进行完时按K1,并不会影响到两只灯的移动,直至完成规定次数。复位后8只灯闪烁,完全符合设计要求。仿真电路见附录图10。 4. 结果与结论4.1结果此次设计运用桥堆2W10、滤波电容、7805稳压器、发光二极管、电阻和开关设计的电源电路完全正常工作。在接通9V交流电源后,按下开关,电源指示灯亮,用万用表测量输出电压为标准的+5V直流电。输出电路,发光二极管正常

24、工作,8只灯同时闪烁。按下中断按钮K1,一只灯左移8次后再右移恢复到原来位置,如此循环3次后恢复8只灯同时闪烁。按下中断按钮K2后,两只灯从两边向中间移动,会合后再向两边移动,如此循环四次后恢复到初始状态。在一只灯移动过程中按下K2中断按钮,立即执行两只灯移动,完成后继续执行未执行完的一只灯移动。相反在两只灯移动的过程按下K1按钮,继续两只灯移动,不执行低级中断。本次所制作的多级外部中断控制灯移动,经调试验证符合要求,能够按照所给设计要求正常工作。总体来讲本次设计基本完成了老师的要求和设计的目的。4.2结论本次设计中,本人负责硬件电路的焊接、调试与维修。在用Proteus软件进行仿真时要注意修

25、改器件的参数,使之符合设计要求,并在仿真过程中仔细观察仿真结果,分析结果并与程序设计原理比对,一旦发现仿真结果与理想结果有出入时,停止运行并对软件程序进行再次审核,例如:灯的闪烁延时时间是否与理想的时间一样,若不同则对程序进行再次研究审核。如此反复多次,直至仿真结果完全符合要求。因为此次用的是万能板,在硬件焊接过程中要特别的小心谨慎。在焊接前要对硬件的焊接位置进行合理地布局,以便于焊接并减少跳线的数量。跳线的排布要尽量的清晰有条理,以便于后续的检查与维修。在焊接过程中应尽量一次性焊接成功,注意二极管和电容正负极性。由于万能板的质量问题,在元件焊接成功后尽量不要摇动,避免将焊接元件的管脚附铜摇离

26、电路板,造成断路。在焊接过程中应注意,每次焊接不能超过5秒,防止加热时间过长,烧坏元器件。焊锡不能太多或太少,太多容易造成短路,太少容易出现虚焊。这些情况都会造成焊接完成后调试不能正常工作。焊接过程中,电烙铁尽量远离他人,避免由于自己的疏忽对他人造成不必要的伤害。焊接完成后通电进行调试,看是否能像设计原理一样正常工作。若不能正常工作,应对线路与元器件进行检查,看是否有断线、虚焊和漏焊,电容极性是否接反,二极管极性是否接错,若还不能正常工作,就要用万用表对元器件挨个进行测量检查,直至电路正常工作。5. 收获与致6. 参考文献1毅刚.单片机原理与应用M.:高等教育,2010.2杜尚丰.CAN总线测

27、控技术与其应用.:电子工业,2007.13童诗白.模拟电子技术基础M.:高等教育,2005.4白延敏.51单片机典型系统开发实例精讲M.:电子工业,2009.5康维新.MCS-51单片机原理与应用M.:中国轻工业,2009.6杜树春.单片机C语言和汇编语言混合编程实例详解.:航空航天大学,2006.67. 附件7.1 电路原理图电路原理图如图9所示。图9 电路原理图7.2 仿真图仿真图如图10所示。图10 仿真电路图7.3实物图7.4 元器件清单附件:元器件清单元器件名称型号规格数量备注单片机AT89S521芯片底座40管脚1桥堆2w101自锁开关6管脚1按钮3稳压器78051电容200uf1

28、电容33pf3电容100uf1电阻1k1电阻2002发光二极管红、绿9USB接口1电源接口1晶振11.9052MH17.5程序ORG 00H ;目标程序开始地址JMP MAIN ;转到主程序ORG 0003H ;中断0入口地址JMP ZD0 ;转到中断0 ORG 0013H ;中断1入口地址JMP ZD1 ;转到中断1 MAIN: SETB EA ;所有中断请求被开放 SETB EX1 ;允许中断1 SETB EX0 ;允许中断0 SETB IT0 ;设置中断0为边沿触发 SETB IT1 ;设置中断1为边沿触发SETB PX1 ;设置中断1为高优先级 MOV SP,#70H ;堆栈栈顶所指地址 MOV A,#0FFH ZC: MOV P1,A ;实现灯闪烁CALL DEL ;调用延时CPL A ;对A取反SJMP ZC ;无条件转

温馨提示

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

评论

0/150

提交评论