pic单片机c语言程序格式,PIC单片机C语言程序设计(14)

………………………………………………………………………lllIliUm

PIC单片机c语言程序设计(14)

十五、Pie单片机的A11)转换

在电子技术中,传感器是一种很重要的器件,传感器的种类也有多种,如温度传感器、光敏传感器、压力传感器……,其特点是能把非电量,如温度、光度、压力等转换成相关的电量(电流或电压)。这些电量都是模拟量,可用Pic单片机的A/D转换。将上述的模拟量转换成数字量。再将数字量进行各种处理。如LED、LCD显示。

Picl

6F87X系列单片机,具有A/D转换

的功能。Picl6F876/873芯片为28引脚,有5个模拟输入端的10位A/D转换(5通道);Picl6F877为40引脚,有8个模拟输入端的10位A/D转换(8通道)。Picl6F876/873芯片的模拟输入端为AN0一AN3,其引脚是②~⑤脚和

⑦脚AN4,几乎占用了Picl6F876/873所有的

13。由于Pic单片机的端13具有复用功能,所

以上述的模拟输入口不会影响I/O端口的通用特性。

上述芯片的A/D转换,都已模块化,具有10位(二进制的)分辨率,所以完全可以满足大多数测量精度的要求,此外,还可利用Pic单片机睡眠状态下进行A/D转换(利用内部自带的RC振荡作时钟)。因在睡眠模式下,部分数字电路的开关噪声已停止,所以可获得更高的A/D转换精度。

Pic单片机的A/D转换功能的操作,远比本连载1~13中介绍的各种功能的C程序要复杂些。学会编写AID转换的C程序,也是进一步学习Pic单片机C程序设计的重要内容之一。因为在编辑AID转换的C程序时。会用到芯片内部多个专用寄存器(控制模块),学会相关模块的使用方法,可为编辑其它复杂功能的C程序建立良

54

2010VOL.11

万方数据

好的思维方法。

1.Picl6F87X的AID转换必备知识

(1)A/D转换控制寄存器ADCONl。ADCONl是8位的可读写的寄存器,如图59所示,其功能是A/D转换时,选择芯片引脚输入信号的类型(模拟量A或数字量D),以及A/D转换结果存放的格式(见下文)。

ADCONl的第6、5、4位,在A/D转换中未派上用场,读作“0”。ADCONl的第3、2、1、0位(Bit3、Bit2、Bitl和Bit0),是管理Picl6F87X引脚功能(A或D)的选择(可参看相关书藉的A/D转换引脚功能选择表,因该表占用版面多。这里略去),例如在下文C程序中,设

ADCONl=0x8a时,选择Picl6F873A的AN0(RA0)、ANl(RAl)RA4(AN4)、RA5(AN5)为模拟量输入、(AN6、AN7为数字量输入)。AN3、AN2参考电压设置端(十、一)。

(2)AID转换结果寄存器ADRESH、

ADRESL。因Picl6F87X的A/D转换值是10位的二进制数(代码)。而A/D转换的结果是存放在指定的结果寄存器中,因结果寄存器是8位的,所以AID转换结果的10位数。利用ADRESH存放AID的高字节;利用ADRESL存放A/D的低字节。存放方法是利用前述的ADCONl(图59)的第7位(bit)ADFM进行选择,当令ADFM=1时。AID转换结果的低8位存放在ADREL中;高两位存放在ADRESH中;当令ADFM=0时。AID转换结果的低两位存放在ADRESL中.余下的高8位存放在ADRESH中,

bit

bit0

图59

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值