吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

8255驅動矩陣鍵盤和數碼管程序

算法&編程學院 ? 作者:工程師a ? 2018-05-12 01:44 ? 次閱讀

匯編編程:矩陣鍵盤控制數碼管切換顯示0~F。

下面是電路圖。要求16個鍵按下能顯示0~F字樣。

8255驅動矩陣鍵盤和數碼管程序

看到這樣的電路和程序,不由得想起初學單片機時情景。

十幾年前,是一本北航的書,里面就是這樣的程序。

后來又看過幾本,里面也有雷同的程序。

其實,該程序編寫的很濫。

它把行列號碼,算的很清。還特意弄成幾個分支。

換下一行時,行號就要分別存入 00H、08H、10H、18H。

想法也太笨了,其實,只要加上 8,就可以編寫成循環程序了。

程序中,還有很多應該簡化的地方。

這程序學起來,的確浪費了我不少的時間。

根據題目中的電路和程序,做而論道改寫的程序如下。

;

ORG 0000H

SJMP START

ORG 0030H

;--------------------------------------

DUMA:

DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H //共陰段碼

DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H

;--------------------------------------

START:

MOV DPTR, #7F03H //8255初始化

MOV A, #90H

MOVX @DPTR, A

MOV A, #16

;--------------------------------------

KEY1:

ACALL KS1 //判斷有無鍵按下, 返回PA口狀態存放在A中

JZ KEY1 //無則返回

ACALL DELAY //調用延時子程序

ACALL KS1 //再次判斷有無鍵按下

JZ KEY1 //無則返回

;

MOV R2, #0FEH //初始列掃描字

MOV R3, #8 //檢查8次

MOV R4, #0 //初始鍵號

LK4:

MOV DPTR, #7F01H //指向PB口

MOV A, R2

MOVX @DPTR, A

MOV DPTR, #7F00H //指向PA口

MOVX A, @DPTR

JNB ACC.0, LK3

INC R4

JNB ACC.1, LK3

INC R4

MOV A, R2

RL A //無則左移一位列掃描字, 繼續判斷下一列

MOV R2, A

DJNZ R3, LK4

LK3:

ACALL KS1

JNZ LK3 //判斷按下的鍵有沒有彈起, 無則原地等待繼續判斷

;

MOV A, R4 //鍵號放于A中

MOV DPTR, #0030H //指向段碼表首址

MOVC A, @A + DPTR //鍵號轉成相應的段碼

MOV DPTR, #7F02H //指向PC口

MOVX @DPTR, A //數碼管顯示

;

SJMP KEY1

;--------------------------------------

KS1:

MOV DPTR, #7F01H //指向PB口

MOV A, #0

MOVX @DPTR, A

MOV DPTR, #7F00H //指向PA口

MOVX A, @DPTR

CPL A

ANL A, #03H

RET //返回PA口數據存放在A中, 若有鍵按下, 則A不等于零

;--------------------------------------

DELAY: //延時子程序, 約10ms

MOV R7, #20

D1: DJNZ R6, $

DJNZ R7, D1

RET

END

;======================================

本程序運行的仿真截圖,可見前面的插圖。

題目中的電路,僅僅使用了一個數碼管。這和實用的場合,還有差距。

如果使用動態顯示的方法,驅動多位數碼管,那么,矩陣鍵盤的規模,就可以再擴大一些。

而做而論道在這里給出的程序,卻不用增加很多,僅僅再添上三、五行即可夠用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數碼管
    +關注

    關注

    32

    文章

    1887

    瀏覽量

    91403
  • 矩陣鍵盤
    +關注

    關注

    7

    文章

    207

    瀏覽量

    31543
收藏 人收藏

    評論

    相關推薦

    鍵盤掃描和數碼管顯示源程序和電路圖

    鍵盤掃描和數碼管顯示源程序和電路圖 在RB口上擴充一個矩陣鍵盤,一共4×4個按鍵,剛好4條行線、4條列線占用RB口的全部8個接口;而在R
    發表于 01-11 23:19 ?2656次閱讀
    <b class='flag-5'>鍵盤</b>掃描<b class='flag-5'>和數碼管</b>顯示源<b class='flag-5'>程序</b>和電路圖

    全面剖析數碼管矩陣鍵盤聯合使用法則

    本文內容為7.7 數碼管矩陣鍵盤聯合使用、7.8 ZLG72128——數碼管鍵盤管理、7.9 溫控器。
    的頭像 發表于 11-21 07:47 ?1.1w次閱讀
    全面剖析<b class='flag-5'>數碼管</b>與<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>聯合使用法則

    數碼管矩陣鍵盤聯合應用設計

    AMetal 提供了數碼管矩陣鍵盤聯合使用的驅動,其本質上就是數碼管驅動
    的頭像 發表于 01-19 09:31 ?7945次閱讀
    <b class='flag-5'>數碼管</b>與<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>聯合應用設計

    應用數碼管矩陣鍵盤、蜂鳴器、流水燈的程序

    課題學習的模塊:數碼管矩陣鍵盤、蜂鳴器、流水燈鍵盤按鍵數值排布如下:789456123 0引腳定義:LEDP1數碼管P0
    發表于 08-14 21:34

    51單片機矩陣鍵盤和數碼管實現計算器

    51單片機矩陣鍵盤和數碼管實現計算器,,,最簡單的c語言寫的,保定看得懂
    發表于 11-08 20:23

    請問矩陣按鍵和數碼管顯示應該怎樣配合?

    現在有5*3矩陣鍵盤和10位8端段數碼管,需要進行按鍵掃描和數碼管動態顯示。一個朋友說矩陣鍵盤
    發表于 03-25 03:46

    數碼管顯示矩陣鍵盤掃描程序

    數碼管顯示矩陣鍵盤掃描程序 ?/*矩陣鍵盤掃描出鍵值,在
    發表于 01-11 19:14 ?2282次閱讀

    數碼管顯示矩陣鍵盤掃描值

    數碼管顯示矩陣鍵盤掃描值 ?/*矩陣鍵盤掃描出鍵值,在數碼管上顯示出來?????? P0口接
    發表于 01-14 21:01 ?2815次閱讀

    數碼管程序

    簡單的C語言數碼管顯示程序,其中包含仿真內容
    發表于 08-17 11:13 ?4次下載

    tm1637驅動數碼管程序

    本文介紹了tm1637驅動數碼管程序,TM1637是一種帶鍵盤掃描接口的LED(發光二極管顯示器)驅動控制專用電路,內部集成有MCU數字接口,數據鎖存器,LED高壓
    發表于 12-19 11:59 ?4.8w次閱讀
    tm1637<b class='flag-5'>驅動</b><b class='flag-5'>數碼管程序</b>

    max7219驅動數碼管程序(51單片機+STM32 MAX7219數碼管程序案例)

    本文主要介紹了max7219驅動數碼管:STM32硬件SPImax7219驅動8位數碼管顯示模塊程序設計和51單片機+MAX7219
    發表于 01-15 16:51 ?1.9w次閱讀
    max7219<b class='flag-5'>驅動</b><b class='flag-5'>數碼管程序</b>(51單片機+STM32 MAX7219<b class='flag-5'>數碼管程序</b>案例)

    51單片機超聲波模塊數碼管程序分享

    超聲波原理簡單測距準確,應用廣泛下面貼一個自己寫的數碼管程序,顯示部分需要改,寫的是我使用的是慧凈開發板,共陰數碼管
    的頭像 發表于 10-05 09:18 ?6933次閱讀

    使用51單片機和8255芯片驅動矩陣鍵盤控制數碼管切換顯示的程序

    本文檔的主要內容詳細介紹的是使用51單片機和8255芯片驅動矩陣鍵盤控制數碼管切換顯示的程序免費
    發表于 09-06 17:26 ?23次下載
    使用51單片機和<b class='flag-5'>8255</b>芯片<b class='flag-5'>驅動</b><b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>控制<b class='flag-5'>數碼管</b>切換顯示的<b class='flag-5'>程序</b>

    矩陣按鍵、秒表、數碼管動態掃描和數碼管同時加減的程序免費下載

    本文檔的主要內容詳細介紹的是基于51單片機的矩陣按鍵、秒表、數碼管動態掃描和數碼管同時加減的C語言程序免費下載。
    發表于 05-13 08:00 ?21次下載
    <b class='flag-5'>矩陣</b>按鍵、秒表、<b class='flag-5'>數碼管</b>動態掃描<b class='flag-5'>和數碼管</b>同時加減的<b class='flag-5'>程序</b>免費下載

    數碼管顯示4X4鍵盤矩陣按鍵的程序和電路圖免費下載

    本文檔的做作主要內容詳細介紹的是數碼管顯示4X4鍵盤矩陣按鍵的程序和電路圖免費下載。
    發表于 06-03 15:01 ?52次下載
    <b class='flag-5'>數碼管</b>顯示4X4<b class='flag-5'>鍵盤</b><b class='flag-5'>矩陣</b>按鍵的<b class='flag-5'>程序</b>和電路圖免費下載
    菲律宾百家乐娱乐场| 百家乐官网正规站| 南皮县| 百家乐论坛bocaila| 风水97年农历6月24八字| 百家乐开户代理| 永利百家乐开户| 川宜百家乐破解版| 百家乐官网正网包杀| 叶城县| 冠军百家乐官网现金网| 澳门百家乐官网搏牌规则| 最好的百家乐官网投注| 百家乐官网赌场代理| 五星百家乐官网的玩法技巧和规则 | 永利百家乐娱乐| 澳门百家乐会出老千吗| 君怡百家乐的玩法技巧和规则| 百家乐的桌子| 娱乐城百家乐的玩法技巧和规则| 大发888投注大发娱乐| 二八杠论坛| 南京百家乐电| 波克棋牌官方免费下载| 耒阳市| 百家乐官网大西洋城v| 百家乐官网赌博机玩法| BB百家乐官网大转轮| 百家乐接线玩法| 怎么赢百家乐的玩法技巧和规则| 威尼斯人娱乐城官方网| 百家乐官网筹码方形筹码| 百家乐官网建材| 百家乐官网图形的秘密破解| 百家乐的桌布| 百家乐怎么稳赢| 星空棋牌大厅下载| 优博注册| 星港城百家乐官网娱乐城| 求购百家乐程序| 大发888娱乐游戏注册|