ATmega128在開(kāi)發(fā)應用中應注意的問(wèn)題
此外,ATmega128自帶輸入上拉電阻功能,通過(guò)設置即可以實(shí)現其功能。例如將PA口設為輸入口并且加上拉電阻,可以如下設置:
DDRA=0x00; //將PA口設置為輸入端口
PORA=0xff; //將PA輸入口加上拉電阻
(2)位操作的使用方法
采用ICCAVR對ATmega128的位操作的使用方法比較麻煩,不像51系列那樣可以直接對某一個(gè)引腳進(jìn)行置0或置1,而是要通過(guò)如下的方法進(jìn)行位操作:
如要對PA端口的第1位置1,則用C語(yǔ)言必須按PORTA|=(1
這樣就可以單獨對某一位操作而不影響其他位。位操作對其他寄存器也同樣適合,例如若要對某個(gè)口的幾位設為輸入,某幾位設為輸出,就可以通過(guò)上面的置1、置0方法來(lái)實(shí)現。
(3)中 斷
ATmega128中斷資源豐富,一共有35個(gè)中斷源,在ICCAVR的iom128v.h頭文件中給出了這些中斷源對應的中斷向量表。當用到相應的中斷時(shí),首先應設置好對應的中斷向量。用ICCAVR設置ATmega128中斷的方法與Keil51設置中斷的方法截然不同,例如若需要將ATmega128的串口0設置為中斷接收,就必須在程序中做如下設置:
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
否則程序不能中斷接收,延長(cháng)開(kāi)發(fā)過(guò)程。
ATmega128作為一種功能強大的芯片,相信會(huì )在不同的領(lǐng)域發(fā)揮不同的作用,為此需要人們不斷地提高對ATmega128的認識。而且ATmega128與AVR等其他單片機如ATmega8、ATmega103、AT90S8535系列有相同的開(kāi)發(fā)方法,掌握了ATmega128就可以在開(kāi)發(fā)其他AVR類(lèi)型的單片機時(shí)應用自如。
參考文獻
1 USA:Atmel Corporation.ATmega128(L)Datasheet,2001
2 丁化成.AVR單片機應用設計.北京:北京航空航天大學(xué)出版社,2002
評論