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

📄 voice.c

📁 这是本人初学C51时编写并成功完成调试的第一个较大的C程序,里面包含有双单片机通信键盘描扫电子音乐等内容
💻 C
字号:
//#include <reg52.h>
#include <hardware.h>
#include <stdio.h>
#include <intrins.h>

void delay1ms();
void delay10ms();
void delay20ms();
//void VOICE500HZ1S();
void VOICE500HZ2S();
void VOICE250HZ1S();
void VOICE250HZ2S();
//void VOICE50HZ2S();
//void VOICE50HZ4S();
void VOICE25HZ2S();
void VOICE25HZ4S();

//#include <AT89X51.h>

/*
void initialT0()
{
	TMOD&=0xf0;//高四位不变,低四位清零
	TMOD|=0xf1;//01工作方式,16位T0
	TH0=0xfc;//TH0赋初值
	TL0=0x18;//TL0赋初值
	EA=1;//开CPU中断
	ET0=1;//开T0中断
	TF0=0;
	TR0=1;
}*/

//void delay500us()
//{
	
//}
void delay1ms()
{
	/*TMOD&=0xf0;//高四位不变,低四位清零
	TMOD|=0xf1;//01工作方式,16位T0
	TH0=0xd8;//TH0赋初值
	TL0=0xf0;//TL0赋初值
	EA=1;//开CPU中断
	ET0=1;//开T0中断
	TF0=0;
	TR0=1;*/
	/*initialT0();
	while(!TF0){;}
	TR0=0;
	TF0=0;
	ET0=0;
	EA=0;
	TH0=0xfc;
	TL0=0x18;
	TR0=1;*/
	unsigned char i,j;
	for(i=0;i<2;i++)
	for(j=0;j<250;j++)
	{
		_nop_();//??????????????????????????????????
	}
}

void delay10ms()
{
//	initial T0();
	unsigned char i;
	for(i=0;i<10;i++)
	{
		delay1ms();
	}
}

void delay20ms()
{
//	initial T0();
	unsigned char i;
	for(i=0;i<20;i++)
	{
		delay1ms();
	}
}
/*
void VOICE500HZ1S()
{	
	unsigned char i,j;
	for(i=10;i>0;i--)
	for(j=100;j>0;j--)//long=1s
	{
		VOICE=~VOICE;
		delay1ms();
	}
}
*/
void VOICE500HZ2S()
{
	unsigned char i,j;
	for(i=20;i>0;i--)
	for(j=50;j>0;j--)//long=2s
	{
		VOICE=~VOICE;
		delay1ms();
	}
}

void VOICE250HZ1S()
{
	unsigned char i,j;
	for(i=5;i>0;i--)
	for(j=50;j>0;j--)//long=1s
	{
		VOICE=~VOICE;
		delay1ms();
		delay1ms();
	}
}

void VOICE250HZ2S()
{
	unsigned char i,j;
	for(i=10;i>0;i--)
	for(j=50;j>0;j--)//long=2s
	{
		VOICE=~VOICE;
		delay1ms();
		delay1ms();
	}
}

//void VOICE100HZ1S(unsigned char i,j)

//void VOICE100HZ2S(unsigned char i,j)
/*
void VOICE50HZ2S()
{
	unsigned char i;
	for(i=200;i>0;i--)//long=2s
	{
		VOICE=~VOICE;
		delay10ms();
	}
}

void VOICE50HZ4S()
{
	unsigned char i,j;
	for(i=20;i>0;i--)
	for(j=20;j>0;j--)//long=4s
	{
		VOICE=~VOICE;
		delay10ms();
	}
}*/

void VOICE25HZ2S()
{
	unsigned char i;
	for(i=50;i>0;i--)//long=2s
	{
		VOICE=~VOICE;
		delay20ms();
	}
}

void VOICE25HZ4S()
{
	unsigned char i;
	for(i=100;i>0;i--)//long=4s
	{
		VOICE=~VOICE;
		delay20ms();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -