蜂鸣器911报警--定时计数器实验
/***********************************************************************************************/
911报警声音 */
/* 设置,将蜂鸣器旁边的跳线跳上,下载程序到实验班,会听到急促的报警声 */
/***********************************************************************************************/
#include <>
#include <>
sbit SPK = P3^7;
unsigned char frq;
void delayms(unsigned char ms);
main()
{
TMOD = 0x01;
frq = 0x00;
TH0 = 0x00;
TL0 = 0xff;
TR0 = 1;
IE = 0x82;
while(1)
{
frq++;
delayms(1);
}
}
void timer0() interrupt 1 using 1
{
TH0 = 0xfe;
TL0 = frq;
SPK = ~SPK;
}
void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
看程序应该是发出的声音频率越来越高,然后突然降低,再越来越高,如此循环
main()
{
TMOD = 0x01; //设定时方式1,16位定时器
frq = 0x00;
TH0 = 0x00; //赋初值
TL0 = 0xff; //赋初值
TR0 = 1; //开始计数
IE = 0x82; //允许中断
while(1)
{
frq++; //每个毫秒增加频率,直至frq=0,频率下降,如此循环
delayms(1);
}
}
void timer0() interrupt 1 using 1
{
TH0 = 0xfe;
TL0 = frq; //根据frq改变定时器的值
SPK = ~SPK; //发出占空比50%的音频
}
#include<>
#define uint unsigned int
#define uchar unsigned char
sbit d=P2^3;
uint aa;
void delay(uint z);
void xulei();
void main()
{
xulei();
while(1)
{
蜂鸣器911报警 来自淘豆网m.daumloan.com转载请标明出处.