| 
 
| 说明:器件为Atmega162 Fre=7.3728MHz 程序目的:测试PORTD4,PORTD5 IO口的LED灯是否正确闪烁,LED灯外接上接电阻。
 编译环境:WinAVR-20071221
 烧录环境:Pony2000 v2.6f ISP烧录
 
 提示:不存在硬件及熔丝问题,因为用ICC AVR写的应用程序是完全正确的。
 (烦啊,ICCAVR没有注册码,是急着转用GCC!)
 
 程序代码如下:
 #include <avr/io.h>
 void Main_DealyTime(unsigned int iTmpDlyTime)    //延时
 {
 
 for(;iTmpDlyTime>0;iTmpDlyTime--);
 }
 
 void Main_InitPort(void)
 {
 PORTA = 0x00;
 DDRA     = 0xF0;        //
 PORTB = 0x00;
 DDRB     = 0x00;        //
 PORTC = 0x00;        //
 DDRC     = 0x60;        //
 PORTD = 0xf8;
 DDRD     = 0xf8;        //PORTD 就五位,设置为输出
 PORTE = 0x00;
 DDRE     = 0x00;        //
 }
 
 int main(void)
 {
 Main_InitPort();
 
 while(1)
 {
 Main_DealyTime(5000);
 Main_DealyTime(5000);
 PORTD |= 0x030;        //置1
 Main_DealyTime(5000);
 Main_DealyTime(5000);
 PORTD &= ~0x030;    //取反
 }
 
 return 0;
 }
 
 
 问题:
 1、当前程序代码是否有误?或者设置不合理的地方?
 2、当前的程序是否从main处开始执行?不是的话如何更改?
 3、在HEX文件内,箭头向上的代码是如何产生的?
 
 谢谢!
 
 测试结果:D4,D5 IO口LED没有任何闪动。
 Hex代码如下图所示:
 
 https://bbs.21ic.com/upfiles/img/20077/200777141929224.jpg
  | 
 |