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

📄 macro_8bit_mcu.h

📁 用单片机做的PWM可变的控制LED亮度的小软件
💻 H
字号:
////////////////////////////////////////////////////////////////////////////////
// Copyright(C) Gniy.Liu RHOSON, Crop. 2007-2008
// Filename: macro_8bit_mcu.h
// Description: Macros function in common use.
////////////////////////////////////////////////////////////////////////////////

#ifndef _MACRO_8BIT_MCU_H
#define _MACRO_8BIT_MCU_H


#define SET_BIT(var,bitPos)   ( var|=(1<<bitPos) )
#define GET_BIT(var,bitPos)   ( (var&(1<<bitPos))?(1):(0) )	//	( var&(1<<bitPos) )
#define CLR_BIT(var,bitPos)   ( var&=(0xff-(1<<bitPos)) )
#define COMP_BIT(var,bitPos)  ( var^=(1<<bitPos))


#define COMPOSE_2CHARS(high_char,low_char)	(unsigned int)((high_char<<8)+low_char)
#define HIBYTE(x)	(((unsigned int)(x))>>8)
#define LOBYTE(x)	(((unsigned int)(x))&0xff)

#define MAX_VALUE(a,b)    (((a) > (b)) ? (a) : (b))
#define MIN_VALUE(a,b)    (((a) < (b)) ? (a) : (b))

/*
read pin status to store in bit
_TIM:a U08 variable.
_TOL:a U08 const. Max value 0x7f,Min value 0x10
_BIT:a bit variable.
_PIN:pin which you want to read.
*/
#define RD_PIN_STAT(_TIM, _TOL, _BIT, _PIN)\
    if(_PIN)\
    {\
      if(_TIM<0x80) _TIM=0x80;\
      else if(_TIM<(0x80+_TOL)) ++_TIM;\
      if(_TIM>=(0x80+_TOL)) _BIT=1;\
    }\
    else\
    {\
      if(_TIM>0x80) _TIM=0x80;\
      else if(_TIM>(0x80-_TOL)) --_TIM;\
      if(_TIM<=(0x80-_TOL)) _BIT=0;\
    }


#endif    //  #ifndef _MACRO_8BIT_MCU_H

⌨️ 快捷键说明

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