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

📄 main.c

📁 Proteus在MCS-51%26ARM7系统中的应用百例 Proteus在MCS-51%26ARM7系统中的应用百例
💻 C
字号:
/*******************************************************************************
*File: Main.c
*功能: 使用PWM6输出PWM信号,通过滤波电路实现DAC转换.由KEY1控制PWM占空比,每按一次
*      按键将会改变一次PWM的占空比
*******************************************************************************/
#include "config.h"
#define   KEY1   0x00004000        /*P0.14引脚连接KEY1*/

/*******************************************************************************
*名称: WaitKey()
*功能: 等待一个有效按键,有去抖功能
*******************************************************************************/
void WaitKey(void)
{ uint32 i;

  while(1)
  { while((IOPIN&KEY1)!=0);                 //等待KEY1键按下
    for(i=0;i<50;i++);                      //延时去抖
    if((IOPIN&KEY1)==0)break;
  }
    while((IOPIN&KEY1)==0);                   //等待KEY1键放开
}
/*******************************************************************************
*名称: main()
*功能: 使用PWM6输出占空比可调的PWM波形
*******************************************************************************/
int main(void)
{ uint32  pwmdata;                        //PWM占空比控制变量
  PINSEL0=0x00080000;                     //设置PWM6连接到P0.9引脚
  PINSEL1=0x00000000;                     //其他引脚设置为GPIO
  TargetInit();                           //PWM初始化
  pwmdata=1382;
  while(1)
  {  PWMMR0=2765;                         //设置PWM周期
     PWMMR6=pwmdata;                      //设置PWM占空比
     PWMLER=0x41;                         //PWMMR0,PWMMR6锁存,更新PWM占空比
     WaitKey();                           //等待按键
     pwmdata+=100;                        //改变PWM占空比控制变量
     if(pwmdata>=2764)pwmdata=0;
  }
  //return(0);
}

⌨️ 快捷键说明

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