第6課 數(shù)碼管靜態(tài)顯示
2數(shù)碼管靜態(tài)顯示
明白了顯示原理后,我們就可以對數(shù)碼管進(jìn)行操作了,讓我們先看看一下實驗板的原理圖。
實驗板上的數(shù)碼管為兩個3位一體的數(shù)碼管,共同組成一個6位8段共陽極數(shù)碼管,
相同段的發(fā)光二極管陰極全部接在一起,引出8個引腳abcdefgdp,分別接到鎖存器的數(shù)據(jù)輸出口,而鎖存器74hc573的數(shù)據(jù)輸入口直接接到單片機P1口的8信引腳,注意此時P0口同時接了10K的上拉電阻;每一位數(shù)碼管內(nèi)部發(fā)光二極管陽極接在一起,然后分別引出6個腳w1w2w3w4w5w6,并能過鎖存器74hc573接到了單片機P1口的6個腳。兩個鎖存器的鎖存端分別與單片機的P2^6和P2^7相連。
也就是這六位數(shù)碼管“段選”全部連在一起,而“位選”是可以獨立控制的,我們可通過控制位選信號而選擇讓哪幾個數(shù)碼管發(fā)光,具體顯示的內(nèi)容可以通過段選信號進(jìn)行,但由于所有段選是全部連在一起的,送入所在數(shù)碼管的段選信號必定相同,所以位選選通的數(shù)碼管上顯示的數(shù)字始終一樣,數(shù)碼管的這種顯示方式稱為靜態(tài)顯示。
下面我們就寫一個簡單的程序讓第一個數(shù)碼管顯示一個8字。先來分析如下:讓第一個數(shù)碼管顯示8字,那么別的數(shù)碼管的位選就要關(guān)閉,即只打開第一個數(shù)碼管的位選。在操作時,我從頭先給U2數(shù)碼管的鎖存端一個高電平,然后將數(shù)據(jù)從單片機的口P0直接送出到鎖存器的U2的數(shù)據(jù)輸出端,然后再關(guān)閉U2鎖存器。由于實驗板上的數(shù)碼管為共陽極,所以位選選通時為高電平,位選關(guān)閉時為低電平。即只有W1端對應(yīng)的數(shù)據(jù)為1,其它的都為0,因此P0口呆輸出的數(shù)據(jù)0x01;(二進(jìn)制為0000 0001)。位選確定后,再確定段選,要顯示8,那么只有h段為0,其余段為1,所以用操作U2的方法一樣操作U1,讓U1數(shù)據(jù)輸出端輸出0x7f(二進(jìn)制為0111 1111)
程序:單片機顯示8
#include
#define uint unsigned int
#define uchar unsigned char
sbit duan=P2^6;
sbit wei=P2^7;
void main()//第一個數(shù)碼管顯示8
{
while(1)
{
duan=1;
P0=0x7f;
duan=0;
wei=1;
P0=0xfe;
wei=0;
while(1);
}
}
下面先下載到實驗板上看現(xiàn)象。
通過上面的現(xiàn)象我們實現(xiàn)了數(shù)碼管靜態(tài)顯示的功能,這里大家家可能已經(jīng)知道,程序中段用了單片機的8個引腳,而位用到了單片機的6個引腳,按理說我們一共需要14個引腳,而因為鎖存器的原因,實際上我們只用到了P1口8個腳就實現(xiàn)了,這就是上面講的鎖存器的第二個作用,使用鎖存器可以達(dá)到節(jié)約單片機的I/O口的作用。
關(guān)鍵詞:
數(shù)碼管靜態(tài)顯示單片
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論