返回列表 回复 发帖

大家来看看这个程序

//头文件:
#include "reg51.h"
//引脚定义:
sbit key1 = P3^7; //定义按键1
sbit key2 = P3^6; //定义按键2
sbit key3 = P3^5; //定义按键3
sbit key4 = P3^4; //定义按键4
sbit key5 = P3^3; //定义按键5
sbit key6 = P3^2; //定义按键6
sbit led1 = P2^0; //定义第一个LED灯
sbit led2 = P2^1; //定义第二个LED灯
sbit led3 = P2^2; //
sbit led4 = P2^3; //
sbit led5 = P2^4; //
sbit led6 = P2^5; //
sbit JDQ = P1^4; //继电器控制引脚
sbit spk= P1^5;   //
//主函数,C语言的入口函数:
void main(void)
{
while(1){  //循环扫描按键
  if(key1==0) //按键1按下,LED1灯亮
   led1=0;
   spk=0;
  if(key2==0) //按键2按下,LED1灯灭
   led2=0;
   led6=0;
  if(key3==0) //按键3按下,LED2灯亮
   led3=0;
  if(key4==0) //按键4按下,LED2灯灭
   led4=0;
  if(key5==0){//按键5按下,两个LED灯打开
   led5=0;
  }
  if(key6==0){//按键6按下,两个LED灯关闭
   led1=1;
   led2=1;
   led3=1;
   led4=1;
   led5=1;
   spk=1;
   JDQ=1;
  }
}
}



现在是LED6和SPK始终工作(输出为高平)
是什么原因
返回列表