单片机c语言模数转换的应用,STC12C5A60S2单片机的模数转换编程要点详细说明

1、 STC12C5A60S2 单片机 A/D 编程要点 ⑴ 打开电源。第一次使用 A/D 时要打开单片机内部模拟电源(设置 ADC_CONTR 寄存器); ⑵ 适当延时,等单片机内部 A/D 转换器电源稳定,一般延时 1mS 即可; ⑶ 设置 P1 口中的相应端口作为 A/D 转换通道(设置 P1ASF 寄存器相应位); ⑷选择 ADC 通道(设置 ADC_CONTR 中的 CHS2~CHS0);如果是对多通道模拟量进行转换,则更换通道后要适当延时,使输入模拟电压稳定,延时量取 20μS~200μS。 ⑸根据需要,设置 A/D 转换结果存储格式(设置 AUXR1 寄存器中的 ADRJ 位); ⑹设置 A/D 转换速度(设置 ADC_CONTR 寄存器中 SPEED1、SPEED0 相应的值); ⑺查询 A/D 转换结果标志 ADC_FLAG(该标志位在 ADC_CONTR 寄存器中),判断一次 A/D 转换是否结束:当 ADC_FLAG=1 时,一次转换完成;当 ADC_FLAG=0 时,一次转换未完成。由于A/D 转换结束时,ADC_FLAG自动置1,因此当因此转换完成后,要用软件将ADC_FLAG 置为 0。 ⑻ 读取 A/D 转换结果,结果保存在 ADC_RES 和 ADC_RESL 寄存器中,然后进行数据处理。 ⑼ 若采用中断方式,还需要进行中断设置(EADC 置 1,EA 置 1),在中断服务程序中读取 ADC 转换结果,并将 ADC 中断请求标志 ADC_FLAG 清零。 2、 与 A/D 转换相关的寄存器 P1ASF:P1 口模拟功能控制寄存器,该寄存器是只写寄存器,读无效。 ADC_CONTR:ADC 控制寄存器。 ADC_RES:A/D 转换结果寄存器(寄存 A/D 转换结果高位)。 ADC_RESL:A/D 转换结果寄存器(寄存 A/D 转换结果低位)。 AUXR1:辅助寄存器,其中 ADRJ 位是 A/D 转换结果寄存器(ADC_RES、ADC_RESL)的数据格式调整控制位。 IE:中断允许寄存器。 IP:中断优先级控制寄存器低(可位寻址); IPH:中断优先级控制寄存器高(不可位寻址); 3、 与 A/D 转换相关寄存器的格式与说明 ⑴ P1 口模拟功能控制寄存器 P1ASF 格式与说明 当 P1 口中某个端口作为 A/D 使用时,只要先将 P1ASF 寄存器中相应位置为 1,即设置为模拟功能。

52ee578ec556f64158bd2f1e3ae2e562.png

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值