直接上代码!
#include sbit LS1=P3^7; //该蜂鸣器为无源蜂鸣器;这是当以它的接口 sbit K0=P1^0; int code L[]={0,226,229,232,233,236,238,240,241,242,244,245,246,247,248}; //音阶 int code S[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3}; int i=0; void DelayMs(int x) //延时 { int i; while(x--) for(i=0;i<120;i++); } void init() //初始化 { // TMOD=0x00; //T0方式0定时 默认情况下就为0x00 IE=0x82; LS1=0; } void T0_time0() interrupt 1 //T0中断函数,在定时器溢出进入中断,即TF0或TF1必须为1时蔡进入中断函数,进入之后硬件可软件可清零,硬件也可清零 { TH0=L[i]; TL0=S[i]; LS1=!LS1; } void main() { init(); while(1) { while(K0); //开关未按时等待 while(!K0); //开关按下等待松开 for(i=0;i<15;i++) TR0=1,DelayMs(500),TR0=0,DelayMs(50); /*让播放器开500ms(在没进入之前,是在main函数中的500ms中;换句话说:在这500ms内定时器中断函数进行了(500ms/定时器初值)次),当然忽略中断函数执行语句的时间,然后再让蜂鸣器关50ms*/ } }
上一篇:基于51单片机的DHT11温湿度控制系统
下一篇:单片机学习路程(四)蜂鸣器唱歌
推荐阅读最新更新时间:2024-11-19 07:02
设计资源 培训 开发板 精华推荐
- DC539A,使用 LTC5508ESC6 7GHz 射频功率检测器的演示板
- 6+1键多功能小键盘
- 【已验证】 STM32传感器板
- LTC2905 的典型应用 - 具有引脚可选阈值的精密双电源监视器
- MAXREFDES1172:采用MAX17690的90%效率的小尺寸12V / 1A无光反激式DC-DC转换器
- 使用 MaxLinear, Inc 的 AS2815AR-2.5 的参考设计
- LM386N电池供电耳放
- 用于基本连接的 LT6656BCDC-2.5、2.5V 电压基准的典型应用
- EVAL-ADF4112EB1,ADF4112 评估板,用于无线 LAN 的 824 至 849 MHz PLL 时钟发生器
- TS431可调精密并联稳压器典型应用电路