📄 baojian.c
字号:
#include <intrins.h>
#include"stc12c2052.h"
#define heatlow P3_5
#define heathigh P3_7
#define D1 P1_0
#define D2 P1_1
#define D4 P1_3
#define larmlight P1_4
#define D3 P1_2
#define bell P3_4
#define Door P1_7
#define strong_key P1_5
#define mid_key P1_6
#define lack_key P3_3
#define on_off P3_2
#define uchar unsigned char
#define uint unsigned int
#define _BIN(a,b,c,d,e,f,g,h) ((a<<7)+(b<<6)+(c<<5)+(d<<4)+(e<<3)+(f<<2)+(g<<1)+(h<<0))
#define _bin _BIN // _bin,_BIN均可
#define _20S 400
#define _60S 1200
#define _6S 120
#define _15S 296
#define _2S 40
#define _12S 240
#define _30fen 36000
#define _7fen5 9000
#define _1S 20
#define _05S 95//10
#define _01S 2
//************************************************
//公用变量
///******************************************
uchar mode=0x00;
uchar liaocheng=0x00;
uchar bell_style=0x00;
uchar time_going=0x00;
uchar step=0x00;
uint time_start=0x00;
uint time_count=0x0000;
uint time_fly=0x00;
uint time_fly1=0x00;
uint time_bell=0x00;
uint time_flash=0x0000;
bit power_flag=0;
bit first_sel=0;
bit working_flag=0;
/*****************************************************/
/***************************************************/
//delay05S()延时程序
/////////////////////////////////////////////////////
void delay05S(void)
{
uchar i,b;
for(i=0x10;i>0;i--)
{
for(b=0x10;b>0;b--);
}
}
void power(void)
{
if(power_flag)
{
// P3M1=_bin(0,0,0,0,0,0,0,0);
D1=D2=D3=D4=1;
power_flag=0;
on_off=1;
TR0=0;
TR1=0;
bell=0;
first_sel=0;
strong_key=mid_key=lack_key=0;
on_off=1;
step=0x00;
mode=0x00;
time_fly1=0x00;
time_fly=0x00;
larmlight=1;
time_count=0x00;
liaocheng=0x00;
heatlow=0;heathigh=0;
}
else
{
// P3M1=_bin(1,0,1,1,1,1,0,0);
first_sel=0;
D1=D2=D3=D4=0;
on_off=1;
TR0=0;
TR1=0;
bell=0;
time_count=0x00;
strong_key=mid_key=lack_key=1;
power_flag=1;
time_start=0x00;
heatlow=1;
// flsh_sector_rd(0x1000,0x01,&liaocheng);
}
}
///////////////////////////////////////////////////////
void key(void)
{
bit temp;
temp=on_off;
delay05S();
delay05S();
_nop_();
_nop_();
// P1M1=_bin(0,1,1,0,0,0,0,0);
// P1M0=_bin(0,0,0,0,0,0,0,0);
on_off=1;
_nop_();
while(on_off==0)
{ _nop_();
delay05S();
delay05S();
while(!on_off);
delay05S();
delay05S();
while(!on_off);
if(working_flag==0)
{
power();
delay05S();
delay05S();
}
while(!on_off);
delay05S();
delay05S();
while(!on_off);
}
on_off=temp;
_nop_();
}
//************************************//
//main()
//////////////////////////////////////
void main(void)
{
while(1)
{
key();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -