⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init1.c

📁 52单片机开发板的实例程序
💻 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 + -