早兩天在網(wǎng)上買(mǎi)了套AVR128開(kāi)發(fā)板,功能著(zhù)實(shí)強大,在線(xiàn)硬件仿真超級爽。網(wǎng)站的工程師很好說(shuō)話(huà),有問(wèn)題發(fā)條短信過(guò)去,馬上從哈爾濱打電話(huà)過(guò)來(lái)給解決。AVR端口定義有點(diǎn)麻煩,剛從51過(guò)來(lái),好不習慣,不過(guò),會(huì )了C程序,基本上都沒(méi)什么問(wèn)題。這是LED逐個(gè)點(diǎn)亮程序。采用WIN-GCC編譯器。#include string.h>#include stdio.h>#define F_CPU 7372800 /* 單片機主頻為7.3728MHz,用于延時(shí)子程序 */#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)閉數碼管端口,以免數碼管出現亂碼PORTB=0xfe; //設定PB端口的輸出值DDRB=0xFF; //定義PB口為輸出方式 unsigned char i;while(1){ i=PORTB;for(i=0;i8;i++){ PORTB=PORTB1;delay_ms(500);}PORTB=0xff;delay_ms(500);}}
評論