本站首页 计算机论文 会计审计论文 工科论文 理科论文 法律论文 经济学论文 文化类论文 财务论文 文学论文
  管理论文 教育学论文 证券金融论文 医学论文 农业论文 哲学论文 艺术学论文 社会学论文 免费论文 论文翻译
  论文分类 | 写作指南 | 付款方式 | 交费确认 | 论文代写 | 服务指南 | 招贤纳士
论文搜索:
  滚动新闻:
当前位置: 博景源论文网 >> 免费论文 >> 免费单片机毕业论文 >> 正文
  提高PIC16C711单片机片内A/D分辨率的方法    5星级
提高PIC16C711单片机片内A/D分辨率的方法
[ 作者:Admin     来源:博景源     点击数:     更新时间:2008-4-9   ]

摘要:介绍一种将PIC16C711片内8位A/D提高到11位的方法。此方法电路简单,速度快,可提高单片机应用系统的性能价格比,具有一定的推广价值。
    关键词:PIC16C711 单片机 A/D 分辨率

目前,单片机中嵌入的A/D一般为8位到10位,难以满足信号处理应用中高分辨率的要求;而外接高分辨率的A/D将使成本明显提高,因为A/D转换器的价格将随其位数的增加而成倍增加。本文介绍一种提高PIC16C711单片机片内A/D分辨率的方法,将PIC16C711片内的8位A/D提高到11位。这种方法在PIC系列的其他单片机也适用。

美国Microchip公司推出的8位单片机PIC16C711是一种性能价格比很高的单片机。它价格低、封装小、采用CMOS工艺,具有OTP型,开发起来很方便。它内含4路8位高速A/D,将它扩展到11位后,可以大大提高单片机应用系统的性能价格比。

一、硬件电路

实现扩展的原理图如图1所示。8个等值的精密电阻R将0~5V基准电压分割成8档,每档范围为0.625V。8个抽头分别接CD4051八选一模拟开关的8个输入端,通道选择控制端C,B,A分别由PIC16C711单片机的RB2,RB1,RB0控制。IC2和IC3为高输入阻抗运放,IC2构成跟随器,IC3构成精密差分放大器。

二、工作原理

实现11位A/D转换由PIC16C711做2次8位A/D转换完成。PIC16C711有4个模拟量输入通道RA0~RA3,这些模拟量输入通道复用1个采样保持器进入到A/D转换器。参考电压Vref可以来自外部也可以来自内部VDD,A/D转换器属于逐次逼近式,转换结果(8位)存入ADRES寄存器。在A/D转换前必然选择适当的通道,设置足够的采样时间。用户可以通过设置A/D控制寄存器ADCON0和ADCON1来控制其转换过程,同时A/D转换的状态也会在ADCON0中体现出来。

先将待转换的电压Vi送到PIC16C711的RA0通道做一次A/D转换。根据转换所得的数字量由软件算出Vi在8档中位置,用Vi减去Vi所在档的起始电压。将所得差值放大8位,使之变为0~5V电压信号,再送给PIC16C711的RA1通道做1次A/D转换,所得数字量是11位AD转换的低8位,而档位CBA就是高3位,从而实现11位A/D转换。

举例说明如下:假设输入电压Vi为3V,程序控制PIC16C711的RA0通道先进行第1次A/D转换,所得结果是153,即3/5×255=153,对应8位数字量为10011001。将低5位屏蔽,得10000000,循环右移5次,得00000100,此时低3位对应的就是Vi=3V电压时的档位,即第4档,CBA=100,程序将该档位由RB2,RB1,RB0输出,作为8选一模拟开关的通道选择,使CD4051输出2.5V,即5/8×4=2.5V。该电压经IC2运放跟随,再经IC3进行差分放大。设计时调整R11,R12,R13和R14的阻值,使放大倍数为8位,则得放大器IC3输出Vo=8(Vi-2.5)=8(3-2.5)=4.0V。选择RA1通道进行第2次A/D转换,结果为11001100,这就是11位A/D转换结果的低8位。档位100为11位A/D转换的高3位,合起来就是11位A/D转换的结果10011001100。

三、程序

以下是使用PIC16C711指令系统完成11位A/D转换的程序段。

BSF STATUS,RP0;选页面1

MOVLW 00000010B ;RA0、RA1为模拟通道

MOVWF ADCON1 ;内部参考电压

BCF STATUS,RP0 ;选页面0

MOVLW 11000001B ;选RA0通道和内部时钟

MOVWF ADCON0

MOVLW .125 ;延时125μs,等待输入

CALL WAIT ;稳定

BSF ADCON0,GO ;启动A/D

LOOP BTFSC ADCON0,GO ;判断A/D完成否

GOTO LOOP

MOVF ADRES,W ;取转换结果

ANDLW 0E0 ;屏蔽低5位

MOVWF D1 ;存入D1

BCF STATUS,C

RRF D1,1 ;右移5次

RRF D1,1

RRF D1,1

RRF D1,1

RRF D1,1

MOVF D1,W

MOVWF PORTB ;档位输出

MOVLW 11001001B ;选RA1通道

MOVWF ADCON0

MOVLW .60 ;延时60μs

CALL WAIT

BSF ADCON0,GO ;启动A/D

LOOP1 BTFSC ADCON0,GO ;判断A/D完成否

GOTO LOOP1

MOVF ADRES,W ;A/D转换结果存D0

MOVWF D0

WAIT MOVWF TEMP ;延时子程序

NEXT DECFSZ TEMP,1

GOTO NEXT

[1] [2]  下一页

论文编号:  价格:  是否有源码:无 【字体: 字体颜色
  • 上一篇文章: 基于ADuC812的智能无功补偿控制器的研制

  • 下一篇文章: 一种用于单片机的红外串行通信接口
  • 发表评论  打印此文  收藏此页  关闭窗口  返回顶部
     最新热点文章
    企业工资管理系统的开发
    计算机专业毕业论文
    论跨国公司的发展历程及其规律
    VB、VF论文题目列表
    PB、JSP论文题目列表
    单片机温度控制系统
     
     最新推荐文章
    学生信息档案管理系统
    从激光原理看六脉神剑的产生机制
    中国文化外交初探
    利用Internet重新构造科研管理系统
    基于Web的库存管理系统
    应用于视频编码的块匹配运动估计算法设
     
     相 关 文 章

      网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    版权声明 | 联系我们 | 刊登广告| 关于博景源 | 加入收藏 | 设为首页
    版权所有:博景源科技有限公司 © 24小时客服电话:0451-81986565 客服邮箱:service-86qb@163.com
    Copyright© 1998 - 2008 www.86qb.com All Rights Reserved

    地址:哈尔滨市道里区新阳路恒祥大厦F901

    黑ICP备 06008746号