|
从PIC转STM8S,结果STM8S太令人失望,电源有很微小的波动都复位,难以用在无线发射控制的场合,于是放弃。今天转到AVR,尝试一个小程序,结果却不运行,太费解了。
板子是正常的,因为写demo程序是运行的,但是我用avr studio 5编译却不运行,就好像死机一样!
哎,求解
单片机是 mega128a ,内部晶体。下面的程序是闪灯,demo程序是闪的 。
#include<avr/io.h>
int main(void)
{
PORTC=0xff;
DDRC=0xff;
while(1)
{
PORTC^=0xff;
_delay_ms(100);
}
}
下面是demo程序,其他单片机熔丝位一样的设置。
/*******************************************
文件:LED.C
环境:编译为ICC AVR6.25A,仿真为AVR Studio4.10
硬件:ATMEGA16芯片
日期:2008年12月10日
功能:采用IO口驱动发光二极管,并实现流水线功能
备注:本系列例程参考了ouravr各位网友提供的相关资料,再此表示感谢
/******************************************/
#include <iom128v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
//毫秒级延迟程序
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<1141;j++);
}
}
//主控程序
void main()
{
uint k;
DDRC=0XFF;
PORTC=0XFF;
while(1)
{
for(k=0;k<8;k++)//循环闪烁
{
PORTC&=~BIT(k);
delay(50);
PORTC|=BIT(k);
delay(50);
}
}
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|