首页 > 编程知识 正文

51单片机外部中断(51单片机入门—中断系统和外部中断的基本使用)

时间:2023-05-05 14:26:37 阅读:122024 作者:1767

中断系统的基本中断系统的基本概念使用5个中断源及其基本结构中断的处理函数中断相关的4个寄存器1个例题注意事项

中断系统的基本概念

五个中断源及其基本结构51单片机一共有五个中断源

按优先顺序从上到下,中断系统的结构中断向量为中断编号,下图最左侧的标签。 在编写中断服务函数时很有用。

的处理函数一般有两个中断的处理函数,一个是中断初始化函数,另一个是中断服务函数中断服务函数的结构

中断相关的4个寄存器写程序的时候会用到

两个控制寄存器和两个中断请求标志

例题http://www.Sina.com/http://www.Sina.com /

#include reg52,hsbit L1=P0^0; sbit L2=P0^7; //中断系统的基础是语音延迟(unsignedintt )//延迟函数) while(t-- ); }void SelectHC573 ()//(p2=) p20x1f )|0x80; }语音工作() {SelectHC573 ); L1=0; 延迟(60000; L1=1; 延迟(60000; //* * * * * * * * * * * * * * * * * * * void init _ int0() /中断初始化函数({IT0=1; //外部中断0的触发方式EX0=1; //中断使能EA=1; //总中断开关on } voidserviceint0(interrupt0//中断服务函数其中中断后应该执行的代码({L8=0; 延迟(60000; 延迟(60000; 延迟(60000; 延迟(60000; 延迟(60000; 延迟(60000; L8=1; }voidmain(/) voidinit_int0) while(1)1) {Working ); }} 代码如下:

#include reg52,hsbit L1=P0^0; sbit L2=P0^7; //中断系统的基本用法将中断服务函数中的行为置于函数之外,用变量识别有无中断voiddelay(unsignedintt ) while (t-- )的发生。 }void SelectHC573 () P2=) p20x1f )|0x80; }语音工作() {SelectHC573 ); L1=0; 延迟(60000; L1=1; 延迟(60000; //* * * * * * * * * * * * * * * * * * * void init _ int0() /中断初始化函数({IT0=1; //外部中断0的触发方式EX0=1; //中断使能EA=1; //总中断开关}unsigned char stat_int=0; //中断响应voidserviceint0(interrupt0//中断服务函数({ stat_int=1; }void LEDINT ()//发生中断时执行的) if ) stat_int=1) {L8=0; 延迟(60000; 延迟(60000; 延迟(60000; 延迟(60000; 延迟(60000; 延迟(60000; L8=1; } stat_int=0; //* * * * * * * * * * * * * * * * * * * * * * * void main () {void Init_INT0) while(1) )1) work ks//leler

在方法2中,将中断服务函数中的行为置于函数之外,用变量识别有无中断

最后,最好不要将运行的代码放入中断服务函数中。 (不知为什么,我在视频里说,百度也没来。 稍后再说清楚。 如果伟大的人知道的话,请评论。 )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。