⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 w002.c

📁 使用了SST带仿真功能的单片机89E51
💻 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 + -