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

標(biāo)題: 新手編寫程序,串口助手接受緩存區(qū)無數(shù)據(jù)顯示,請(qǐng)問如何解決 [打印本頁]

作者: demoegg123    時(shí)間: 2025-6-22 16:37
標(biāo)題: 新手編寫程序,串口助手接受緩存區(qū)無數(shù)據(jù)顯示,請(qǐng)問如何解決
芯片型號(hào)iap15f2k61s2,程序見下,按下s1,計(jì)數(shù)功能正常,按下s2發(fā)送數(shù)據(jù),串口接收緩存區(qū)無顯示,重新按下s1,計(jì)數(shù)功能不工作,請(qǐng)問如何解決
ORG 0000H
LJMP MAIN

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

MAIN_LOOP:
    ACALL KEY_SCAN     ; 掃描按鍵
    SJMP MAIN_LOOP     ; 主循環(huán)


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

; 數(shù)碼管顯示
DISPLAY:
    MOV A, R5          ; 讀取計(jì)數(shù)值
    MOV B, #10         ; 除以10分離十位和個(gè)位
    DIV AB
    MOV R6, A         
    MOV R7, B         

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

    ; P2顯示個(gè)位
    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   ; 延時(shí)消抖
    JB P3.2, EXIT_S1   ; 確認(rèn)按鍵按下

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

    ; 計(jì)數(shù)器加1 (00-99循環(huán))
    INC R5
    MOV A, R5
    CJNE A, #100, UPDATE_DISPLAY
    MOV R5, #0         ; 達(dá)到100則歸零

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

KEY_S2_PRESSED:
    ACALL DELAY_10MS   ; 延時(shí)消抖
    JB P3.3, EXIT_S2   ; 確認(rèn)按鍵按下

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

    ; 發(fā)送當(dāng)前計(jì)數(shù)值 (ASCII格式)
    MOV A, R5
    MOV B, #10
    DIV AB             ; A=十位, B=個(gè)位
    ADD A, #30H        ; 十位轉(zhuǎn)ASCII
    ACALL SEND_CHAR    ; 發(fā)送十位
    MOV A, B
    ADD A, #30H        ; 個(gè)位轉(zhuǎn)ASCII
    ACALL SEND_CHAR    ; 發(fā)送個(gè)位

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

; 串口發(fā)送函數(shù)
SEND_CHAR:
    MOV SBUF, A        ; 發(fā)送字符
    JNB TI, $          ; 等待發(fā)送完成
    CLR TI             ; 清除發(fā)送標(biāo)志
    RET

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

; 數(shù)碼管段碼表
; P2段碼表 (用于個(gè)位顯示)
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, 下載次數(shù): 0)

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

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




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 午夜伦理福利 | 人人爱人人 | 伊人成人在线视频 | 国产在线播放av | 黄色小说在线免费观看 | 久久精品99久久久久久 | 亚洲亚洲人成综合网络 | 欧美日韩精品一区二区三区 | av观看免费| 欧美日韩专区 | 成人欧美一区二区三区黑人孕妇 | 天天综合影院 | 日韩av免费在线播放 | 亚洲天堂第一页 | 日韩在线免费播放 | 久久久久久久久国产精品 | 久久精品一区 | 亚洲一区日韩 | 国产黄色免费视频 | 亚洲一级二级三级 | 日韩欧美在线一区 | 久久超| 激情五月综合网 | www黄色片 | 日韩黄色录像 | 亚洲精品伦理 | 欧美在线亚洲 | 91青青草 | 午夜小视频在线观看 | 欧美国产激情 | 高跟肉丝丝袜呻吟啪啪网站av | 欧美激情精品 | 伊人黄色 | a视频在线免费观看 | 黄色一级片网站 | 亚洲美女一区 | 激情五月婷婷 | 国产日韩视频 | 日韩精品在线观看视频 | 欧美成人综合 | 成人国产精品一区二区 |