📄 hardconfig.h
字号:
/********************************************************/
/*文件名: */
/*功能: */
/*编写: */
/*建立时间:
/*修改纪录: */
/********************************************************/
#ifndef __HARDCONFIG_H__
#define __HARDCONFIG_H__
#include <reg52.h>
#include <intrins.h>
#include <cpudef.h>
#include "display.h"
/************在此选择使能的外设***********************/
//#define Timer0
#define Timer1
#define Uart
//=======================================================
#define None 0
#define EVN 1
#define ODD 2
#define Fosc 11059200 //定义系统工作频率
#define Band 9600 //定义串口波特率 ,0代表不使用串口
#define VerifyBit None
#define Double 1 //倍速定义,值为1,12时钟,值为2为6时钟
#define OnemsData (Fosc/12/1000*Double) /*计算出定时时间为1MS的计数值*/
#define EnableInterrupt() EA=1
#define DisableInterrupt() EA=0
#define StartTimer0() TR0=1
#define StartTimer1() TR1=1
#define StartTimer2() TR2=1
#define StopTimer0() TR0=0
#define StopTimer1() TR1=0
#define StopTimer2() TR2=0
#define SetTimerMode() TMOD = 0X11 //设置定时器0和1为工作方式1
#define EnableUart() ES=1
#define DisableUart() ES=0
//=======================================================
//计算定时器初值
extern INT16U GetTimerValue(INT8U TimeMs);
//=======================================================
#ifdef Timer0
#define Timer0SetTime 2 //单位毫秒
extern Data16B data Timer0Value;
extern void Timer0Config(DataStr16B *TimerValueDt);
#endif
//=======================================================
#ifdef Timer1
#define Timer1SetTime 2 //单位毫秒,因系统秒计时为200毫秒一次,如果想保证秒时钟的准确性,应设定为200的约数
extern Data16B data Timer1Value;
extern void Timer1Config(DataStr16B *TimerValueDt);
#endif
//=======================================================
#ifdef Uart
#define UartBand 9600
//#define UartDouble //是否倍速
#if (VerifyBit==None)
#define SetUartMode() {SM0=0;SM1=1;REN=1;} //方式1
// #define SendData
#elif(VerifyBit==EVN)
#define SetUartMode() {SM0=1;SM1=1;REN=1;}
#elif(VerifyBit==ODD)
#define SetUartMode() {SM0=1;SM1=1;REN=1;}
#else
#error "VerifyBit Define Wrong,检查hardconfig.h里第27行的校验位配置 "
#endif
extern void SendDataSub(uchar UartSData);
/*接收数据,高字节最高位代表校验是否正确,1为不正确,0为正确*/
extern uint RecDataSub();
#endif
extern void HardConfigSub();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -