📄 at89s52+sht10+4bitled.c
字号:
#include <AT89X52.h>
#include "sht10.h"
#define uchar unsigned char
#define uint unsigned int
uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,
0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
uint t,q,k,l;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}
void display(uchar qian,uchar bai,uchar shi,uchar ge)
{
P2=0xfe;
P3=duan[qian];
delay(5);
P2=0xff;
P2=0xfd;
P3=duan[bai];
delay(5);
P2=0xff;
P2=0xfb;
P3=duan[shi];
delay(5);
P2=0xff;
P2=0xf7;
P3=duan[ge];
delay(5);
P2=0xff;
P2=0xfd;
P3=0x7f;
delay(5);
P2=0xff;
}
void main()
{
uchar checksum;
s_connectionreset();
TMOD=0X01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
error=0;
error+=s_measure(&Tem,&checksum,TEMP); //measure temperature
error=0;
error+=s_measure(&Hum,&checksum,HUMI); //measure temperature
ShowTem(&Tem,&Hum);
delay(1000);
}
}
void timer0() interrupt 1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
t++;
if(t==1)
{
t=0;
if(P1_5==1)
display(a,b,c,12);
if(P1_5==0)
{
delay(50);
if(P1_5==0)
display(e,f,g,h);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -