⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.h

📁 时钟芯片H1380控制程序
💻 H
字号:
//sfr		AUXR	=	0x8E;						// ALE control
//sfr		AUXR1 =	0xA2;						// DPS(Select DPTR0/1)
//sfr		WDOG	=	0xA6;						// WDTRST
//#define	CLEAR_WDOG		{WDOG=0x1E;  WDOG=0xE1;}

typedef	unsigned char	BYTE;
typedef unsigned char	uchar;
typedef	unsigned int	WORD;
typedef unsigned int	uint;

//#define	Recv_buf			((BYTE volatile idata*)0xAA)	// 接收FIFO(86B)
//#define	Send_buf			((BYTE volatile idata*)0x94)	// 发送FIFO(22B)

sbit		B_LCD_A0			=	P1^7;
sbit _RET = P1^6; /*复位端*/
sbit _CS  = P1^4; /*片选端*/

uchar 	key;
uchar   time[7];
uchar   xytime[14];
uchar	bitime[7];

sbit		t_sclk				=	P1^0;
sbit		t_io				=	P1^1;
sbit		t_rst				=	P1^2;
sbit		B_VOC_LATCH			=	P1^3;
sbit		B_LCD_CS			=	P1^4;
sbit		B_PWREN				=	P3^2;			// 1=允许供电
sbit		B_RFIN				=	P3^3;
sbit		B_RF2				=	P3^4;
sbit		B_AUXOUT			=	P3^5;
sbit		B_BEEP				=	P3^6;
sbit		B_VOC_PLAY			=	P3^7;

//bit	b_Key_scan;								// 1=需要在TL0定时器中断进行键盘扫描
//bit	b_Key_chg;								// 1=键盘状态改变(需要主循环读取)
//bit	b_CommValid;							// 1=接收到有效的串行命令
//bit	b_Key_info;								// 1=需要发送键盘信息(按下或释放)
//bit	b_Send_empty;							// 1=串行发送缓冲区空(发送时直接写到SBUF)
//bit	b_Second;								// 每秒翻转一次,用于时间显示
//bit	b_VOC_delay;							// 1=语音延时播放时间到
//bit	b_ShowTime;								// 1=显示时间
//bit	b_PowerStat;							// 1=供电
//bit	b_LastPower;							// 上次电源按钮状态
//bit	b_WriteTime;							// 1=中断要求写时间
//bit	b_ReadTime;								// 1=中断要求读时间
//bit	b_UserProc;								// 1=中断要求调用用户自定义函数

//my define//						//0表示重启成功
//bit b_powercheck;					//1=隔1秒重启核心板直到核心板初始化成功
//bit b_SleepMode	;					//1=睡眠模式
//bit b_BeepMode;						//=1按键响BB  =0按键不响BB

//BYTE	Recv_r, Recv_w, Recv_len;			// 串行接收缓冲区读写指针和有效数据长度
//BYTE	Send_r, Send_w, Send_len;			// 串行发送缓冲区读写指针和有效数据长度
//BYTE	SIO_TMP,ACC_TMP;						// 串行中断变量缓冲区
//BYTE	Cmd_pointer,Cmd_stat,Cmd_buf[18];// 串行接收命令处理
//BYTE	Cmd_sum;									// 串行接收命令校验和

//BYTE	TL0_count,TL0_ACC;					// TL0中断用
//BYTE	TH0_ACC,TH0_R0;						// TH0中断用
//BYTE	Key_stat;								// 0-free  1-key pressed  2-key keep on 20 ms  3-Processed
//BYTE	Pre_key,Last_key,Key;				// if Key<>0 then Key is pressed
BYTE	BEEP_count,AUX_count,AUX_count1,VOC_count;	// 以20ms为单位
//BYTE	VOC_buf[2],VOC_delay_count;		// 延时播放语音
BYTE	Timer_20ms;
//BYTE	LastMin,Time_buf[7];					// 时间缓冲区
//BYTE    OFFstate;                             //控制设置了定时关机,一分钟内开机不会从新关机。
//BYTE    min_cnt;                              //同上。
//my define
BYTE ONmin,ONhour,OFFmin,OFFhour;//定时开机关机参数
BYTE Powertime;//重启核心板计数器1秒


//ID卡模块
BYTE	ID_buf[4];
BYTE	ID_Card_no[3],Last_Card_no[3];
BYTE 	Last_Card_time;
bit     Disable_IDcard;							
bit		b_build_In;								
bit		b_Command_In;


#define	BEEP_ON			B_BEEP=0;
#define	BEEP_OFF			B_BEEP=1;
#define	AUX_OUT_ON		B_AUXOUT=0;
#define	AUX_OUT_OFF		B_AUXOUT=1;
#define	PLAY_VOC			B_VOC_PLAY=0;
#define	STOP_VOC			B_VOC_PLAY=1;
#define	DISABLE_INT		EA=0;
#define	ENABLE_INT		EA=1;
#define	DISABLE_TH0		TR1=0;
#define	ENABLE_TH0		TR1=1;

extern void Ret_I(void);
//extern void User_Proc(void);

/*void VOC_play(void)
{
	P0=VOC_buf[0];
	B_VOC_LATCH=1;  B_VOC_LATCH=0;
	PLAY_VOC
	VOC_count=VOC_buf[1];
}*/
/*void delay(BYTE k)
{
	BYTE i,j;
  for(;k>0;k--)
	for(i=200; i>0; i--)
		for(j=200; j>0; j--);
}*/

///BYTE code VOC_index[]={0,40,7,75,19,104,35,94,51,78,62,108,79,84,93,105,110,100}; //埃及语音,女生版
//BYTE code VOC_index[]={0,28,4,56,13,78,25,70,36,48,44,76,0,0,56,68,66,90};		
BYTE code VOC_index[]={0,36,5,68,16,80,28,80,40,66,0,0,0,0,50,86,63,100};//埃及7句 //埃及语音,1110版本
/*


中文语音:

	1、谢谢
	2、密码错误
	3、非法管理
	4、ID号错误
	5、请重按手指
	6、ID号重复x
	7、记录益处x
	8、指纹重复
	9、已签到,谢谢  
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -