PC口接了8个LED,程序编译后烧录进去,居然没变化,程序如下:
#include <avr/io.h>
#define uchar unsigned char
#define uint unsigned int
#define xtal 6
/*
*/
void delayms(uint dat) // 延时子程序
{
uint i,j;
for(i=0;i<dat;i++)
{
for(j=1000;j>0;j--);
}
}
/*
*/
void main(void)
{
uchar i,j; //定义变量
PORTC=0xFF; //设为输出口
DDRC= 0xFF; //PC口设为输出高电平,灯灭
while(1)
{
i=1;
for (j=0;j<8;j++) //循环8次,即PC0~~PC7轮流闪亮
{
PORTC=~i; //反相输出,低电平有效
delayms(500);
i=i<<1; //左移一位
if(i==0)
{
i=1;
}
}
}
}
|