—— —— —— 技术资料下载中心

>> PIC16C5X单片机应用与设计 \

第二章 PIC16C5X指令集及程序设计技巧
第七节 PIC16C5X程序设计基础
§2.7 PIC16C5X程序设计基础 第三章 电路及程序范例 八、A/D转换 本例要用PIC16C54来实现一个A/D转换器。其特点是成本很低，仅需4个低廉的外围元件。精度可由软硬件调节，分辨率为6～10位，转换时间为250us。利用软件校准还可以补偿时间和温度飘移及消除元件误差。 1、电路设计：
电路如图1.13所示：

图1.13 　A/D转换电路

电路中采用一个RC充电电路及一个电压/电流转换电路，把输入电压转换成时间量。先算出参考电压Vref对应的时间量Tc，再算出输入电压Vin的时间量Tm，则可由下式算出Vin：
Vin=Tc/Tm.Vref
具体可按下到步骤求解：
（1）先由PIC16C54的RB口控制模拟开关CD4066，把电路接成线放电形式，如图1.14所示：

图1.14　放电电路

（2）再把电路接成图4.14所示的充电形式。充电将持续至V0 上升到PIC16C54之RTCC的阈门电压值，并引起RTCC寄存器值变化（加1）。程序在此期间所记录的充电时间即为输入电压V0对应的时间量T。
按以上两个步骤，分别对Vref和Vin求解其对应的时间量，即可按公式算出Vin，完成A/D转换。RC电路参数可下列公式计算：
RC=（Vi*T）/Vt
式中　Vi──输入转换的最小电压值
T───转换时间
Vt──PIC输入端口的门槛电压（一般为3V）
RC的实际取值应比计算出来的值稍小一点，以免PIC在测量过程中计时过头（充电时间）。
注意，由于一般PIC的输入门阈电压为3V，则需用分压电路使Vin不超过3V。实验表明该A/D转换器精度达±1％。去掉u1，则可作为电流型的A/D转换器。

图1.15　充电电路

2、程序流程图：

3、程序清单：

上一页 下一页

第一节 第二节 第三节 第四节 第五节 第六节 第七节

[ 返回 ]