//这里要将管脚口设置为输入 void GPIO_inital(void) { PORTA |= 0X04; // PORTB=0X00; //PORT口输出高低电平设置 1=高电平,0=低电平 TRISA &=0X04; //输入输出设置 1=输入,0=输出 // TRISB=0X00; //输入输出设置 1=输入,0=输出 // ANSEL=0X00; WPUA &= 0XFB; //上拉设置 1=DISABLED PULL-UP ;0=PULL-UP // WPUB =0XFF; //上拉设置 1=DISABLED PULL-UP ;0=PULL-UP } void adc_A0_init() { ADCON0=61; //内部Vdd,AN0 ADCON1=50; /* ;9Fh Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit 0 ;ADCON1 ADFM ADCS2 ADCS1 ADCS0 - - - ADREF ;ADC 时钟源 ADCS[2:0] 典型值 ; Fosc 000 2us ; Fosc/2 001 4us ; Fosc/4 010 8us ; Fosc/8 011 16us ; Fosc/16 100 32us ; Fosc/32 101 64us ; Fosc/64 110 128us ; FRC 111 视RC 的值而定 ;ADFM 数据格式 ;0 ADRESH[7:0]:ADRESL[7:4] ;1 ADRESH[1:0]:ADRESL[7:0] ;1Fh Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ;ADCON0 - VHS1 VHS0 CHS2 CHS1 CHS0 ADON ADEN ;ADREF VHS[1:0] 参考电压 CHS [2:0] 模拟通道 ;0 00 内部2.0V 000 AN0 ;0 01 内部3.0V 001 AN1 ;0 10 内部4.0V 010 AN2 ;0 11 内部VDD 011 AN3 ;1 xx 外部参考电压 100 AN4 ; 101 AN5 ; 110 保留 ; */ } //┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ //┃ADC处理 ┃ //┃Version:V1.00 ┃ //┃Functio:AD初始化数据赋值处理 ┃ //┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ void adc_get(unsigned char AD_TD)//ADC初始化 AD_TD通道选择 AD_TD=1对应通道0(AN0仿真不能用) AD_TD=7对应通道7 没有通道5 { switch(AD_TD) { case 1: ANSEL=0X01; //1=AD(simulation models)0=I/O(digital models) ADCON0=0x40; //参考电压选择,通道选择0 break; case 2: ANSEL=0X02; //1=AD(simulation models)0=I/O(digital models) ADCON0=0x44; //参考电压选择,通道选择1 break; case 3: ANSEL=0X04; //1=AD(simulation models)0=I/O(digital models) ADCON0=0x48; //参考电压选择,通道选择2 break; case 4: ANSEL=0X08; //1=AD(simulation models)0=I/O(digital models) ADCON0=0x4c; //参考电压选择,通道选择3 break; case 5: ANSEL=0X10; //1=AD(simulation models)0=I/O(digital models) ADCON0=0x50; //参考电压选择,通道选择4 break; case 6: ANSEL=0X40; //1=AD(simulation models)0=I/O(digital models) ADCON0=0x58; //参考电压选择,通道选择6 break; case 7: ANSEL=0X80; //1=AD(simulation models)0=I/O(digital models) ADCON0=0x5c; //参考电压选择,通道选择7 break; default: ; break; } ADEN=1; delay_us(100); //等待ADC稳定 ADON=1; while(ADON!=0); databuf=ADRESH; databuf=(databuf<<4)|(ADRESL>>4); ADRESL=0x00; ADRESH=0x00; voult_buf=databuf; }
收藏0 举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
22
185
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号