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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 57|回復: 2
打印 上一主題 下一主題
收起左側

新手編寫程序,串口助手接受緩存區無數據顯示,請問如何解決

[復制鏈接]
跳轉到指定樓層
樓主
芯片型號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
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:275826 發表于 2025-6-23 10:40 | 只看該作者
晶振須11.0592MHz, 程序沒有問題
回復

使用道具 舉報

板凳
ID:1154915 發表于 2025-6-23 15:27 | 只看該作者
看一下芯片型號和接口是不是有問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99久久久久久久 | 国产精品一区二区在线播放 | 成人免费看 | 国产在线看片 | 一区二区三区免费 | 欧美毛片免费观看 | 美女福利视频 | 久久久久久成人 | 中文字幕亚洲一区二区三区 | 日韩av福利在线观看 | 日本网站在线看 | 99久久免费观看 | 日韩人体视频 | 久久久久国产一区二区三区 | 国产精品1区2区3区 一区中文字幕 | 欧美一区二区三区在线看 | 国产亚洲区 | 涩在线 | 欧美精品一区二区三区四区 | 免费成人高清 | 91精品国产91久久久久久吃药 | 国产中文字幕在线 | 国产欧美日韩在线观看 | 亚洲视频免费在线观看 | 激情影院久久 | 一级全黄少妇性色生活免费看 | 久久久青草婷婷精品综合日韩 | 一区中文 | 国产一区不卡 | 国产精品我不卡 | 欧美日韩一区在线观看 | 亚洲一区二区三区视频在线 | 嫩草视频入口 | 91精品国产色综合久久 | 亚洲精品v日韩精品 | 亚州成人 | av毛片在线播放 | 国产亚洲一区二区精品 | 日韩免费电影 | 91av导航| 日韩三级一区 |