AVR单片机C语言初学程序问题

本人在学习AVR单片机,看书后自己试着写了个程序,但是运行错误,不知道程序哪里出了问题。求解#include<iom16v.h>#include<macros.h>#de... 本人在学习AVR单片机,看书后自己试着写了个程序,但是运行错误,不知道程序哪里出了问题。求解
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int

void delay(uint t)
{
uchar i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}

void main()
{
DDRC=0xff;
while(1)
{
PORTC=0B00000000;
delay(30);
PORTC=0B11111111;
delay(30);
}
}
展开
 我来答
wenfuafeng
2013-10-19 · TA获得超过231个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:139万
展开全部
void delay (uint t)
{
     uchar i,j;
     
     for(i=t;i>0;i--)
      for(j=110;j>0;j--)
}
void main (void)
{
     DDRC=0xff;
     
     while(1)
     {
         PORTC=0x00;
         delay(3000);
         PORTC=0xff;
         delay(3000);
     }
}

简单修改了一下,只是这样的程序不能远行的。还要上电初始化(IC配置、包括系统时钟、IO口,要初始化OK,程序才能正常远行。)。


更多追问追答
追问
你的意识说我还需要加上下面这些程序吗?不过刚才我试了试,貌似还是不行啊!
#include
#include
void port_init(void)
{
}
//call this routine to initialize all peripherals
void init_devices(void)
{
}
追答
你是怎样远行的?是在软件仿真,还是硬件仿真?还是烧录到IC?
百度网友ec35c0b5a
2013-10-19 · TA获得超过1693个赞
知道大有可为答主
回答量:2508
采纳率:73%
帮助的人:1240万
展开全部
大问题是没有的,你就照如下写就行了。
void main()
{
DDRC=0xff;//配置为输出模式
PROTC=0XFF;配置为上拉模式;
while(1)
{
PORTC=0X00;//led全灭
delay(30);
PORTC=0XFF;//led全亮
delay(30);
}
}

至于限流电阻,由于你是仿真,倒没有必要加也可以的,但是是实际使用中,你是一定要加的,否则会烧了你的LED灯的。
追问
我用的是ICCAVR IDE。程序这样写,没问题吧,可是选择器件型号之后生成的文件怎么处理呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我就一个卖菜的
2013-10-19 · TA获得超过1577个赞
知道小有建树答主
回答量:958
采纳率:0%
帮助的人:214万
展开全部
这电路画的不行, LED 需要限流电阻的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2009romantic
2013-10-19 · TA获得超过163个赞
知道答主
回答量:257
采纳率:100%
帮助的人:97.5万
展开全部
楼上正解,限流电阻仿真可以忽略!没有拉高!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式