1樓:匿名使用者
圖中已經畫得很明確了,就是相同標號的引腳連線在一起,但是位選引腳版必須增大功率權,才能點亮數碼管,只是需要在位選(s0-s3)分別加上拉電阻和射極輸出器,或者加三極體反相輸出。
圖中畫的是共陽數碼管的兩種接法,前者輸出沒有取反,後者輸出取反。共陰數碼管與其類似,只是三極體箭頭換一下,+5v換成-5v,當然,上拉電阻不能變,這是由51微控制器內部結構決定的。
2樓:等待的幸福快樂
方法:就是相同標號的引腳連線在一起,但是位選引腳必須增大功專率,才能點亮數碼管,只屬是需要在位選(s0-s3)分別加上拉電阻和射極輸出器,或者加三極體反相輸出。
驅動電路為什麼要採取隔離措施
安規問題,驅動電路副邊與主電路有耦合關係,而驅動原邊是與控制電路連在一起, 主電路是一次電路,控制電路是elv電路, 一次電路和elv電路之間要做加強絕緣,實現絕緣要求一般就採取變壓器光耦等隔離措施。
如何利用微控制器讓4位數碼管顯示?
3樓:沈偉棟
程式如下(用的是stc89c52晶元):
#include//52系列微控制器標頭檔案
#define uchar unsigned char
#define uint unsigned int
uint x,y;
uchar code table=;//共陰極數碼管編碼
void display(uchar,uchar,uchar,uchar);//宣告子函式
void delay(int);//宣告子函式
void main()
}void display(uchar a,uchar b,uchar c,uchar d)
void delay(uint z)//延時子函式
擴充套件資料
led數碼管是由多個發光二極體封裝在一起組成「8」字型的器件,引線已在內部連線完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段有的另加乙個小數點,還有一種是類似於3位「+1」型。
位數有半位,1,2,3,4,5,6,8,10位等等,led數碼管根據led的接法不同分為共陰和共陽兩類,了解led的這些特性,對程式設計是很重要的,因為不同型別的數碼管,除了它們的硬體電路有差異外,程式設計方法也是不同的。
4樓:匿名使用者
;晶振:12mhz
;p2.0、p2.1、p2.2、p2.3接共陽數碼管的選通端,p0口接資料輸出端
cs0 bit p2.0 ;個位位選
cs1 bit p2.1 ;十位位選
cs2 bit p2.2 ;百位位選
cs3 bit p2.3 ;千位位選
dsw equ 30h ;位選計數
dsb0 equ 31h ;顯示緩衝單元個位dsb1 equ 32h ;顯示緩衝單元十位dsb2 equ 33h ;顯示緩衝單元百位dsb3 equ 34h ;顯示緩衝單元千位*** 0000h
ljmp main
*** 0030h
mov dsb0,#04h ;顯緩="1234"
mov dsb1,#03h
mov dsb2,#02h
mov dsb3,#01h
mov tmod,#01h ;方式1定時
mov th0,#0f0h ;4ms定時
mov tl0,#60h
setb tr0
mloop: jnb tf0,$ ;4ms到?
clr tf0 ;清定時標誌
mov th0,#0f0h ;4ms定時重設mov tl0,#60h
lcall disp
ajmp mloop
;====4位數碼管掃瞄子程式====
disp: orl p2,#1fh ;關閉數碼顯示器mov a,dsw ;根據掃瞄迴圈變數轉移anl a,#07h
rl a
mov dptr,#dstab
jmp @a+dptr
dstab: ajmp dis0
ajmp dis1
ajmp dis2
ajmp dis3
ajmp dis0 ;冗餘
ajmp dis0
ajmp dis0
ajmp dis0
dis0: mov a,dsb0 ;掃瞄個位數碼管anl a,#0fh
mov dptr,#led7 ;查顯緩個位值的七段碼表movc a,@a+dptr
mov p0,a ;七段碼送p0口
clr cs0 ;點亮個位數碼管
mov dsw,#01h ;掃瞄指標指向下十位retdis1: mov a,dsb1 ;掃瞄十位數碼管anl a,#0fh
mov dptr,#led7
movc a,@a+dptr
mov p0,a
clr cs1
mov dsw,#02h
retdis2: mov a,dsb2 ;掃瞄百位數碼管anl a,#0fh
mov dptr,#led7
movc a,@a+dptr
mov p0,a
clr cs2
mov dsw,#03h
retdis3: mov a,dsb3 ;掃瞄千位數碼管anl a,#0fh
mov dptr,#led7
movc a,@a+dptr
mov p0,a
clr cs3
mov dsw,#00h
ret;====led七段共陽段碼表====led7: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h
db 80h,90h,88h,83h,86h,0a1h,86h,8eh
end希望可以幫助你。
5樓:匿名使用者
利用動態掃瞄讓四位數碼管穩定的顯示1234。
3.2 子情境目標:
(1)掌握微控制器控制四位數碼管的動態掃瞄技術,包括程式設計和電
路設計,本任務的效果是讓四位數碼管穩定的顯示1234。
(2)用proteus進行電路設計和實時**
3.3 知識點鏈結
(1)數碼管動態掃瞄 (動態掃瞄的定義以及與靜態顯示的區別)
動態顯示的特點是將所有位數碼管的段選線s一位數碼管有效。選亮數碼管採用動態掃瞄顯示。所謂動態掃瞄顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發光管的餘輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示。
(2)匯流排的應用
元器件與匯流排的連線
p0口的接線採用匯流排方式,詳細如圖5-17所示。
1 選擇匯流排按鈕
2 繪製匯流排:與普通電線的繪製方法一樣,選擇合適的起點、終點單擊。
如果終點在空白處,左鍵雙擊結束連線。
畫匯流排的時候為了和一般的導線區分,我們一般喜歡畫斜線來表示分支線。此時我們需要自己決定走線路徑,只需在想要拐點處單擊滑鼠左鍵即可。在畫斜線時,需要關閉線路自動路徑功能 才好繪製。
proteus的線路自動路徑功能簡稱war,當選中兩個連線點後,war將選擇乙個合適的路徑連線。war可通過使用標準工具欄裡的「war」命令按鈕 來關閉或開啟,也可以在選單欄的「tools」下找到這個圖示。
3 給與匯流排連線的導線貼標籤part labels
與p0口相連的線標籤名依次為p00—p06,本電路中的p0口的上拉電阻通過匯流排與p0口相連,數碼管也是通過匯流排與p0口相連,這些都需要標註,以表明正確的電氣連線。單擊繪圖工具欄中的導線標籤按鈕 ,使之處於選中狀態。將滑鼠置於圖形編輯視窗的欲標標籤的導線上,跟著滑鼠的指標就會出現乙個「×」號,表明找到了可以標註的導線,單擊滑鼠左鍵,彈出編輯導線標籤視窗,如圖5-16所示。
在「string」欄中,輸入標籤名稱(如p00),單擊「ok」按鈕,結束對該導線的標籤標定。同理,可以標註其它導線的標籤,如圖5-16所示。
注意,在標定導線標籤的過程中,相互接通的導線必須標註相同的標籤名。
圖5-16編輯導線標籤視窗
3.4 任務步驟
3.4.1 步驟一:proteus電路設計,微控制器控制四位共陰極數碼管動態掃瞄顯示的原理圖如圖5-17所示。
圖5-17 四位共陰極數碼管動態掃瞄顯示的原理圖
1、選取元器件
1微控制器:at89c52
2帶公共端的排阻:respack-8
3四位共陰極數碼管:7seg-mpx4-cc
2、放置元器件、放置電源和地、連線、元器件屬性設定
數碼管動態掃瞄顯示的原理圖如圖5-17所示,整個電路設計操作都在isis平台中進行。
(1)帶公共端的排阻(respack-8)如圖5-18所示,在本電路中作為p0的
上拉電阻,在如圖5-19所示***ponent value一欄中可更改阻值,例如本例中將阻值更改為200歐姆。
圖5-18排阻 圖5-19排阻屬性框
至此,我們便完成了整個電路圖的繪製。
3.4.2 步驟二:源程式設計與目標**檔案生成
(1)程式流程圖
圖5-20 數碼管動態掃瞄的流程圖
(2)源程式設計
#include//52系列微控制器標頭檔案
#define uchar unsigned char
#define uint unsigned int
uint x,y;
uchar code table=; //共陰極數碼管編碼
void display(uchar,uchar,uchar,uchar); //宣告子函式
void delay(int); //宣告子函式
void main()
}void display(uchar a,uchar b,uchar c,uchar d)
void delay(uint z) //延時子函式
6樓:卓磨
如何利用單線機長四位數馬力顯示。
7樓:匿名使用者
呵呵,這位挺大方。我來給看一下。
用c語言還是彙編?
步行者===電子微控制器團
8樓:做而論道
下列程式經過實驗,可以滿足題目要求.
*** 0000h
ljmp main
*** 0030h
main:
mov 70h, #04h
mov 71h, #03h
mov 72h, #02h
mov 73h, #01h
;-------------------------------m_loop:
lcall disp
ajmp m_loop
;-------------------------------disp:
mov dptr, #d_tab
mov r2, #01h
mov r0, #70h
d_loop:
mov a, @r0
movc a, @a+dptr
mov p2, #0 ;消隱.
mov p0, a ;輸出段碼.
mov p2, r2 ;輸出位碼.
lcall dl_1ms
mov a, r2
rl a
mov r2, a
inc r0
cjne r0, #74h, d_loopretd_tab:
db 0c0h, 0f9h, 0a4h, 0b0h, 99h, 92h, 82h, 0f8h
db 80h, 90h, 88h, 83h, 86h, 0a1h, 86h, 8eh
;-------------------------------dl_1ms:
djnz r7, $
djnz r7, $
retend
;**********====
實驗是在某個型號的實驗板上進行。
該實驗板上共有8位數碼顯示器,是由兩塊四位一體的數碼管構成。
低四位數碼管的電路如下圖所示。元件引腳都已經標出。
8位數碼管同時動態顯示09程式
不知道你具體什麼要求,先提供乙個類似的給你參考,是實現0 9迴圈顯示。附件是 和 文件。不清楚的地方可追問。先說明你用的顯示電路。微控制器,求程式?數碼管動態顯示驅動,有八個數碼管,要求先顯示0 7,然後顯示8 f。怎麼寫啊?急 你用什麼微控制器的,用動態掃瞄啊,就是八個數碼管乙個乙個的顯示數字,然...
共陽極LED數碼管加反相器驅動時顯示字元1的段碼是
共陽極led數碼管加反相器驅動,如果反相器驅動是加在位選上了,只是位選碼取反專,不影響段碼的。只屬有反相驅動器接在段選上才影響段碼,就按共陰資料管的段碼輸出就行了。共陽極數碼管 1 的段碼是0xf9 共陰極數碼管 1 的段碼是0x06 共陽數碼管led加反相器驅動時顯示字元6的段碼是 0x7d 00...
51微控制器數字秒錶設計用4位數碼管分別顯示十秒,秒,百毫秒
include sbit axs p1 3 sbit bxs p1 2 sbit cxs p1 1 sbit dxs p1 0 數碼管位選埠 char table 10 數碼管顯示編碼 void ys char hs void xs int xm,int xs void time1 void int...