📄 pwm.c
字号:
/******************************************************
file name :pwm.c
chip type :atmega16
program type :application
clock frequency :4MHZ
author :su2007@yeah.net
date :2008-03-15
version :1.0
software tool :winavr071221+studio4.13
hardware :avr-51
*******************************************************
此程序用于pwm的试验
*******************************************************/
#include <avr/io.h>
#include <stdint.h>
#include <util/delay.h>
void DelayMs(uint8_t ms)
{
uint8_t i;
for(i=0;i<ms;i++)
_delay_us(1000);
}
void Init()
{
DDRB=_BV(PB3); //定义PB3(OC0)为输出
//快速pwm; TOP时清0;无预分频;
TCCR0=_BV(WGM00)|_BV(WGM01)|_BV(COM00)|_BV(COM01)|_BV(CS00);
//OCR0=pwm; //输出比较寄存器
TCNT0=0; //T/C寄存器
}
int main()
{
uint8_t pwm=100; //定义pwm值
uint8_t dir=1; //定义方向值
Init();
while(1)
{
if(dir)
{
if(++pwm==254)
dir=0;
}
else
{
if(--pwm==0)
dir=1;
}
OCR0=pwm;
DelayMs(10);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -