📄 adc_volt0-5.lst
字号:
1: #include<pic.h>
2:
3: #include<math.h>
4: unsigned char A,B,a,z,i,data,l,m;
5: unsigned int I,j,k;
6: void main()
7: {
8: #define ADCOSC 0b01000000 // ADC convertion clock fosc/8
9: #define CHANNEL0 0b00000000 // ADC channel 0 (RA0/AN0)
10: #define ADCON 0b00000101 // ADC power on
11: ADRESH=0x00;
12: ADRESL=0x00;
13: TRISA=0b11111111;
14: TRISC=0x00;
15: TRISD=0x00;
16:
17: ADCON1=0b10000000; //right justified
18:
19: ADCON0= ADCOSC | CHANNEL0 | ADCON;
20: ADCON0= ADCON0 | 0b00000100; //start conversion
21:
22: while(1)
23: {
24: z=0b00010000;
25: while(ADGO)
26: { }
27: A=ADRESH & 0b00000010;
28: B=ADRESH & 0b00000001;
29:
30: if(A==2)
31: {j=512;}
32: else
33: {j=0;}
34: if(B==1)
35: {k=256;}
36: else
37: {k=0;}
38: I=j+k+ADRESL; //512+256+255=1023
39: else if(I>=0 && I<=204)
40: {
41: PORTC=0x01; //data
42: PORTD=0x01; //power
43: }
44: else if(I>=205 && I<=409)
45: {
46: PORTC=0x02;
47: PORTD=0x01;
48: }
49: else if(I>=410 && I<=613)
50: {
51: PORTC=0x03;
52: PORTD=0x01;
53: }
54: else if(I>=614 && I<=818)
55: {
56: PORTC=0x04;
57: PORTD=0x01;
58: }
59: else if(I>=819 && I<=1023)
60: {
61: PORTC=0x05;
62: PORTD=0x01;
63: }
64: }
65: }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -