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

📄 hardconfig.h

📁 前两天一个朋友要我写一个51例程
💻 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 + -