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

📄 delay.c

📁 摩托罗拉的脉冲信号输出的原代码
💻 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 + -