新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機的鍵盤顯示設計實驗介紹

        單片機的鍵盤顯示設計實驗介紹

        作者: 時間:2012-03-07 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/171928.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鍵)。

        DIY機械鍵盤相關社區:機械鍵盤DIY




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岗巴县| 台东县| 盐山县| 宁夏| 宜都市| 石楼县| 凌海市| 延寿县| 正镶白旗| 星子县| 高青县| 铁岭市| 天水市| 来宾市| 安义县| 巫山县| 凤台县| 宁海县| 合作市| 常德市| 横峰县| 三原县| 长丰县| 黄陵县| 沧源| 柘荣县| 平顶山市| 富阳市| 潼南县| 湟源县| 连南| 珠海市| 普格县| 建水县| 永福县| 保山市| 南澳县| 太和县| 洞头县| 读书| 凤冈县|