PIC16F873的A/D转化程序
;用于PIC16F873的A/D测验程序,完成如下功用:
;(1)使用RA0/AN0作为此A/D转化输入信道;
;(2)参阅电压源VREF挑选内部VDD和VSS;
;(3)A/D转化时钟源选用4MHz振荡器;
;(4)八位数据精度,并将AD成果写入C口。
;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