久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 新手編寫程序,串口助手接受緩存區無數據顯示,請問如何解決 [打印本頁]

作者: demoegg123    時間: 2025-6-22 16:37
標題: 新手編寫程序,串口助手接受緩存區無數據顯示,請問如何解決
芯片型號iap15f2k61s2,程序見下,按下s1,計數功能正常,按下s2發送數據,串口接收緩存區無顯示,重新按下s1,計數功能不工作,請問如何解決
ORG 0000H
LJMP MAIN

ORG 0100H
MAIN:
    MOV SP, #70H       ; 設置堆棧指針
    ACALL INIT_UART    ; 初始化串口
    MOV R5, #0         ; 初始化計數器
    ACALL DISPLAY      ; 初始顯示00

MAIN_LOOP:
    ACALL KEY_SCAN     ; 掃描按鍵
    SJMP MAIN_LOOP     ; 主循環


INIT_UART:
    ANL PCON, #7FH     ; 波特率不倍速 (SMOD=0)
    MOV TMOD, #20H     ; 定時器1模式2 (自動重裝)
    MOV TH1, #0FDH     ; 波特率9600 (11.0592MHz晶振)
    MOV TL1, #0FDH
    SETB TR1           ; 啟動定時器1
    MOV SCON, #50H     ; 串口模式1,允許接收
    CLR TI             ; 清除發送中斷標志
    RET

; 數碼管顯示
DISPLAY:
    MOV A, R5          ; 讀取計數值
    MOV B, #10         ; 除以10分離十位和個位
    DIV AB
    MOV R6, A         
    MOV R7, B         

    ; P0顯示十位
    MOV DPTR, #TABA
    MOV A, R6
    MOVC A, @A+DPTR
    MOV P0, A

    ; P2顯示個位
    MOV DPTR, #TAB
    MOV A, R7
    MOVC A, @A+DPTR
    MOV P2, A
    RET

; 按鍵掃描
KEY_SCAN:
    ; 檢測S1按鍵 (P3.2)
    JNB P3.2, KEY_S1_PRESSED
    ; 檢測S2按鍵 (P3.3)
    JNB P3.3, KEY_S2_PRESSED
    RET

KEY_S1_PRESSED:
    ACALL DELAY_10MS   ; 延時消抖
    JB P3.2, EXIT_S1   ; 確認按鍵按下

    ; 等待按鍵釋放
WAIT_S1_RELEASE:
    ACALL DISPLAY      ; 保持顯示更新
    JNB P3.2, WAIT_S1_RELEASE

    ; 計數器加1 (00-99循環)
    INC R5
    MOV A, R5
    CJNE A, #100, UPDATE_DISPLAY
    MOV R5, #0         ; 達到100則歸零

UPDATE_DISPLAY:
    ACALL DISPLAY      ; 更新顯示
EXIT_S1:
    RET

KEY_S2_PRESSED:
    ACALL DELAY_10MS   ; 延時消抖
    JB P3.3, EXIT_S2   ; 確認按鍵按下

    ; 等待按鍵釋放
WAIT_S2_RELEASE:
    ACALL DISPLAY      ; 保持顯示更新
    JNB P3.3, WAIT_S2_RELEASE

    ; 發送當前計數值 (ASCII格式)
    MOV A, R5
    MOV B, #10
    DIV AB             ; A=十位, B=個位
    ADD A, #30H        ; 十位轉ASCII
    ACALL SEND_CHAR    ; 發送十位
    MOV A, B
    ADD A, #30H        ; 個位轉ASCII
    ACALL SEND_CHAR    ; 發送個位

    ; 發送換行符便于查看
    MOV A, #0DH        ; 回車
    ACALL SEND_CHAR
    MOV A, #0AH        ; 換行
    ACALL SEND_CHAR
EXIT_S2:
    RET

; 串口發送函數
SEND_CHAR:
    MOV SBUF, A        ; 發送字符
    JNB TI, $          ; 等待發送完成
    CLR TI             ; 清除發送標志
    RET

; 10ms延時消抖
DELAY_10MS:
    MOV R0, #20
DL1:
    MOV R1, #250
DL2:
    DJNZ R1, DL2
    DJNZ R0, DL1
    RET

; 數碼管段碼表
; P2段碼表 (用于個位顯示)
TAB:   DB 88H,0EBH,4CH,49H,2BH,19H,18H,0CBH,08H,09H
; P0段碼表 (用于十位顯示)
TABA:  DB 11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,10H,90H

END

{BF17C830-D373-4A89-8849-734FFFF302B7}.png (271.03 KB, 下載次數: 0)

{BF17C830-D373-4A89-8849-734FFFF302B7}.png

作者: tyrl800    時間: 2025-6-23 10:40
晶振須11.0592MHz, 程序沒有問題
作者: wangjz451    時間: 2025-6-23 15:27
看一下芯片型號和接口是不是有問題




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久青草婷婷精品综合日韩 | 亚洲综合大片69999 | 免费黄篇| 亚洲欧美国产毛片在线 | 日韩男人天堂 | 亚洲国产91 | 久在草| 黄色精品| 黄网站免费在线观看 | 看羞羞视频| 久久综合一区 | 国产精品99久久久久久动医院 | 99视频在线免费观看 | 欧美激情精品久久久久久 | 国产一区影院 | 中文字幕在线观看一区 | 久久久国产精品网站 | 嫩草伊人| 伊人免费在线观看高清 | 欧美精品一 | 91亚洲一区| 免费一看一级毛片 | 毛片一区 | 久久久久久国产精品mv | 日本在线播放 | 大吊一区二区 | 黄网站免费在线 | 成人一区二区三区 | 麻豆久久久久久 | 亚洲国产成人av | 久久精品国产亚洲一区二区三区 | 成人日b视频 | 亚洲欧美日韩精品久久亚洲区 | 日韩在线不卡视频 | 国产高清一二三区 | 国产精品福利在线观看 | 99热热热 | 国产一区二区 | 成人精品一区二区三区 | 有码在线 | 欧美一区免费 |