1. 用c语言编写51单片机三个开关控制八个LED灯的点亮,开关接P3端口,LED接P1端口
虽然编程51单片机。而且让每个LED灯都亮得非常好。这可太好了问题。这个技术应该有专门的负责人员来搞定。
2. 求51单片机C语言,一个板子上完成一部分三个开关分别控制三个led灯光亮灭(不是流水灯),
#include<reg51.h>
sbitled1=P1^0;
sbitled2=P1^1;
sbitled3=P1^2;
sbitkey1=P1^4;
sbitkey2=P1^5;
sbitkey3=P1^6;
main()
{
while(1)
{
led1=key1;
led2=key2;
led3=key3;
}
}
3. C语言两个开关控制两个灯,两开关全部闭合灯都不亮,一开一关只有一个灯亮(开关相联
if a=1&b=1
c =0 d= 0
else if a|b=1
c=0 d=1 (c=1 d=0)
else c=1 d= 1
switch((a<<1)|b)
case 00:
case 01:
case 10:
case 11:
4. 单片机c语言,用四个个开关控制led显示0~f,这个怎么写啊
假设P0的低4位接4 个开关,P1接一个数码管,程序大体如下:
include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num=0;
//共阴数码管七段码
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,.......};
void delay1ms(uint i) //1ms延时程序
{uint j;
for(;i>0;i--){
for(j=0;j<164;j++)
{;} }
}
void main(void )//主程序
{
while(1)
{
num=table(0x0f&P0);
P1=num;
delay1ms(2);
}
}
5. 急求51单片机c语言四个开关控制四个灯!(单灯闪烁)
程序的思路如下:(假设你的LED依序连接到51的I/O口,键盘也连接到对应的I/O)
在51的主循环里面加入一个判断语句,是否有按键按下,之后软件除抖,调用相应的子功能函数即可.
6. 单片机c语言多个开关优先选择问题
整理如下:
当p0.1口输入低电平(持续时间8秒左右)情况下,
如果p0.2出现低电平,即后面不做任何操作。
当p0.1口输入低电平(持续时间8秒左右)情况下,
如果p0.2不出现低电平,
当p0.3出现低电平后,即进行p0.4的赋值和延时输出操作;
p0.3不出现低电平即不对p0.4操作。
等到p0.1口的低电平消失后,又继续进行下一次重复的。
程序结构如下:
START:
IF(P0.1 == 1)GOTOSTART;
延时次数 = 0;
LP1:
延时 10ms;
IF(P0.1 == 1)GOTOSTART;
延时次数++;
IF (延时次数 < 800)GOTOLP1;
//以上,就确认了:P0.1输入低电平持续8秒左右
IF ((P0.2 == 1)AND(P0.3 == 0))
//如果p0.2不出现低电平,p0.3出现低电平后
P0.4 = 0;延时 10ms;
//即进行p0.4的赋值和延时输出操作;
LP2:
IF(P0.1 == 1)GOTOLP2
//等到p0.1口的低电平消失,
GOTOSTART;
//又继续进行下一次重复的
别忘了采纳。
7. 两个开关控制一盏灯用C语言或者使用汇编语言编写怎么写 急急急急 非常感谢
不难啊,你要说出逻辑,怎么控制才能用C语言实现啊。
我写一段程序,来表示“任意开关按一下就亮,再按一下就灭”的吧
boolen switchA,switchB,preswitchA,preswitchB;
boolen Lightstatus;//1亮,2灭
void main()
{
while(1)
{
if(switchA ! = preswitchA)
{
Lightstatus = (!Lightstatus);
preswitchA = switchA ;
}
if(switchB ! = preswitchB)
{
Lightstatus = (!Lightstatus);
preswitchB= switchB;
}
}
8. C语言三开关控制一盏灯亮灭
在组成原理中,这个就是一个 触发器 外面接一个开关……
写真值表然后就很容易出来啊 !
观楼主英俊潇洒、风流倜傥,必当世之豪杰,诚邀楼主加入0x30网络贴吧,共商义举,成千秋霸业。
s1s2s3f
0000
0010
0100
0110
1000
1110
1011
1101
这样我们就可以写出逻辑表达式来了。
#include<iostream>
usingnamespacestd;
intmain()
{
ints1,s2,s3;
constS1_BREAK=100;//用于跳出循环的
do{
cin>>s1>>s2>>s3;
if(s1&&((!s2&&s3)||(s2&&!s3))){
cout<<"on"<<endl;
}else{
cout<<"off"<<endl;
}
if(s1==S1_BREAK)break;
}while(true);
return0;
}
运算结果: