📄 set time.c
字号:
//文件名:set time.c
//入口参数:
//功能:调节时间初值
#include<reg51.h>
#define uchar unsigned char
extern bit reset_mode;
extern uchar Time[5];
extern bit Time_set_mode;
uchar Counter=0;//调时位选择
extern void delay();
sbit key_set=P1^5;//定义键盘
sbit key_add=P1^6;
sbit key_esc=P1^7;
sbit key_cycleless=P3^3;
uchar Time_store[5]={0,0,3,0,1};
bit Glint_enable_flag;//进入调时模式,允许闪烁
//bit run_mode;//运行模式信号量
void set_choice()///////////////////////////////////////////
{
Counter++;
if(key_cycleless==0)//如果是无限循环状态,则选择位只有三位
{
if(Counter>3)
Counter=0;
}
else
{
if(Counter>5)//调时位溢出
Counter=0;
}
}
void set_add()/////////////////////////////////////////////
{
switch(Counter)//Counter进入时从1开始
{
case 1: Time[0]++;break;
case 2: Time[1]++;break;
case 3: Time[2]++;break;
case 4: Time[3]++;break;
case 5: Time[4]++;break;
}
if(Time[(Counter-1)]>9)//调时溢出
Time[Counter-1]=0;
if(key_cycleless==0)//如果是无限循环模式,则显示"--"
{
Time[3]=10;
Time[4]=10;
}
}
void time_set()/////////////////////////////////////////////
{
uchar i;
reset_mode=0;
TR0=0;
Time_set_mode=1;
while(Time_set_mode==1)
{
Glint_enable_flag=1;//调时开始,执行闪烁
if(key_set==0)
{
delay();
if(key_set==0)
{
while(key_set==0)
key_set=1;
set_choice();//选择位
}
}
if(key_add==0)
{
delay();
if(key_add==0)
{
while(key_add==0)
key_add=1;
set_add();//加1
}
}
if(key_esc==0)//退出调时
{
delay();
if(key_esc==0)
{
while(key_esc==0)
key_esc=1;
Time_set_mode=0;//结束调时模式
Glint_enable_flag=0;//不再闪烁
Counter=0;
for(i=0;i<5;i++)
Time_store[i]=Time[i];
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -