C8051F020引入了交叉開關(guān)的概念,即單片機的管腳必須在交叉開關(guān)使能的情況下才能被配置。因此初始化時,首先要使能交叉開關(guān),官方有個配置工具Config2,很方便,推薦大家使用。管腳內(nèi)部自帶弱上拉(管腳與VDD之間阻性連接,約100KΩ),因此在弱上拉未被禁用的情況下,管腳可以輸出0和1。在弱上拉被禁用后,管腳輸出可以被配置為推挽和漏極開路,推挽和弱上拉一樣,都可輸出0和1,但驅(qū)動能力大,推挽方式為低阻,這樣,才能保證口線上不分走電壓或分走極小的電壓(可忽略),保證輸出與電源相同的高電平,推挽適用于輸出而不適用于輸入,因為若對推挽(低阻)加高電平后,I=U/R,I會很大,將造成口的燒毀。對與C8051F的很多型號片子,將I/O口設(shè)置為推挽方式的做法為:PnMDOUT=0xff,Pn=0x00,這樣設(shè)置I/O口為推挽,并輸出低電平(可降低功耗)。漏極開路則只能輸出0,如需輸出1,則需外接上拉電阻。引腳的輸出方式由PnMDOUT寄存器中的對應(yīng)位決定,某位置1表示推挽,0表示漏極開路(缺省狀態(tài))。通過設(shè)置輸出方式為漏極開路并向端口數(shù)據(jù)寄存器中的相應(yīng)位寫1將端口引腳配置為數(shù)字輸入,端口1的引腳可以用作ADC1模擬多路開關(guān)的模擬輸入。通過向 P1MDIN 寄存器中的對應(yīng)位寫0即可將端口引腳配置為模擬輸入,缺省情況下端口引腳為數(shù)字輸入方式。
本文引用地址:http://m.butianyuan.cn/article/201611/320864.htm端口0-3既可以按位尋址也可以字節(jié)尋址,端口4-7的所有端口引腳只能是按字節(jié)尋址的。
評論