单片机 三个独立按键要实现六种功能,000,001,010,100,110,101,011.怎么用c语言编程。请告诉指点
3个回答
展开全部
方法有多种,一种最贴近你题意的大概是按三种键的组合不同完成不同功能:比如ABC代表三个键分别如下:
ABC=001:完成000号功能
ABC=010:完成001号功能
ABC=011:完成010号功能
ABC=100:完成011号功能
ABC=101:完成100号功能
ABC=110:完成101号功能
程序大概如下:
#include<reg51.h>
sbit A=P1^2;
sbit B=P1^1;
sbit C=P1^0;
main()
{
unsigned char ch;
EA=0;
while(1){
ch=0;
if(C==1)ch|=0x01;
if(B==1)ch|=0x02;
if(A==1)ch|=0x04;
ch&=0x07;
switch(ch){
case 0x01://完成000功能代码
break;
case 0x02://完成001功能代码
break;
case 0x03://完成010功能代码
break;
case 0x04://完成011功能代码
break;
case 0x05://完成100功能代码
break;
case 0x06://完成101功能代码
break;
default:break;
}
}
}
ABC=001:完成000号功能
ABC=010:完成001号功能
ABC=011:完成010号功能
ABC=100:完成011号功能
ABC=101:完成100号功能
ABC=110:完成101号功能
程序大概如下:
#include<reg51.h>
sbit A=P1^2;
sbit B=P1^1;
sbit C=P1^0;
main()
{
unsigned char ch;
EA=0;
while(1){
ch=0;
if(C==1)ch|=0x01;
if(B==1)ch|=0x02;
if(A==1)ch|=0x04;
ch&=0x07;
switch(ch){
case 0x01://完成000功能代码
break;
case 0x02://完成001功能代码
break;
case 0x03://完成010功能代码
break;
case 0x04://完成011功能代码
break;
case 0x05://完成100功能代码
break;
case 0x06://完成101功能代码
break;
default:break;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询