发布时间:2019-09-13 09:28:57编辑:auto阅读(1428)
中断函数略讲:
interrupt 0 指明是外部中断0;
interrupt 1 指明是定时器中断0;
interrupt 2 指明是外部中断1;
interrupt 3 指明是定时器中断1;
interrupt 4 指明是串行口中断;
using 0 是第0组寄存器;
using 1 是第1组寄存器;
using 2 是第2组寄存器;
using 3 是第3组寄存器;
using 0时设置 RS1=0,RS0 =0,用第0组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(00H)....R7(07H)
using 1时设置 RS1=0,RS0 =1,用第1组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(08H)....R7(0FH)
using 2时设置 RS1=1,RS0 =0,用第2组寄存器,R0--R7的在数据存储区里的实际地址是08H-0FH。R0(10H)....R7(17H)
using 3时设置 RS1=1,RS0 =1,用第3组寄存器,R0--R7的在数据存储区里的实际地址是00H-07H。R0(18H)....R7(1FH)
外部中断P3^2,P3^3 的应用
按键一端接GND,一端接P3^2 按下,灯亮起
按键一端接GND,一端接P3^3 按下,灯熄灭
/* 工程创建MCU选取,Atmel 89C55 单片机:STC12C5A60S2 晶振:12M 功能:外部中断P3^2,P3^3 的应用 连接说明:LED正极接VCC,负极接到 MCU的39脚P0^0 */ #include <REG51.h> // 可以使用通用的头文件 //#include <STC12C5A60S2.H> 也可以使用STC12C5A60S2的头文件, sbit LED=P0^0; // 39脚 //外部中断初始化程序 void INT_init(void){ EA=1; //打开总中断【定时器,ADC,串口,比较,计数,外部】等中断类型 EX0=1;//允许外部中断0 P3^2 IT0=1;//1下降沿触发,0低电平触发 EX1=1;//允许外部中断1 P3^3 IT1=1;//1下降沿触发,0低电平触发 // 下降沿触发要比低电平触发要快 } //中断程序,可以放在主程序前后都可以 void INT_1(void) interrupt 2 using 2{ LED=1;//关灯 } void INT_0(void) interrupt 0 using 2{ LED=0; //开灯 } void main (void) { INT_init();//外部中断初始化程序 while (1) { } } // 按键一端接GND,一端接P3^2 按下,灯亮起 // 按键一端接GND,一端接P3^3 按下,灯熄灭
上一篇: 3T硬盘如何安装系统
下一篇: 开源python网络爬虫框架Scrapy
47848
46401
37285
34737
29318
25975
24918
19954
19549
18031
5795°
6419°
5932°
5964°
7070°
5917°
5948°
6441°
6405°
7782°