英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: 877AD转换的程序ZHUAN [打印本页]

作者: star    时间: 2012-8-21 17:20
标题: 877AD转换的程序ZHUAN
程序功能是RAO口检测模拟电压输入,经过AD转化后在RC口直接输出二进制结果!
;===============================================
LIST P=16F877A, R=DEC  ;
#INCLUDE <P16F877A.INC>
;===========================================
              ORG        0X0
               NOP                                ;ICD调试必须一条NOP
START        
        BCF             STATUS,RP0       ;体选
        CLRF           PORTC
        MOVLW       B'01000001'        ;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       B'10000111'         ;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        B'00001110'         ;D3 D2 D1 D0 1110选择RA0为模拟口。
        MOVWF       ADCON1              ;D7=0左对齐 ADRESL的低六位读作0
        BCF             STATUS,RP0       ;体选


AD_MAIN
        BTFSS        INTCON,T0IF        ;等待TMR0 定时溢出中断
        GOTO        AD_MAIN                ;否,返回再等待
        BCF           INTCON,T0IF           ; 是,清TMR0 定时溢出标志
        BSF           ADCON0,GO            ;开启A/D
WAIT
        BTFSS        PIR1,ADIF           ;等待A/D完成
        GOTO        WAIT                   ;否,返回再等待
        MOVF         ADRESH,W          ;A/D值从ADRESH送到W
        MOVWF      portc                    ;A/D值从PORTC口输出显示        
        
        GOTO        AD_MAIN
        END





欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2