日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

LED數(shù)碼管動態(tài)驅(qū)動

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2011-5-6
  數(shù)碼管有共陰和共陽的區(qū)分,單片機(jī)都可以進(jìn)行驅(qū)動,但是驅(qū)動的方法卻不同,并且相應(yīng)的0~9的顯示代碼也正好相反。

首先我們來介紹兩位共陽數(shù)碼管的單片機(jī)驅(qū)動方法,電路如下圖:

單片機(jī)led數(shù)碼管驅(qū)動


  
    網(wǎng)友可以看到:P2.6和P2.7端口分別控制數(shù)碼管的十位和個位的供電,當(dāng)相應(yīng)的端口變成低電平時(shí),驅(qū)動相應(yīng)的三極管會導(dǎo)通,+5V通過IN4148二極管和驅(qū)動三極管給數(shù)碼管相應(yīng)的位供電,這時(shí)只要P0口送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù)字。

    因?yàn)橐@示兩位不同的數(shù)字,所以必須用動態(tài)掃描的方法來實(shí)現(xiàn),就是先個位顯示1毫秒,再十位顯示1毫秒,不斷循環(huán),這樣只要掃描時(shí)間小于1/50秒,就會因?yàn)槿搜鄣囊曈X殘留效應(yīng),看到兩位不同的數(shù)字穩(wěn)定顯示。

下面我們再介紹一種共陰數(shù)碼管的單片機(jī)驅(qū)動方法,電路如下圖:



    網(wǎng)友可以看到:+5V通過1K的排阻直接給數(shù)碼管的8個段位供電,P2.6和P2.7端口分別控制數(shù)碼管的十位和個位的供電,當(dāng)相應(yīng)的端口變成低電平時(shí),相應(yīng)的位可以吸入電流。單片機(jī)的P0口輸出的數(shù)據(jù)相當(dāng)于將數(shù)碼管不要顯示的數(shù)字段對地短路,這樣數(shù)碼管就會顯示需要的數(shù)字。

    網(wǎng)友可以看到,共陰數(shù)碼管的硬件更簡單,所以在批量生產(chǎn)時(shí),硬件開銷小,節(jié)省PCB面積,減少焊接工作量,降低綜合成本,所以采用共陰數(shù)碼管更有利于批量生產(chǎn),現(xiàn)在銷售的試驗(yàn)板都是采用共陰數(shù)碼管了。

以下是用AT89C51實(shí)驗(yàn)板的兩位數(shù)碼管顯示00~99依次循環(huán)的匯編語言程序

a_bit equ 20h ;數(shù)碼管個位數(shù)存放內(nèi)存位置
b_bit equ 21h ;數(shù)碼管十位數(shù)存放內(nèi)存位置
temp equ 22h ;計(jì)數(shù)器數(shù)值存放內(nèi)存位置

star: mov temp,#0 ;初始化計(jì)數(shù)器,從0開始
stlop: acall display;調(diào)用顯示子程序
inc temp;對計(jì)數(shù)器加1
mov a,temp
cjne a,#100,next ;判斷計(jì)數(shù)器是否滿100?
mov temp,#0;滿100就清零重新開始
next: ljmp stlop;不滿就循環(huán)執(zhí)行

;顯示子程序
display: mov a,temp ;將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制
mov b,#10 ;10進(jìn)制/10=10進(jìn)制
div ab
mov b_bit,a ;十位在a
mov a_bit,b ;個位在b

mov dptr,#numtab ;指定查表啟始地址
mov r0,#4
dpl1: mov r1,#250 ;
dplop: mov a,a_bit ;取個位數(shù)
MOVC A,@A+DPTR ;查個位數(shù)的7段代碼
mov p0,a ;送出個位的7段代碼
clr p2.7 ;開個位顯示
acall d1ms ;顯示162微秒
setb p2.7;關(guān)閉個位顯示,防止鬼影
mov a,b_bit ;取十位數(shù)
MOVC A,@A+DPTR ;查十位數(shù)的7段代碼
mov p0,a ;送出十位的7段代碼
clr p2.6 ;開十位顯示
acall d1ms ;顯示162微秒
setb p2.6;關(guān)閉十位顯示,防止鬼影
djnz r1,dplop ;循環(huán)執(zhí)行250次
djnz r0,dpl1 ;循環(huán)執(zhí)行250X4=1000次
ret

;2+2X80=162微秒,延時(shí)按12MHZ計(jì)算
D1MS: MOV R7,#80
DJNZ R7,$
RET

;實(shí)驗(yàn)板上的7段數(shù)碼管0~9數(shù)字的共陰顯示代碼
numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH

end

;如果是共陽數(shù)碼管的顯示代碼
numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H

這是上面程序匯編以后獲得的編程器燒寫文件:205.rar
Tags:LED數(shù)碼管,單片機(jī)數(shù)碼管,動態(tài)驅(qū)動  
責(zé)任編輯:admin
相關(guān)文章列表
沒有相關(guān)文章
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網(wǎng)友評論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢