单片机实验四报告_外中断实验_第1页
单片机实验四报告_外中断实验_第2页
单片机实验四报告_外中断实验_第3页
单片机实验四报告_外中断实验_第4页
单片机实验四报告_外中断实验_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、南昌大学实验报告学生姓名: 学号: 专业班级: 实验类型: 验证 综合 设计 创新 实验日期:2018.05.29 实验成绩: 实验四 外中断实验(一)实验目的1.掌握单片机外部中断原理;2.掌握数码管动态显示原理。(二)设计要求1.使用外部中断0和外部中断1;2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74hc595驱动。(三)实验原理1.中断所谓中断是指程序执行过程中,允许外部或内部时间通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去,完成中断服务程序后,cpu返回继续执行被打断的程序。如下图所示,一个完整的中断过程包括四个步骤:中断请求、中断响应

2、、中断服务与中断返回。当中断请求源发出中断请求时,如果中断请求被允许的话,单片机暂时中止当前正在执行的主程序,转到中断处理程序处理中断服务请求。中断服务请求处理完后,再回到原来被中止的程序之处(断电),继续执行被中断的主程序。如果单片机没有终端系统,单片机的大量时间可能会浪费在是否有服务请求发生的查询操作上,即不论是否有服务请求发生,都必须去查询。因此,采用中断技术大大地提高了单片机的工作效率和实时性。2.iap15w4k58s4单片机的中断请求iap15w4k58s4单片机的中断系统有21个中断请求源,2个优先级,可实现二级中断服务嵌套。由ie、ie2、int_clko等特殊功能寄存器控制c

3、pu是否相应中断请求;由中断优先级高存器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”时,外部中

4、断1为下降沿触发;当it1为“0”时,无论是上升沿还是下降沿,都会引发外部中断1。一旦输入信号有效,则置位e1标志,向cpu申请中断。中断源是否有中断请求,是由中断请求标志来表示的。在iap15w4k58s4单片机中,外部中断0、外部中断1等请求源的中断请求标志分别由特殊功能寄存器tcon和scon控制,格式如下:(1)tcon寄存器中的中断请求标志。tcon为定时器t0与t1的控制寄存器,同时也锁存t0和t1的溢出中断请求标志及外部中断0和外部中断1的中断请求标志等。格式如下图所示:d7d6d5d4d3d2d1d0tcontf1tr1tf0tr0ir1it1ie0it088h位地址8fh8d

5、h8bh8ah89h88h与中断有关的各标志位功能如下: 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

6、申请中断。中断响应后中断请求标志自动清0。 it1:外部中断1(int1)中断触发方式控制位。当(it1)=1时,外部中断1为下降沿触发方式。在这种方式下,若cpu检测到int1出现下降沿信号,则认为有中断申请,随即使ie1标志置位。中断响应后中断请求标志会自动清0,无须做其他处理。当(t1)=0时,外部中断1为上升沿触发和下降沿触发触发方式。在这种方式下,无论cpu检测到int1引脚出现下降沿信号还是上升沿信号,都认为有中断申请,随即使ie1标志置位。中断响应后中断请求标志会自动清0,无须做其他处理。 ie0:外部中断0的中断请求标志。当int0(p3.2)引脚的输入信号满足中断触发要求时,

7、置位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

8、是串行口控制寄存器,其低2位ti和ri锁存串行口1的发送中断请求标志和接收中断请求标志格式如下:d7d6d5d4d3d2d1d0tcontiri98h位地址99h98h中断请求标志和接收中断请求标志的功能如下: ti:串行口1发送中断请求标志。cpu将数据写入发送缓冲器sbuf时,就启动发送,每发送完一个串行帧,硬件将使ti置位。但cpu响应中断时并不清除ti,必须由软件清除。 ri:串行口1接收中断请求标志。在串行口1允许接收时,每接收完一个串行帧,硬件将使ri置位。同样,cpu在响应中断时不会清除ri,必须由软件清除。中断请求源中的外部中断0(int0)和外部中断1(int1)等都是可屏蔽

9、中断,由片内的中断允许寄存器ie控制,可对中断的开放和关闭实现两级控制。所谓两级控制,就是有一个总的开关中断控制位ea(ie.7位),当ea=0时,所有的中断请求被屏蔽,cpu对任何中断请求都不接受,因此称ea为系统中断允许总开关控制位;当ea=1时,cpu开放中断,但5个中断源的中断请求是否允许,还要由其对应的中断请求允许控制位状态决定。格式如下:d7d6d5d4d3d2d1d0ieeaet2eset1ex1et0ex0a8h位地址afhadhachabhaaha9ha8h其中ex1是外部中断1中断允许位,ex1=0,禁止外部中断1中断;ex1=1,允许外部中断1中断。ex0是外部中断0中断

10、允许位,ex0=0,禁止外部中断0中断;ex0=1,允许外部中断0中断。另外,单片机中的中断请求源还具有两个中断优先级,存放在特殊功能寄存器ip中,只要利用程序改变其内容就可以对各个中断源的中断优先级进行控制,其格式如下:d7d6d5d4d3d2d1d0ippt2pspt1px1pt0px0b8h位地址bdhbchbbhbahb9hb8h其中px1是外部中断1的中断优先级控制位,px1=1,外部中断1为高优先级;px1=0,外部中断1为低优先级。px0是外部中断0的中断优先级控制位,px0=1,外部中断0为高优先级;px0=1,外部中断0为低优先级。根据上述原理分析,单片机要相应中断请求,首先

11、要使ie寄存器中的中断总允许位ea=1,再使外部中断0和1所对应的中断请求标志为1和中断允许位为1即可。本实验要求对中断0计数再利用中断1清0,只需要在中断0的中断服务子程序加上一个计数器,在中断1的中断服务子程序对该计数器清0,最后利用数码管显示该计数器的值便可实现。(四)实验设备硬件:pc机、usb数据传输线、stc单片机综合实验箱软件:兼容51单片机的keil uvision5集成开发环境、stc-isp单片机烧录软件(五)实验结果实验源代码如(七)所示。对代码进行编译,提示0错误0警告,生成hex文件。将单片机试验箱和电脑通过usb数据线连接,打开stc-isp检测串口点击点开程序文件

12、,选择刚才生成的hex文件,点击下载程序,烧录成功(六)结果讨论与心得体会结果分析讨论:将程序烧录至单片机后,可观察到数码管的高三位显示000,其他位消隐。按下sw17(外部中断0),数码管对此计数,当按下sw18(外部中断1),数码管显示000,即定时器清零,与预期效果一致,完成实验。心得体会:通过本次实验,我掌握了外部中断的原理,学会了利用按键来产生中断,还了解了如何使用数码管显示,希望通过自己多次尝试能在今后实验中熟练使用外部中断并将其运用到其他方面。(七)附录:实验源代码p4data 0c0h;p5data0c8h;p4m1data0xb3;p4m0data0xb4;p5m1data0

13、xc9;p5m0data0xca;*/p_hc595_serbitp4.0;p_hc595_rclkbitp5.4;p_hc595_srclkbitp4.3;*/led8data30h;display_indexdata38h;int0_cntdata39h;*/org0000h;ljmpf_main;org0003h;ljmpf_int0_interrupt;org0013h;ljmpf_int1_interrupt;*/org0100h;f_main:clra;movp4m1,a; movp4m0,a;movp5m1,a; movp5m0,a;movdisplay_index,#0;mov

14、r0,#led8;movr2,#8;clrie1;clrie0;setbex1;setbex0;setbit0;setbit1;setbea;movint0_cnt, #0;l_mainloop:lcallf_delay_ms;lcallf_displayscan;ljmpl_mainloop;f_delay_ms:movr2,#20;d1:movr3,#20;d2: djnzr3, d2;djnzr2, d1;rett_display:;db03fh,006h,05bh,04fh,066h,06dh,07dh,007h,07fh,06fh,077h,07ch,039h,05eh,079h,0

15、71h; db000ht_com:db020h,040h,080h;f_send_595:push02h;movr2, #8;l_send_595_loop:rlca;movp_hc595_ser,c;setbp_hc595_srclk;clrp_hc595_srclk;djnzr2,l_send_595_loop;pop02h;retf_displayscan:pushdph;pushdpl;push00h;mova,int0_cnt;movb,#100;divabmovled8+0,a;mova, #10;xcha, b;divab;movled8+1,a;movled8+2, b;movdptr,#t_com;mova,display_index;movca,a+dptr;cpla ;lcallf_send_595;movdptr, #t_display;mova, display_index;adda, #led8;movr0, a;mova, r0;movca, a+dptr;lcallf_se

温馨提示

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

评论

0/150

提交评论