#include <STC8H.H>
sbit LED0=P2^0;
sbit LED1=P2^1;
sbit LED2=P2^2;
sbit LED3=P2^3;
sbit LED4=P2^4;
sbit LED5=P2^5;
sbit LED6=P2^6;
sbit LED7=P2^7;
sbit wei0=P1^4;
sbit wei1=P1^5;
sbit wei2=P3^3;
unsigned char data table[18]={
0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,
0x01,0x09,0x11,0xC1,0x63,0x85,0x61,0x71,
0x00,0x02}; //0000 0000
LED_buf[]={8,8,8};
unsigned int wnd,Temp1=22,Temp2,Temp3;
void LED_dula(unsigned char dat);
void LED_wela(unsigned char dat);
void Delay_ms(unsigned int t);
void GPIO_CSH();
void LED_xshi();
void LED_fuwu();
void LED_dula(unsigned char dat)
{
LED0=dat &0x01;
LED1=dat>>1&0x01;
LED2=dat>>2&0x01;
LED3=dat>>3&0x01;
LED4=dat>>4&0x01;
LED5=dat>>5&0x01;
LED6=dat>>6&0x01;
LED7=dat>>7&0x01;
}
void LED_wela(unsigned char dat)
{
wei0=dat &0x01;
wei1=dat>>1&0x01;
wei2=dat>>2&0x01;
}
void Delay_ms(unsigned int t)
{
unsigned int i,j;
for(i=t;i>0;i--)
for(j=120;j>0;j--);
}
void GPIO_CSH()
{
P0M0 = 0x00; P0M1 = 0x00;
P1M0 = 0x00; P1M1 = 0xc0;
P2M0 = 0x00; P2M1 = 0x00;
P3M0 = 0x00; P3M1 = 0x00;
P4M0 = 0x00; P4M1 = 0x00;
P5M0 = 0x00; P5M1 = 0x00;
P6M0 = 0x00; P6M1 = 0x00;
P7M0 = 0x00; P7M1 = 0x00;
}
void LED_xshi()
{
unsigned int i;
switch (i)
{
case0:
LED_wela(LED_buf[0]);//送位码
LED_dula(0); //送段码
Delay_ms(1);
LED_wela(0x00); //位消隐
i++;
break;
case1:
LED_wela(LED_buf[1]);//送位码
LED_dula(1); //送段码
Delay_ms(1);
LED_wela(0x00); //位消隐
i++;
break;
case2:
LED_wela(LED_buf[2]);//送位码
LED_dula(2); //送段码
Delay_ms(1);
LED_wela(0x00); //位消隐
i=0;
break;
default:
break;
}
}
void LED_fuwu()
{
unsigned int i;
switch (wnd)
{
case0:
LED_buf[0]=18;
LED_buf[1]=Temp1/10;
LED_buf[2]=Temp1%10;
for(i=0;i<5000;i++)
{
LED_xshi();
}
break;
case1:
LED_buf[0]=18;
LED_buf[1]=Temp2/10;
LED_buf[2]=Temp2%10;
for(i=0;i<5000;i++)
{
LED_xshi();
}
break;
case2:
LED_buf[0]=18;
LED_buf[1]=Temp3/10;
LED_buf[2]=Temp3%10;
for(i=0;i<5000;i++)
{
LED_xshi();
}
break;
default:
break;
}
}
void main()
{
unsigned int i;
GPIO_CSH();
for(i=0;i<5000;i++)
{
LED_xshi();
}
while (1)
{
LED_fuwu();
}
}
这个为什么不能显示? |