#include <STC12C5A.h>
#include <intrins.h>
unsigned int temp1,result,a,b;
typedef unsigned char u8;
sbit led1=P2^2;
sbit led2=P2^4;
u8 disp[4];
u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit LSA=P2^5;//数码管定义
sbit LSB=P2^6;//
sbit LSC=P2^7;//
void DELAY_10ms()//Ñóê±
{
unsigned char a;
for(a=30;a>0;a--);
}
void datapros()
{
static u8 i;
if(i==50)
{
i=0;
temp1=ADC_CONTR; ; // 光敏
}
disp[0]=smgduan[temp1/1000]
disp[1]=smgduan[temp1%1000/100]
disp[2]=smgduan[temp1%1000%100/10]
disp[3]=smgduan[temp1%1000%100%10];
}
void DigDisplay()
{
u8 i;
for(i=0;i<4;i++)
{
switch(i) //位选
{
case(0):
LSA=0;LSB=0;LSC=0; break
case(1):
LSA=1;LSB=0;LSC=0; break
case(2):
LSA=0;LSB=1;LSC=0; break
case(3):
LSA=1;LSB=1;LSC=0; break
}
P0=disp[3];
P0=0x00;
}
}
void AD_CONV()
{
do
{
temp1=ADC_CONTR;
}
while((temp1&0x10)!=0x10);
ADC_CONTR=0xE8;
temp1=ADC_RESL;
result+=temp1;
temp1=ADC_RES;
temp1=temp1&0x0003;
temp1=_irol_(temp1,8);
result+=temp1;
}
void main()
{
P1ASF=1^1;//光敏输入口
AUXR1=0x04;
ADC_CONTR=0xE0;
DELAY_10ms();
ADC_CONTR=0xE8;
AD_CONV();
datapros();
DigDisplay();
while(1);
}
求解下载后数码管为什么不显示,此程序无错误无警告
|