AD转化程序实例
;此程序是一个简略的AD转化演示例程,作0-5V电压测验
;转化成果从C口输出 十分直观
;转化的值ADRESH在0V是0发光管全灭,5V时全亮
;==============================================
include
ORG 0X00
NOP
START
BCF STATUS,RP0
CLRF PORTC
MOVLW B01000001 ;D7 D6=01 AD转化时钟频率= FOSC/8
MOVWF ADCON0 ;D5 D4 D3=000 AD转化模仿通道挑选RA0/AN0
;D2=0 AD已完结或未进行AD D0=0封闭ADC
BSF STATUS,RP0
MOVLW B10000111 ;D7=1撤销上拉,D6=0 INT下降沿触发,
MOVWF OPTION_REG ;D5=0 TOCK1运用内部时钟D4=0 TOCK1上升沿增量
;D3=0用于TMR0 D2 D1 D0=1 TMR0 1:256分频
CLRF TRISC
MOVLW B00001110 ;D3 D2 D1 D0 1110挑选RA0为模仿口。
MOVWF ADCON1 ;D7=0左对齐ADRESL的低六位读作0
BCF STATUS,RP0
MAIN
BTFSS INTCON,T0IF ;等候TMR0守时溢出中止
GOTO MAIN
BCF INTCON,T0IF ;清TMR0守时溢出标志
BSF ADCON0,GO ;敞开A/D
WAIT
BTFSS PIR1,ADIF ;等候A/D完结
GOTO WAIT
MOVF ADRES,W ;A/D值从PORTC口输出显现
MOVWF PORTC
GOTO MAIN
END