⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad.c

📁 lcd 128*64 位pic18f4620的C语言驱动程序
💻 C
字号:
#include <p18cxxx.h>
#define   CHS0    ADCON0bits.CHS0
#define   CHS1    ADCON0bits.CHS1
#define   CHS2    ADCON0bits.CHS2
#define   CHS3    ADCON0bits.CHS3
#define   ADON    ADCON0bits.ADON
#define   ADGO    ADCON0bits.GO
void Init_ADC()
{
TRISAbits.TRISA0=1;    //设置输入/输出方向
TRISAbits.TRISA1=1;    //设置输入/输出方向
TRISAbits.TRISA2=1;    //设置输入/输出方向
TRISAbits.TRISA3=1;    //设置输入/输出方向
ADCON0 = 0X00;  // 模拟量通道为0,GO=0,  ,ADON=0;
ADCON1 = 0X0B;   //参考电压Vss,Vdd,AN0,AN1,AN2,AN3 ,
ADCON2 = 0X21;   //8Tad  Fosc/8
ADON=1;
}
unsigned int Read_AD(unsigned char CH)
{
unsigned int ad;
CHS3=0;
switch (CH)
{
case 0:CHS2=0;CHS1=0;CHS0=0; break;
case 1:CHS2=0;CHS1=0;CHS0=1; break;
case 2:CHS2=0;CHS1=1;CHS0=0; break;
case 3:CHS2=0;CHS1=1;CHS0=1; break;
case 4:CHS2=1;CHS1=0;CHS0=0; break;
case 5:CHS2=1;CHS1=0;CHS0=1; break;
case 6:CHS2=1;CHS1=1;CHS0=0; break;
case 7:CHS2=1;CHS1=1;CHS0=1; break;
default:                     break;
}
Nop();Nop();Nop();Nop();Nop();Nop();Nop();Nop();
ADGO=1;      //A/D转换状态位,ADON=1时,0:不在进行ad转换;1:正在进行转换。
Nop();Nop();Nop();Nop();Nop();Nop();Nop();Nop();
while(ADGO); //AD转换完成后调出循环
ad=ADRESH;
ad<<=2;
ad|=(ADRESL>>6);
return(ad);
}


















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -