fool_boy 发表于 2009-10-26 20:40:38

笨小孩求学记之一:请教傻孩子,智峰以及能够点亮 M88 的先学着

打算学AVR了,用的是傻孩子书上的电路图焊接的,
程序是用USBASP下载的,
HEX文件时傻孩子的闪烁灯测试程序,
问题是:
1.能够正常擦写程序,但是单片机就是不工作。
2.具体现象就是:输出端好像只有3引脚是高电平,

********************************源代码*************************
/*********************************************************/
/*                                                       */
/*          ATmega48/88/168实验电路板测试软件            */
/*                                                       */
/*                   编写:江海波                        */
/*                                                       */
/*                2007-02       V1.0                     */
/*                                                       */
/*         提示 : 本程序仅随本书使用,保留版权            */
/*            实例代码用于工程时应谨慎!               */
/*                                                       */
/*             E-mail : soundman@sohu.com                */
/*                                                       */
/*********************************************************/

#include <iom48v.h>
#include <macros.h>

void Delay_mS(unsigned int Time)
{
    unsigned char n;
    while(Time>0)
    {
      for (n=1;n<187;n++)
      {
            asm("nop");
      }
      Time--;
    }
}

void main (void)
{
    DDRC=0xFF;
    PORTC=0xAA;

    DDRB=0xFF;
    PORTB=0xAA;

    DDRD=0xFF;
    PORTD=0xAA;

    while(1)
    {
      Delay_mS(500);
      PORTC^=0xFF;
      PORTD^=0xFF;
      PORTB^=0xFF;
    }
}
*********************************************************************

焊接的电路板不工作,临时有搭接了一个,现象相同。
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496179.jpg
(原文件名:图片 001.jpg)
http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496189.jpg
(原文件名:图片 002.jpg)

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496190.jpg
(原文件名:图片 003.jpg)

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496191.jpg
(原文件名:图片 004.jpg)

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496192.jpg
(原文件名:图片 005.jpg)

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496193.jpg
(原文件名:图片 006.jpg)

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496194.jpg
(原文件名:截图00.jpg)

fool_boy 发表于 2009-10-26 20:42:05

是不是软件还要进行一些设置呢,
电路是最小系统。

Microchen2008 发表于 2009-10-27 12:05:24

是不是熔丝位的问题.

fool_boy 发表于 2009-10-27 12:50:35

还不懂关于熔丝位的东西啊

aozima 发表于 2009-10-27 12:56:03

既然能编程.说明时钟能工作
所以,先不管熔丝了,反正都可以工作.

另外 别忘了勾下"数据自动重载"

既然上面都输出0xAA
下面的
    while(1)
    {
      Delay_mS(500);
      PORTC^=0xFF;
      PORTD^=0xFF;
      PORTB^=0xFF;
    }
就可以不要了,直接while(1)即可...
到时测得一高一低即为正常.

另外,你用什么编译器?^= 0xFF;是什么意思?

USB_Study 发表于 2009-10-27 13:01:05

编译器设乱了,也有可能出问题。
^= 0xff 取反

fool_boy 发表于 2009-10-27 13:01:23

to 【4楼】 aozima
---------------------------

http://cache.amobbs.com/bbs_upload782111/files_21/ourdev_496433.jpg
(原文件名:截图00.jpg)

*******************************
虽然能正常下载程序(智峰软件上显示的),
但是单片机的所有引脚就像悬浮的似的,没有任何反映。
奥,对了好像第三引脚有程序是高电平

USB_Study 发表于 2009-10-27 13:06:34

编译器不是下载软件,
你把程序改成第三脚变成低电平看看你的程序受控不?

roberzhao 发表于 2009-10-27 13:09:42

程序是没问题的,你看下电路

fool_boy 发表于 2009-10-27 13:11:25

to 【4楼】 aozima
to【7楼】 USB_Study
-------------------------------
程序我不太明白,是从傻孩子的书《深入浅出AVR单片机》光盘里COPY的, 下载到M88中的HEX也时光盘里的

USB_Study 发表于 2009-10-27 13:13:12

roberzhao
学过数电后还说这样的话,就真该撞墙喽

0712 发表于 2009-10-27 13:15:33

请问楼主啥专业的

fool_boy 发表于 2009-10-27 13:16:17

自动化,大二,

fool_boy 发表于 2009-10-27 13:17:24

学校刚开始学模电。

0712 发表于 2009-10-27 13:34:23

把高位熔丝--WDTON的"1",变成'0',然后把“编程熔丝”前面的勾打上去。在按自动

fool_boy 发表于 2009-10-27 14:25:44

谢谢,我现在回实验室在试试。

Gorgon_Meducer 发表于 2009-10-27 22:54:58

我比较怀疑,他的编译器工程选项没有选择到正确的芯片……

fool_boy 发表于 2009-10-28 16:48:07

to 【16楼】 Gorgon Meducer 傻孩子
-----------------------------------
果然聪明,

感谢大家的帮助,
原因找到了,
1.芯片有误,错将M8(ATMEGA8L-8PU)当成M88.
2.工程中与智峰软件中都是选的M88,却烧到了M8中去了。
3.刚开始对下载程序软件还不会使用,尤其是需要设置一些东西的时候。

***********
选错芯片的起因:
当时邮寄芯片的时候,没有傻孩子书中的M48,我想那就用M88代替吧,没成想却把ATMEGA8L-8PU(有两个8^_^)当成了M88.
却带来了这么都麻烦。

还行请问傻孩子用M8做你书中的实验,书中的程序除头文件要变成#include<iom8v.h>需要修改吗?
如果改动较大,我打算在去买个M48(尽量与你书中的硬件做到完全相同,避免不必要的麻烦,就像这次似地)

NE5532 发表于 2009-10-28 21:44:09

M8可以做一部分实验,就是那些跟外设联系不紧密的,联系紧密的,建议用48或88。
另外恭喜楼主,这个不是你的问题,是下载软件没有做好,下载前应该校验芯片类型。

Gorgon_Meducer 发表于 2009-10-28 23:30:30

除了Bootloader以外,M88可以完全替代M48……
还有,由于书写得比较早,现在建议用
#include <iccioavr.h>替代 #include <iom8v.h>之类的东西……

fool_boy 发表于 2009-10-29 12:33:06

谢谢,两位:)
【18楼】 NE5532 江海波
【19楼】 Gorgon Meducer 傻孩
页: [1]
查看完整版本: 笨小孩求学记之一:请教傻孩子,智峰以及能够点亮 M88 的先学着