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