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

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3836|回复: 0
打印 上一主题 下一主题

877AD转换的程序ZHUAN

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-21 17:20:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序功能是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
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-4-20 02:06 , Processed in 0.054422 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表