资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
单片机实验四报告外中断实验 南昌 大学 实验 报告 学生姓名: 学号: 专业班级: 实验类型: ? 验证 ? 综合 设计 ? 创新 实验日期:2018、05、29 实验成绩: 实验 四 外中断实验 ( 一) 实验目得 1、掌握单片机外部中断原理; 2、掌握数码管动态显示原理。 ( 二) 设计要求 1、使用外部中断 0 与外部中断 1; 2、在动态数码管上显示中断 0 次数,中断 1 用作次数清 0,数码管采用 74HC595 驱动。 ( 三) 实验原理 1 、中断 所谓中断就是指程序执行过程中,允许外部或内部时间通过硬件打断程序得执行,使其转向为处理外部或内部事件得中断服务程序中去,完成中断服务程序后,CPU 返回继续执行被打断得程序。如下图所示,一个完整得中断过程包括四个步骤:中断请求、中断响应、中断服务与中断返回。 当中断请求源发出中断请求时,如果中断请求被允许得话,单片机暂时中止当前正在执行得主程序,转到中断处理程序处理中断服务请求。中断服务请求处理完后,再回到原来被中止得程序之处(断电),继续执行被中断得主程序。 如果单片机没有终端系统,单片机得大量时间可能会浪费在就是否有服务请求发生得查询操作上,即不论就是否有服务请求发生,都必须去查询。因此,采用中断技术大大地提高了单片机得工作效率与实时性。 2 、IAP15W4K58S4 单片机得中断请求 IAP15W4K58S4 单片机得中断系统有 21 个中断请求源,2 个优先级,可实现二级中断服务嵌套。由 IE、IE2、INT_CLKO 等特殊功能寄存器控制 CPU 就是否相应中断请求;由中断优先级高存器 IP、IP2 安排各中断源得优先级;同优先级内 2 个以中断同时提出中断请求时,由内部得查询逻辑确定其响应次序。 中断请求源中得断 外部中断 0(INT0)与 外部中断 1(INT1)详述如下: (1)外部中断 0(INT0):中断请求信号由 P3、2 引脚输入。通过 IT0 来设置中断请求得触发方式。当 IT0 为“1”时,外部中断 0 为下降沿触发;当 IT0 为“0”时,无论就是上升沿还就是下降沿,都会引发外部中断 0。一旦输入信号有效,则置位 IE0 标志,向 CPU 申请中断。 (2)外部中断 1(INT1):中断请求信号由 P3、3 引脚输入。通过 IT1 来设置中断请求得触发方式。当 IT1 为“1”时,外部中断 1 为下降沿触发;当 IT1 为“0”时,无论就是上升沿还就是下降沿,都会引发外部中断 1。一旦输入信号有效,则置位 E1 标志,向 CPU 申请中断。 中断源就是否有中断请求,就是由中断请求标志来表示得。在 IAP15W4K58S4 单片机中,外部中断 0、外部中断 1 等请求源得中断请求标志分别由 特殊功能寄存器 TCON 与 SCON 控制,格式如下: (1)TCON 寄存器中得中断请求标志。TCON 为定时器 T0 与 T1 得控制寄存器,同时也锁存 T0 与T1 得溢出中断请求标志及外部中断 0 与外部中断 1 得中断请求标志等。格式如下图所示: D7 D6 D5 D4 D3 D2 D1 D0 TCON TF1 TR1 TF0 TR0 IR1 IT1 IE0 IT0 88H 位地址 8FH 8DH 8BH 8AH 89H 88H 与中断有关得各标志位功能如下: TF1:T1 得溢出中断请求标志。T1 被启动计数后,从初值做加 1 计数,计满溢出后由硬件置位TFI,同时向 CPU 发出中断请求,此标志一直保持到 CPU 响应中断后才由硬件自动清 0。也可由软件查询该标志,并由软件清 0。 TF0:T0 得溢出中断请求标志。T0 被启动计数后,从初值做加 1 计数,计满溢出后由硬件置位TF0,同时向 CPU 发出中断请求,此标志一直保持到 CPU 响应中断后才由硬件自动清 0。也可由软件查询该标志,并由软件清 0。 IE1:外部中断 1 得中断请求标志。当 INT1(P3、3)引脚得输入信号满足中断触发要求时,置位IE1,外部中断 1 向 CPU 申请中断。中断响应后中断请求标志自动清 0。 IT1:外部中断 1(INT1)中断触发方式控制位。当(IT1)=1 时,外部中断 1 为下降沿触发方式。在这种方式下,若 CPU 检测到 INT1 出现下降沿信号,则认为有中断申请,随即使 IE1 标志置位。中断响应后中断请求标志会自动清 0,无须做其她处理。当(T1)=0 时,外部中断 1 为上升沿触发与下降沿触发触发方式。在这种方式下,无论 CPU 检测到 INT1 引脚出现下降沿信号还就是上升沿信号,都认为有中断申请,随即使 IE1 标志置位。中断响应后中断请求标志会自动清 0,无须做其她处理。 IE0:外部中断 0 得中断请求标志。当 INT0(P3、2)引脚得输入信号满足中断触发要求时,置位IE0,外部中断 0 向 CPU 申请中断。中断响应后中断请求标志自动清 0。 IT0:外部中断 0 得中断触发方式控制位。当(IT0)=1 时,外部中断 1 为下降沿触发方式。在这种方式下,若 CPU 检测到 INT0(P3、2)出现下降沿信号,则认为有中断申请,随即使 IE0 标志置位。中断响应后中断请求标志会自动清 0,无须做其她处理。当(IT0)=0 时,外部中断 0 为上升沿触发与下降沿触发触发方式。在这种方式下,无论 CPU 检测到 INT0(P3、2)引脚出现下降沿信号还就是上升沿信号,都认为有中断申请,随即使 IE0 标志置位。中断响应后中断请求标志会自动清 0,无须做其她处理。 (2)SCON 寄存器中得中断请求标志。SCON 就是串行口控制寄存器,其低 2 位 TI 与 RI 锁存串行口 1 得发送中断请求标志与接收中断请求标志格式如下: D7 D6 D5 D4 D3 D2 D1 D0 TCON TI RI 98H 位地址 99H 98H 中断请求标志与接收中断请求标志得功能如下: TI:串行口 1 发送中断请求标志。CPU 将数据写入发送缓冲器 SBUF 时,就启动发送,每发送完一个串行帧,硬件将使 TI 置位。但 CPU 响应中断时并不清除 TI,必须由软件清除。 RI:串行口 1 接收中断请求标志。在串行口 1 允许接收时,每接收完一个串行帧,硬件将使 RI置位。同样,CPU 在响应中断时不会清除 RI,必须由软件清除。 中断请求源中得外部中断 0(INT0)与外部中断 1(INT1)等都就是可屏蔽中断,由片内得中断允许寄存器 IE 控制,可对中断得开放与关闭实现两级控制。所谓两级控制,就就是有一个总得开关中断控制位 EA(IE、7 位),当 EA=0 时,所有得中断请求被屏蔽,CPU 对任何中断请求都不接受,因此称 EA 为系统中断允许总开关控制位;当 EA=1 时,CPU 开放中断,但 5 个中断源得中断请求就是否允许,还要由其对应得 中断请求允许控制位状态决定。格式如下: D7 D6 D5 D4 D3 D2 D1 D0 IE EA ET2 ES ET1 EX1 ET0 EX0 A8H 位地址 AFH ADH ACH ABH AAH A9H A8H 其中EX1就是外部中断1中断允许位,EX1=0,禁止外部中断1中断;EX1=1,允许外部中断1中断。EX0 就是外部中断 0 中断允许位,EX0=0,禁止外部中断 0 中断;EX0=1,允许外部中断 0 中断。 另外,单片机中得中断请求源还具有两个中断优先级,存放在特殊功能寄存器 IP 中,只要利用程序改变其内容就可以对各个中断源得中断优先级进行控制,其格式如下: D7 D6 D5 D4 D3 D2 D1 D0 IP PT2 PS PT1 PX1 PT0 PX0 B8H 位地址 BDH BCH BBH BAH B9H B8H 其中 PX1 就是外部中断 1 得中断优先级控制位,PX1=1,外部中断 1 为高优先级;PX1=0,外部中断1 为低优先级。PX0 就是外部中断 0 得中断优先级控制位,PX0=1,外部中断 0 为高优先级;PX0=1,外部中断 0 为低优先级。 根据上述原理分析,单片机要相应中断请求,首先要使 IE 寄存器中得中断总允许位 EA=1,再使外部中断 0 与 1 所对应得中断请求标志为 1 与中断允许位为 1 即可。本实验要求对中断 0 计数再利用中断 1 清 0,只需要在中断 0 得中断服务子程序加上一个计数器,在中断 1 得中断服务子程序对该计数器清 0,最后利用数码管显示该计数器得值便可实现。 ( 四) 实验设备 硬件:PC 机、USB 数据传输线、STC 单片机综合实验箱 软件:兼容 51 单片机得 Keil uvision5 集成开发环境、STCISP 单片机烧录软件 ( 五) 实验结果 实验源代码如(七)所示。 对代码进行编译,提示 0 错误 0 警告,生成 hex 文件。 将单片机试验箱与电脑通过 USB 数据线连接,打开 STCISP 检测串口 点击点开程序文件,选择刚才生成得 hex 文件,点击下载程序,烧录成功 ( 六) 结果讨论与心得体会 结果分析讨论:将程序烧录至单片机后,可观察到数码管得高三位显示 000,其她位消隐。按下SW17(外部中断0),数码管对此计数,当按下SW18(外部中断1),数码管显示000,即定时器清零,与预期效果一致,完成实验。 心得体会:通过本次实验,我掌握了外部中断得原理,学会了利用按键来产生中断,还了解了如何使用数码管显示,希望通过自己多次尝试能在今后实验中熟练使用外部中断并将其运用到其她方面。 ( 七) 附录: 实验 源代码 P4 DATA 0C0H ; P5 DATA 0C8H ; P4M1 DATA 0xB3 ; P4M0 DATA 0xB4 ; P5M1 DATA 0xC9 ; P5M0 DATA 0xCA ; ;*/ P_HC595_SER BIT P4、0 ; P_HC595_RCLK BIT P5、4 ; P_HC595_SRCLK BIT P4、3 ; ;*/ LED8 DATA 30H ; display_index DATA 38H ; INT0_t DATA 39H ; ;*/ ORG 0000H ; LJMP F_Main ; ORG 0003H ; LJMP F_INT0_Interrupt ; ORG 0013H ; LJMP F_INT1_Interrupt ; ;*/ ORG 0100H ; F_Main: CLR A ; MOV P4M1, A ; MOV P4M0, A ; MOV P5M1, A ; MOV P5M0, A ; MOV display_index, #0 ; MOV R0, #LED8 ; MOV R2, #8 ; CLR IE1 ; CLR IE0 ; SETB EX1 ; SETB EX0 ; SETB IT0 ; SETB IT1 ; SETB EA ;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号