新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STC系列單片讓數(shù)碼管更亮

STC系列單片讓數(shù)碼管更亮

作者: 時(shí)間:2012-08-18 來源:網(wǎng)絡(luò) 收藏

STC系列的I/O口具有強(qiáng),何為強(qiáng)?
STCI/O口可以設(shè)置成四種模式:準(zhǔn)雙向口/弱上接,推挽/強(qiáng)上拉,輸入/高阻,設(shè)置成推挽/強(qiáng)上拉,無論輸出1和0時(shí)能承受的電流都很大。
STC的特殊功能寄存器(SFR)對I/O口增加了PXM1、PXM0寄存器,每個(gè)口都有這么一對??赏ㄟ^設(shè)置PXM1:PXM0的值選擇該口的工作模式:
PXM1,PXM0的定義如下:
0 0 準(zhǔn)雙向口(傳統(tǒng)IO)
0 1 推挽輸出(強(qiáng)上拉 ,電流可達(dá)20mA,盡量少用)
1 0 僅為輸入(高阻)
1 1 開漏,如傳統(tǒng)8051的P0口
下面以P1口為例進(jìn)行說明:
P1口的模式配置寄存器的名字為P1M1、P1M0,地址分別為91H、92H。
例:

不論是匯編還是c,寄存器的定義是一樣的:
P1M1 equ 91H
P1M0 equ 92H
然后,程序中有以下語句:
匯編語言:
mov p1m1,#00000000B
mov p1m0,#11111111B ;將p1口全部置為強(qiáng)
C語言:
P1M0 = 0xC0;
P1M1 = 0xA0;//P1.7開漏,P1.6高阻,P1.5強(qiáng)推挽輸出,其他準(zhǔn)雙向I/O口。

利用這個(gè)功能,將顯示變得更亮些簡直是輕而易舉,以前我老是想著加上拉電阻呀、購買更高亮度的呀,現(xiàn)在呀,覺得真好,用軟件這么一設(shè)就搞定了。真是爽??!
(我用的單片機(jī)是STC11F02E、STC12C5A60S2)。

不過,老師在這里有兩點(diǎn)忠告:

1、螞蟻能拖動(dòng)比自己重100倍的東西,但是也畢竟是螞蟻,讓螞蟻去拉馬車顯然不行。因此,強(qiáng)上拉的“強(qiáng)”僅僅是相對的,拉個(gè)是可以的,但拉動(dòng)繼電器之類的器件,你可還是要老老實(shí)實(shí)的按標(biāo)準(zhǔn)的電路來做,該加三極管的時(shí)候你還得要加,不要過于貪心了。

2、一旦你將I/O口設(shè)為上拉(推挽)模式了,你千萬不能把兩個(gè)口的線搭連在一起了,否則,一旦一個(gè)腳是輸出1另一個(gè)腳是輸出0,那你這個(gè)口是燒定了。而沒有設(shè)為上拉模式,則一般不會(huì)損壞I/O口。



評(píng)論


相關(guān)推薦

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

關(guān)閉