通过外部中断1使得蜂鸣器鸣叫.```望高手给个简单的程序啊··越简单越好

通过外部中断1使得蜂鸣器鸣叫.```望高手给个简单的程序啊··越简单越好,第1张

P1.0口接喇叭,P3.3接按键后接地。

P3.3用作外部中断口,中断方式为1,下降沿此并亩触发。

程序功能为按下按键后,蜂鸣器响,释放按键,蜂鸣器停止发声。

当然,要是将问题森森实用化的话,要在51单片机的IO口接上驱动电路蔽乱,不然带不动大功率的元件的。

#include <reg51.h>

sbit P1_0=P1^0

sbit P3_3=P3^3

void delay(unsigned char y)

{unsigned char i,k

for(i=0i<yi++)

{for(k=0k<0k++)}

}

void main()

{

while(1)

{

EA=1

EX1=1IT1=1

IT1=1

}

}

void SPEAKER() interrupt 2

{ unsigned char x

EA=0

P3_3=1

x=P3_3

while(x==0)

{

P1_0=0

delay(1)

P1_0=1

P3_3=1

x=P3_3

delay(1)

}

}

PS:如果是想学的话,程序只供参考,自己把程序写的更加好。要是只是应付老师之类的,就随意了。

如果是下穗孙降沿触发(it0=1)就只会执行一次中断程序。电平触发(it0=1)的话每次执行完中断缺枝里面的程序(只要不关闭中断)就又跳进中断里去了,不断的循环执行。

循环的频率跟晶振有关,晶振的频率直接关系到单片机执猜扮链行指令的速度。频率越高速度也就越快。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12359279.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存