keil 51单片机 怎么把a1=0,a2=1,a3=1,a4=0合并成a=0110.

a1a2a3……都是sbita1=P1^1的写到这里想把a1到a8合并成一个数a,然后下面写成switch(a),请问要怎么定义a?恳求说详细点,因为我很新手的。swit... a1 a2 a3……都是sbit a1=P1^1的

写到这里想把a1到a8合并成一个数a,然后下面写成switch(a),请问要怎么定义a?恳求说详细点,因为我很新手的。

switch(a1a2a3a4a5a6a7a8)
{
case(00001110): n=0;break;
case(00001101): n=4;break;
case(00001011): n=8;break;
case(00000111): n=12;break;
}
展开
 我来答
三心全乱
2014-01-22 · TA获得超过6158个赞
知道小有建树答主
回答量:518
采纳率:100%
帮助的人:212万
展开全部
我在另一个问题里回复了,用union,难道行不通吗?
http://zhidao.baidu.com/question/303525150813108844.html?oldq=1
更多追问追答
追问
嗯,那些a1a2a3a4都是单片机IO口的位变量,好像不能那样算。
不过非常感谢你啦。真的非常感谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-22
展开全部
//C语言基础:
a=P1;//顺序改改
switch(a)
{
case(0x0e): n=0;break;case(0x0c): n=4;break;case(0x0b): n=8;break;case(0x07): n=12;break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花果木子
2014-01-27 · 超过13用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:48.4万
展开全部
试试这个:A = ((a1<<4) | (a2<<3) | (a3 <<2) |( a3<<1) | a4);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友62d6b0d88
2014-01-26 · TA获得超过206个赞
知道小有建树答主
回答量:246
采纳率:100%
帮助的人:112万
展开全部
方法已经很全了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式