单片机
返回首页

ATMega8 PWM 功能(T/C 1)测试程序

2017-12-18 来源:eefocus

#include
#include

#define uchar unsigned char
#define uint unsigned int 

#define FREQ 4

//延时
void DelayMs(uint ms)
{


     uint i;
     for(i=0;i        _delay_loop_2(FREQ * 250);
}


int main (void)
{
     uchar direction=1;
     uchar PWM=0;
     
     //      8位相位修正PWM模式
     //      OC1A 向上计数过程中比较匹配时清零
     //      向下计数过程中比较匹配时置位
     //      时钟源:4MHz/64 PWM频率:4MHz/(64*256)=122Hz
     TCCR1A=_BV(COM1A1)/*|_BV(COM1B1)*/|_BV(WGM10);
     TCCR1B=_BV(CS11)|_BV(CS10);
     
     
     TCNT1=0;
     DDRB|=_BV(PB1)/*|_BV(PB2)*/;//OC1A pwm输出引脚允许



     //循环改变PWM输出脉宽,使接在OC1A引脚上的发光管亮度发生变化
  while(1)
     {
          if(direction)
           {
              if(++pwm==254)
                direction=0;
           }
          else
           {
              if(--pwm==0)
                direction=1;
           }

           OCR1A=pwm;
           //OCR1B=pwm;
           DelayMs(10);
     }
  
  return 0;
}


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • CCD图像传感器在微光电视系统中的应用

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 优化电路板布局的简单方法

  • 使用NE555和磁簧开关的橱柜照明电路

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章