PIC12F617单片机ADC初始化配置

来源:互联网 发布:大数据 互联网金融 编辑:程序博客网 时间:2024/06/11 02:56
#include <pic.h>#include <PIC12F617.h>#include "ADC.h"/************************************************************** @beep_; void Adc_Init(void);//完成ADC初始化 ADC配置过程: >1:端口设置:模拟输入无上拉  TRISIO<5:0>:             1:GPIO引脚配置为输入             0:GPIO引脚配置为输出             *TRISIO3=1.只能输入.  ANSEL:bit3:0  ANS<3:0>: GP4|GP2|GP1|GP0            1:模拟输入            0:I/O >2:ADC设置  转换时钟(TAD/bit),一次ADC转换需要11TAD周期.  ANSEL:bit6:4  ADCS<2:0>:            000:FOSC/2           001:FOSC/8    (FOSC=4MHZ,TAD=2us)           101:FOSC/16    (FOSC=4MHZ,TAD=4us)           ...  ADCON0:A/D控制寄存器0         bit7    bit6    bit5    bit4    bit3    bit2   bit1    bit0         ADFM    VCFG     -      CHS2    CHS1    CHS0  GO/DOWN  ADON  配置参考电压:  ADCON0:bit6          VCFG:              1:VREF引脚              0:VDD  选择ADC通道:  ADCON0:bit4:2  CHS<2:0>:           000:AN0(GP0)     100:CVREF           001:AN1(GP1)     101:0.6V           010:AN2(GP2)     110:1.2V           011:AN3(GP4)     111:RES  选择结果格式:  ADCON0:bit7          ADFM:              1:右对齐(高2位放在ADRESH,低8位放在ADRESL)              0:左对齐  开启ADC:  ADCON0:bit0          ADON:              1:使能              0:关闭>3:清除中断标志,使能中断  PIE1:bit6      ADIE:          1:中断允许          0:中断禁止  PIR1:bit6      ADIF:          1:A/D转换完成          0:A/D转换未完成或未开始  INTCON:中断寄存器         bit7:GIE  全局中断使能/禁止         bit6:PEIE 外设中断使能/禁止>4:等待采集时间  NOP();NOP();NOP();NOP();>5:启动转换   ADCON0:bit1          GO/DOWN:                 1:启动转换或AD转换正在进行.                 0:AD转换完成,由硬件清零.>6:读取结果  *查询GO/DOWN  *等待中断  ADC=(ADRESH,ADRESL)  *清除中断标志**************************************************************/void Adc_Init(void){  GIE=0;     //关闭全局中断  TRISIO4=1;             ANSEL=0x18;  ADCON0=0x8D;  ADIF=0;  ADIE=1;  NOP();NOP();NOP();NOP();//等待采集时间  PEIE=1;    //打开外设中断  GIE=1;     //打开全局中断}

1 0
原创粉丝点击