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

📄 exp6.c

📁 Proteus 的学习资料,对AVR的开发新手有一定的帮助.
💻 C
字号:
#include <io8535.h>

#define PWM_select  (PINC&3)    //定义端口C的最低两位为控制输入

void  main(void)
{
  unsigned  int oldtogs;        //存储输入数据
  DDRD=0x20;                    //设置OCR1A位为输出
  PORTC=0x03;                   //设置输入端口支持内部上拉功能
  TCCR1A=0x91;                  //设置比较器A为非反向PWM,且为8位分辨率
  TCCR1B=0x02;                  //定时器预定标为clock/8

  while(1)
  {
    if(PWM_select!=oldtogs)
    {
      oldtogs=PWM_select;       //保存输入端口数据
      switch(PWM_select)
      {
        case  0:
          OCR1A=25;             //当输入为0时,输出波形占空比为10%
          break;
        case  1:
          OCR1A=51;             //当输入为1时,输出波形占空比为20%
          break;
        case  2:
          OCR1A=76;             //当输入为2时,输出波形占空比为30%
          break;
        case  3:
          OCR1A=102;            //当输入为3时,输出波形占空比为40%
      }
    }
  }
}

⌨️ 快捷键说明

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