帮忙设计一个单片机程序,内容如下: S1和S2为开关 当S2闭合时S1开始检测,S1检测为断开输出D1,S1检测闭
帮忙设计一个单片机程序,内容如下:S1和S2,S3为开关当S1闭合时S2和S3开始检测,S2检测为断开输出D1,S2检测闭合输出D2,S3检测检测断开输出D2,S3检测闭...
帮忙设计一个单片机程序,内容如下: S1和S2,S3为开关 当S1闭合时S2和S3开始检测,S2检测为断开输出D1,S2检测闭合输出D2 ,S3检测检测断开输出D2,S3检测闭合输出D1 ,当S2和S3同时断开输出D3,S2和S3不存在同时闭合.
描述思路即可. 展开
描述思路即可. 展开
3个回答
展开全部
#inlcude<...>//不知道你用的是什么的单片机
#define S1 P1^0;
#define S2 P1^1;
#define S3 P1^2;
#define D1 P1^3;
#define D2 P1^4;
#define D3 P1^5;
void main()
{
if(S1==0)
//检测开关S1是否闭合(如果S1接GND的话,闭合时就是填0,如果是VCC的话就填1)
//以下同理,我都以通常的接地位标准写的
{
if(S2==0)
{
if(S3==0)
D3=1; //输出D3
else
D1=1;//输出D1
}
if(S3==0)
D2=1;//输出D2
}
}
大概就是这样了,很晚啦~我休息了,有问题call我
#define S1 P1^0;
#define S2 P1^1;
#define S3 P1^2;
#define D1 P1^3;
#define D2 P1^4;
#define D3 P1^5;
void main()
{
if(S1==0)
//检测开关S1是否闭合(如果S1接GND的话,闭合时就是填0,如果是VCC的话就填1)
//以下同理,我都以通常的接地位标准写的
{
if(S2==0)
{
if(S3==0)
D3=1; //输出D3
else
D1=1;//输出D1
}
if(S3==0)
D2=1;//输出D2
}
}
大概就是这样了,很晚啦~我休息了,有问题call我
展开全部
设开关S闭合时状态为1,如下:
;插入一下程序:
A0: JNB S1,AZ
JB S2,A2
JB S3,A3
CLR D1
CLR D2
SETB D3
LJMP AZ
A2: CLR D1
SETB D2
CLR D3
LJMP AZ
A3: SETB D1
CLR D2
CLR D3
AZ: NOP
;继续主程序........
;插入一下程序:
A0: JNB S1,AZ
JB S2,A2
JB S3,A3
CLR D1
CLR D2
SETB D3
LJMP AZ
A2: CLR D1
SETB D2
CLR D3
LJMP AZ
A3: SETB D1
CLR D2
CLR D3
AZ: NOP
;继续主程序........
追问
用C吧!汇编看不懂
追答
if(S1==0)
{
if(S2==1)
{D1=0;D2=1;D3=0;}
if(S3==1)
{D1=1;D2=0;D3=0;}
if(S2==0)
{
if(S3==0)
{D1=0;D2=0;D3=1;}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(S1==0)
{
if(S2==0||S3!=1)
m=D1;
if(S2!=1||S3==0)
m=D2;
if(S2==1&&S1==1)
m=D3;
}
这个就是思路
然后转化成具体在屏幕上怎么输出
{
if(S2==0||S3!=1)
m=D1;
if(S2!=1||S3==0)
m=D2;
if(S2==1&&S1==1)
m=D3;
}
这个就是思路
然后转化成具体在屏幕上怎么输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询