📄 w002.c
字号:
/*******************************************************************************
* 实验名称: 单片机模拟警报声 *
/*******************************************************************************
* 实验描述:蜂鸣器发出警报声 *
* 实验说明: P1.4为蜂鸣器控制口,高电平时蜂鸣器响 *
* *
*******************************************************************************/
#include <reg51.h>
#include <intrins.h>
sbit BELL = P1^4; //P1.4为蜂鸣器控制口,为高电平时蜂鸣器响
unsigned char frq; //声音频率
void delayms(unsigned char ms); //延时函数声明
main()
{
TMOD = 0x01; //定时器/计数器工作方式控制寄存器(TMOD)设置 T0工作方式1 定时
frq = 0x00;
TH0 = 0x00; //设置定时器/计数器0(T0)初始值
TL0 = 0xff;
TR0 = 1; //开启定时器/计数器0(T0)
IE = 0x82; //开总中断和T0中断允许
while(1) //无条件循环
{
frq++;
delayms(1);//调用延时函数
}
}
void timer0() interrupt 1 using 1 //中断程序
{
TH0 = 0xfe; //定时器/计数器0初始值重装
TL0 = frq;
BELL = ~BELL; //P1.4电平取反
}
void delayms(unsigned char ms) //延时函数
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -