单片机的中断系统

很多初学单片机的小伙伴都非常惧怕中断的学习,确实中断最难学但也最重要,没学会中断就不能说自己会单片机,如果学会中断就可以做很多事,像做什么电路断路检测系统呀,可以用p3.2脚接到通电电路上并且低电平触发中断系统,假如电路一断电就低电平触发外部中断,然后中断函数内定义一个蜂鸣器,一触发就通电蜂鸣器,像这样的小例子还有很多,所以学会中断很重要,难学的问题在我看来其实就两方面,一个是各个寄存器字码的记忆以及一张图的理解,只要记住了各个寄存器字码和学会看中断系统结构图,可以说你就很容易学会中断或者是定时/计数器了。
51单片机中断系统结构图
外部中断0-----int0
定时器0-------t0
外部中断1-----int1
定时器1中断-----t1
串口中断--rx/tx
假如我们需要使用外部中断0,就以此为例子,看图,往int0一走遇到个小门it0这是什么呢?哦,原来是外部中断0的触发方式,假如我们需要低电平触发所以就选择it0=0,接着走遇到ex0了,这个小门只有开和关,值等于1就是开,等于0就是关,所以我们需要使用外部中断0当然要他开了,所以ex0=1;接着遇到了ea,诶!怎么这些小门怎么都连在一起呀,哦原来是中断总开关,那么当然需要把这么多门一切打开呀,所以ea=1;接着走遇到了px0这个门了,怎么这个门那边都可以通过呀,只是路长短不一样而已,额,原来是中断优先级选择器呀,随便怎么走吧,不管他就原来系统的优先级,这一路走下来基本就对各寄存器设置完毕了,看代码吧。
#include
sbit led=p1^0; //定义led端口
void delayus2x(unsigned char t);//us级延时函数声明
void delayms(unsigned char t); //ms级延时
void main() {
led=0; //led灯点亮
ea=1; //全局中断开,就是等于把所有大门打开
ex0=1; //外部中断0开,等于把外部中断0这个小门打开
it0=0; //t1=0表示低电平触发,等于把小门拨到电平触发那一面
while(1)
{
//在此添加其他程序
}
}
/*------------------------------------------------
外部中断程序0
------------------------------------------------*/
void isr_int0(void) interrupt 0
{
/*------------此处也可以放其他处理函数,像简单的蜂鸣器报警呀等等!----------*/
if(!int0)
{
delayms(10);//在此处可以添加去抖动程序,防止按键抖动造成错误
if(!int0)
while(!int0);//等待按键释放
{
led=!led;
}
}
}
/*------------------------------------------------
us延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12m,精确延时请使用汇编,大致延时
长度如下 t=tx2+5 us
------------------------------------------------*/
void delayus2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
ms延时函数,含有输入参数 unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12m,精确延时请使用汇编
------------------------------------------------*/
void delayms(unsigned char t)
{
while(t--)
{
//大致延时1ms
delayus2x(245);
delayus2x(245);
}
}
所以只要多记字码和看图,然后结合代码例子,就能学会中断,多练就会熟悉,看多了就能把图记在心里随手捻来。

余压监控系统
郑建邦率队赴深圳调研 聚焦“深港共建全球科技创新高地”
实例讲解PIC单片机之中断程序
人脸识别技术的应用 部署一个人脸识别系统
HFSS同轴线、微带线、共面波导端口设置
单片机的中断系统
1亿部!传华为提高42.86%目标
智慧农业想要颠覆传统容易吗
微软的Teams协作软件增加了安排“虚拟通勤”的功能
PLC填表指令详解
USB母座焊连接器的焊接技巧
变压器采用差动保护取决容量或线路技术分析
晶振的最大波特率及其误差介绍
基于C#开发一个简单的窗体应用程序
手机板对板连接器的测试及解决方案
通过CAN模块和PIC30系列芯片实现船舶电站控制系统的设计
rfid系统供应商有哪些_国内十大rfid系统供应商排名
LLM的长度外推浅谈
Safran与是德科技合作推出基于GNSS技术的5G LBS方案
Maxim EZCascade技术简化视频显示器设计