📄 init1.c
字号:
/*****************************************************
外部中断测试
当检测到P3.3引脚有下降沿时,就是外部中断1触发,则蜂鸣器响约一秒钟
同时数码管最右边位显示1,否则蜂鸣器不响,数码管显示0
***********************************************/
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit a=P1^0;//74LS138的三个控制I/O口
sbit b=P1^1;
sbit c=P1^2;
sbit beer=P3^6;
const uchar table[]={
0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
uchar flag=0;//中断标志变量
void delay(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void HC138(uchar i)//74HC138子函数
{
a=i&0x01;
b=i&0x02;
c=i&0x04;
}
void display(uchar count,uchar dat)//往一个数码管写入一个数字
{
HC138(count);
P2=table[dat];
}
void main()
{
EA=1;//开总中断
EX1=1;//开外部中断1
IE1=1;//下降沿触发
while(1)
{
if(flag)
{
flag=0;
beer=0;
display(0,1);
delay(1000);
}
else
{
beer=1;
display(0,0);
}
}
}
void init1() interrupt 2 //外部中断函数
{
flag=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -