首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
将PIC16C711片内8位A/D提高到11位的方法
来源:本站整理  作者:佚名  2009-08-07 10:40:21



三、程序

  以下是使用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

  RETURN

  用这种方法实现的11位A/D转换速度快PIC16C711基本上都是单周期指令,在4MHz振荡频率下指令周期1μs,进行1次A/D转换最短时间20μs;2次A/D转换40μs;2个运放变换时间20μs×2=40μs。总的转换时间为百μs级。

  本文介绍的方法电路简单,速度快,调试方便,已用于我们研制的单片机电阻炉温自动控制系统中,取得了预期的效果。对于其他带8位、10位A/D的单片机稍加改动均可使用,具有推广价值。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:235,882.80000 毫秒