|
- #include "reg52.h"
- #include"XPT2046.h"
- #include "lcd.h"
- #include "math.h"
- typedef unsigned int u16;
- typedef unsigned char u8;
- u8 disp1[4]={0,0,0,0},disp2[4]={0,0,0,0}; //AD值 电压值
- u16 V;
- #define VREF 5
- void datapros()
- {
- u16 temp;
- static u8 i;
- if(i==50)
- {
- i=0;
- temp = Read_AD_Data(0x94); // AIN0 电位器
- }
- i++;
- disp1[0]=temp/1000;//千位
- disp1[1]=temp%1000/100;//百位
- disp1[2]=temp%1000%100/10;
- disp1[3]=temp%1000%100%10;
-
- V=temp*VREF/4096.0*1000+0.5;
-
- disp2[0]=V/1000;
- disp2[1]=V%1000/100;
- disp2[2]=V%1000%100/10;
- disp2[3]=V%1000%100%10;
- }
- void main()
- {
- u8 i;
- LcdInit();
- while(1)
- {
- datapros();
-
- LcdWriteCom(0x80);
- for(i=0;i<4;i++)
- {
- LcdWriteData('0'+disp1[i]);
- }
- LcdWriteCom(0x85);
- for(i=0;i<4;i++)
- {
- LcdWriteData('0'+disp2[i]);
- if(i==0)
- LcdWriteData('.');
- }
- LcdWriteCom(0x8a);
- LcdWriteData('V');
- }
-
- }
复制代码
|
|