- UID
- 48545
- 帖子
- 2860
- 积分
- 3564
- 威望
- 2898
- 金币
- 335102
- 贡献
- 666
- 职业
- 民用,商用,工业电器维修
- 来自
- 辽宁 沈阳
- 注册时间
- 2006-2-13
- 最后登录
- 2019-10-29
|
1#
发表于 2011-11-8 21:51
| 只看该作者
//头文件:
#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始终工作(输出为高平)
是什么原因 |
|