"); //-->
AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)
程序设计
最直接的方式:
#include<reg51.h>
sbit L1=P1^0;
sbit L2=P1^1;
sbit L3=P1^2;
sbit L4=P1^3;
sbit K1=P1^4;
sbit K2=P1^5;
sbit K3=P1^6;
sbit K4=P1^7;
void main(void)
{
while(1){
if(K1==0)
L1=0;
else
L1=1;
if(K2==0)
L2=0;
else
L2=1;
if(K3==0)
L3=0;
else
L3=1;
if(K4==0)
L4=0;
else
L4=1;
}
}
这个还有其他的形式可以实现,比如P14端口赋值后右移4次,然后与0xf0相或;
#include<reg51.h>
unsigned char temp;
void main()
{
while(1){
temp=P1>>4;
temp=temp | 0xf0;
P1=temp;
}
}
这个是一个比较简单的实验,我们可以通过多种方式来实现,不同的思路,决定不同的编程程序,也会有不同的效率。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。