• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的鍵盤顯示設計

    基于單片機的鍵盤顯示設計

    作者: 時間:2010-12-08 來源:網絡 收藏

    一、實驗目的
    1、掌握8031系統中,擴展8279接口的方法。
    2、掌握8279工作原理和編程方法。
    二、實驗內容
    1.實驗原理圖:

    本文引用地址:http://www.czjhyjcfj.com/article/173101.htm



    2、實驗內容
    在外接的功能板上,按數字鍵,數碼管上應相應能按下的數字,按下功能鍵,能相應執行其它功能程序。
    3、實驗說明
    利用8279可以實現對/器的自動掃描,以減輕CPU負擔,具有顯示穩定,程序簡單,不會出現誤動作等特點。本實驗利用8279實現顯示掃描自動化。
    三、程序
    程序清單:
    ORG 08F0H
    HA7S: MOV SP,#53H
    MOV DPTR,#0B001H
    MOV A,#00H
    MOVX @DPTR,A
    MOV A,#32H
    MOVX @DPTR,A
    MOV A,#0DFH
    MOVX @DPTR,A
    HA7S1: MOVX A,@DPTR
    JB ACC.7,HA7S1
    MOV DPTR,#0B000H
    MOV A,#0C8H
    MOVX @DPTR,A
    INC DPTR
    MOV A,#80H
    MOVX @DPTR,A
    HA7S2: MOV 30H,#80H
    MOV 31H,#40H
    HA7S3: MOV DPTR,#0B001H
    MOVX A,@DPTR
    ANL A,#07H
    CJNE A,#00H,HA7S4
    AJMP HA7S3
    HA7S4: MOV DPTR,#0B000H
    MOVX A,@DPTR
    MOV B,A
    MOV R1,#00H
    MOV DPTR,#KEYTAB
    HA7S5: MOV A,#00H
    MOVC A,@A+DPTR
    CJNE A,B,HA7S6
    AJMP HA7SA
    HA7S6: INC DPTR
    INC R1
    MOV A,R1
    JB ACC.4,HA7S7
    AJMP HA7S5
    HA7S7: MOV R1,#00H
    MOV DPTR,#KEYTAB1
    HA7S8: MOV A,#00H
    MOVC A,@A+DPTR
    CJNE A,B,HA7S9
    AJMP HA7SC
    HA7S9: INC DPTR
    INC R1
    MOV A,R1
    JNB ACC.2,HA7S8
    AJMP HA7SD
    HA7SD: LJMP HA7S
    HA7SA: MOV A,30H
    MOV DPTR,#0B001H
    MOVX @DPTR,A
    MOV A,R1
    MOV R0,31H
    MOV @R0,A
    INC 31H
    MOV DPTR,#CDATA
    MOVC A,@A+DPTR
    MOV DPTR,#0B000H
    MOVX @DPTR,A
    INC 30H
    MOV A,30H
    CJNE A,#88H,HA7SB
    LJMP HA7S2
    HA7SB: AJMP HA7S3
    HA7SC: MOV DPTR,#KJPADDR
    MOV A,R1
    RLA
    ADD A,R1
    JMP @A+DPTR
    KJPADDR:LJMP LOOP0
    LJMP LOOP1
    LJMP LOOP2
    KEYTAB: DB 0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H,0D9H
    DB 0DAH,0C3H,0CBH,0D2H,0D3H,0DBH
    KEYTAB1:DB 0E3H,0E2H,0E1H
    CDATA: DB 0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H,38H
    DB 6CH,1AH,68H,0E8H
    LOOP0: MOV R5,#0CH
    LJMP DISPC
    LOOP1: MOV R5,#9FH
    LJMP DISPC
    LOOP2: MOV R5,#4AH
    DISPC: MOV R6,#80H
    DISPC1: MOV A,R6
    MOV DPTR,#0B001H
    MOVX @DPTR,A
    MOV A,R5
    MOV DPTR,#0B000H
    MOVX @DPTR,A
    MOV R2,#20H
    LCALL DELAY
    MOV A,#0FFH
    MOVX @DPTR,A
    INC R6
    CJNE R6,#88H,DISPC1
    AJMP DISPC
    DELAY: PUSH 02H
    DELAY1: PUSH 02H
    DELAY2: PUSH 02H
    DELAY3: DJNZ R2,DELAY3
    POP 02H
    DJNZ R2,DELAY2
    POP 02H
    DJNZ R2,DELAY1
    POP 02H
    DJNZ R2,DELAY
    RET
    END
    四、實驗步驟
    ①將DVCC實驗系統上J8插座與鍵盤顯示板用扁平電纜相連。
    ②將KEY區D0—D7用8芯排線連到BUS2區XD0—XD7上。
    ③將KEY區WR、RD、ALE分別連到BUS3區XWR、XRD、ALE上。
    ④KEY區A0連到BUS1區XA0上。
    ⑤KEY區RST連到MP區SP上。
    ⑥KEY區KCS連到SELET區的Y3上。
    ⑦在DVCC實驗系統上按F2鍵進入仿真1態,即顯示“P.....”,從起始地址08F0H開始連續執行程序。
    ⑧功能板上數碼管顯示P,按下功能板上的數字鍵,數碼管上顯示相應的數字,按下功能鍵,數碼管上顯示相應的0字循環(LAST鍵)、1字循環(NEXT鍵)、2字循環(EXEC鍵)。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 遂昌县| 历史| 莒南县| 剑河县| 九龙坡区| 惠州市| 宜兰市| 长丰县| 兴仁县| 阜康市| 阳谷县| 永顺县| 达州市| 达尔| 壤塘县| 泰宁县| 富阳市| 洞头县| 开阳县| 濮阳县| 渭南市| 仪征市| 大邑县| 惠水县| 格尔木市| 华安县| 云霄县| 灵石县| 凤城市| 仁布县| 吴堡县| 上饶县| 潼南县| 延吉市| 库车县| 伊金霍洛旗| 甘泉县| 竹溪县| 乐业县| 丰宁| 皋兰县|