【摘要】:用PIC单片机的A/D转换功能测量RA0引脚的模拟电压,并将其数字量转换结果送U1输出。题意分析●由图8-4可知A/D输入通道用的是RA0,所以程序中应该把A口置为输入状态并把A/D转换通道设为AN0。3)在运行时,U1显示的就是10位数字转换结果。单击时U1显示的二进制数字变小,这是因为RV2向右滑动时RA0的输入电压变低了。
【例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所示。
图8-4 电位器阻值测量电路示意图(www.daowen.com)
图8-5 例8-1的程序流程图
设计过程
1)新建一个MPLAB项目,加入一个新建的main.c文件,输入以下内容(本项目所有内容参考光盘“\Example\Chapter8\S081”文件夹内容)。
2)把项目保存后成功编译出目标文件。然后用调试工具Proteus VSM加载adcled.DSN。启动VSM后运行程序。
3)在运行时,U1显示的就是10位数字转换结果。请读者用鼠标修改RV2的阻值(单击或),并观察U1的变化,读者会发现当单击时U1显示的二进制数字变大,这是因为RV2向左滑动时RA0的输入电压变高了。单击时U1显示的二进制数字变小,这是因为RV2向右滑动时RA0的输入电压变低了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。