PIC16F873的A/D转换程序
时间:11-13
来源:互联网
点击:
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
PIC16F873AD转 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)