📄 marco.h
字号:
/*
*******************************************************************************
* 文件名称: macro.H *
* 当前版本: 1.0V *
* 作 者: JACK.REN *
* 完成日期: March./20/2006 *
*--------------------------------------------------*
* 取代版本: *
* 作 者: *
* 完成日期: *
*--------------------------------------------------*
*******************************************************************************
*/
#include "macro_id.H"
#include <reg51.H>
#include <intrins.h>
#define Fosc1 11059200L
#define Fosc2 22118400L
#define Fosc Fosc2
// isp监测端口
sbit ISP_OK = P1^6;
/*定义模拟232串口通讯中接收发送引脚*/
// 实际使用端口
//sbit A_RXD = P4^1;
//sbit A_TXD = P4^3;
// 调试使用端口
sbit A_RXD = P3^0;
sbit A_TXD = P3^1;
#define InitAUART232_IO() A_RXD = A_TXD = 1;
//定时器timer0在不产生中断时,作为波特率的计数初值0
#define InitT0_reg() TR0 = 0; TL0 = TH0 = 0;
#if (Fosc == Fosc1)
//9600bps 就是 1000000/9600=104.167微秒 执行的timer是104.167*11.0592/12= 96
//定时器timer0在不产生中断时,作为波特率的计数终值192
#define UART_baudrate 12 //(96/7)-1
#else
//9600bps 就是 1000000/9600=104.167微秒 执行的timer是104.167*22.1184/12= 192
//定时器timer0在不产生中断时,作为波特率的计数终值192
#define UART_baudrate 24//default 192
#endif
#define BaudrateDelay( Val ) while((Val)--);
// 定义IO端口模拟UART232接收状态标志位
bit IO_UART_Get_FlagReg;
// IO_UART_Get_FlagReg = 0模拟UART232接收正确;
// IO_UART_Get_FlagReg = 0模拟UART232接收失败;
#define IO_UART_Get_OK 0
#define IO_UART_Get_Err 1
// 定义IO端口模拟UART232发送状态标志位
bit IO_UART_Send_FlagReg;
// IO_UART_Send_FlagReg = 0模拟UART232发送正确;
// IO_UART_Send_FlagReg = 0模拟UART232发送失败;
#define IO_UART_Send_OK 0
#define IO_UART_Send_Err 1
// 宏定义对TIMER_0 进行初始化
//定时器1为工作模式2(8位自动重装),0为模式2(8位自动重装)
#define T0_ModSet() TMOD = 0x02;PCON = 0x00;
//#define T0_ModSet() TMOD %= 0xF0;TMOD |= 0x02;PCON = 0x00;
// 保护定时器timer 0
uint_8 xdata iTL0, iTH0,iTMOD,iPCON;
bit iTR0,iET0;
// 保护定时器timer 0现在状态
#define PUSH_TIMER_0() iTR0 = TR0;iET0 = ET0;iTMOD = TMOD,iPCON = PCON,TR0 = ET0 = 0;iTL0 = TL0;iTH0 = TH0;
// 恢复定时器timer 0进入函数时状态
#define POP_TIMER_0() TR0 = 0;TMOD = iTMOD,PCON = iPCON,TL0 = iTL0; TH0 = iTH0;TR0 = iTR0;ET0 = iET0;
// CPU Interrupt macros define
#define En_CPU_ISR() EA = 1
#define Dis_CPU_ISR() EA = 0
// Timer 0 macros define
#define T0_INTFlag F0
#define Enable_T0() ET0 = 1
#define Disable_T0() ER0 = 0
#define Start_T0() TR0 = 1
#define Stop_T0() TR0 = 0
// Timer 2 macros define
#define Enable_T2() ET2 = 1
#define Disable_T2() ER0 = 0
#define Start_T2() TR2 = 1
#define Stop_T2() TR2 = 0
#define T1S 10
#define T20S 160
#define T30S 300
#define T100S 2000//600
#define T1F 1
#define T2F 2
#define ErrorCode 255 //错误编码
#define EventOK 1 // 事件准备完成
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -