1樓:頂起石頭的小草
如果是課設,如果是小型數碼管,可以用微控制器直接驅動
如何使用微控制器at89c51驅動4位8段數碼管,如果用到晶片來驅動的,電路圖如何連線?
2樓:
看你將四位數碼管接在微控制器的哪一組輸出口 例如51微控制器一般都是四組八位輸i/o口p0,
專p1,p2,p3口 一般p0口是三態i/o是要接屬上拉電阻的。其他介面是不用接上拉電阻的。上拉電阻一般選用1k~4k7都可以保證各管腳輸出的電流小於500ma就可以了。
圖我傳的這個圖 六位數碼管雖然是共陰極的 (但是不影響原理)因為他接在51微控制器的三態介面上 只需接上拉電阻 (排阻)即可 。這種電路圖用兩個鎖存器u1,u2分別控制數碼管的位選和片選訊號 (在讀中標的wei1-wei6是位選訊號,a-g等是段選訊號)。鎖存器u2,u1是同型號的 用圖中的wela 和dula的(高電平和低電平)分別控制位選和段選的直通和所存。
這樣一組i/o口就能驅動數碼管了。節省了硬體的開銷。希望能幫到你!
祝你好運
3樓:
p0口接上拉電阻輸出段碼......p1口作位選
用51微控制器八位共陰極數碼管三極體,設計微控制器動態掃描顯示系統,八位數碼管穩定同時顯示1-8數字。
4樓:匿名使用者
樓上的程式不是看你圖編寫的,當然會錯,他那程式裡應該用到鎖存器了,你這兒是直接控制段選,位選的。
5樓:匿名使用者
#include
unsigned char code table=;
void show();
void delay();
void main()
void show()
}void delay()
6樓:琪羅琳
#include"reg52.h"
#define uchar unsigned char#define uint unsigned intsbit dula=p2^6;
sbit wela=p2^7;
uchar aa;
uchar code table=;
void delay(uint x)
void main()}}}
怎樣用51微控制器實現累加計時和倒計時,並用六個共陰極數碼管顯示出來。用兩個按鍵分別切換。
7樓:匿名使用者
剛開始上電時, system_mode不是1 也不是2,不知你初始化時是否給它賦值?另外你的按鍵檢測程式沒加入到迴圈程式中,剛上電時若沒有按鍵按下,則很快跳過兩個按鍵檢測語句,然後進入迴圈顯示程式中,這是一個死迴圈,只有中斷才可打斷其執行,所以再按什麼鍵也沒反應了,建議把按鍵檢測放入顯示迴圈中,它對顯示效果不會有什麼影響,或在初始化後加一個迴圈,若兩個按鍵都沒有按下,一直檢測按鍵
51微控制器的共陰數碼管怎麼顯示數字(c語言)
8樓:匿名使用者
要讓51微控制器共陰數碼管顯示數字,只需要將微控制器的p2埠輸出數字對應的段碼即可。
以顯示數字「0」為例,c語言程式如下:
#include
#define uchar unsigned char#define uint unsigned int//數碼管的段碼編碼
uchar table[10] =;
void main()
9樓:匿名使用者
共陰極數碼管也就是說,當控制訊號為1時該段led點亮,8段數碼管的數字0~9定義為:
3fh,06h,5bh,4fh,66h ;012346dh,7dh,07h,7fh,6fh ;56789以下為簡易8路搶答器的例程:
#include
#define uchar unsigned charuchar table=;
sbit rstkey=p2^2;
sbit speaker=p2^0;
void delay()//延時約400毫秒main()
switch(key)
p1=table[i];//顯示按下搶答器的號p0=key;//顯示按下鍵號的led
while(1)}}
10樓:匿名使用者
不涉及動態顯示,未用鎖存器
#include
#define _x10 (0xfe)
#define _x1 (0xfd)
unsigned char code tab=;
void main()
}void show(unsigned char duan,unsigned char wei)
else}
11樓:走在時間的前頭
你的l1/l2/l3都是什麼啊?還有latchduan??我有做過類似的設計,需要可以互相交流一下!
四位共陰數碼管,直接接到微控制器上,不加鎖存器,該怎麼辦???
12樓:休閒居大偉
這個簡單來
將共陰數碼管的
源段和位直接與微控制器相連
然後在位選上,加一個上拉電阻,組織根據數碼管的亮度來定微控制器的io埠為0有效,即0伏有效,所以直接驅動段選沒有問題至於位選,主要的供電**為上拉電阻,建議不能小於1k由下圖可以看出,實際點亮數碼管時的狀態
例如讓數碼管顯示數字 1,共陽數碼管的話,只要點亮b和c即可然而你所要用的是共陰,並且向直接與微控制器連線這樣的話,就需要特殊的點亮方式
前面講到,位選不是有上拉電阻嘛,當段選被選通的時候,數碼管全部被點亮 顯示數字8.
那麼,只要把不想被點亮的拉黑即可,如a d e f g dp數碼管的位選也是直接 與微控制器相連的,外加上拉電阻,微控制器的io埠足可以將1k電阻限流後的電壓直接拉到0伏,拉低的那個位選就不會被點亮
原理就是這麼簡單,點亮數碼管用到的陣列,自行編制一個即可
13樓:匿名使用者
共陰的估計bai驅動不了,用一個du口來驅動段(zhi如p1口),dao用四隻io口來驅動位(p2.0-p2.3),但共
回陰答的輸出全部靠微控制器供電,而且又是動態掃描顯示,估計做下來根本不會亮。
建議加上專門驅動電路,普通的鎖存驅動都老火的。所以最好是換成共陽的,驅動起來簡單點。
14樓:匿名使用者
四個控制位,八個控制段、但是估計你的io不一定能驅得動啊。
數碼管位選的問題共陰極數碼管的位選問題
不需要改硬體電路。你看的資料基本上都是 點亮1位的數碼管,然後在主程式流程中通過迴圈延時的方式保持一段時間,再去點亮第2個數碼管,再保持一段時間,如此迴圈。你說的沒錯,這種方式相當於對cpu的佔用率達到100 這裡的關鍵在延時時間,完全可以使用微控制器的定時中斷來完成這項工作。程式中可以定義1個全域...
共陽極數碼管和共陰極數碼管怎麼選擇
共陰極就是數碼管公共端接地 低電平 共陽極就是數碼管公共端都接 高電平 觸發方式是共陰極初始化時候給地電平,共陽極初始化給高電平,這樣在寫程式的時候在寫好編碼用o還是來控制鎖存器的段與位的高低就好了 共陰極和共陽極數碼管哪個比較好?如何區分?10 這個都是一樣的,只是在選用電源的時候要注意區分好。區...
如何判斷這個元件是共陽極數碼管還是共陰極數碼管
led數碼有共陽和共bai陰兩種,把些led發光du二極體zhi的正極接到dao 一塊 一般拼成一個專8字加一個小數點 而作屬為一個引腳,就叫共陽的,相反的,就叫共陰的,那麼應用時這個腳就分別的接vcc和gnd。找公共共陰和公共共陽首先,我們找個電源 3到5伏 和1個1k 幾百的也歐的也行 的電阻,...