找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 15576|回復: 3
打印 上一主題 下一主題
收起左側(cè)

單片機最小系統(tǒng)_按鍵控制數(shù)碼管顯示

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:76686 發(fā)表于 2015-4-11 19:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    單片機最小系統(tǒng)_按鍵控制數(shù)碼管顯示,這個項目,主要學習單片機的鍵盤工作原理與顯示方面的知識,電子小制作的好課題。鍵盤電路作為單片機的輸入部分,數(shù)碼顯示電路作為單片機的輸出部分,由鍵盤電路通過單片機控制數(shù)碼管顯示電路的八路鍵控數(shù)碼管電路。按下S0到S7號按鍵時,數(shù)碼管顯示立刻顯示數(shù)字0到7。電子制作的好課題下面是單片機最小系統(tǒng)_按鍵控制數(shù)碼管顯示原理圖,實作時,按原理圖焊好電路,單片機中寫入程序。


         ORG 0000H ;隨后的指令代碼從0000H單元開始存放。
         LJMP START ;轉(zhuǎn)到標號START處
         ORG 0030H ;隨后的指令代碼從0030H單元開始存放。
   START:MOV P0,#00H ;關(guān)閉數(shù)碼管,不顯示任何內(nèi)容。
SAOMIAO:MOV P2,#0FFH ;對P2口所有位寫1,也就是處于讀狀態(tài),確保讀數(shù)正確。
         CLR A ;對累加器A清零。
         MOV A,P2 ;第一次讀取P2口的數(shù)據(jù),并送入累加器A中。
         CPL A ;對A按位取反,如果沒有鍵按下, A為00H,如果有鍵按下,相應的位為1。
         JZ SAOMIAO ;如果A=00H,說明沒有鍵按下,跳到標號SAOMIAO處繼續(xù)掃描。如果A不等于00H,說明有鍵按下,應該調(diào)用10MS的延時去抖子程序。
         LCALL DELAY10MS ;調(diào)用10MS的延時去抖子程序。
         MOV A,P2 ;第二次讀取P2口的數(shù)據(jù),并送入累加器A中。
         CPL A ;對A按位取反,如果沒有鍵按下, A為00H,如果有鍵按下,相應的位為1。
         JZ SAOMIAO ;如果A=00H,說明沒有鍵按下,跳到標號SAOMIAO處繼續(xù)掃描。如果A不等于00H,說明確實有鍵按下,順序執(zhí)行下面的程序,判斷是哪個鍵按下了。
         JB ACC.0,SZ0 ;如果S0鍵按下,則ACC.0=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字0,否則順序執(zhí)行。
         JB ACC.1,SZ1 ;如果S1鍵按下,則ACC.1=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字1,否則順序執(zhí)行。
         JB ACC.2,SZ 2 ;如果S2鍵按下,則ACC.2=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字2,否則順序執(zhí)行。
         JB ACC.3,SZ 3 ;如果S3鍵按下,則ACC.3=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字3,否則順序執(zhí)行。
         JB ACC.4,SZ 4 ;如果S4鍵按下,則ACC.4=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字4,否則順序執(zhí)行。
         JB ACC.5,SZ 5 ;如果S5鍵按下,則ACC.5=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字5,否則順序執(zhí)行。
         JB ACC.6,SZ 6 ;如果S6鍵按下,則ACC.6=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字6,否則順序執(zhí)行。
         JB ACC.7,SZ 7 ;如果S7鍵按下,則ACC.7=1,轉(zhuǎn)去執(zhí)行顯示數(shù)字7,否則順序執(zhí)行。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描。
     SZ0:MOV P0,#3FH ;顯示數(shù)字0。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
     SZ1:MOV P0,#06H ;顯示數(shù)字1。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
     SZ2:MOV P0,#5BH ;顯示數(shù)字2。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
     SZ3:MOV P0,#4FH ;顯示數(shù)字3。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
     SZ4:MOV P0,#66H ;顯示數(shù)字4。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
     SZ5:MOV P0,#6DH ;顯示數(shù)字5。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
     SZ6:MOV P0,#7DH ;顯示數(shù)字6。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
     SZ7:MOV P0,#07H ;顯示數(shù)字7。
         LJMP SAOMIAO;跳轉(zhuǎn)到SAOMIAO處繼續(xù)掃描按鍵。
DELAY10MS:MOV R7,#20 ;從本行開始,到RET結(jié)束,為10MS延時去抖子程序。
      D1:MOV R6,#250
      D2:DJNZ R6,D2
      DJNZ R7,D1
      RET
      END
    電子制作的好課題單片機最小系統(tǒng)_按鍵控制數(shù)碼管顯示,這個項目,主要學習單片機的鍵盤工作原理與顯示方面的知識。



最后推薦一個很好的單片機教程:http://www.torrancerestoration.com/bbs/mcu-xuexi-1.html
     另外下面是一些我收集整理的關(guān)于單片機最小系統(tǒng)的資料:

手把手制作單片機最小系統(tǒng)http://www.torrancerestoration.com/bbs/dpj-33306-1.html
初學者零基礎學習單片機的方法:http://www.torrancerestoration.com/bbs/dpj-33307-1.html
單片機點亮發(fā)光二極管的試驗http://www.torrancerestoration.com/bbs/dpj-33308-1.html
STC89C52RC單片機最小系統(tǒng)http://www.torrancerestoration.com/bbs/dpj-33267-1.html
一款適合用來學習的單片機最小系統(tǒng)制作圖http://www.torrancerestoration.com/bbs/dpj-33273-1.html
單片機最小系統(tǒng)_按鍵控制數(shù)碼管顯示http://www.torrancerestoration.com/bbs/dpj-33271-1.html
單片機最小系統(tǒng)圖紙http://www.torrancerestoration.com/bbs/dpj-33274-1.html
收集的單片機最小系統(tǒng)實物照片http://www.torrancerestoration.com/bbs/dpj-33290-1.html
用STC89C52RC單片機焊接的單片機最小系統(tǒng)http://www.torrancerestoration.com/bbs/dpj-33304-1.html
新手學焊的單片機最小系統(tǒng):http://www.torrancerestoration.com/bbs/dpj-33249-1.html

評分

參與人數(shù) 1黑幣 +8 收起 理由
aifengdian + 8 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:197229 發(fā)表于 2021-4-9 04:21 | 只看該作者
程序注釋的如此詳盡,對菜鳥的咱家是太寶貴了。樓主:厚道啊
回復

使用道具 舉報

板凳
ID:891876 發(fā)表于 2021-4-12 18:26 | 只看該作者
初學者不明白ACC清0,按鍵按下也為0,怎樣讀的呢?
回復

使用道具 舉報

地板
ID:891876 發(fā)表于 2021-4-12 18:28 | 只看該作者
ACC清0,按鍵按下也為0,怎樣讀的呢?我是初學者
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表