C语言 如何将单片机6个管脚位的值赋给一个字符型变量

P0_0

P0_1
P0_4
P0_5
P0_6
P2_1各个管脚位的值赋给一个 u8 temp变量

可以用这个字符型变量的每一个bit代表一个IO状态,比如:
Var=P0_0 | (P0_1<<1) | (P04<<2) | (P0_5<<3) | (P0_6 <<4) | (P0_6<<5);
使用时要注意:如果每次要更新不同IO状态,要先清除当前值,然后再赋新值,比如:
Var &=~ 0x01; // 先将P0_1所在的bit位清0;
Var |=P0_1<<1; //再赋值
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-23
移位加或操作即可
顺序可以随意约定
temp = P0_0<<5 | P0_1<<4 | P0_4<<3 | P0_5<<2 |P0_6<<1|P2_1
第2个回答  2013-07-23
temp = (u8)(P0_0*2 + P0_1*2*2... )

C语言 如何将单片机6个管脚位的值赋给一个字符型变量
可以用这个字符型变量的每一个bit代表一个IO状态,比如:Var=P0_0 | (P0_1<<1) | (P04<<2) | (P0_5<<3) | (P0_6 <<4) | (P0_6<<5);使用时要注意:如果每次要更新不同IO状态,要先清除当前值,然后再赋新值,比如:Var &=~ 0x01; \/\/ 先将P0_1所在的bit位清0;Var |...

c语言单片机编程中,怎样将一个串口的到得字符串赋值给一个数组
1、串口字节为:SBUF暂存数组:A[]依次将接收到的字节存入A[0],A[1],A[2],...A[n],接收完毕,存入字符串结束标识:A[N+1]=0A就代表一个字符串。如果是一串数字,要转为整数。2、例程:include<reg51.h>#define uchar unsigned charuchar A[16],num;void uart() interrupt 4{if(RI) ...

用51单片机C语言编写程序实现6位共阴极数码管循环显示0123456789ABCDEF...
\/\/数码管段选 \/* 8 9a b c def*\/code uchar wen[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf};\/\/数码管位选uchar huancun[] = {0x00,0x00,0x00,0x00,0x00,0x00};\/\/数码管段选缓存sbit duan = P2^6;\/\/段选sbit wei = P2^7;\/\/位选void delay(uchar x)\/\/延时函数...

C语言怎么把一个字母的码制赋给一个变量
printf("char: %c,num: %d\\n",ch,num);}

C语言 怎么把字符数组中的字符赋值给字符变量
(2)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如下面两句都是不合法的:str1=”Hello”;str1=str2;而只能用strcpy函数将一个字符串复制到另一个字符数组中去,赋值语句只能将一个字符赋给一个字符型变量或者字符数组元素。如下面的语句是合法的:char c[5],c1,c2;c1=’A...

c语言为变量赋值有几种方法
首先是直接赋值法,这种赋值方式是最直观和简单的。例如,我们可以将整数123赋值给一个整型变量x,即int x = 123; 或者将字符's'赋值给一个字符变量,即char c = 's'; 这种赋值方式适用于各种基本数据类型。其次是通过函数调用进行赋值,这种方式通常用于获取函数的返回值。例如,int x = fun();...

请问:单片机c语言中如何实现将变量A中某1位赋值给B中某1位的操作?
假如将A第三位赋给B第二位 对于C51架构单片机,可使用位寻址:bdata A, B;sbit a3 = A^3; \/\/位变量指向A第三位 sbit b2 = B^2;b2 = a3;对于其他任何类型单片机,可使用位操作宏(同样适用于C51):define get_bit(var, n) (var & (1<<n))define set_bit(var, n) (var |= (1...

在单片机C语言中如何对变量的某一位进行操作或赋值。
1、使用位域 在C语言中定义位域的一般格式如下:struct 位域结构名 { 位域列表 };struct:在C语言中定义位域所使用的关键字是struct。位域结构名:是一个C语言中的标识符,有字母、数字、下划线组成,而且第一个字符必须是字母或者下划线。位域列表:组其中位域列表的形式为: 类型说明符 位域名:...

c语言 怎么讲一个整形变量的值赋给一个字符型数组中的一个元素
字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m','',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中...

C语言中,可以把一个字符串赋给一个字符型变量吗?
不能,字符型变量只能接受一个字符

相似回答