新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一位數(shù)碼管驅(qū)動(dòng)

一位數(shù)碼管驅(qū)動(dòng)

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
*******************************過(guò)程**********************************

先認(rèn)識(shí)下數(shù)碼管管腳圖

本文引用地址:http://m.butianyuan.cn/article/201611/323032.htm

共陽(yáng)/共陰數(shù)碼管腳管圖:

共陽(yáng)數(shù)碼管:VCC(位選)連接在一起,外部(段選)低電平點(diǎn)亮

這種7段數(shù)碼管其實(shí)其實(shí)里面有7個(gè)LED,共陽(yáng)管就把7個(gè)LED的“+”級(jí)接在一起上圖中的公共腳就是他們的“+”級(jí),剩下的8個(gè)腳就是7個(gè)LED的“-”級(jí),“-”級(jí)就等于腳管:a、b、c、d、e、f、g、h 他們是分開(kāi)的,沒(méi)接在一起。

共陰數(shù)碼管:GND(位選)連接在一起,外部(段選)高電平點(diǎn)亮

共陰管就跟上面的反過(guò)來(lái),“-”級(jí)接在一起,“+”級(jí)等于a、b、c、d、e、f、g、h

將a、b、c、d、e、f、g、h八個(gè)引腳接到單片機(jī)

P1口:P1.0←a、P1.1←b、P1.2←c、P1.3←d、P1.4←e、P1.5←f、P1.6←g、P1.7←h

如圖:

**************************************************************************************
點(diǎn)亮數(shù)碼管只需"P1"調(diào)用字形碼數(shù)組"tab"
P1包括了:P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7
"b"代表"tab"數(shù)組的元素,元素就是下面的字形碼
程序因?yàn)?while (1)"的作用下不斷循環(huán),每循環(huán)一次,"b"的值自動(dòng)"+1",循環(huán)10次
后"b"的值自動(dòng)歸"0"

0x3F對(duì)應(yīng)的元素是0、0x06對(duì)應(yīng)元素是1、..........................0x71對(duì)應(yīng)的元素是15

**************************************************************************************

字形碼

h

g

f

e

d

c

b

a

共陽(yáng)

1

0

0

1

0

0

0

0

共陰

0

1

1

0

1

1

1

1

字形碼“9”編碼示例:

共陰極:0x6F “0”熄滅“1”點(diǎn)亮

共陽(yáng)極:0x90 “1”熄滅“0”點(diǎn)亮



**************************************************************************************

因?yàn)閱纹瑱C(jī)I/O口輸出電流很小,所以同時(shí)驅(qū)動(dòng)一個(gè)七段的數(shù)碼管則需要加強(qiáng)端口的輸出能力

方法:(1)使用三極管(2)接上拉電阻(3)設(shè)置端口推挽輸出

下面只介紹推挽輸出:

推挽輸出:一般用于需要更大驅(qū)動(dòng)電流的情況

I/O口各種不同工作模式及配置

P1M0 P1M1 I/O口模式(P1.x如做A/D使用,需要將其設(shè)置成 開(kāi)漏或者高阻輸入

0

0

準(zhǔn)雙向(傳統(tǒng)8051 I/O口模式)

灌電流可達(dá)20mA,拉電流為230μA

由于制造誤差,實(shí)際為250μA~150μA

0

1

推挽輸出(強(qiáng)上拉輸出,可達(dá)20mA,要加限流 電阻)

1

0

僅為輸入(高阻),如果該I/O口需要作為A/D使 用,可選此模式

1

1

開(kāi)漏(Open Drain),如果該I/O口需要作為 A/D 使用,可選此模式

舉例:

I/O口P1M0P1M1 模式
P1.000準(zhǔn)雙向/弱上拉
P1.101強(qiáng)推挽輸出
P1.210高阻輸入
P1.311開(kāi)漏輸出
P1.401強(qiáng)推挽輸出
P1.501強(qiáng)推挽輸出
P1.601強(qiáng)推挽輸出
P1.701強(qiáng)推挽輸出

舉例(C代碼):

P1M0 = 0x30; //轉(zhuǎn)換二進(jìn)制后:0011 0000

P1M1 = 0x5F; //轉(zhuǎn)換二進(jìn)制后:0101 1111

所以,主函數(shù)的這兩句代碼的作用就是把單片機(jī)所有P1的I/O口(包括:P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7)設(shè)置為強(qiáng)推挽模式輸出



關(guān)鍵詞: 數(shù)碼管驅(qū)

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉