新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR單片機入門--MEGA端口操作

AVR單片機入門--MEGA端口操作

作者: 時間:2013-01-05 來源:網(wǎng)絡(luò) 收藏

int main(void)

{

unsigned char i,j,k; //

PORTA=0xFF; //PA口設(shè)為輸出高電平,燈滅

DDRA=0xFF; //PA口設(shè)置為輸出

while(1)

{

i=1;

for (j=0;j8;j++) //循環(huán)8次,即PA0~~PA7輪流閃亮

{

PORTA=~i; //反相輸出,低電平有效,對應(yīng)的燈亮

for (k=0;k10;k++) _delay(100); //延時 100*10=1秒,可自行調(diào)節(jié) i=i1; //左移一位,I的值將向下面的列表那樣變化

// 0b00000001 PA0

// 0b00000010 PA1

// 0b00000100 PA2

// 0b00001000 PA3

// 0b00010000 PA4

// 0b00100000 PA5

// 0b01000000 PA6

// 0b10000000 PA7

}

}

}[Copy to clipboard]

其他IO口操作指令:

void main(void)

{

PORTA=0xff;

DDRA=0xff; //輸出 模式 ,IO口上拉電阻有效,1為輸出,0為輸入。

PORTA=0xf0; //等

以下三條指令只對操作符號右邊的數(shù)字位是一的位操作。

PORTA=~0x70; //清零 0x70為 01110000 ,即把*三位清零,其余數(shù)位不變。

PORTA|=0x77; //置一 0x77為 01110111 ,即把*210六位清零,其余數(shù)位不變。

PORTA^=0x70; //翻轉(zhuǎn) 0x70為 01110000,即*三位,如果是零變成1,是一變成0。

(P 0x80)==0x80; //按位與 判斷p的第七位是否是一,是則成立

}

關(guān)于1

ADIF是一個寄存器變量,可以堪稱數(shù)字4, 跟手冊中的定義,包含芯片頭文件的定義是一樣的。

(1

ADCSR=(1

ADCSR|=(1

ADCSR=~(1

while(ADCSR(1

while(1)

{

while(ADCSR(1

{

程序......

}

}

實踐出真知:只看這樣的說明是很枯燥的,從實踐中去學(xué)習(xí)會是更好的途徑,把這些代碼都寫到單片機里,一步一步調(diào)試運行,看看各個端口以及寄存器的效果,也鍛練程序調(diào)試能力,和樂而不為呢?


上一頁 1 2 下一頁

關(guān)鍵詞: AVR單片機 MEGA 端口操作

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉