这一颗,咱们学习外中止的用法。也便是外部IO的中止INT0,和INT1。对应的引脚是P32和P33。在咱们的电路图中,P32也便是接在K1的引脚。所以当咱们按下P32接到地的时分,能够触发一个INT0中止,当然,有必要预先初始化才会发动。
这种中止方法的按键,能够完成按键的当即呼应。关于需求快速呼应的场合是很有用的。外部IO中止还常用在用IO模仿通讯的场合,能够对数据的到来当即呼应。
下面请看代码:
DDDDDDDDDDDDDDDDD
#define uchar unsigned char //界说一下方便使用
#define uint unsigned int
#define ulong unsigned long
#include
sbit P10 = P1^0; //头文件中没有界说的IO就要自己来界说了
sbit P11 = P1^1;
sbit P12 = P1^2;
sbit P13 = P1^3;
sbit K1= P3^2;
bit ldelay=0; //长守时溢出符号,预置是0
uchar speed=10; //设置一个变量保存默许的跑马灯的移动速度
uchar speedlever=0; //保存当时的速度层次
char code dx516[3] _at_ 0x003b;//这是为了仿真设置的
//用外中止方法读按键K1,点亮一个LED
void main(void) // 主程序
{
IT0=1; //外中止跳变产生中止
EX0=1;
EA=1; //翻开总中止
while(1) //主程序循环
{
}
}
//外中止0
int0() interrupt 0
{
P10=0; //在中止里点亮LED
}
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
这个程序里,按一下K1(P32)之后,就会触发INT0中止,在该中止里点亮LED灯。
请编译运转,并看成果。能够看到,在按下K1之后,LED1变处于亮着的状况。
作业:
用中止方法的按键K1,操控一个LED灯的亮和灭两种状况
提示:需求去抖操作,不然按键颤动会引起多种中止。