數碼管高位消0

2021-10-24 05:29:04 字數 432 閱讀 6633

部分程式:

while(1

)//將剩餘的有效數字位如實轉換

for(

; j>=

0; j--

)//for()起始未對j操作,j即保持上個迴圈結束時的值

}

舉例:當sec= 001025 時,buff[5]=0,for裡面的if判斷為真,ledbuff[5] = 0xff;高位第乙個0不顯示,buff[4]=0,if再次判斷為真,ledbuff[4] = 0xff; 第二高位0也不顯示了,到第三位 buff[3]=1,if為假,else break,直接跳出迴圈,1後面的所有位數都不會進入到判斷階段,包括後面的0,也照常顯示,所以這個地方只消除前面無效的0, 由高位到低位,一遇到有效數字就跳出for迴圈;

(程式摘自《手把手教你學51微控制器》)

數碼管消隱

按照我的開發板,共陰極數碼管共8個,也就是說,只能顯示8位數字,0 99999999,當顯示的數字不足8位時,需要將不顯示的數碼管熄滅即消隱,原理就是將儲存顯示值的陣列變數中,不顯示的位在p1口輸出0 熄滅 以下顯示0 9999四位有效數字為例,從第2位數碼管開始,顯示最多4位有效數字 includ...

數碼管遞加遞減帶消隱

include reg52.h 包含標頭檔案,一般情況不需要改動,標頭檔案包含特殊功能暫存器的定義 define dataport p0 定義資料埠 程式中遇到dataport 則用p0 替換 sbit latch1 p2 2 定義鎖存使能埠 段鎖存 sbit latch2 p2 3 位鎖存 uns...

數碼管顯示

數碼管顯示 最近因為對突然對電子感興趣,前幾天在路過電子 時買了乙個數碼管。因為以前總是紙上談兵,根本沒實驗過,連數碼見都沒見過,所以開始覺得將這塊數碼管顯示出來是非常具有挑戰性的工作。今天正好有空,拿來了我的數碼管,並在網上看了一些資料,才發現並不是想象中的那麼難,其實更準確的說是太簡單了。不到半...