资源简介
基于ATMega16的PWM程序,需要的下吧

代码片段和文件信息
//包含所需头文件
#include
#include
#include
/*------宏定义------*/
#define uchar unsigned char
#define uint unsigned int
#define BIT(x) (1<<(x))
#define NOP() asm(“nop“)
#define WDR() asm(“wdr“)
//端口初始化
void port_init(void)
{
PORTA = 0x00;
DDRA = 0xFF;
PORTB = 0x00;
DDRB = 0xFF;
PORTC = 0x00;
DDRC = 0xFF;
PORTD = 0x00;
DDRD = 0xFF;
}
//定时器T0初始化
void timer0_init(void)
{
TCCR0 = 0x00;//停止定时器
TCNT0 = 0x00;//初始值
OCR0 = 0x7F;//匹配值
TIMSK |= 0x02;//中断允许
TCCR0 = 0x79;//启动定时器
}
//T0比较中断服务程序
//#pragma interrupt_handler timer0_comp_isr:20
//void timer0_comp_isr(void)
SIGNAL(SIG_OUTPUT_COMPARE0)
{
//中断发生时刻在TCNT0=OCR0
}
//定时T1初始化
void timer1_init(void)
{
TCCR1B = 0x00;//停止定时器
TIMSK |= 0x18;//中断允许
TCNT1H = 0x00;
TCNT1L = 0x00;//初始值
OCR1AH = 0x01;
OCR1AL = 0xFF;//匹配A值
OCR1BH = 0x01;
OCR1BL = 0xFF;//匹配B值
ICR1H = 0xFF;
ICR1L = 0xFF;//输入捕捉匹配值
TCCR1A = 0xE3;
TCCR1B = 0x09;//启动定时器
}
//定时器T1匹配中断A服务程序
//#pragma interrupt_handler timer1_compa_isr:7
//void timer1_compa_isr(void)
SIGNAL(SIG_OUTPUT_COMPARE1A)
{
//compare occured TCNT1=OCR1A
}
//定时器T1匹配中断B服务程序
//#pragma interrupt_handler timer1_compb_isr:8
//void timer1_compb_isr(void)
SIGNAL(SIG_OUTPUT_COMPARE1B)
{
//compare occured TCNT1=OCR1B
}
//定时器T2初始化
void timer2_init(void)
{
TCCR2 = 0x00;//停止定时器
ASSR = 0x00;//异步时钟模式
TCNT2 = 0x00;//初始值
OCR2 = 0x7F;//匹配值
TIMSK |= 0x80;//中断允许
TCCR2 = 0x71;//启动定时器
}
//T2比较中断服务程序
//#pragma interrupt_handler timer2_comp_isr:4
//void timer2_comp_isr(void)
SIGNAL(SIG_OUTPUT_COMPARE2)
{
//中断发生时刻在TCNT2=OCR2
}
void init_devices(void)
{
cli(); //禁止所有中断
MCUCR = 0x00;
MCUCSR = 0x80;//禁止JTAG
GICR = 0x00;
port_init();
timer0_init();
timer1_init();
timer2_init();
sei();//开全局中断
}
//主函数
int main(void)
{
init_devices();
//在这继续添加你的代码
while(1)
{
NOP();
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 706 2009-06-16 21:16 atmega16-pwm\.dep\main.o.d
文件 7597 2009-06-16 21:21 atmega16-pwm\1.png
文件 98713 2009-06-16 21:21 atmega16-pwm\2.png
文件 60511 2009-06-16 21:17 atmega16-pwm\Last Loaded pwm.DBK
文件 2191 2009-06-16 21:16 atmega16-pwm\main.c
文件 13 2009-06-16 21:16 atmega16-pwm\main.eep
文件 5571 2009-06-16 21:16 atmega16-pwm\main.elf
文件 1048 2009-06-16 21:16 atmega16-pwm\main.hex
文件 9814 2009-06-16 21:16 atmega16-pwm\main.lss
文件 11629 2009-06-16 21:16 atmega16-pwm\main.lst
文件 12693 2009-06-16 21:16 atmega16-pwm\main.map
文件 4412 2009-06-16 21:16 atmega16-pwm\main.o
文件 1372 2009-06-16 21:16 atmega16-pwm\main.sym
文件 14815 2009-03-29 15:09 atmega16-pwm\Makefile
文件 60444 2009-06-16 21:21 atmega16-pwm\pwm.DSN
文件 1364 2009-06-16 21:21 atmega16-pwm\pwm.PWI
目录 0 2009-06-16 21:03 atmega16-pwm\.dep
目录 0 2009-06-16 21:21 atmega16-pwm
----------- --------- ---------- ----- ----
292893 18
- 上一篇:计算机专业 实习日记
- 下一篇:pyexcel技术文档
相关资源
- 51单片机PWM程序,占空比、周期可调整
- SG3525频率PWM控制均可调模块
- MCGS与单片机通信
- atmega16硬件产生方波的程序
- 基于ARM7 PWM定时器的图像传感器时序信
- 电力电子技术(第4版)_王兆安_带目
- 基于FAN6754A的PWM反激式开关电源的设计
- 采用双闭环控制提高PWM的电源纹波抑
- FPGA实现单极性SPWM调制
- LCL滤波器在三相PWM整流器中的应用
- ATmega16A DataSheet
- CPS―SPWM调制方法在H桥多电平变流器中
- 基于FPGA的多电平载波移相SPWM方法实现
- 正弦波逆变器正弦波逆变器的工作原
- 自制AVR ATmega16 JTAG2008
- 基于DSP的SVPWM变频调速系统
- 采用单片机SPWM的控制应急电源逆变电
- PWM脉宽调制的原理
- 说说PWM脉宽调制原理
- 以单片机AT89S52、光电脉宽调制器芯片
- STM32F103系列PWM输出应用之纸短情长音
- 基于FPGA的SVPWM实现方法
- pwm控制驱动直流电机 可调速 可调转的
- 可控硅调光,PWM调光,0-10V调光哪个更
- 一种基于SG3525A的PWM型开关稳压电源设
- 基于PIC单片机产生SPWM信号控制逆变桥
- 三相PWM整流器电压环H_∞鲁棒控制
- SVPWM的原理及法则推导和控制算法详解
- 132kW双PWM变频器电力电缆选型设计
- 32F103 8路PWM输出实验
评论
共有 条评论