单片机多级外部中断控制灯移

上传人:博****1 文档编号:509040808 上传时间:2022-12-08 格式:DOC 页数:16 大小:1.06MB
返回 下载 相关 举报
单片机多级外部中断控制灯移_第1页
第1页 / 共16页
单片机多级外部中断控制灯移_第2页
第2页 / 共16页
单片机多级外部中断控制灯移_第3页
第3页 / 共16页
单片机多级外部中断控制灯移_第4页
第4页 / 共16页
单片机多级外部中断控制灯移_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《单片机多级外部中断控制灯移》由会员分享,可在线阅读,更多相关《单片机多级外部中断控制灯移(16页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 课 程 设 计 说 明 书课程名称: 单片机原理及应用 设计题目: 多级外部中断控制灯移 院 系: 电子信息及电气工程 学生姓名: 学 号: 专业班级: 指导教师: 2 / 课 程 设 计 任 务 书设计题目多级外部中断控制灯移动学生姓名所在院系电子信息及电气工程系专业、年级、班设计要求:1、 利用多级外部中断控制灯的移动。要求具有电源开关及指示灯,有复位按键。2、 单片机P1端口接8只LED,复位后,8只灯闪烁;按下外部中断开关(外部中断输入信号)K1后,8只灯中的一个灯左右移动三次,之后恢复闪烁,按下外部中断开关K2后,8只灯中的两只左右移动

2、四次,之后恢复闪烁;3、 注意多机终端的优先级,例如:若K2高优先级,K1低优先级。则,当按下K1使一只灯左右移动过程中按下K2,立即开始两只等移动,然后再继续没有完成的一只灯移动次数;若先按下K2在两只灯移动过程中按下K1,不会影响两只灯的移动,直到完成规定的次数。学生应完成的工作:1、根据要求确定设计方案2、用PROTEUS软件画出硬件连接图并仿真。3、写出相应程序4、焊接电路板及调试5、写出课程设计报告参考文献阅读:1 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.62 张毅刚.单片机原理及应用.北京:高等教育出版社,2003.12工作计划: 5

3、月4日 学习课程设计的基本要求和注意事项 5月5日 确定设计方案 5月6日 绘制硬件连接图 5月7日 编写程序 5月10日 仿真并修改程序 5月11日 领取元器件, 5月12日 焊接电路板 5月13日 写入程序进行验证 5月14日 写实验报告任务下达日期: 指导教师(签名): 学生(签名): 多级外部中断控制灯移动摘 要:本设计是用AT89C52及其基本外围电路实现单片机控制灯移动。主要包括:电源电路、复位电路、时钟脉冲电路、二级外部中断电路以及发光二极管显示几个部分。在写入相应的程序后,能够实现用两个外部中断控制八只灯的闪烁和有规律循环。该系统能够很方便调整灯的移动,两个外部中断之间有优先级

4、的差别,使灯在移动过程中不会混乱,具有较广泛的实用价值。关键词:AT89C52、中断、汇编程序、桥堆、晶振 。目 录1.设计背景11.1.课题依据11.2.实习背景12.设计方案12.1.提出方案12.2.确定方案13.方案实施13.1.硬件原理13.2.软件程序4 33.做出实物64.结果与结论6 4.1.结果6 4.2.结论65.收获与致谢6 5.1.收获6 5.2.致谢76.参考文献77.附件77.1.原理图77.2.程序清单87.3.元器件清单101. 设计背景1.1课题依据 单片机中断功能可以提高CPU的效率;可以实现实时处理,以满足实时控制要求;可及时处理故障,提高单片机的可靠性。

5、 1.2实习背景 由于单片机具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在世界范围内已经得到广泛普及和应用。目前在工业控制、智能仪器仪表、家用电器、测控等领域,都可以看到单片机的踪影。在我国,单片机的开发和使用技术发展迅速。近年来,单片机成为全国各高校相关专业的重要课程。实习是学以致用的重要途径之一。2.设计方案2.1 方案提出 方案一 单片机的P1口接8只LED, 和接两级外部中断电路;采用汇编语言编程,在主程序中调用中断程序、循环程序和延时程序的嵌套。 方案二 单片机的P1口接8只LED,和接两级外部中断电路;采用C语言编程,在主程序中调用循环程序并且调用中

6、断子程序和延时子程序。2.2确定方案 采用汇编语言编程占用资源少,而且执行效率高;思路清晰,但是程序较繁琐。采用C语言编程程序较简短一些,编写比较难理解,占用资源多。中断优先级容易设置,方案一和方案二都能够达到实验要求。在讲两种编程语言对比后,结合自己的知识掌握情况。我们使用了汇编语言编程。决定采用方案一。3. 方案实施3.1 硬件原理本设计主要以AT89C52芯片为中心,分别与电源电路、复位电路,中断系统、时钟电路、LED显示电路连接,组成一个具有两级中断控制灯移动的简易系统。原理图如附件7.1.在此次实习中,本人主要负责硬件电路的设计。各部分电路如下:1、电源电路 图1 电源电路桥堆是整流

7、电路中常见的器件,它实际上就是将4只整流二极管封装在一起。桥堆有4根引脚,从它的内电路中可以看出,四只二极管构成桥式电路。7805三端稳压器件是最常用的线性降压型DC/DC转换器,内含过流和过载保护电路。如图1所示,用桥堆2W10和7805以及电容电阻与外界变压器相连为复位电路、LED显示电路、中断部分提供+5伏电压。图中开关控制电源,发光二极管为电源指示灯。2、复位电路图2 复位电路复位电路的基本功能是:系统上电时提供复位信号直至系统稳定后,撤销复位信号,在初始化程序中应安排一定的复位延迟时间用来系统可靠复位。本设计采用了按键手动电平复位,如图2所示,R12左端引线接电源,C6右端引线接AT

8、89C52的RST接口。其工作原理是:VCC上电时,电容充电,在1K电阻上出现电压,使得单片机复位;几个毫秒后,电容充满,1K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下按键,电容放电。松手,电容又充电,在1K电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。本实验中,当LED在有规律率闪烁时。按下开关SW,就可以恢复到8个发光二极管闪烁。这种复位电路比较简单,其中电阻和电容参数可以根据时钟频率确定。3、中断电路 图3 中断电路51系列单片机的外部中断和为低电平有效,如图3所示,R9和R10左端接电源,下端两根引线分别接和,在按下按键K1和K2时。外部中断

9、接收低电平,发出中断请求,此时LED灯按照程序循环。K2的优先级高于K1。4、时钟电路图4 时钟电路51系列单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输入端为引脚XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,为单片机提供始终脉冲。如图构成单片机最小工作模式。图中晶振Y1采用12MH,属于内部时钟电路。根据书中所述确定两个电容的值。Y1设置为12MH时,C1、C1值为33PF。5、LED显示电路AT89C52有四个双向8位并行I/O端口,分别记作P0-P3,共32根口线 。在次设计中,P1口作为输出口使用,外

10、电路无需接上拉电阻。 如图5所示。八只LED接到AT89C52DE P1端口,在外部电平的驱动下。由于程序的作用。这8只LED按照要求发光,每个发光二极管都要串联一个适当的都电阻作为保护措施。图5 显示电路3.2 软件编程采用汇编语言编程,在主程序中,先把累加器赋初值0FEH,可以点亮第一个灯。初始化后要进行累加器的取反,主程序调用中断子程序,此程序的主要部分是两个中断子程序和延时程序。中断要先设置优先级,在设计中我们将K1接作为低级中断,让一个工作寄存器循环向右移动一位,在执行三次循环之后返回,K2接作为高级中断,让相邻两个寄存器依次向右移动两位,在执行四个循环后返回。两个中断子程序均要嵌套

11、调用一个延时程序。在写完程序之后,要使用KEIL软件进行编译。程序流程图如图6。开始初 始 化8只灯闪烁中断0赋初值循环左移1次八次到?三次到?循环右移1次八次到?NNYYYN返 回中断1赋初值循环左移2次四次到?四次到?循环右移2次四次到?返 回NNNYYY图6程序流程图 3.3 做出实物这次课程设计采用万能板,按照原理图焊接电路,焊接过程必须注意不能短路。焊接之后将程序写入,验证能否实现设计要求的所有功能,如果不能,检验是否焊接错误。如有错误进行修改,直到能够实现功能。在验证时,由于没有变压器。我们采用了常用低压充电器替代。4. 结果与结论4.1 结果 在老师的指导和同学的帮助下,我们按时

12、完成了设计,而且能实现要求的功能。 在验证的时候,由于开始单片机接地线疏忽了,导致单片机芯片(AT89C52)不能工作,在经过修改之后,基本能完成设计要求的所有功能。在按下K1之后,一只LED循环移动三个来回之后,恢复闪烁。按下K2,则两个灯循环四个来回之后恢复。若在K1按下之后立即按下K2,则先执行两个灯循环,然后继续执行一个灯循环,结束后恢复八只灯闪烁。4.2 结论 该设计实现了外部中断对灯移动的控制,在许多LED显示中都有应用。在实际的产品中,程序和电路更加复杂,显示功能也更加强大。若是对该系统加以修整,可以制作电子显示屏、流水灯等。应用前景很广泛。5. 收获与致谢5.1 收获此次实习让我更加熟练的掌握AT89C52的时钟电路、复位电路,这些是最基本的单片机知识。由于电源电路有多种实现方式,这此实习使用的比较简单。在显示电路中,AT89C52有多种工作模式,在不同条件下,输出也不同。对单片机的工作原理,结构和使用方法了解深入。在编写程序时,中断、循环、嵌套、延时等的编写都需要对汇编语言的常用指令和基本程序的设计有很深入的了解。在硬件和软件都掌握的情况下,可以用单片机作出很多实际用途的系统。通过这次课程设计,我更加深刻的理解单片机的相关知识,初步掌握如何应用单片机,对汇编语言编程有了更深入的认识。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号