📄 adc_volt0-5.c
字号:
#include<pic.h>
#include<math.h>
unsigned char A,B,a,z,i,data,l,m;
unsigned int I,j,k;
void main()
{
#define ADCOSC 0b01000000 // ADC convertion clock fosc/8
#define CHANNEL0 0b00000000 // ADC channel 0 (RA0/AN0)
#define ADCON 0b00000101 // ADC power on
ADRESH=0x00;
ADRESL=0x00;
TRISA=0b11111111;
TRISC=0x00;
TRISD=0x00;
ADCON1=0b10000000; //right justified
ADCON0= ADCOSC | CHANNEL0 | ADCON;
ADCON0= ADCON0 | 0b00000100; //start conversion
while(1)
{
z=0b00010000;
while(ADGO)
{ }
A=ADRESH & 0b00000010;
B=ADRESH & 0b00000001;
if(A==2)
{j=512;}
else
{j=0;}
if(B==1)
{k=256;}
else
{k=0;}
I=j+k+ADRESL; //512+256+255=1023
if(I>=0 && I<=204)
{
PORTC=0x01; //data
PORTD=0x01; //power
}
else if(I>=205 && I<=409)
{
PORTC=0x02;
PORTD=0x01;
}
else if(I>=410 && I<=613)
{
PORTC=0x03;
PORTD=0x01;
}
else if(I>=614 && I<=818)
{
PORTC=0x04;
PORTD=0x01;
}
else if(I>=819 && I<=1023)
{
PORTC=0x05;
PORTD=0x01;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -