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

📄 system.h

📁 一体化锁主程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#define T0_VALUE (0x100-(FOSC/1200 * T0_TIME/10000))  //定时计算器0基数
#define TH0_VALUE (T0_VALUE&0x00FF)                   //将T0_VALUE给TH0_VALUE
#define TL0_VALUE (T0_VALUE&0x00FF)                   //将T0_VALUE给TL0_VALUE             */
/* 工作方式3,8位定时器,晶振11.0592M,最大定时时间276uS
#define TMOD_VALUE0 0x03                              //GATE=0,C/T=0,M1=1,M0=1;
#define T0_TIME0 250                                  //定时时间250uS
#define T0_VALUE0 (0x100-(FOSC/1200 * T0_TIME0/10000))//定时计算器0基数
#define TL0_VALUE (T0_VALUE0&0x00FF)                  //将T0_VALUE给TL0_VALUE
#define T0_TIME1 250                                  //定时时间250us
#define T0_VALUE1 (0x100-(FOSC/1200 * T0_TIME1/10000))//定时计算器0基数
#define TH0_VALUE (T0_VALUE1&0x00FF)                  //将T0_VALUE给TH0_VALUE             */

/*定时器1*/
/* 工作方式1,13位定时器,晶振11.0592M,最大定时时间8.88mS
#define TMOD_VALUE1 0x00                              //GATE=0,C/T=0,M1=0,M0=0;
#define T1_TIME 5                                     //定时时间5mS
#define T1_VALUE (0x2000-(FOSC/12 * T1_TIME/1000))    //定时计算器1基数
#define TH1_VALUE ((T1_VALUE>>5)&0x00FF)              //右移五位,将T1_VALUE高八位给TH1_VALUE
#define TL1_VALUE ((T1_VALUE<<3)&0x00FF)              //左移三位,将T1_VALUE低五位给TL1_VALUE*/
/* 工作方式1,16位定时器,晶振11.0592M,最大定时时间71.11mS
#define TMOD_VALUE1 0x10                              //GATE=0,C/T=0,M1=0,M0=1;
#define T1_TIME 50                                    //定时时间50mS
#define T1_VALUE (0x10000-(FOSC/12 * T1_TIME/1000))   //定时计算器1基数
#define TH1_VALUE ((T1_VALUE>>8)&0x00FF)              //右移八位,将T1_VALUE高八位给TH1_VALUE
#define TL1_VALUE (T1_VALUE&0x00FF)                   //将T1_VALUE低八位给TL1_VALUE       */
/* 工作方式2,8位自动重装定时器,晶振11.0592M,最大定时时间276uS
#define TMOD_VALUE1 0x20                              //GATE=0,C/T=0,M1=1,M0=0;
#define T1_TIME 250                                   //定时时间250uS
#define T1_VALUE (0x100-(FOSC/1200 * T1_TIME/10000))  //定时计算器1基数
#define TH1_VALUE (T1_VALUE&0x00FF)                   //将T1_VALUE给TH1_VALUE
#define TL1_VALUE (T1_VALUE&0x00FF)                   //将T1_VALUE给TL1_VALUE             */

/*定时器2*/
/* 工作方式0,16位自动重装,CP_RL2=0,定时器2溢出或T2EX从1到0的负跳变自动重装(EXEN2=1)
C_T2=0,定时,晶振11.0592M,最大定时时间71.11mS
C_T2=1,记数       */
#define T2CON_VALUE 0x00                              //定时器2控制寄存器初值
#define T2_TIME 50                                    //定时时间50mS
#define T2_VALUE (0x10000-(FOSC/12 * T2_TIME/1000))   //计算定时器2基数
#define TH2_VALUE ((T2_VALUE>>8)&0x00FF)              //右移八位,将T2_VALUE高八位给TH2_VALUE
#define TL2_VALUE (T2_VALUE&0x00FF)                   //将T2_VALUE低八位给TL2_VALUE
#define RCAP2H_VALUE ((T2_VALUE>>8)&0x00FF)           //右移八位,将T2_VALUE高八位给RCAP2H_VALUE
#define RCAP2L_VALUE (T2_VALUE&0x00FF)                //将T2_VALUE低八位给RCAP2L_VALUE
/* 工作方式1,16位捕获,CP_RL2=1,EXEN2=1,T2EX从1到0的负跳变将TL2和TH2的值捕获到RCAP2L和RCAP2H里
C_T2=0,定时,晶振11.0592M,最大定时时间71.11mS
C_T2=1,记数  */
//#define TH2_VALUE 0
//#define TL2_VALUE 0
//#define RCAP2H_VALUE 0
//#define RCAP2L_VALUE 0

/*定时器2作时钟输出,P1.0作为输出,晶振11.0592M,最大周期23.7mS,最小频率42.1875HZ
#define T2CON_VALUE 0x00                              //定时器2控制寄存器初值
#define T2MOD_VALUE 0x02                              //定时器2输出使能
#define T2_TIME 20                                    //定时器2输出周期20mS
#define T2_VALUE (0x10000-(FOSC/4 * T2_TIME/1000))    //计算定时器2基数
#define TH2_VALUE ((T2_VALUE>>8)&0x00FF)              //右移八位,将T2_VALUE高八位给TH2_VALUE
#define TL2_VALUE (T2_VALUE&0x00FF)                   //将T2_VALUE低八位给TL2_VALUE
#define RCAP2H_VALUE ((T2_VALUE>>8)&0x00FF)           //右移八位,将T2_VALUE高八位给RCAP2H_VALUE
#define RCAP2L_VALUE (T2_VALUE&0x00FF)                //将T2_VALUE低八位给RCAP2L_VALUE       */

/*串口*/
/*定时器1作波特率发生器,波特率不倍增,晶振11.0592M,最大波特率28800                       */
#define PCON_VALUE 0x7F                               //PCON &=0x7F; //波特率不倍增
#define SCON_VALUE 0x50                               //八位可变波特率,无奇偶校验,接收使能
//#define SCON_VALUE 0x40                             //八位可变波特率,无奇偶校验,接收禁止
#define TMOD_VALUE 0x20                               //定时器1,8位自动重装
#define T1_bps 9600                                   //波特率9600
#define TH1_VALUE (0x100-(FOSC/32/12/T1_bps))         //TH1装初值
#define TL1_VALUE (0x100-(FOSC/32/12/T1_bps))         //TL1装初值
/*定时器1作波特率发生器,波特率倍增,晶振11.0592M,最大波特率57600
#define PCON_VALUE 0x80                               //PCON |=0x80; //波特率倍增
#define SCON_VALUE 0x50                               //八位可变波特率,无奇偶校验,接收使能
//#define SCON_VALUE 0x40                             //八位可变波特率,无奇偶校验,接收禁止
#define TMOD_VALUE 0x20                               //定时器1,8位自动重装
#define T1_bps 9600                                   //波特率9600
#define TH1_VALUE (0x100-(FOSC * 2/32/12/T1_bps))     //TH1装初值
#define TL1_VALUE (0x100-(FOSC * 2/32/12/T1_bps))     //TL1装初值                       */

/*定时器2作波特率发生器,波特率不倍增,晶振11.0592M,最大波特率28800
#define SCON_VALUE 0x50                               //八位可变波特率,无奇偶校验,接收使能
//#define SCON_VALUE 0x40                             //八位可变波特率,无奇偶校验,接收禁止
#define T2CON_VALUE 0x30                              //TCLK=1;RCLK=1;
#define T2_bps 9600                                   //波特率9600
#define T2_VALUE (0x10000-(FOSC/32/T2_bps))           //计算定时器2基数
#define TH2_VALUE ((T2_VALUE>>8)&0x00FF)              //右移八位,将T2_VALUE高八位给TH2_VALUE
#define TL2_VALUE (T2_VALUE&0x00FF)                   //将T2_VALUE低八位给TL2_VALUE
#define RCAP2H_VALUE ((T2_VALUE>>8)&0x00FF)           //右移八位,将T2_VALUE高八位给RCAP2H_VALUE
#define RCAP2L_VALUE (T2_VALUE&0x00FF)                //将T2_VALUE低八位给RCAP2L_VALUE       */

/***********************************************************************************
函数名称:AT24C128_write()
功能描述:24C128写数据子程序
参    数:AT24C128_address:24C128地址
          dat_address:24C128数据地址
          *dat:数据指针
          n:数据长度
***********************************************************************************/
bit AT24C128_write(unsigned int data dat_address,unsigned char *dat,unsigned char data n);
/***********************************************************************************
函数名称:AT24C128_read()
功能描述:24C128读数据子程序
参    数:AT24C128_address:24C128地址
          dat_address:24C128数据地址
          *dat:数据指针
          n:数据长度
***********************************************************************************/
bit AT24C128_read(unsigned int data dat_address,unsigned char *dat,unsigned int data n);
/***********************************************************************************
函数名称:asc_hex()
功能描述:ASCII码转十六进制子程序
函数参数:asc
***********************************************************************************/
UINT8 asc_hex(UINT8 uData);
/***********************************************************************************
函数名称:hex_asc()
功能描述:十六进制转ASCII码子程序
函数参数:hex
***********************************************************************************/
UINT8 hex_asc(UINT8 uData);
/***********************************************************************************
函数名称:uart_send_byte()
功能:串口发送函数
函数参数:udata:发送的数据
***********************************************************************************/
void uart_send_byte(UINT8 udata);
/***********************************************************************************
函数名称:uart_send()
功能:串口发送函数
函数参数:*send_buf:发送的数据
**********************************************************************************
void uart_send(UINT8 *send_buf);*/
/***********************************************************************************
函数名称:uart_send1()
功能:串口发送函数
函数参数:*send_buf:发送的数据
         n:数据个数
***********************************************************************************/
void uart_send1(UINT8 *send_buf,UINT16 n);


bit getspi(UINT8 *buf,UINT8 n);



void write_systime();                           //写系统时间函数
UINT8 read_time_byte(UINT8 addr);               //读1302
void write_time_byte(UINT8 addr,UINT8 tdata);   //写1302

/***********************************************************************************
函数名称:control()
功能描述:控制子程序
参    数:无
***********************************************************************************/
void control(void);
void control2(void);

/***********************************************************************************
函数名称:sys_init()
功能描述:系统初始化子程序
参    数:无
***********************************************************************************/
void sys_init(void);

#endif

⌨️ 快捷键说明

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