📄 delay.c
字号:
/*Delay_ms:毫秒级延时函数------------------------------*
*功 能:延时函数 *
*参 数:i=延时时间(ms) (i取值范围:1-255) *
*返 回:无 *
*-----------------------------------------------------*/
#include "GP32C.H" //包含头文件
#include "KB.h" //键盘中断头文件
extern void PWMInit(unsigned int ); //PWM初始化
extern void PWMmusic(unsigned int );
extern void Delay_ms(unsigned char ); //延时
unsigned int Period;
void Delay_ms(unsigned char i)
{ unsigned char j;
unsigned char u;
for(j=0;j<i;j++)
for(u=0;u<=250;u++) ;
}
void hmusic()
{ unsigned int Period; //PWM周期
unsigned char KB_valve;
KB_Init();
KB_valve=KB_Scan(); //扫描键值
KB_valve=KB_Def(KB_valve); //键值转化为定义值
switch(KB_valve)
{
case '1':PWMmusic(1046);break;
case '2':PWMmusic(1175);break;
case '3':PWMmusic(1318);break;
case '4':PWMmusic(1397);break;
case '5':PWMmusic(1568);break;
case '6':PWMmusic(1760);break;
case '7':PWMmusic(1976);break;
}
}
void Lmusic()
{ unsigned int Period; //PWM周期
unsigned char KB_valve;
KB_Init();
KB_valve=KB_Scan(); //扫描键值
KB_valve=KB_Def(KB_valve); //键值转化为定义值
switch(KB_valve)
{
case '1':PWMmusic(262);break;
case '2':PWMmusic(294);break;
case '3':PWMmusic(330);break;
case '4':PWMmusic(349);break;
case '5':PWMmusic(392);break;
case '6':PWMmusic(440);break;
case '7':PWMmusic(494);break;
}
}
void PWMmusic(unsigned int HZ)
{
unsigned int Period; //PWM周期
unsigned int Duty; //PWM占空比
Period=(2457600/64)/HZ;
PWMInit(Period);
Duty=Period/2;
T1SC|=(1<<5); //停止定时器1计数器计数
//[设置PWM脉宽]
T1CH0H = (Duty>>8); //设置高字节
T1CH0L = Duty; //设置低字节
T1SC&=~(1<<5); //允许定时器1计数器计数
Delay_ms(10); //延时10ms
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -