打印
[AVR单片机]

atmega64l程序产生PWM波形的问题

[复制链接]
2036|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaomifan|  楼主 | 2010-3-10 22:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位好,我是AVR初学者,由于要用到atmega64l单片机的PWM波形产生功能,做了一个测试程序,用定时器T1在IO口PB5和PB6产生两组PWM波形,写了一个简单程序如下:
#include<iom64v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
{for(j=0;j<1141;j++);
}
}
void main()
{
uint x,y;
WDTCR|=(1<<WDCE)|(1<<WDE);//置位WDTOE和WDE(在设置看门狗定时器的预置
//分频器参数时需要将其写1))
WDTCR=(1<<WDE)|(1<<WDP2)|(1<<WDP1);//设定周期为1S
DDRB = 0Xff; //PB口设置为输出口
while(1)
{
WDR();
TCCR1A=0XA9; //设置T1三个口都是8位快速PWM模式,OCR比较后输出低电平
TCCR1B=0X09;//时钟采用不分频的设置
OCR1AL=10;
OCR1BL=10;
delay(500);
TCCR1A=0XA9; //设置T1三个口都是8位快速PWM模式,OCR比较后输出低电平
TCCR1B=0X09;//时钟采用不分频的设置
OCR1AL=50;
OCR1BL=50;
delay(500);
TCCR1A=0XA9; //设置T1三个口都是8位快速PWM模式,OCR比较后输出低电平
TCCR1B=0X09;//时钟采用不分频的设置
OCR1AL=100;
OCR1BL=100;
delay(500);
}
}
程序的本意是要产生3组不同占空比的波形的循环,结果写入单片机后观察波形不对,只有两组很窄的PWM波形在循环,而且好像输出波形个数也不一致,完全不是想象中的3组PWM波循环,程序中如果去掉前两组设置,即如下:
#include<iom64v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
{for(j=0;j<1141;j++);
}
}
void main()
{
uint x,y;
WDTCR|=(1<<WDCE)|(1<<WDE);//置位WDTOE和WDE(在设置看门狗定时器的预置
//分频器参数时需要将其写1))
WDTCR=(1<<WDE)|(1<<WDP2)|(1<<WDP1);//设定周期为1S
DDRB = 0Xff; //PB口设置为输出口
while(1)
{
WDR();
//TCCR1A=0XA9; //设置三个口都是8位快速PWM模式,OCR比较后输出低电平
//TCCR1B=0X09;//时钟采用不分频的设置
//OCR1AL=10;
//OCR1BL=10;
//delay(500);
//TCCR1A=0XA9; //设置三个口都是8位快速PWM模式,OCR比较后输出低电平
//TCCR1B=0X09;//时钟采用不分频的设置
//OCR1AL=50;
//OCR1BL=50;
//delay(500);
TCCR1A=0XA9; //设置三个口都是8位快速PWM模式,OCR比较后输出低电平
TCCR1B=0X09;//时钟采用不分频的设置
OCR1AL=100;
OCR1BL=100;
delay(500);
}
}

这样的话输出的波形是正确的,是固定占空比的波形循环,而且占空比正确,高电平时间占据不到周期的3分之一,我一时也搞不清楚为什么会出现这样的情况,改了很多情况进行了试验,有错有对,摸不清定时器使用是否正确了,请高手帮忙看定时器使用是否正确,如果定时器使用正确是否是程序写入的问题,我用最简单的并口直连的ISP下载方式,用ponyprog2000下载,下载过程是正确的,不会报错。请各位大侠指导,万分感谢!

相关帖子

沙发
suoma| | 2010-3-11 23:01 | 只看该作者
哈哈,比我问得还长

使用特权

评论回复
板凳
huamunv| | 2010-3-12 22:01 | 只看该作者
while语句后面执行这么多,很有可能出问题的

使用特权

评论回复
地板
Karlshen| | 2010-3-13 23:08 | 只看该作者
看点书,里面会有一些分析程序的

使用特权

评论回复
5
xiaomifan|  楼主 | 2010-4-1 22:39 | 只看该作者
:)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

305

帖子

1

粉丝