导航:首页 > 操作系统 > 51单片机外部中断实验

51单片机外部中断实验

发布时间:2023-01-02 05:03:08

⑴ 51单片机外部中断的触发方式

51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。

这个原理很好理解。但应用时需要特别注意的几点:

1) 电平触发方式时,中断标志寄存器不锁存中断请求信号。也就是说,单片机把每个机器周期的S5P2采样到的外部中断源口线的电平逻辑直接赋值到中断标志寄存器。标志寄存器对于请求信号来说是透明的。这样当中断请求被阻塞而没有得到及时响应时,将被丢失。换句话说,要使电平触发的中断被CPU响应并执行,必须保证外部中断源口线的低电平维持到中断被执行为止。因此当CPU正在执行同级中断或更高级中断期间,产生的外部中断源(产生低电平)如果在该中断执行完毕之前撤销(变为高电平)了,那么将得不到响应,就如同没发生一样。同样,当CPU在执行不可被中断的指令(如RETI)时,产生的电平触发中断如果时间太短,也得不到执行。

2) 边沿触发方式时,中断标志寄存器锁存了中断请求。中断口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU响应并转向该中断服务程序时,由硬件自动清除。因此当CPU正在执行同级中断(甚至是外部中断本身)或高级中断时,产生的外部中断(负跳变)同样将被记录在中断标志寄存器中。在该中断退出后,将被响应执行。如果你不希望这样,必须在中断退出之前,手工清除外部中断标志。

3) 中断标志可以手工清除。一个中断如果在没有得到响应之前就已经被手工清除,则该中断将被CPU忽略。就如同没有发生一样。

4) 选择电平触发还是边沿触发方式,TCON 控制寄存器
设置。应从系统使用外部中断的目的上去考虑,而不是如许多资料上说的根据中断源信号的特性来取舍。比如,有的书上说(《Keil C51使用技巧及实战》),就有类似的观点。

⑵ 求单片机(c51)外部中断实验的c语言代码或者思路,要求在补充

#include<reg51.h>
#defineucharunsignedchar
voiddelay(void)
{
uchari,j;
for(i=0;i<200;i++)
for(j=0;j<120;j++);
}
voidext0()interrupt0
{
uchari;
for(i=0;i<8;i++)
{
P2=0x00;
delay();
P2=0xff;
delay();
}
}
main()
{
uchari;
EX0=1;
IT0=1;
EA=1;
while(1)
{
P2=~(1<<i);
delay();
i++;
i%=8;
}
}

⑶ 关于MCS-51系列单片机中断系统实验的几个问题

在执行主城序期间,如果有中断响应,单片机则响应中断,然后跳至相应的中断向量地址处执行中断程序。中断向量的地址根据中断源的不同而不同,比如INT0的中断入口地址为0x0003,INT1中断响应地址为0x0013等。一般中断向量的入口地址处也是一条长跳转指令机器码为:02 uu uu
uu uu 即为中断响应程序在ROM区中的起始位置,单片机进入中断入口地址后,保护进中断前的程序指针(断点保护,数据入栈,存入当前工作组寄存器R0-R7中),处理中断响应(如标志位清零,相关的功能处理等),然后(自当前工作组寄存器R0-R7中)弹出保护的数据和中断的入口地址,最后执行一个0x32指令(中断返回);程序指针回到响应中断函数处的程序地址(断点保护),继续执行程序。
INT0和INT1中断入口地址不同,中断允许配置寄存器IE中的位不同、中断优先级配置寄存器IP中的位不同、以及TCON寄存器中的中断标志位不同。

阅读全文

与51单片机外部中断实验相关的资料

热点内容
程序员级升 浏览:85
怎样关闭照片加密 浏览:522
文件夹变拉链 浏览:605
服务器未在运行什么意思 浏览:405
单片机应用大赛 浏览:462
博格上海压缩机有限公司 浏览:27
招行车贷解压有费用吗 浏览:700
总统命令小说 浏览:818
安卓手机为什么卡成狗 浏览:384
广州市公司软件加密 浏览:230
灯光设计手册pdf 浏览:767
java虚线 浏览:428
androidio流 浏览:799
服务器怎么改nvr 浏览:937
真空压缩袋怎样打开 浏览:80
证券市场基础知识pdf2012 浏览:720
mastercam自动编程视频 浏览:11
如何得知加密类型 浏览:40
单片机汇编让主程序循环执行 浏览:371
电讯APP是干什么的 浏览:534