早兩天在網(wǎng)上買了套AVR128開發(fā)板,功能著實(shí)強(qiáng)大,在線硬件仿真超級爽。網(wǎng)站的工程師很好說話,有問題發(fā)條短信過去,馬上從哈爾濱打電話過來給解決。AVR端口定義有點(diǎn)麻煩,剛從51過來,好不習(xí)慣,不過,會了C程序,基本上都沒什么問題。
這是LED逐個點(diǎn)亮程序。采用WIN-GCC編譯器。 #include <string.h> #include <stdio.h> #define F_CPU 7372800 /* 單片機(jī)主頻為7.3728MHz,用于延時子程序 */ #include <util/delay.h> #include <avr/io.h> #define delay_us(x) _delay_us(x) //AVR GCC延時函數(shù) x(us) #define delay_ms(x) _delay_ms(x) //AVR GCC延時函數(shù) x(ms) void main() { PORTA=0xff; //關(guān)閉數(shù)碼管端口,以免數(shù)碼管出現(xiàn)亂碼 PORTB=0xfe; //設(shè)定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); } }