📄 well light electrocircuit.c
字号:
#include<reg51.h>
typedef unsigned char byte;
typedef unsigned int word;
sbit out=P0^0;
sbit off_on=P1^0;
sbit key_add=P1^01;
sbit key_subb=P1^02;
bit sign_off_on;
bit most;
bit least;
byte show;
byte parameter;
word m;
void delay(word i)
{
m=0;
for(m=0;m<i;m++)
{
TR1=1;
if(TF0==0);
TF0=0;
}
TR1=0;
return;
}
void main()
{
TMOD=0x22;
TH1=231;
TL1=231;
TH0=125;
TL0=125;
EA=1;
IT0=1;
ET0=1;
parameter=40;
show=parameter;
most=0;
least=0;
sign_off_on=0;
while(1)
{
EX0=sign_off_on;
if(sign_off_on==0)
{
out=1;
if(off_on==0)
{
delay(m=800);
if(off_on==0)
{
sign_off_on=!sign_off_on;
while(off_on==0);
}
}
}
else{ // sign_off_on==1
if(off_on==0)
{
delay(m=800);
if(off_on==0)
{
sign_off_on=!sign_off_on;
while(off_on==0);
}
}
else{//off_on==1
if(key_add==0)
{
delay(m=1600);
if(key_add==0)
{
if(least==0)
{
most=0;
parameter--;
if(parameter==4) least=1;
}
delay(m=800);
}
}
else if(key_subb==0)//key_add==1
{
delay(m=1600);
if(key_subb==0)
{
if(most==0)
{
least=0;
parameter++;
if(parameter==95) most=1;
}
delay(m=800);
}
}
}
}
}
}
void timer(void) interrupt 0
{
TR0=1;
if(show==0)
{
show=parameter;
out=0;
TR0=0;
delay(m=1);
out=1;
}
}
void t0_int(void) interrupt 1
{
show--;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -