第7課 數(shù)碼管動(dòng)態(tài)顯示
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
main函數(shù)內(nèi)的意思num從1開始,一直加到6,然后不斷的循環(huán) (程序?yàn)閒or(num=1;num<7;num++),當(dāng)num=1時(shí),先打開第一位數(shù)碼管,再讓第一位數(shù)碼管顯示1(程序P0=table[num],即P0=table[1]),然后進(jìn)行1s的延時(shí)(程序?yàn)閐elay(1000);)。緊接著當(dāng)num=2時(shí),打開第二位數(shù)碼管,并讓其顯示2,延時(shí)1s……,一直到num=6時(shí),打開第六位數(shù)碼管,并讓其顯示6,延時(shí)1s,再重復(fù)前的的程序。這個(gè)我們就可以在實(shí)驗(yàn)板上看到數(shù)碼管從第一位開始依次以1s的時(shí)間間隔依次顯示123456.
下面的程序下載到實(shí)驗(yàn)板現(xiàn)象如圖4所示。
圖4數(shù)碼管依次顯示123456
現(xiàn)在我們把延時(shí)程序縮短(注意上面是延時(shí)1s,依次100ms 10ms 1ms ….一直到10us,然后把每次改后的程序下載到實(shí)驗(yàn)板,.當(dāng)短到10us時(shí),可看到如下現(xiàn)象:
也就是此時(shí)我們看到的現(xiàn)象是6個(gè)數(shù)碼管在同一時(shí)刻按位依次顯示123456,可能大家馬上要提出疑問了,在上面不是說過利用靜態(tài)的寫法不是實(shí)現(xiàn)不了這種效果嗎?這里就是數(shù)碼管的動(dòng)態(tài)顯示。
所謂動(dòng)態(tài)顯示,就是依次向每位位數(shù)碼管同時(shí)送出字形碼和相應(yīng)的位選,位與位之間利用延時(shí)程序進(jìn)行延時(shí),當(dāng)延時(shí)程序非常短時(shí),由于發(fā)光管的余輝和人眼視覺暫留作用,此時(shí)我們的人眼就分辨不出位與位之間有延時(shí)存在,此時(shí)就感覺各位數(shù)碼管同時(shí)都在顯示,這樣我們實(shí)現(xiàn)在靜態(tài)不能實(shí)現(xiàn)的功能。
關(guān)鍵詞:
數(shù)碼管動(dòng)態(tài)顯示單片
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論