8051組合語言問題

顯示結果從第 1 筆 到 8 筆,共計 8 筆
  1. #1
    會員
    註冊日期
    2008-01-03
    所在地區
    ADSL 10M2M
    討論區文章
    2

    8051組合語言問題

    編碼如下
    小弟現在卡在不知道如何讓他由鍵盤輸出我要的文字
    如按1的時候顯示 I LOVE
    按2顯示 HAPPY
    而且要想辦法清除第1次輸入的結果才能顯示第2次的
    清除的部份測試的結果都是無法完全清除
    不知道這兩個問題該如何解決
    有大大可以幫忙解答一下嗎??
    用過好多方法了~"~

    MASK EQU 00001111B
    DSEG AT 30H
    KBDBUF: DS 1

    CSEG AT 00H
    ORG 00H
    JMP START
    ORG 13H
    JMP KBD_ISR
    START:
    MOV SP,#5FH

    CLR P1.3

    CLR P1.7 ;設定4bit模式
    CLR P1.6 ;
    SETB P1.5 ;
    CLR P1.4 ;
    SETB P1.2 ;
    CLR P1.2 ;
    CALL DELAY ;
    ;游標歸位
    SETB P1.2 ;設定4bit
    CLR P1.2 ;
    SETB P1.7 ;改變bit
    SETB P1.2 ;在設定4bit
    CLR P1.2
    CALL DELAY
    ;輸入模式設定
    CLR P1.7
    CLR P1.6
    CLR P1.5
    CLR P1.4
    SETB P1.2
    CLR P1.2
    SETB P1.6
    SETB P1.5
    SETB P1.2
    CLR P1.2
    CALL DELAY
    ;顯示器控制
    CLR P1.7
    CLR P1.6
    CLR P1.5
    CLR P1.4
    SETB P1.2
    CLR P1.2
    SETB P1.7
    SETB P1.6
    CLR P1.5 ;游標開關
    SETB P1.4
    SETB P1.2
    CLR P1.2
    CALL DELAY

    MOV P0,#11111111B ;中斷程式
    MOV P0,#11110000B ;<--
    SETB IT1 ;
    SETB EA ;
    SETB EX1 ;

    SETB P1.3

    LOOP:
    JMP $

    CLEAR_LCD:
    CLR P1.3
    CLR P1.7
    CLR P1.6
    CLR P1.5
    CLR P1.4
    SETB P1.2
    CLR P1.2
    SETB P1.4
    SETB P1.2
    CLR P1.2
    CALL LONG_DELAY
    RET

    SendChar:
    MOV C,ACC.7
    MOV P1.7,C
    MOV C,ACC.6
    MOV P1.6,C
    MOV C,ACC.5
    MOV P1.5,C
    MOV C,ACC.4
    MOV P1.4,C
    SETB P1.2
    CLR P1.2
    MOV C,ACC.3
    MOV P1.7,C
    MOV C,ACC.2
    MOV P1.6,C
    MOV C,ACC.1
    MOV P1.5,C
    MOV C,ACC.0
    MOV P1.4,C
    SETB P1.2
    CLR P1.2
    CALL DELAY
    RET
    KBD_ISR:
    PUSH ACC
    CLR EX1
    MOV P0,#11111111B
    CALL KEY_SCAN
    JNB F0,RECOUNT
    CALL TRANS
    MOV A,KBDBUF
    CALL SendChar
    RECOUNT:
    MOV P0,#11110000B
    JNB P3.3,$
    SETB EX1
    POP ACC
    RETI
    TRANS:
    MOV A,KBDBUF
    MOV DPTR,#KEY_TAB
    MOVC A,@A+DPTR
    MOV KBDBUF,A
    RET


    KEY_SCAN:
    CLR F0
    MOV KBDBUF,#0
    CLR P0.3
    CALL COL_SCAN
    SETB P0.3
    JB F0,FINISH_SCAN


    CLR P0.2
    CALL COL_SCAN
    SETB P0.2
    JB F0,FINISH_SCAN

    CLR P0.1
    CALL COL_SCAN
    SETB P0.1
    JB F0,FINISH_SCAN

    CLR P0.0
    CALL COL_SCAN
    SETB P0.0

    FINISH_SCAN:
    RET
    COL_SCAN:
    JNB P0.6,GET_KEY
    INC KBDBUF
    JNB P0.5,GET_KEY
    INC KBDBUF
    JNB P0.4,GET_KEY
    INC KBDBUF
    RET
    GET_KEY:
    SETB F0
    RET
    DELAY:
    PUSH 0
    MOV R0,#50
    DJNZ R0,$
    POP 0
    RET
    LONG_DELAY:
    PUSH 0
    PUSH 1
    MOV R0,#100
    L0:
    MOV R0,#200
    DJNZ R0,$
    DJNZ R1,L0
    POP 1
    POP 0
    RET
    KEY_TAB:

    DB '1'
    DB '2'
    DB '3'
    DB '4'
    DB '5'
    DB '6'
    DB '7'
    DB '8'
    DB '9'
    DB '*'
    DB '0'
    DB '#'
    END



  2. #2
    會員 門神 的大頭照
    註冊日期
    2001-06-04
    所在地區
    100M/40M,16M/8M,3.5G
    討論區文章
    1,993

    回覆: 8051組合語言問題

    ^^

    誰知道你的板子長怎樣 !!

  3. #3
    會員
    註冊日期
    2008-01-03
    所在地區
    ADSL 10M2M
    討論區文章
    2

    回覆: 8051組合語言問題

    引用 作者:門神 瀏覽文章
    ^^

    誰知道你的板子長怎樣 !!
    我並沒有要用板子做出來
    而是要用edsim51模擬出來就可以了

  4. #4
    散人 rushoun 的大頭照
    註冊日期
    2001-07-29
    討論區文章
    5,920

    回覆: 8051組合語言問題

    液晶顯示?LED七段顯示?
    看起來應該是LED七段顯示,可以到超韌派問問。
    ========================================
    用智慧處理事情,用慈悲對待他人。(節錄 聖嚴法師與人文對話一書內容)

  5. #5
    *停權中*
    註冊日期
    2005-04-11
    所在地區
    HN 2M/256
    討論區文章
    163

    回覆: 8051組合語言問題

    沒有縮排看起來好痛苦....

    直接清掉 DD RAM不行嗎?



  6. #6
    會員
    註冊日期
    2006-01-30
    所在地區
    FTTB 60KK/20KK
    討論區文章
    472

    回覆: 8051組合語言問題

    程式可用 [CODE] 的對映來表示,就不會省掉起頭的空格了。
    另,原PO不是用模擬器嗎?就算單步追蹤也該找得出問題所在吧...

  7. #7
    會員 門神 的大頭照
    註冊日期
    2001-06-04
    所在地區
    100M/40M,16M/8M,3.5G
    討論區文章
    1,993

    回覆: 8051組合語言問題

    edsim51

    Java寫的模擬器

  8. #8
    散人 rushoun 的大頭照
    註冊日期
    2001-07-29
    討論區文章
    5,920

    回覆: 8051組合語言問題

    模擬器確實好用,學習上是可以,不過實際上要進行電路製作時,只怕
    會有很大的差距。
    ========================================
    用智慧處理事情,用慈悲對待他人。(節錄 聖嚴法師與人文對話一書內容)

類似的主題

  1. 求大大幫忙!組合語言8051程式控制
    作者:ben147 所在討論版:-- HELP ME 電 腦 軟 硬 體 急 救 版
    回覆: 6
    最後發表: 2011-04-29, 11:29 AM
  2. 【求助】8051 組合語言問題
    作者:CKCman 所在討論版:-- 閒 話 家 常 灌 水 版
    回覆: 1
    最後發表: 2005-05-23, 11:00 PM
  3. 【求助】8051組合語言
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 3
    最後發表: 2003-03-11, 01:13 AM
  4. 【求助】組合語言
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 2
    最後發表: 2003-02-27, 03:15 PM
  5. 組合語言
    作者:流浪者~MIT 所在討論版:-- 其 他 軟 體 討 論 版
    回覆: 0
    最後發表: 2002-11-20, 07:15 PM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •