📄 config.h
字号:
#ifndef __CONFIG_H__
#define __CONFIG_H__
/********************************/
/* "以下为系统配置" */
/********************************/
#include <regx51.h>
#include <string.h>
#include <intrins.h>
#include "ir.h"
#include "lcd1602.h"
#include "ds18b20.h"
#define RELAY P2_3 // 继电器引脚
#define YLED P2_4 // 继电器工作指示灯
#define CLED P2_5 // 定时控制指示灯
#define DLED P2_6 // 整点报时指示灯
#define WLED P2_7 // 时钟工作指示灯
#define K1 P1_4 // 当前时间的设置与结束
#define K2 P1_5 // 整点报时开关/小时加1
#define K3 P1_6 // 闹铃控制开关/分钟加1
#define K4 P1_7 // 闹铃时间的设置与结束
//#define K5 P1_5 // 手动控制继电器
uchar hour,min,sec;
uchar armhour,armmin,armsec;
uchar con_1s,con_500ms;
uchar data NewTime[8]={0x30,0x30,0x3a,0x30,0x30,0x3a,0x30,0x30};
uchar data CtrlTime[8]={0x30,0x30,0x3a,0x30,0x30,0x3a,0x30,0x30};
bit flag; //flag是时钟冒号闪烁标志
//void Manual(void);//手动控制继电器
void Keyscan(void);//按键扫描
void Display(uchar num); //显示数据
void Led_hint(void);//LED闪烁
void Ctrlaction(void);//闹铃时间比较
void Transport(bit line,uchar arr[]);//显示数据到LCD
void Conversion(void);//把时钟数据放入显示数组中
void Delay400Ms(void);
void Set_time(void); //设置当前时间函数
void Integral_point_time(void);//整点报时函数
void Set_ctrltime(void);//设置闹铃时间函数
void Ctrl_on_or_off(void);//闹铃控制开关
void Telecontrol(void);//遥控按键扫描
void Tp_set_time(void);//遥控设置当前时间
void Tp_set_ctrltime(void);//遥控设置闹铃时间
/*****************************************************
函 数 名:void Clearmen(void)
功 能:系统初始化
说 明:对系统引脚及中断进行初始化
入口参数:无
返 回 值:无
*****************************************************/
void Clearmen(void)
{
IE = 0x8B; // 允许总中断中断,使能 INT0 外部中断,时间中断
IP = 0x0A; // T0、T1中断为高优先级
TCON = 0x01; // 触发方式为脉冲负边沿触发
TH0=0x3C;TL0=0xB0;
TH1=0x3C;TL1=0xB0;
TMOD=0x11;ET0=1;TR0=1;ET1=1;TR1=1;
EA=1;
hour=0;min=0;sec=0;
armhour=0;armmin=0;armsec=0;
DelayMs(1);
IRIN=1; BEEP=1; RELAY=1;
WLED=1; DLED=1; CLED=1; YLED=1;//指示灯初始化
Adjust_Res(0x5f); //调整18B20的分辨率 0x1f:0.5; 0x3f:0.25; 0x5f:0.125
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -