微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机c语言求助

单片机c语言求助

时间:10-02 整理:3721RD 点击:
P3.4口是一个按键,p1.0是一个发光二极管,我想按一下灯就亮,再按一下就灭,求一个程序文件。

#include"reg52.h"
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit KEY = P3^4;
sbit LED = P1^0;
void delay_ms()
{
//自己写
}
void main(void)
{
   
     if(KEY  == 0)
{
}
}

没写完
if(KEY == 0)
{
    LED = 0;
}
else
{
   LED = 1;
}

楼上的程序,KEY是不复位的吧,假如是自复位的要怎么写,能实现吗

要添加WHILE(KEY == 0);语句,保持按键信号

那就检测上升沿或者下降沿罗,然后计数,2种情况

if(key==0)
{
    a++;
     if(a==1)
     {灯亮}
     if(a==2)
      {灯灭
        a=0;}
}
  大概是这样 延时之类的自己加。

更简单的是使用 ~ 符合

好!

谢谢分享,谢谢分享

- -  哪有那么麻烦,每检测一次按键,就把IO口翻转一次就行了。检测啥边沿。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top