《多级外部中断控制灯设计》10电气1班 第二组

上传人:woxinch****an2018 文档编号:38632566 上传时间:2018-05-05 格式:DOC 页数:15 大小:331.69KB
返回 下载 相关 举报
《多级外部中断控制灯设计》10电气1班 第二组_第1页
第1页 / 共15页
《多级外部中断控制灯设计》10电气1班 第二组_第2页
第2页 / 共15页
《多级外部中断控制灯设计》10电气1班 第二组_第3页
第3页 / 共15页
《多级外部中断控制灯设计》10电气1班 第二组_第4页
第4页 / 共15页
《多级外部中断控制灯设计》10电气1班 第二组_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《《多级外部中断控制灯设计》10电气1班 第二组》由会员分享,可在线阅读,更多相关《《多级外部中断控制灯设计》10电气1班 第二组(15页珍藏版)》请在金锄头文库上搜索。

1、0单单 片片 机机 课课 程程 设设 计计用外部中断控制用外部中断控制 LEDLED 灯的设计灯的设计学号:学号:20100611192010061119专业:专业:1010 电气一班电气一班姓名:姓名:赵晨博赵晨博成绩:成绩:2012-06-132012-06-131多级外部中断控制灯移动多级外部中断控制灯移动一、设计目的与要求:一、设计目的与要求:1.利用多级外部中断控制灯的移动。要求具有电源开关及指示灯,有复位按键。2.单片机 P1 端口接 8 只 LED,复位后,8 只灯闪烁;按下外部中断开关(外部中断输入信号)K1 后,8 只灯中的一个灯左右移动三次,之后恢复闪烁,按下外部中断开关

2、K2 后,8 只灯中的两只左右移动四次,之后恢复闪烁;3.注意多机终端的优先级,例如:若 K2 高优先级,K1 低优先级。则,当按下 K1 使一只灯左右移动过程中按下 K2,立即开始两只等移动,然后再继续没有完成的一只灯移动次数;若先按下 K2 在两只灯移动过程中按下 K1,不会影响两只灯的移动,直到完成规定的次数。关键词:关键词:AT89C52、中断、汇编程序、桥堆、晶振 。二、设计所需单片机知识:设计所需单片机知识:1 中断源:指能向 CPU 发出中断请求信号的部件和设备。22 中断信号:指内部或外部中断源产生的申请信号。这个信号通常是电信号的某种变化形式,有以下几类:1)脉冲的上跳沿或下

3、降沿(上升沿触发型或下降沿触发型)2)高电平或低电平3)电平的变化3 中断控制与中断响应条件:在单片机中,对应每一个中断源都有一个相应的中断标志位,该中断标志位将占据中断控制寄存器中的一位。当单片机检测到某一中断源产生符合条件的中断信号时,其硬件会自动将该中断源对应的中断标志位置 1。这就意味着有中断信号产生并向 MCU 申请中断。响应 A 中断=全局中断允许标志位 + 中断 A 允许标志位 + 中断 A 的标志位4 外部中断: 系统的外部设备产生的中断源,产生一个中断信号(通常是高低地那瓶或者电平跳变的上升/下降),送到单片机的外部中断请求引脚供 CPU 检测。5 中断进行的大概过程:总中断

4、允许位打开,本身中断允许位打开,中断源产生一个符合条件的中断信号,当 MCU 检测到这个信号,其硬件就自动将该中断源对应的中断标志位置 1(这个标志位在中断控制寄存器中占一位),即响应中断,则 CPU 会自动转移,执行一个固定的程序空间地址中的指令3(即中断向量),在中断向量处放置着一条跳转到中断服务程序的指令。这样,CPU 响应后,执行中断向量中的转移指令,进而执行中断服务程序.4目目 录录1.设计背景61.1.课题依据61.2.实习背景42.设计方案62.1.提出方案62.2.确定方案63.方案实施63.1.硬件原理63.2.软件程序933做出实物114.设计总结.115.课程设计收获11

5、6.附件126.1.原理图126.2.程序清单136.3.元器件清单1551.1. 设计背景设计背景1.11.1 课题依据课题依据单片机中断功能可以提高 CPU 的效率;可以实现实时处理,以满足实时控制要求;可及时处理故障,提高单片机的可靠性。 1.21.2 实习背景实习背景由于单片机具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在世界范围内已经得到广泛普及和应用。目前在工业控制、智能仪器仪表、家用电器、测控等领域,都可以看到单片机的踪影。在我国,单片机的开发和使用技术发展迅速。近年来,单片机成为全国各高校相关专业的重要课程。实习是学以致用的重要途径之一。2.设计

6、方案2.12.1 方案提出方案提出方案一 单片机的 P1 口接 8 只 LED, 和接两级外部中断电路;采0INT1INT用汇编语言编程,在主程序中调用中断程序、循环程序和延时程序的嵌套。方案二 单片机的 P1 口接 8 只 LED,和接两级外部中断电路;采用0INT1INTC 语言编程,在主程序中调用循环程序并且调用中断子程序和延时子程序。2.22.2 确定方案确定方案采用汇编语言编程占用资源少,而且执行效率高;思路清晰,但是程序较繁琐。采用 C 语言编程程序较简短一些,编写比较难理解,占用资源多。中断优先级容易设置,方案一和方案二都能够达到实验要求。在讲两种编程语言对比后,结合自己的知识掌

7、握情况。我们使用了汇编语言编程。决定采用方案一。3. 方案实施3.13.1 硬件原理硬件原理6本设计主要以 AT89C52 芯片为中心,分别与电源电路、复位电路,中断系统、时钟电路、LED 显示电路连接,组成一个具有两级中断控制灯移动的简易系统。原理图如附件 7.1.在此次实习中,本人主要负责硬件电路的设计。各部分电路如下:1、电源电路图 1 电源电路桥堆是整流电路中常见的器件,它实际上就是将 4 只整流二极管封装在一起。桥堆有 4 根引脚,从它的内电路中可以看出,四只二极管构成桥式电路。7805 三端稳压器件是最常用的线性降压型 DC/DC 转换器,内含过流和过载保护电路。如图1 所示,用桥

8、堆 2W10 和 7805 以及电容电阻与外界变压器相连为复位电路、LED 显示电路、中断部分提供+5 伏电压。图中开关控制电源,发光二极管为电源指示灯。2、复位电路图 2 复位电路复位电路的基本功能是:系统上电时提供复位信号直至系统稳定后,撤销复位信号,在初始化程序中应安排一定的复位延迟时间用来系统可靠复位。本设计采用了按键手动电平复位,如图 2 所示,R12 左端引线接电源,C6 右端引线接 AT89C52 的 RST 接口。其工作原理是:VCC 上电时,电容充电,在 1K 电阻上出现电压,使得单片机复位;几个毫秒后,电容充满,1K 电阻上电流降为 0,电压也为 0,使7得单片机进入工作状

9、态。工作期间,按下按键,电容放电。松手,电容又充电,在1K 电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。本实验中,当 LED 在有规律率闪烁时。按下开关 SW,就可以恢复到 8 个发光二极管闪烁。这种复位电路比较简单,其中电阻和电容参数可以根据时钟频率确定。3、中断电路图 3 中断电路51 系列单片机的外部中断和为低电平有效,如图 3 所示,R9 和0INT1INTR10左端接电源,下端两根引线分别接和,在按下按键 K1 和 K2 时。外部中0INT1INT断接收低电平,发出中断请求,此时 LED 灯按照程序循环。K2 的优先级高于 K1。4、时钟电路图 4 时钟电路51

10、系列单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚 XTAL1,输入端为引脚 XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,为单片机提供始终脉冲。如图8构成单片机最小工作模式。图中晶振 Y1 采用 12MH,属于内部时钟电路。根据书中所述确定两个电容的值。Y1 设置为 12MH 时,C1、C1 值为 33PF。5、LED 显示电路AT89C52 有四个双向 8 位并行 I/O 端口,分别记作 P0-P3,共 32 根口线 。在次设计中,P1 口作为输出口使用,外电路无需接上拉电阻。 如图 5 所示。八只 LED接到 AT8

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

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

13、结论4.14.1 结果结果在老师的指导和同学的帮助下,我们按时完成了设计,而且能实现要求的功能。在验证的时候,由于开始单片机接地线疏忽了,导致单片机芯片(AT89C52)不能工作,在经过修改之后,基本能完成设计要求的所有功能。在按下 K1 之后,一只LED 循环移动三个来回之后,恢复闪烁。按下 K2,则两个灯循环四个来回之后恢复。若在 K1 按下之后立即按下 K2,则先执行两个灯循环,然后继续执行一个灯循环,结束后恢复八只灯闪烁。4.24.2 结论结论该设计实现了外部中断对灯移动的控制,在许多 LED 显示中都有应用。在实际的产品中,程序和电路更加复杂,显示功能也更加强大。若是对该系统加以修整

14、,可以制作电子显示屏、流水灯等。应用前景很广泛。5. 收获与致谢5.15.1 收获收获此次实习让我更加熟练的掌握 AT89C52 的时钟电路、复位电路,这些是最基本的单片机知识。由于电源电路有多种实现方式,这此实习使用的比较简单。在显示电路中,AT89C52 有多种工作模式,在不同条件下,输出也不同。对单片机的工作原理,结构和使用方法了解深入。在编写程序时,中断、循环、嵌套、延时等的编写都需要对汇编语言的常用指令和基本程序的设计有很深入的了解。在硬件和软件都掌握的情况下,可以用单片机作出很多实际用途的系统。通过这次课程设计,我更加深刻的理解单片机的相关知识,初步掌握如何应用11单片机,对汇编语

15、言编程有了更深入的认识。在学习课本知识的同时,增强了动手能力。理论联系实际。锻炼了自己的能力。为以后的工作和学习打下坚实基础。6. 附件6.16.1 原理图原理图6.26.2 程序清单程序清单ORG 00HJMP MAINORG 0003HJMP TIN0ORG 0013H12JMP TIN1ORG 0030HMAIN: MOV A,#0FFHMOV P1,ASETB IT0SETB IT1SETB EX1SETB EX0SETB PX1SETB EAHERE: CPL AMOV P1,ACALL DELAYSJMP HERETIN0: PUSH ACC ;中断 0 入口PUSH PSWMOV A,#0FEH ;初始化MOV R2,#08HMOV R4,#03HLOOP1: MOV P1,A

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

当前位置:首页 > 中学教育 > 高中教育

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