|
如果是STC89C52單片機,led接在P2口,低電平點亮,那么初始化P2=0XFF; 此時用>>1的方法,是不是就把led依次點亮了,并保持亮了呢。
數(shù)碼管結(jié)構(gòu)分:
段 (由abcdefgh 8個LED組成的圖形,如1,2,3,4,5,6,7,8,9,A,B,C,D,E,F等等圖形)和 位 (其實就是數(shù)碼管的共陽或共陰的公共點)。數(shù)碼管極性分:共陰(位共低電平),共陽(位共高電平)
如果是共陽數(shù)碼管,那么位就是陽極(電源正極或單片機IO輸出高電平),段就是8個LED的陰極,如果把段接到P1口(abcdefgh->P10~P17),P1=0X00; 數(shù)碼管就是顯示一個8,并且右下角有個小數(shù)點。如果要顯示一個8,不顯小數(shù)點,那么就是給h段一個高電平,P1=0x80;(1000 0000),一個數(shù)碼管顯示8的數(shù)碼管就亮了。代碼實現(xiàn)就是:
P37=1;// (接通數(shù)碼管位電源) P1=0X80;// (給段數(shù)據(jù)顯示8) 。然后延時一下,保持?jǐn)?shù)碼管亮1MS左右,P37=0;//位關(guān)閉,消除鬼影。
要其它數(shù)碼管亮起來,根據(jù)數(shù)碼管數(shù)量就不停地重復(fù)上面的代碼,每個數(shù)碼管都會顯示8。
不同的IO控制不同的位為1就顯示對應(yīng)的一位數(shù)碼管,給段不同的數(shù)據(jù),那么數(shù)碼管就顯示不同的圖形了。
|
評分
-
查看全部評分
|