一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 3668|回复: 1
收起左侧

[其他综合] 关于atmega8 编程的求助

[复制链接]
发表于 2009-11-9 19:25 | 显示全部楼层 |阅读模式
我用iccAVR6.3 编译了一个程序让PB口的LED闪烁,但是没有成功,请大家帮忙看看问题出在哪里?
熔丝位  低位:E1    高位:99

#include <iom8v.h>
#include <macros.h>

void Delay(void)
{
unsigned char i,j;
for(i=255;i>0;i--)
  {
    for(j=255;j>0;j--)
  ;
  }
}

void main(void)
{
DDRB  = 0xff;

while(1)
{
PORTB = 0xFF;  
Delay();  
PORTB = 0x00;   
Delay();  
}
}

pb2  pb4  pb7  所接的红色发光管有微弱的闪光,其他脚接的黄色和绿色的发光管没有发光,每个脚对地接1k电阻后都能正常闪光。  
我的电路是“电流流入单片机”,即下拉驱动。
发表于 2009-12-30 22:54 | 显示全部楼层
从程序上看,没有任何问题,运行应该是正常的。

可能是熔丝位配置的有问题,高位99说明使能了WDT(看门狗),但是程序中又没有喂狗指令。

所以看门狗每1MS都在溢出,每次溢出都会拉低RESET引脚,所以你的M8一直都在不停的重启中。

把熔丝高位改成D9试试看

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-4-28 17:26 , Processed in 0.063342 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表