新闻中心

EEPW首页>嵌入式系统>设计应用> PIC16F873的A/D转换程序

PIC16F873的A/D转换程序

作者: 时间:2016-11-13 来源:网络 收藏
PIC16F873A/D转换程序

;用于PIC16F873的A/D测试程序,实现如下功能:
;(1)应用RA0/AN0作为此A/D转换输入信道;
;(2)参考电压源VREF选择内部VDD和VSS;
;(3)A/D转换时钟源选用4MHz振荡器;
;(4)八位数据精度,并将AD结果写入C口。

本文引用地址://m.amcfsurvey.com/article/201611/316233.htm

;8L8ADSY.ASM A/D转换
list p=16f873
INCLUDE "P16F873.INC"

ORG 0x000
MAIN
NOP
BANKSEL ADCON1 ;选择RAM数据存储器体1,等价于BSF STATUS,RP0
MOVLW B00000000 ;选定RA5/AN4为模拟输入,结果格式为左对齐
MOVWF ADCON1 ;参考电压源VREF选择内部VDD和VSS
CLRF TRISC ;设C口为输出
BANKSEL ADCON0 ;选择RAM数据存储器体0,等于BCF STATUS,RP0
MOVLW B01100001 ;设置时钟源8Tosc,使能ADC,AN0信道被选中
MOVWF ADCON0
CLRF PORTC ;对C口清0

AtoD
NOP ;为了保证采样时间,通常,应该插入20us以上的
NOP ;时间延迟或者安排一段有相当长度的应用程序。
BSF ADCON0,GO ;GO位置1,开始A/D转换
ADWAIT
BTFSC ADCON0,GO ;在A/D转换完成后,GO位将被清0
GOTO ADWAIT ;如果没有转换完毕,则返回继续检测
MOVF ADRESH,W ;如果转换完毕,把A/D结果读入W中
MOVWF PORTC ;将AD结果写入C口
GOTO AtoD ;循环进行A/D转换
END



关键词:PIC16F873AD转

评论


技术专区

关闭