📄 main.c
字号:
#include <reg51.h>
typedef unsigned char BYTE;
BYTE LED_0;
BYTE LED_1;
BYTE LED_2;
BYTE ADC;
BYTE TCNTA;
BYTE TCNTB;
BYTE H_TEMP; //温度上限
BYTE L_TEMP; //温度下限
bit FLAG;
sbit H_ALM=P3^0;
sbit L_ALM=P3^1;
sbit SOUND=P3^7;
sbit P21 =P2^1;
sbit P22 =P2^2;
sbit P23 =P2^3;
sbit CLOCK=P2^4;
sbit ST =P2^5;
sbit EOC =P2^6;
sbit OE =P2^7;
BYTE code TABLE[]={ 0x3F,0x06,0x5B,0x4F,0x66,
0x6D,0x7D,0x07,0x7F,0x6F};
void INT_T0() interrupt 1
{
CLOCK=~CLOCK;
}
void DELAY2()
{
BYTE i=20;
do
{
BYTE j=20;
do
{
BYTE k=250;
do
{
}while(--k);
}while(--j);
}while(--i);
}
void INT_T1() interrupt 3
{
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
SOUND=~SOUND;
TCNTA++;
if(FLAG)
{
if(TCNTA!=20)
return;
}
else
{
if(TCNTA!=30)
return;
}
TCNTA=0;
TCNTB++;
if(TCNTB!=25)
return;
TCNTA=0;
TCNTB=0;
DELAY2();
}
void DELAY()
{
BYTE i=10;
do
{
BYTE j=250;
do
{}while(--j);
}while(--i);
}
void DISP()
{
BYTE temp;
temp=TABLE[LED_0];
P23=0;
P0=temp;
DELAY();
P23=1;
temp=TABLE[LED_1];
P22=0;
P0=temp;
DELAY();
P22=1;
temp=TABLE[LED_2];
P21=0;
P0=temp;
DELAY();
P21=1;
}
main()
{
LED_0=0;
LED_1=0;
LED_2=0;
H_TEMP=153;
L_TEMP=77;
TMOD=0x12;
TH0=245;
TL0=0;
TH1=(65536-1000)/256;
TL0=(65536-1000)%256;
IE=0x8a;
CY=0;
TR0=1;
while(1)
{
H_ALM=1;
L_ALM=1;
ST=0;
ST=1;
ST=0;
while(!EOC);
OE=1;
ADC=P1;
OE=0;
if(ADC<77)
{
L_ALM=0;
TR1=1;
FLAG=0;
}
else if(ADC>H_TEMP)
{
H_ALM=0;
TR1=1;
FLAG=1;
}
else
{
TR1=0;
}
LED_2=ADC/100;
LED_1=(ADC%100)/10;
LED_0=(ADC%100)%10;
DISP();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -