• 大小: 140KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: PWM  ATMega16  

资源简介

基于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


评论

共有 条评论