之前我用avr128用avr_fighter烧写程序,用来控制H桥来控制,电机,都可以的。但是昨天我改用另外一种

[复制链接]
查看11 | 回复2 | 2011-5-5 11:33:11 | 显示全部楼层 |阅读模式
烧写软件PROGISP(Ver1.72)烧写程序,刚一开始也都还可以,但是有时会出现有一边的电机不转,但是碰一下也还可以转,但是但我再次烧写程序后,这次H桥的2组电机都不工作了,刚开始我还以为是电量不足是这样,但是换了一个电量高的电池,还是不能工作。刚开始我以为是H桥坏了,于是又去换了一个好的H桥,但是还是不能工作。于是用示波器去看波形,发现给控制信号的PWM的PE4和5都没有信号,而且也没有波形。于是我设置全部I/O为高电平,再用示波器检测,也都正常,都是显示为高电平。当我还是用产生PWM的那几个端口去输出方波,还是不可以。也不知道是出了什么问题,PWM端口还是不能产生输出信号,我都查了1天了,请教各位大侠。。。给我解答~!!!程序如下:
#includeiom128v.h
#includemacros.h
#defineucharunsignedchar
#defineuintunsignedint
voidmain()
{

DDRE|=0X30;
DDRG|=0X1B;
DDRA=0X00;
DDRB=0X00;
DDRC=0X00;
DDRD=0X00;


TCCR3A=0X6B;
TCCR3B=0X19;
OCR3A=10;

while(1)
{OCR3B=6;
OCR3C=6;
PORTG=0X11;
}
}
回复

使用道具 举报

千问 | 2011-5-5 11:33:11 | 显示全部楼层
换一种烧写软件,iccavr试一试,程序没问题,就是一个简单的配置pwm波的问题,你用avrstudio读一读它的熔丝位,是不是熔丝位在烧录是跳变了,如果是,用强行擦除,多擦几次,有可能,只是可能,可以回复正常,对了,可以下程序吗,主要查的熔丝位是ISPmode.在不然就可能是外部晶振的问题了,那就需要用外部引脚进行人工起振了,还有,我要告诉楼主,单片机这东西,很多时候你搞不清是什么问题,坏了就是坏了,毕竟是硬件,不像软件,实在查不出问题,换一块128就肯定可以搞定了,串口,中断,看门狗都可以使用吗,别只看pwm,我也碰到许多程序没问题,单片机貌似没问题,但换一块就正常的,这是你我无法掌控的问题,还是先读一下芯片吧,查完告诉我,把pwm占空比从0开始增到最大,看有没有反应









<h4class=\"ask\">追问


我检查了熔丝位,都可以读取成功,但多次擦除后,程序烧进去后,还是运行不了,但是其他口都可以用的话,外部晶振是没问题的,现在就剩下串口,中断,和看门狗了,6路PWM都不可以用,看来是定时中断出了问题,但我还是很难说的
回复

使用道具 举报

千问 | 2011-5-5 11:33:11 | 显示全部楼层
用魔法帽子快速生成以后进行测试,换成8位定时计数器,我以前也是16位不行,换8位就可以了,熔丝位没问题,一般这种都是熔丝位问题,如果还不行的话,那我也没办法了,只能换一块ATmega128,直接用示波器打端口,排除接触不良的可能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行