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

📄 3pwm.c

📁 avr常用功能程序中包含了pwm、adc、中断、定时、i2c等各程序可供开发者直接使用
💻 C
字号:
#include <avr/io.h>
#include <avr/signal.h>
#define uchar unsigned char
#define uint unsigned int
//最高速度,9位PWM
uint a;
void delay(unsigned int t)
{
    for(;t>0;t--);
}
//======================================
void init_t0()
{
    DDRB|=0X08;               //OC0(PB3) PWM out
    TCCR0=0X61;             //8位PWM,CK/1,必须将2个COM位的值设为2/3
    //在升序计数时发生比较匹配(TCNT0=OCR0)将清零OC0 ;降序计数时发生比较匹配将置位OC0
    OCR0=50;                //调节占空比
}
void init_t1()
{
	DDRD|=0X20;         		 //设置OC1A(PD5)为输出
	TCCR1A=0x81;       		 //OC1A 初始为 "0",8 BITS PWM   C3,1;;;83,0
 	//TCCR1B=0X41;       		 //上升捕获 ,CK
    TCCR1B=0X01;
	OCR1A=200;  		     //全速启动
    SREG=0X80;               //总中断开
    TIMSK=0X22;
}
//=======================================
void init_t2()
{   
    DDRD|=0X80;         //设置OC2(PD7)为输出
    TCCR2=0X61;         //T2的PWM使能,置OC2(PB3)为"0",1024分频
    OCR2=100;
}
//=======================================
int main (void)
{
    init_t0();
	init_t1();
    init_t2();
    while(1);
}

⌨️ 快捷键说明

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