找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1457|回复: 4
收起左侧

STC15W4K32S4单片机ADC怪现象调试

[复制链接]
ID:47445 发表于 2023-7-21 07:29 | 显示全部楼层 |阅读模式
各位大侠,STC15W4K32S4 ADC出现怪现象,ADC0无法启动转换,其他ADC1~ADC7都没问题,不知是程序哪里没设置对,望大侠赐教


uchar AD(uchar n)
{
    ADC_CONTR = 0x88|n;        // 0x88+n;
    _nop_();                        //等待4个NOP
    _nop_();
    _nop_();
    _nop_();
    while (!(ADC_CONTR & 0x10));//等待ADC转换完成
    ADC_CONTR &= ~0x10;         //Close ADC

    return ADC_RES;                 //返回ADC结果
}

回复

使用道具 举报

ID:1085441 发表于 2023-7-21 11:28 | 显示全部楼层
看上去没毛病,我是先配置好寄存器,再START ADC
ADC_CONTR = ADC_CONTR | ch;
ADC_CONTR = ADC_CONTR | 8;
回复

使用道具 举报

ID:135715 发表于 2023-7-21 12:17 | 显示全部楼层
检查一下通道0是否为设置为模拟输入,有没有别的外设占用这个通道
回复

使用道具 举报

ID:47445 发表于 2023-7-21 15:36 | 显示全部楼层
问题解决了,还是要仔细读厂家给的资料啊!
STC15W4K32S4一定要初始化ADC,STC12、STC8都不需要

void InitADC()//初始化
{
    P1ASF = 0x63;                   //设置P10 11 15 16口为AD口 其他为普通IO
    ADC_RES = 0;                    //清除结果寄存器
    ADC_CONTR = 0x80| 0x00;
    delay(2);                       //ADC上电并延时
}
原来用的是STC8G单片机,但是这款芯片比较容易被干扰,现在换用比他贵2圆的STC15W试试看,管脚都一样以为换上稍微调整一下就能使用,没想到ADC上卡了俺一天的时间
51hei图片_20230721154502.jpg

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:1034262 发表于 2023-7-24 11:03 | 显示全部楼层
那就奇怪了,ADC只有一个,通过多路开关选择一个输入端,不可能选择某个输入端就启动不了。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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