日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基礎(chǔ)實驗十三:數(shù)碼顯示實驗
基礎(chǔ)實驗十三:數(shù)碼顯示實驗
 更新時間:2009-6-1 9:07:32  點擊數(shù):0
【字體: 字體顏色

實驗任務(wù)
學(xué)會數(shù)碼管的顯示原理及編程。
      

實驗設(shè)備:
本實驗可在本站的:成功一號、新動2005、精簡型2004、ISP下載型等學(xué)習(xí)套件上直接操作

相關(guān)常識說明:
用單片機進行數(shù)碼顯示應(yīng)具有顯示器件;應(yīng)用最廣泛的是7段數(shù)碼管。習(xí)慣上說是7段,實際含小數(shù)點是8段;下面我們稱其為段數(shù)碼管。

  段數(shù)碼管的段排列和內(nèi)結(jié)構(gòu)見下圖:


段排列


內(nèi)部接線圖

  段數(shù)碼管從內(nèi)部接線上分共陽和共陰兩種;上圖左為共陰,右為共陽。在電路設(shè)計時應(yīng)根據(jù)情況決定采用共陽或共陰,其基本原則是:若單片機io口直接驅(qū)動數(shù)碼管個段,最好采用共陽數(shù)碼管,因為51單片機io口輸出高電平時輸出的電流很小,數(shù)碼管不會太亮;若數(shù)碼管是通過驅(qū)動芯片與單片機相連的,就要看驅(qū)動芯片對數(shù)碼管極性的要求啦。

電路原理圖:(單片機沒畫出)

  這里的數(shù)碼管直接用單片機p0口驅(qū)動,v2、v3是各數(shù)碼管公共陽極的控制三極管,r3~r5和r13~r16是數(shù)碼管個段LED的限流電阻。當(dāng)A、B、C、D、E、F、G、DP 端接低電平,p2.0也為地電平時,L9 數(shù)碼管各段全部點亮;若p2.0=1,p2.1=0則LED10各段全部點亮。

  下面我們來寫一段程序,讓一位數(shù)碼管顯示數(shù)字

star: mov dptr,#numtab ;指定查表啟始地址
      mov a,#3         ;顯示3,你可以改變該數(shù)顯示
      MOVC A,@A+DPTR
      mov p0,a
      clr p2.0         ;開個位顯示
      ljmp $

;段數(shù)碼管各劃的數(shù)字排列表
numtab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;顯示內(nèi)容的對應(yīng)代碼
           ;0    1     2   3    4   5   6   7    8   9  ;顯示內(nèi)容
        db 88h,83h,0c6h,0a1h,86h,8eh
         ;  a   b   c    d    e   f

      end

  在前一節(jié)講過,數(shù)碼管各段加的電平不同,會顯示不同的圖形;那么,要想數(shù)碼管顯示“1”,就必須使數(shù)碼管“B”“C”段點亮,其他段熄滅;由于共陽數(shù)碼管是0電平點亮段,高電平熄滅段。即:
DP G F E D C B A 也就是說,將數(shù)碼管從 DP--A 各段按順序排列,其高低電平應(yīng)呈現(xiàn)二進制“11111001”狀態(tài),換算成十六進制就是“F9H”;顯然,你想顯示的所有數(shù)字和字符,都必須這樣一一對應(yīng)的轉(zhuǎn)換成十六進制數(shù)據(jù)。其他數(shù)字字符的hex代碼見程序的 numtab 表。

  遺憾的是,這些hex代碼是沒有規(guī)律可尋的,我們只有先將所希望顯示的數(shù)字字符的hex代碼制成表格,在需要顯示某個數(shù)字字符時進行表格查詢,查詢到對應(yīng)代碼后再將代碼送數(shù)碼管顯示,這樣,我們希望顯示并能理解的數(shù)字字符就顯示了出來。

  本實驗程序在開始就將顯示代碼表的基地址賦給dptr,第二句是準(zhǔn)備查找數(shù)字“3”的段代碼,也就是準(zhǔn)備讓數(shù)碼管顯示“3”!癕OVC A,@A+DPTR”是將累加器acc中當(dāng)前的數(shù)據(jù)加上dptr的數(shù)據(jù),作為查表地址,并將這個地址中的數(shù)據(jù)傳送到累加器acc覆蓋原數(shù)據(jù)。acc中現(xiàn)在的數(shù)據(jù)就是“3”的段代碼數(shù)據(jù)。

  第4句是將“3”的段代碼數(shù)據(jù)送p0驅(qū)動數(shù)碼管顯示;第5句是打開LED9的公共陽極;第6句是跳轉(zhuǎn)到當(dāng)前行,也就是說程序一直在本行循環(huán)。

  改變第二句 #號后面的數(shù),將更改顯示內(nèi)容。但#號后的數(shù)不能大于15,因numtab表中不包括“0”只有15格可查的數(shù)據(jù)!

通過前面的學(xué)習(xí),大家對數(shù)碼管的顯示原理已很清楚,下面這段程序請大家自行分析:

a_bit equ 20h         ;個位數(shù)存放處
b_bit equ 21h         ;十位數(shù)存放處
temp equ 22h          ;計數(shù)器寄存器

star:   mov temp,#0   ;初始化計數(shù)器
stlop:  acall display
        inc temp
        mov a,temp
        cjne a,#100,next ;=100重來
        mov temp,#0
next:   ljmp stlop

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

         mov dptr,#numtab ;指定查表啟始地址
         mov r0,#4 
dpl1:    mov r1,#250 ;顯示1000次
dplop:   mov a,a_bit ;取個位數(shù)
         MOVC A,@A+DPTR ;查個位數(shù)的7段代碼
         mov p0,a ;送出個位的7段代碼
         clr p2.0 ;開個位顯示
         acall d1ms ;顯示1ms
         setb p2.0
         mov a,b_bit ;取十位數(shù)
         MOVC A,@A+DPTR ;查十位數(shù)的7段代碼
         mov p0,a ;送出十位的7段代碼
         clr p2.1 ;開十位顯示
         acall d1ms ;顯示1ms
         setb p2.1
         djnz r1,dplop ;100次沒完循環(huán)
         djnz r0,dpl1 ;4個100次沒完循環(huán)
         ret
;1MS延時(按12MHZ算)
;====================================================
D1MS: MOV R7,#80 
      DJNZ R7,$
      RET

;7段數(shù)碼管各劃的數(shù)字排列表
numtab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h
        ;0 1 2 3 4 5 6 7 8 9
        db 88h,83h,0c6h,0a1h,86h,8eh
        ;a b c d e f
       end

關(guān)于數(shù)碼管的靜態(tài)顯示及動態(tài)顯示原理,我們在后面會單獨的實驗講解。這里只是給大家一個基礎(chǔ)的認識。

 

<!--插入廣告JS代碼-->
  • 上一篇: 軟件練習(xí)一:從外部數(shù)據(jù)存儲器傳送到內(nèi)部RAM中
  • 下一篇: 基礎(chǔ)實驗十二:八個LED做正反流水燈顯示
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1