早两天在网上买了套AVR128开发板,功能着实强大,在线硬件仿真超级爽。网站的工程师很好说话,有问题发条短信过去,马上从哈尔滨打电话过来给解决。AVR端口定义有点麻烦,刚从51过来,好不习惯,不过,会了C程序,基本上都没什么问题。
这是LED逐个点亮程序。采用WIN-GCC编译器。
#include <string.h>
#include <stdio.h>
#define F_CPU 7372800 /* 单片机主频为7.3728MHz,用于延时子程序 */
#include <util/delay.h>
#include <avr/io.h>
#define delay_us(x) _delay_us(x) //AVR GCC延时函数 x(us)
#define delay_ms(x) _delay_ms(x) //AVR GCC延时函数 x(ms)
void main()
{
PORTA=0xff; //关闭数码管端口,以免数码管出现乱码
PORTB=0xfe; //设定PB端口的输出值
DDRB=0xFF; //定义PB口为输出方式
unsigned char i;
while(1)
{
i=PORTB;
for(i=0;i<8;i++)
{
PORTB=PORTB<<1;
delay_ms(500);
}
PORTB=0xff;
delay_ms(500);
}
}
