




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二、中断实验中断优先级控制及中断保护一、实验目的1、掌握单片机中断机制。2、熟悉中断的应用和编程。二、实验设备1、 仿真器;2、 单片机最小系统;3、 发光二极管阵列显示模块;4、 独立式键盘模块。三、实验要求连接单片机最小系统和发光二极管阵列的电路并编写程序, 学习单片机中断机制, 及中断优先级和中断保护的方法:使用独立式按键 1 连接 INT 0(P3.2),按键 2 连接 INT 1(P3.3),在平时状态下,发光二极管行以 200ms 的时间间隔,依次点亮。 1 键按下时 INT 0中断处理程序点亮 P0.0 对应的发光管 2 秒钟,其他发光管熄灭; 2 键按下时 P0.1 对应发光管点亮 2 秒,其他发光管熄灭。四、实验原理通常一个微处理器读取外围设备 (如键盘等 )的输入信息的方法有轮询 (Polling) 及中断(Interrupt) 两种。轮询的方法是 CPU 依照某种既定法则,依序询问每一外围设备 IO 是否需要服务, 此种方法 CPU 需花费一些时间来做询问服务, 当 IO 设备增加时, 询问服务时间也相对增加,势必浪费许多 CPU 时间,降低整体运行的效率。使用中断是一个较好的解决方法。使用中断使系统对外部设备的请求响应更加灵敏,并且不需要占用 CPU 的时间进行轮询。但是,当使用中断,特别是有多个中断嵌套时要特别注意内存单元的保护。1 80C51 中断结构当中断发生后,程序将跳至对应中断入口地址去执行中断子程序,或称中断服务程序(Interrupt Service Routine) ,这些特殊的地址称为中断向量,例如当 80C51 外部中断 INTl 发生时,会暂停主程序的执行,跳至地址 0013H 去执行中断服务程序,直到 RETI 指令后,才返回主程序继续执行。 MCS-51 系列的程序内存中有 7 个矢量地址,叙述如下:(1)00H 复位当第 9 脚 RESET 为高电平, CPU 会跳至地址 00H 处开始执行程序, 亦即程序一定要从地址 00H 开始写起。(2)03H(外部中断 0)当 INT 0引脚由高电位变至低电位 (跳沿触发方式) 或采样到是低电位 (电平触发方式)时,CPU 会接受外部中断 0,并跳至地址 03H 处去执行中断子程序。(3)0BH( 定时器 /计数器 0 中断)当 CPU 接受定时器计数器 0 中断置位而产生中断要求时, 会跳至地址 0BH 处去执行中断子程序。(4)13H(外部中断 1)当 INT 1引脚由高电位变至低电位 (跳沿触发方式) 或采样到是低电位 (电平触发方式)时,CPU 会接受外部中断 1,并跳至地址 13H 处去执行中断子程序。(5)1BH( 定时器计数器 1 中断)当 CPU 接受定时器计数器 1 中断置位而产生中断要求时, 会跳至地址 1BH 刻去执行中断子程序。(6)23H(串行中断 1)当串行端口传送数据或接收数据完毕时, CPU 会接受串行中断,并跳至地址 23H 处去执行中断子程序。(7)2BH( 定时器计数器 2 中断)此中断仅 8052 系列才有。 当 CPU 接受定时器计数器 2 产生中断要求时, 会跳至地址2BH 处去执行中断子程序。INT 0IT0 选择低电位或负沿触发IE0EX0ET0EAPX0高优先级低优先级高 PT0TF0INT 1IT1 选择低电位或负沿触发IE1EX1ET1PX1PT1TF1 RITI+ESPSET2 PT2TF2+ EXF2低图 2.1 MCU 内部中断机制2中断使能位8051 针对中断提供两层使能,第一层为 EA 全局使能控制,第二层为分别控制 EX0 ,ET0、EXl 、ETl 、ES、ET2。当 8051 在复位状态时, 寄存器的各个中断使能位都预设为 “0”,即所有中断都禁止, 故欲允许中断时,应先使能相对应的中断。当中断产生后,中断状态会记录于定时器计数器控制寄存器 (Timer CounterControlRigister ,TCON) 和串口口控制寄存器 SCON 的中断请求标志 (InterruptRequest flag) 中,当标志被置位,表示中断已发生。由图 2.1 可知,当外部中断或定时器 0、定时器 1 中断发生时, CPU 都可以判别是哪种中断。因此当这四个中断发生时,中断服务程序被执行后, CPU 会主动清除中断请求标志,对于其他的中断,由于 CPU 无法判别,因此中断请求标志需由程序指令来清除。欲设定中断使能与否, 必须设置中断使能寄存器 IE(Interrupt Enable Register) ,其位地址A8H ,是一个可位寻址的寄存器。3中断保护由于各个中断入口间仅有 8 个字节,一般情况下难以安排下一个完整的中断服务程序。因此,通常总是在重点入口地址处放置一条无条件转移指令, 使程序转向在其他地址存放的中断服务程序。 当执行新的中断服务程序时, 注意不可以破坏旧有的数据和状态, 因此在编写时还要注意保护现场,主要是各个寄存器的值。通常会被更改的数据 (如 ACC 、PSW 等),可以利用堆栈在执行中断服务程序之前就将其 PUSH 起来,待执行结束后再将相关寄存器POP 即可。另外,因为 8051 可任意选择四个工作寄存器区中的一组工作寄存器,所以利用选择不同寄存器区的方式亦可达到数据保存的目的。4中断优先级8051 对于各种中断优先权采用双层结构,首先对于优先权可由中断优先权寄存器(Interrupt Priority )IP 设定该中断为高优先权或低优先权, 高优先权可以中断低优先权, 反之不行。当同一时间同一级别的多个中断请求是,则按自然优先级顺序相应中断。IP 寄存器:PS PT1 PX1 PT0 PX0(MSB) (LSB)PX0,PX1: 外部中断 0,1 的中断优先级控制; 1-高优先级, 0-低优先级。PT0,PT1:定时器 /计数器 0,1 的中断优先级控制;PS:串行口中断优先级控制。IP 中对应位全为零时, CPU 按照片自然优先级来顺序响应中断:中断源外部中断 0 高定时器 /计数器 0外部中断 1定时器 /计数器 1串行口中断 低五、实验步骤本实验将练习使用 INT 0, INT 1的中断,利用按键来触发外部中断的发生。并通过两个中断先后到达的方法,来学习中断优先级的意义与控制。1、电路说明在图 2.2 中,主程序执行时,单片机端口 P0 所接的 LED 由 P07 至 P00 一次一颗循环点亮。当外部中断 0 产生后,执行该中断子程序,此时 P0.0 对应的二极管亮,其他二极管熄灭。 2 秒钟后,返回主程序的工作。 INT 1中断子程序则为点亮 P0.1 对应的二极管,其他二极管熄灭。 注意,由于每次在按键按下或放开可能会有抖动现象, 因而必须进行必要的处理,以免产生二次以上的相同中断信号。在程序主循环进行时, 当 1 键按下, 相应发光管点亮后, 立即再按下 2 键,看反应如何;在程序主循环进行时,按下 2 键,相应发光管点亮后,立即按下 1 键,观察反应。2程序设计先按 l 键执行 INT 0 中断子程序, 在此中断子程序未结束前再按 2 键, 或是先按 2 键执行INT 1中断子程序,在此中断子程序未结束前再按 l 键,或两者同时按,观察 lED 亮暗的情形即可观察中断优先权执行的情形。六、实验报告1 画出电路原理图,并简要分析工作原理;80C51 5VP0.0P0.1P0.2INT 0 P0.3P0.4 INT 1 P0.5GNDP0.6P0.7工作原理简述:外部中断按键 INT0 ,INT1 连接按键接受外部中断请求,由 P0 连接外部二极管,每个引脚控制一个发光二极管, 低电平点亮。当按键按下时,单片机接受外部中断请求,进行10MS 消抖延迟后如果判断按键依然有效, 则执行相应的程序进行相应的中断处理, 通过 P0进行灯的亮暗控制。2 提供程序流程图和程序清单,适当给出注释;*ORG 0000HAJMP MAINORG 0003HAJMP INT0INTORG 0013HAJMP INT1INT;* 主程序 *ORG 0030HMAIN : MOV S P,#60HMOV IE,#10000101B ;使能 INT0 ,INTlMOV TCON ,#00000101B ;设 INT0 、INTl 跳沿触发。MOV IP,#01H ;外部中断 0 优先MOV A,#0FEHLOOP: RR AMOV P0,AACALL DELAY200MSAJMP LOOP;*INT0 中断服务程序 *INT0INT: CLR EAACALL DELAY10MS ;去抖动JNB INT0, HAVKEY1 ;确实有键,转 HAVEKEY1SETB EARETIHAVEKEY1: PUSH PSWPUSH AccSETB EAMOV P0,#0FEHACALL DELAY2S ;亮 2 秒钟POP AccPOP PSWRETI;*INT1 中断服务程序 *INT1INT:CLR EA ;关闭中断ACALL DELAY10MS ;延迟 10 毫秒JNB INT1,HAVEKEY2 ;如果依旧按键有效执行子程序HAVEKEY2:PUSH PSWPUSH Acc ;现场入栈MOV P0,#0FCH ;P0 赋值为 1111,1101,即点亮 P0.1 对应的 LED 灯ACALL DELAY2S ;延迟 2 秒POP AccPOP PSW ;现场出栈SETB EA ;中断允许RETI ;中断返回;*DELAY200MS: ;延时 200ms 子程序MOV R7,#2DELA1:MOVR6,#200DELA2:MOV R5,#248DJNZ R5,$DJNZ R6,DELA2DJNZ R7,DELA1RET;延迟时间 =1+1*2+1*2*200+2*2*200*248+2*200*2+2*2+2=199607us-.200msDELAY10MS: ;延时 10ms 子程序DEL:MOV R7,#28HDEL1:MOV R6,#7DHDEL2:DJNZ R6,DEL2DJNZ R7,DEL1RET;时间计算同理DELAY2S: ;延时 2s 子程序DEL:MOV R7,#14HDEL1:MOV R6,#C8H .DEL2:MOV R5,#F8DJNZ R5,$DJNZ R6,DEL2DJNZ R7,DEL1RET;时间计算同理END3 描述实验现象和结果,要求对实验现象和结果进行分析。现象:开始发光二极管行以 200ms 的时间间隔,依次点亮。 1 键按下时最左端的灯点亮 2秒钟,其他发光管熄灭; 2 键按下时左端第二个灯点亮 2 秒,其他发光管熄灭。当 1 键按下左端灯亮,此时按下 2 键,左端第一个灯灭,第二个灯点亮。当按下 2 键,第二灯亮,此时按下 1 键,灯没有反应。结果分析:开始系统正常运行,即光二极管行以 200ms的时间间隔。当 1 键按下时,系统产生INT 0中断,控制最左端的灯点亮 2 秒钟,其他发光管熄灭; 2 键按下时, 系统产生 INT 1中断,使左端第二个灯点亮 2 秒,其他发光管熄灭。当 1 键按下左端灯亮,此时按下 2键,由于 INT 1中断的优先级高于 INT 0,故左端第一个灯灭,第二个灯点亮。同样,按下 2 键,第二灯亮,此时按下 1 键,灯没有反应。实验三、定时器实验低频脉冲计数器一、实验目的1、掌握定时器 /计数器的工作原理。2、学习单片机定时器 /计数器的应用设计和调试。二、实验设备1、仿真器;2、单片机最小系统;3、波形信号发生器;4、静态串行方式数码管显示模块。三、实验要求连接电路并编写程序,使单片机定时器 /计数器测量波形信号发生器输出的低频脉冲信号的频率,并在数码管上显示频率值;四、实验原理805l 单片机内部有两个 16 位可编程定时计数器,记为 T0 和 Tl 。8052 单片机内除了T0 和 T1 之外,还有第三个 16 位的定时器计数器,记为 T2。它们的工作方式可以由指令编程来设定,或作定时器用,或作外部脉冲计数器用。定时器 T0 由特殊功能寄存器 TL0 和 TH0 组成,定时器 Tl 由特殊功能寄存器 TLl 和 TH1组成。定时器的工作方式由特殊功能寄存器 TMOD 编程决定,定时器的运行控制由特殊功能寄存器 TCON 编程控制。T0、T1 在作为定时器时,规定的定时时间到达,即产生一个定时器中断, CPU 转向中断处理程序,从而完成某种定时控制功能。 T0、T1 用作计数器使用时也可以申请中断。作定时器使用时,时钟由单片机内部系统时钟提供;作计数器使用时,外部计数脉冲由 P3 口的 P34(或 P35)即 T0(或 T1)引脚输入。方式控制寄存器 TMOD 的控制字格式如下:7 6 5 4 3 2 1 0GATE C/-T M1 M0 GATE C/-T M1 M0_T1_/ _T0_/低 4 位为 T0 的控制字,高 4 位为 T1 的控制字。 GATE 为门控位,对定时器计数器的启动起辅助控制作用。 GATE l 时,定时器计数器的计数受外部引脚输入电平的控制。由由运行控制位 TRX (X=0,1 )=1 和外中断引脚( INT 0 或INT 1)上的高电平共同来启动定时器 /计数器运行; GATE 0 时。定时器计数器的运行不受外部输入引脚的控制,仅由TRX (X=0,1 )=1 来启动定时器 /计数器运行。C-T 为方式选择位。 C-T0 为定时器方式,采用单片机内部振荡脉冲的 12 分频信号作为时钟计时脉冲,若采用 12MHz 的振荡器,则定时器的计数频率为 1MHZ ,从定时器的计数值便可求得定时的时间。C-T 1 为计数器方式。采用外部引脚 (T0 为 P34,Tl 为 P35)的输入脉冲作为计数脉冲,当 T0(或 T1)输入信号发生从高到低的负跳变时,计数器加 1。最高计数频率为单片机时钟频率的 124。M1、M0 二位的状态确定了定时器的工作方式,详见表 3.1。表 3.1 定时器工作模式表:Ml M0 功能说明0 0 方式 0,为 13 位定时器计数器0 1 方式 1,为 16 位的定时器计数器l 0 方式 2,为常数自动重新装入的 8 位定时器计数器1 1 方式 3,仅适用于 T0,分为二个 8 位计数器方式 1 与方式 2 的差别是计数器的位数, 前者 13 位,后者 16 位。定时器内部结构逻辑图如图 3.1 所示。振荡器 12foscTL1 TH1 TF1中断T1 脚TR1GA TE +INT1图 3.1 定时器内部逻辑图要测量低频信号可以首先产生一个标准时间 T 闸门信号,然后在该时间内计算进入计数器的脉冲个数。这个时间有时太短,需结合软件定时。 如果要求比较高, 则需要进行智能地调整 T。例如对于 500HZ 信号,使用 65ms 闸门时间,则计数器值就非常少。计数器的值超过 10000 个,才能保证精度不少于 0.05。如果在 3 秒内还是发现计数器的值少于精度需要,则自动切换到周期测量模式, 通过周期计算频率具有较高的精度。 如果要求 3 秒内给出结果,则周期超过 3 秒的信号就无法得到准确的频率或周期。五、实验步骤1电路连接2软件编写六、实验报告1、 画出电路原理图。静态串行方式数码显示 80C51模块DA TA RXDSCLK TXD信号发生器 T12、 给出程序流程图和程序清单、并给予适当注释。ORG 0000HLJMP MAINORG 000BHLJMP INTS_T0;* 主程序 *ORG 0030HMAIN: MOV S P,#40HMOV TMOD ,#51H;两个定时器都是方式 1,定时器 1 对外部信号计数MOV TL0 ,#0AFHMOV TH0 ,#3CH ;0FFFFH-3CAFH=50000,50msMOV B,#20 ;软件计数器。循环 20 次,T0 共定时 20 50ms1sMOV TL1 ,#0HMOV TH1 ,#0HSETB EA ;允许 T0 中断CLR ET1 ;禁止 T1 中断SETB EASETB TR0SETB TR1SJMP $;*T0 定时 1s 的中断服务程序 *INTS_T0: CLR EA ;关中断DJNZ B,CONTINUE;1s 定时到,把 T0、T1 都关掉,计算 1s 钟内 T1 的计数脉冲有多少CLR TR1CLR TR0MOV R0,#30HMOV R0,TL1 ;获取数据。先低后高INC R0MOV R0,TH1;ACALL NDIV1 ;16 位调整为五个十进制数MOV R0,#36HDSHOW: ACALL SHOW ;显示MOV TL1,#0HMOV TH1,#0HSETB TR0SETB TR1MOV B,#20CONTINUE:MOV TL0,#0AFHMOV TH0,#3CHSETB EARETZ ;中断返回;*(31H 高 8 位 30H 低 8 位)*;*(32H 个位, 33H 十位, 34H 百位, 35H 千位, 36H 万位);R3,R4 余数*;*NDIV1 子程序:把 0FFFFH,转换成五个十进制数 *NDIV1:MOV R0,#30HMOV R1,#36HMOV R2,#0 ;商 65535L10000: ;除以 10000 即 2710HCLR CMOV R0,#30HMOV A,R0SUBB A,#10HMOV R3,A ;低位余数INC R0MOV A,R0SUBB A,#27HMOV R4,AJC L1000 ;不超过 10000,INC R2MOV 30H,R3MOV 31H,R4JMP L10000L1000: ;除以 1000 即 3E8HMOV 36H,R2MOV R2,#0HL1000A:MOV R0,#30HCLR CMOV A,R0SUBB A,#0E8HMOV R3,A ;低位余数INC R0MOV A,R0SUBB A,#3HMOV R4,AJC L100 ;不超过 1000INC R2MOV 30
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自考专业(金融)题库检测试题打印附答案详解【模拟题】
- 工业园区净水厂项目初步设计
- 2025计算机一级题库检测试题打印【网校专用】附答案详解
- 2025年高校教师资格证之《高等教育法规》题库试题及答案详解【新】
- 职称计算机综合提升测试卷含答案详解【A卷】
- 2024-2025学年度粮油食品检验人员每日一练试卷【考试直接用】附答案详解
- 易腐垃圾资源化综合体项目商业计划书
- 2024-2025学年反射疗法师3级考试综合练习附答案详解(达标题)
- 2025年海南省各级疾控中心招聘事业编制人员(第1号)(68人)模拟试卷含答案详解(黄金题型)
- 100MW农光互补可行性研究报告
- 检修安全培训课件
- 操作性前提方案(OPRP)确认记录表
- GB/T 17614.1-2015工业过程控制系统用变送器第1部分:性能评定方法
- GB 28235-2020紫外线消毒器卫生要求
- Avaya新产品和解决方案介绍课件
- 台湾问题与祖国统一
- 2023年阜阳市颍州区工会系统招聘考试笔试题库及答案解析
- 软式内镜考核标准
- 02《文字下乡》课件13张-统编版高中语文必修上册
- (本科)东南亚经济与贸易全套教学课件完整版PPT
- JJF 1318-2011 影像测量仪校准规范-(高清现行)
评论
0/150
提交评论