找回密码
 立即注册
查看: 368|回复: 1

用仿真器读取BGV值,只能读出半个字

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:173
  • 最近打卡:2025-05-02 14:16:32

44

主题

124

回帖

1441

积分

金牌会员

积分
1441
发表于 2024-6-14 21:43:54 | 显示全部楼层 |阅读模式
本帖最后由 BeHappy 于 2024-6-14 21:46 编辑

硬件环境:

MCU:STC8G1K08A-8PIN
仿真器:STC-USB LINK1D

实验目的:
从RAM中读取mcu中1.9v参考电压

问题描述:
从RAM读取BGV的值,然后由UART1打印出来,打印结果为04A4H(十进制的1188),这与下载程序的时候下载器打印的值一致。
但是,当我用仿真器(注释掉与UART1相关的代码)调试的时候,(累加器)读数为00A4H,很显然,BGV的高8位始终是00H。
使用的代码来自于STC-ISP下载器的例程,我只对UART1的波特率做了修改。以下是读取BGV时,高8位始终为00H的问题代码:
  1. AUXR        DATA    8EH
  2. BGV         DATA    0EFH
  3. BUSY        BIT     20H.0
  4. P0M1        DATA    093H
  5. P0M0        DATA    094H
  6. P1M1        DATA    091H
  7. P1M0        DATA    092H
  8. P2M1        DATA    095H
  9. P2M0        DATA    096H
  10. P3M1        DATA    0B1H
  11. P3M0        DATA    0B2H
  12. P4M1        DATA    0B3H
  13. P4M0        DATA    0B4H
  14. P5M1        DATA    0C9H
  15. P5M0        DATA    0CAH
  16. ORG     0000H
  17.         LJMP    MAIN
  18. ORG     0023H
  19.         LJMP    UART_ISR
  20. ORG     0100H
  21. TIMER1CONF:
  22.         ANL                TMOD, #0FH
  23.         MOV                TL1, #8FH
  24.         MOV                TH1, #0FDH
  25.         ; disable timer1 interrupt
  26.         CLR                ET1
  27.         ; start timer1
  28.         SETB        TR1
  29.         RET
  30. UART1INIT:
  31.         ; 8-bit data width, enable REN
  32.         MOV                SCON, #50H
  33.         ANL                PCON, #NOT 0C0H
  34.         ORL                AUXR, #40H
  35.         ; select timer1 as baud-rate generater
  36.         ANL                AUXR, #0FEH
  37.         CALL        TIMER1CONF
  38.         CLR                BUSY
  39.         RET
  40. UART_ISR:
  41.         PUSH        ACC
  42.         JNB                TI, CHECKRI
  43.         CLR                TI
  44.         CLR                BUSY
  45.         CHECKRI:
  46.                 JNB                RI, UART1ISEND
  47.                 CLR                RI
  48.         UART1ISEND:
  49.                 POP                ACC
  50.                 RETI
  51. DELAY500MS:                        ;@12.000MHz
  52.         NOP
  53.         PUSH        30H
  54.         PUSH        31H
  55.         PUSH        32H
  56.         MOV                30H,#31
  57.         MOV                31H,#113
  58.         MOV                32H,#27
  59. NEXT:
  60.         DJNZ        32H,NEXT
  61.         DJNZ        31H,NEXT
  62.         DJNZ        30H,NEXT
  63.         POP                32H
  64.         POP                31H
  65.         POP                30H
  66.         RET
  67. UART_SEND:
  68.             JB      BUSY,$
  69.             SETB    BUSY
  70.             MOV     SBUF,A
  71.             RET
  72. MAIN:
  73.             MOV     SP, #9FH
  74.             MOV     P0M0, #00H
  75.             MOV     P0M1, #00H
  76.             MOV     P1M0, #00H
  77.             MOV     P1M1, #00H
  78.             MOV     P2M0, #00H
  79.             MOV     P2M1, #00H
  80.             MOV     P3M0, #00H
  81.             MOV     P3M1, #0FCH
  82.             MOV     P4M0, #00H
  83.             MOV     P4M1, #00H
  84.             MOV     P5M0, #00H
  85.             MOV     P5M1, #0FFH
  86.             ;LCALL   UART1INIT
  87.             SETB    ES
  88.             SETB    EA
  89. MAINLOOP:
  90.                         MOV                R0, #BGV
  91.                         MOV                A, @R0
  92.                         ;LCALL   UART_SEND
  93.                         
  94.                         INC                R0
  95.                         MOV                A, @R0
  96.                         ;LCALL   UART_SEND
  97.                         
  98.                         CALL        DELAY500MS
  99.                         CALL        DELAY500MS
  100.                         CALL        DELAY500MS
  101.                         CALL        DELAY500MS
  102.             JMP     MAINLOOP
  103. END
复制代码
有空的话,大家也可以复现一下

下载器打印的BGV值:


STC-USB Link1D版本号:


仿真器版本号

仿真器版本号

BGV值

BGV值
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-6-17 10:21:39 | 显示全部楼层
读出先放在一个变量中试试。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 15:29 , Processed in 0.123613 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表