1樓:匿名使用者
延時或者位選訊號沒有控制好
2樓:
沒有圖,又沒有程式。誰知道你是什麼問題,難道大家都能掐會算!上個程式吧,順便把數碼管接法簡單說一下。
3樓:煙火夜空
程式沒處理好!採用延時函式的顯示,多數會出現同一個情況,那是因為 重新整理率不一致導致的結果。
為什麼程式燒進微控制器後數碼管只亮中間
4樓:匿名使用者
你能確定數碼bai管是共陰du的嗎?如果真的確定,那你zhi程式中的段碼可dao是共陽數碼專管的段碼,剛好相反,應該顯
屬示是要顯示0,中間一橫不亮,可是段碼反了,就變成只亮中間一橫了。
共陰數碼管的段碼錶如下:
unsigned char table=;
5樓:匿名使用者
你用的bai共陰極的數碼管du,程式卻是共陽極的段zhi碼,;//共陽極led 0-9
在程式dao中取反就行內了。 數碼管掃描放定時中容斷中,效果比較好。
89c52微控制器怎麼點亮8個數碼管?下面**為什麼就亮了3個
6樓:水知餘心
遇到相同的問題,我是這樣解決的:
1、新增延時
2、在位選和段選開啟之前先賦值
以下是我的程式,僅供參考:
#include
#define uint unsigned int#define uchar unsigned charsbit we = p2^7;
sbit du = p2^6;
void delay(uint z)
uchar code leddata=;
void main()
下面是效果圖:
7樓:匿名使用者
其實已經亮了,但是你看不到
void main()
8樓:鬥天樂
你把程式中段選賦不同的值試試看是什麼原因。
9樓:匿名使用者
#include
sbit dula=p2^6;
sbit wela=p2^7;
void main()}
10樓:匿名使用者
我的建議是p3=0x00這樣才能控制八位吧
微控制器控制數碼管為什麼顯示很暗
11樓:煙火夜空
長期點亮就是 數碼管最亮 的時候。
但動態顯示中做不到長期點亮,那麼就要換種說法:最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。
又但是,動態顯示中,數碼管亮的時間越長,幾個數碼管就會變得一閃一閃的,甚至是,一個亮完另一個亮,跟流水燈似的。這就是所謂的:刷屏!
因此,又得換一種說法:在保證不閃的情況下,最大可能讓它長期亮。
這就是主題了——重新整理率。這個名詞不陌生,以前的顯示器,特別是臺式顯示器上就要調這個引數。調高了(75hz),顯示器支援不了,調低了(50hz),螢幕忽閃忽閃的。
但用在數碼管上,估計比較難入座。
從以前的顯示器上,可以得到經驗,50hz對人而言,會閃爍。75hz已經完全看不出來了。降低一點要求,60hz絕大多數人已經感覺不到閃爍了。這個重新整理率怎麼用在數碼管上?
為了方便計算,以50hz為例,則週期t=1/f=20ms,也就是20ms重複一週。假設你有4個數碼管,則每個數碼管有 5ms 的時間。也就是說,這就是「最大可能的時間」了。
每隔這「最大時間」切換一位數碼管,就能讓數碼管到達 最大輝度(亮度)了。
當然,最大亮度也不可能超出硬體設計範圍,如果硬體設計驅動電流不夠,那麼軟體怎麼弄都是白扯!
12樓:匿名使用者
驅動電流不夠,或者你的動態掃描程式有問題
13樓:匿名使用者
太暗了就增加輸入電壓,太亮了就加一個電阻
如何利用微控制器讓4位數碼管顯示
程式如下 用的是stc89c52晶片 include 52系列微控制器標頭檔案 define uchar unsigned char define uint unsigned int uint x,y uchar code table 共陰極數碼管編碼 void display uchar,ucha...
51微控制器數碼管動態顯示從右往左
這是四位數碼管從右從左流動顯示,像滾動字幕一樣的。用不著矩陣按鍵哪版。其實程式很簡單權,沒那麼複雜。程式如下 include define uchar unsigned char define uint unsigned intuchar code tab 共陰段碼碼,0x00為滅void dela...
如何通過程式設計,實現51微控制器控制數碼管顯示0 9這幾個數字
while後加邏輯語句,如果值為true也就是1時就會執行下面的語句,執行完再判斷是不是true,如果是的話繼續執行,然後就迴圈了 如果為false也就是0就會停止 如果不加的話也就是執行一次,執行完後結束,燈就不亮了,按理說應該亮一次,但是執行太快你根本沒來得及看到燈亮就已經結束了 如果加迴圈語句...