?? main.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 + -