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

📄 main.c

📁 STC5410AD数据采集显示程序 可以是采集光强
💻 C
字号:
#include <STC12C5410AD.H>
#include <stdio.h>
sbit P1_3   = P1^3;
sbit P1_4   = P1^4;
sbit P1_2   = P1^2;
unsigned int table[10]={0x88,0xEB,0x4C,0x49,0x2B,0x19,0x18,0x8B,0x08,0x09};
unsigned int light_data[3]={1,2,3};
unsigned int  adtemp; 
delay(unsigned int a,unsigned int b)
{
while(a--)
{while(b--)
;
}
}
display( )    //串口通讯显示数据
{

unsigned int i;
SCON = 0x00;
 
for(i=0;i<3;i++)
{
SBUF=table[light_data[2-i]];
while(TI==0)
;
TI=0;
}




}
light_test()
{

unsigned char k;
adtemp=0;
for(k=0;k<3;k++)
{ADC_DATA=0x0000;
ADC_LOW2=0x0000;
ADC_CONTR=ADC_CONTR |0x08; //启动AD转换
delay(2,1);

while ((ADC_CONTR&0x10)==0)
;
ADC_CONTR=ADC_CONTR &0xE7;

adtemp=adtemp+((ADC_DATA&0x00FF)<<2)+(ADC_LOW2&0x03);//ADC_DATA*4;//&0x00FF*4+ADC_LOW2&0x0003;
}
adtemp=adtemp/3;
adtemp=0x0400-adtemp;
if(adtemp>999)
adtemp=999;
//adtemp=adtemp%1000;
light_data[0]=adtemp/100;
light_data[1]=(adtemp%100)/10;
light_data[2]=adtemp%10;

}
main()
{


ADC_CONTR=ADC_CONTR |0x80;   	//开AD电源
//delay(10,20);
display();

P1M0=P1M0|4;//P1M0=P1M0|4;              	//设置P1.2为开漏模式
P1M1=P1M1|4;
//delay(10,5);
display();
ADC_CONTR=0xE2;               	//设置P1.2作为AD转换通道
//delay(10,5);
display();

while(1)
{light_test();

display();


}
}

⌨️ 快捷键说明

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