找回密码
 立即注册
查看: 41|回复: 2

Ai8H-20250724,ADC汇编自己修改,不知道是否写错及其他问题?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-07-31 10:40:07
已绑定手机

2

主题

6

回帖

24

积分

新手上路

积分
24
发表于 5 天前 | 显示全部楼层 |阅读模式

程序截图

程序截图

STCAD1:      ORL    0BAH,#80H             MOV    094H,#00H
             MOV    093H,#00H
             MOV    092H,#00H
             MOV    091H,#00H
             MOV    096H,#00H
             MOV    095H,#00H
             MOV    092H,#00H
             MOV    091H,#00H
             MOV    0B2H,#00H
             MOV    0B1H,#00H
             MOV    0CAH,#00H
             MOV    0C9H,#00H

             MOV    092H,#00H
             MOV    091H,#00H
             MOV     DPTR,#0FEA8H
             MOV     A,#3FH
             MOVX    @DPTR,A
             MOV    0DEH,#0FH
             MOV    0BCH,#80H

             ORL     0BCH,#40H
             NOP
             NOP
             MOV      A,0BCH
             JNB      ACC.5,$-2
             ANL     0BCH,#11011111B                                     ;?????与  指令,表示把(累加器A)的数做与运算。(全1出1  有0为0)

             MOV     0DEH,#00H
             MOV     A,0BDH
             MOV     B,0BEH
             RET


回复

使用道具 举报 送花

3

主题

2098

回帖

1044

积分

等待验证会员

积分
1044
发表于 5 天前 | 显示全部楼层
STC8H-20250724 ADC汇编代码分析与建议

针对您提供的STC8H系列单片机ADC相关汇编代码,现进行专业分析并提出改进建议:

1. 代码结构问题
当前代码存在多处重复指令:
MOV 092H,#00H 和 MOV 091H,#00H 重复出现两次
部分寄存器地址(如0B2H、0B1H)未明确用途,建议添加注释说明

2. ADC配置异常
0BAH寄存器设置为#80H,可能影响ADC通道选择,建议确认是否符合数据手册要求
0FEA8H地址对应ADC控制寄存器,写入3FH可能导致配置错误,需核对ADC初始化参数

3. 时序问题
ORL 0BCH,#40H 后缺少必要的延时操作,建议添加至少2个NOP指令确保配置生效
MOV A,0BCH 指令后无状态检查,建议增加判断逻辑确保ADC已准备好

4. 建议改进方案
(1) 优化初始化流程:
MOV 0BAH,#80H       ; 设置ADC通道
MOV 094H,#00H       ; 清除结果寄存器
MOV 093H,#00H
MOV 092H,#00H
MOV 091H,#00H
MOV 096H,#00H
MOV 095H,#00H
MOV 0B2H,#00H
MOV 0B1H,#00H
MOV 0CAH,#00H
MOV 0C9H,#00H

(2) 正确配置ADC:
MOV DPTR,#0FEA8H   ; ADC控制寄存器地址
MOV A,#3FH         ; 根据需求设置ADC参数
MOVX @DPTR,A       ; 写入配置
MOV 0DEH,#0FH      ; 设置采样时间
MOV 0BCH,#80H      ; 初始化控制寄存器

(3) 增加延时和状态检查:
ORL 0BCH,#40H      ; 启动ADC转换
NOP
NOP
MOV A,0BCH         ; 读取状态寄存器
JNB ACC.7,$        ; 等待转换完成

5. 注意事项
确保ADC参考电压配置正确
检查ADC通道选择是否与实际硬件连接一致
建议在ADC转换前后添加中断处理逻辑
对关键寄存器操作建议添加注释说明功能

以上分析基于STC8H系列单片机ADC模块的规范要求,具体实现需结合实际硬件设计。建议使用官方开发工具进行代码验证,并参考数据手册中的ADC章节进行详细配置。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-07-31 10:40:07
已绑定手机

2

主题

6

回帖

24

积分

新手上路

积分
24
发表于 5 天前 | 显示全部楼层
国芯人*** 发表于 2025-7-31 10:43
STC8H-20250724 ADC汇编代码分析与建议

针对您提供的STC8H系列单片机ADC相关汇编代码,现进行专业分析并提 ...

完成,感谢
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-5 03:35 , Processed in 0.146025 second(s), 63 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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