单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED暗!循环
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。
2、编写相应的代码:#include<reg52.h> //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数{ while(1) //无限循环 {led=0x1f; //点亮前面三个灯。这里是十六进制的换算, //不懂得可以查一下资料 }。
3、打开烧写软件,点击【打开文件】,寻找刚刚编写的程序。
4、找到相应的文件夹以后,寻找HEX文件。这是所能烧写软件识别的程序。
5、找到程序以后,将单片机连接到电脑,并点击程序下载,将程序烧写进单片机。
6、程序下载进单片机以后就能够看到八个led点亮了前面三个。
你要什么单片机。
我这里只能用51单片机(晶振11.0592Mhz)演示
比如我将按钮连P1.6,led连P1.7。如下图:
那你代码里,只要写一个延迟函数,主函数循环检查按钮,按钮弹起时P1.7取反就行。
//大致代码如下:
#include <reg52.h>
sbit k1=P1^6;
sbit led=P1^7;
void delay(uint xms);
void main()
{
while(1)
{
if(k1==0)
{
delay(5);
if(k1==0)
{
while(k1==0);
led=~led;
}
}
}
}
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}