急求用C语言给我翻译个程序哦 弄出来的试验成功给充30元话费

2019-03-24 19:02发布

我的板子:LED1=1 代表LED1不亮 LED1=0 代表LED1亮
                  key3=0代表按下三号键


我的程序:当按下key3时:如果LED1=1--不操作
                                          如果LED2=0--另LED2灭、当抬起key3时候还让LED2亮

                 或者
                 当按下key3时:如果LED2=1---不操作
                                          如果LED1=0--另LED1灭、当抬起key3时候还让LED1亮

如有弄出来我实验成功的立马给冲30元话费



                                          


、 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zca123
1楼-- · 2019-03-25 01:13
#include <reg52.h>
typedef unsigned char  uchar ;
typedef unsigned int   uint ;

sbit KEY_3=P3^2;
sbit LED_1=P1^2;
sbit LED_2=P1^3;

void delay_ms(uint);

uchar temp;//用于保存key3未按下时LED的状态,抬起时把这个值给回P1口。

void delay_ms(uint xms)
{
    uint i,j;
    for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
}

void KEY()
{
       
        if( KEY_3 == 0 )       
        {
                delay_ms(20);                   //20毫秒软件防抖
                if(KEY_3 == 0)
                {
                        temp = P1;
                        LED_1 = 1;
                        LED_2 = 1;
                       
                }
                delay_ms(200);                        //延时0.2秒再进行下次按键的检测
        }
        if( KEY_3 == 1 )       
        {
                delay_ms(20);                   //20毫秒软件防抖
                if(KEY_3 == 1)
                {
                        P1 = temp;
                       
                }
                delay_ms(200);                        //延时0.2秒再进行下次按键的检测
        }       
}

void main()
{
temp = P1;
while(1)
{
       
        KEY();

}

}
jishuaihu
2楼-- · 2019-03-25 06:15
zhq468
3楼-- · 2019-03-25 06:34
敢问楼主在做什么
李晓航Elijah
4楼-- · 2019-03-25 07:08
沙发你动作好快呀!!!
zca123
5楼-- · 2019-03-25 09:44
 精彩回答 2  元偷偷看……

一周热门 更多>