51单片机之通过按键点灯程序

单片机芯片采用ATmel公司89c52芯片。

1.流水灯电路图

2.四位按键

3.C语言代码(简单的按键控制灯的明暗)

#include <reg52.h>

sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit led8=P1^7;

sbit k1=P3^4;
sbit k2=P3^5;
sbit k3=P3^6;
sbit k4=P3^7;

void main()
{				   
  P1=0xff;

  while(1)
  {
   led1=k1;
   led2=k1;
   /* if(k1==0)
   {
    led1=0;
	led2=0;
   }
   else
   {
    led1=1;
	le12=1;
   }*/
   led3=k2;
   led4=k2;
   led5=k3;
   led6=k3;
   led7=k4;
   led8=k4;
  }
}

只有当按键按住超过一定时间,才亮灯,并且每次按键都反转指示灯的状态 

#include <reg52.h>

sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
sbit led7=P1^6;
sbit led8=P1^7;

sbit k1=P3^4;
sbit k2=P3^5;
sbit k3=P3^6;
sbit k4=P3^7;

void delay(unsigned int xms)
{
 unsigned int i,j;
 for(i=xms;i>0;i--)
   for(j=112;j>0;j--);
}

void main()
{				   
  P1=0xff;
 while(1)
 {
 if(k1==0)
 delay(5000);	//只有当按键按住时间到达5s,才点亮指示灯
 if(k1==0)
 {
  while(k1==0);
  led1=~led1;
 }
 
 }
}

 

 简单的单片机程序,首先要了解电路的各个引脚的输出,其次对应库函数编写C语言代码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值