p5_2.c

来自「单片机原理与应用实例教程 单片机原理与应用实例教程」· C语言 代码 · 共 49 行

C
49
字号
#define uchar unsigned char

//功能:将buff中的第num位设置为1
//返回:设置后的新数据
uchar bitset(uchar buff, uchar num) /*设置某一位*/
{
	uchar bit_value[]={1,2,4,8,16,32,64,128};
	return buff | bit_value[num];
}

//功能:将buff中的第num位清0
//返回:设置后的新数据
uchar bitclr(uchar buff, uchar num) /*清除某一位*/
{
	uchar bit_value[]={1,2,4,8,16,32,64,128};
	return ( buff & (~bit_value[num]) );
}

//功能:将data中的第num位清0
//返回:设置后的新数据
uchar bitcpy(uchar buff, uchar num, uchar b)
{
	if( b == 1 )
		return bitset( buff, num );
	else
		return bitclr( buff, num );
}

uchar bitget(uchar buff,uchar num) 
{ 
	if(  ((buff>>num) & 0x01) ==1 )
		return 1;
	else
		return 0;
}


main(){
	uchar data* pRAM = 0x00;
	uchar temp, b7, b3;
	temp 	= pRAM[0x40];
	b7 		= bitget( temp, 7 );
	b3 		= bitget( temp, 3 );
	temp 	= bitcpy( temp, 7, b3 );
	temp 	= bitcpy( temp, 3, b7 );
	pRAM[0x41] = temp;
}
	

⌨️ 快捷键说明

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