51单片机 中断控制蜂鸣器
单片机通过使用外部中断控制蜂鸣器。
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
// 定义蜂鸣器连接的引脚
sbit beep = P1^0;
// 延时函数
void delay(uint x)
{
uchar i;
while(x--)
for(i=0;i<120;i++);
}
// 初始化外部中断1
void INT1_Init()
{
EA=0;
EX1 = 1;
IT1 = 1;
EA = 1;
}
void main()
{
// 调用初始化中断1
INT1_Init()
while(1)
{
}
}
// 外部中断1
void INT1_int1() interrupt 2
{
delay(10); // 延时消抖
if(!INT1)
{
beep=INT1;
while(1) // 蜂鸣器响
{
beep =~beep;
delay(1);
if(INT1) // 如果按钮松开
{
beep = INT1;
break;
}
}
}
}
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】本文为本人的学习记录,论点和观点仅代表个人而不代表当时技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【Gitee地址】秦浩铖:https://gitee.com/wjw1014