理论教育 查询方式下的A/D转换例程

查询方式下的A/D转换例程

时间:2023-10-19 理论教育 版权反馈
【摘要】:用PIC单片机的A/D转换功能测量RA0引脚的模拟电压,并将其数字量转换结果送U1输出。题意分析●由图8-4可知A/D输入通道用的是RA0,所以程序中应该把A口置为输入状态并把A/D转换通道设为AN0。3)在运行时,U1显示的就是10位数字转换结果。单击时U1显示的二进制数字变小,这是因为RV2向右滑动时RA0的输入电压变低了。

查询方式下的A/D转换例程

【例8-1】电路图如图8-4所示。用PIC单片机的A/D转换功能测量RA0引脚的模拟电压,并将其数字量转换结果送U1输出。设主频为4MHz。

电路图在光盘位置:“\Example\Chapter8\S081\adcled.DSN”。

题意分析

●由图8-4可知A/D输入通道用的是RA0,所以程序中应该把A口置为输入状态并把A/D转换通道设为AN0。

●U1是一个组合元器件,由10个发光二极管组成,为了使电路图看着紧凑,本图中省略了I/O引脚到发光二极管之间的限流电阻,实际电路图中不可省略。

●PORTC连接了8个LED,PORTB的高两位连接了两个LED,发现这与A/D转换结果的左对齐模式相同,可以通过把ADFM置位来实现,所以把转换结果的ADRESH赋值给PORTD,ADRESL赋值给PORTC。

●本程序流程如图8-5所示。

978-7-111-33274-9-Chapter08-13.jpg

图8-4 电位器阻值测量电路示意图(www.daowen.com)

978-7-111-33274-9-Chapter08-14.jpg

图8-5 例8-1的程序流程图

设计过程

1)新建一个MPLAB项目,加入一个新建的main.c文件,输入以下内容(本项目所有内容参考光盘“\Example\Chapter8\S081”文件夹内容)。

978-7-111-33274-9-Chapter08-15.jpg

978-7-111-33274-9-Chapter08-16.jpg

2)把项目保存后成功编译出目标文件。然后用调试工具Proteus VSM加载adcled.DSN。启动VSM后运行程序。

3)在运行时,U1显示的就是10位数字转换结果。请读者用鼠标修改RV2的阻值(单击978-7-111-33274-9-Chapter08-17.jpg978-7-111-33274-9-Chapter08-18.jpg),并观察U1的变化,读者会发现当单击978-7-111-33274-9-Chapter08-19.jpg时U1显示的二进制数字变大,这是因为RV2向左滑动时RA0的输入电压变高了。单击978-7-111-33274-9-Chapter08-20.jpg时U1显示的二进制数字变小,这是因为RV2向右滑动时RA0的输入电压变低了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈