fushengli 发表于 2010-4-13 09:58:04

PWM没有输出,电机驱动不了?

各位高手,我现在写了一个产生PWM的程序,可是为什么老是不能输出,请各位帮忙看下我哪里出问题了,,谢谢,,很急
程序采用M16的第11种波形产生模式,相位修正PWM,计数最大值放在ICR1,让OCR1A和OCR1B都有PWM输出,64分频,频率为200HZ

#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int


void main()
{
   TCCR1A=0XA2;
   TCCR1B=0X13;
   ICR1=624;
   OCR1A=324;
   OCR1B=324;

}

snail0204 发表于 2010-4-13 10:08:44

IO没设置为输出?

fushengli 发表于 2010-4-13 10:16:29

嗯嗯,已经配置为这样的了
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int


void main()
{

DDRD=0XB0;
DDRB|=BIT(3);
PORTD=0XB0;
PORTB|=BIT(3);



   TCCR1A=0XA2;
   TCCR1B=0X13;
   ICR1=624;
   OCR1A=324;
   OCR1B=125;

   
}
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_545991.jpg
仿真图 (原文件名:%031(0ZVA1MQ]@G%XNT0%QB.jpg)

zj_t 发表于 2010-4-13 10:35:39

用ICC的向导生成一下代码,然后看看能不能出。

fushengli 发表于 2010-4-13 10:48:33

试过了。。情况就是下面的图,OCRA和OCR1B持续输出高电平,导致L298的4个控制输入端都为高电平而停止转动了?为什么会出现这种情况的呢??
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_546000.jpg
问题 (原文件名:QZPIKO5KT2(BX(T~}6B$O3O.jpg)

mimifu 发表于 2010-4-13 13:16:03

因为你的PORTD=0XB0错了.导致你L298的输入IN1\IN2,IN3/IN4同步为零或同步为1,

wcm_e 发表于 2010-4-13 15:55:21

mark
页: [1]
查看完整版本: PWM没有输出,电机驱动不了?