📄 system.h
字号:
#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 + -