久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2932|回復(fù): 8
收起左側(cè)

幫幫忙謝謝了30秒內(nèi)按鈕按5次以上綠燈亮如果在30秒不到5次就紅燈亮,我怎么寫都寫不好

[復(fù)制鏈接]
ID:65605 發(fā)表于 2014-10-26 18:13 來自手機(jī) | 顯示全部樓層 |閱讀模式
幫我寫一個30秒內(nèi)按鈕按5次以上綠燈亮如果在30秒不到5次就紅燈亮,我怎么寫都寫不好
回復(fù)

使用道具 舉報

ID:44262 發(fā)表于 2014-10-26 20:01 來自手機(jī) | 顯示全部樓層
程序帖上來看看
回復(fù)

使用道具 舉報

ID:65605 發(fā)表于 2014-10-26 20:34 來自手機(jī) | 顯示全部樓層
#include<reg52.h> #define uint unsigned int unsigned long temp,temp1,temp2; sbit k1=P1^0; sbit LED=P0^0;          //LED1燈 void delay(uint z)    {       uint x,y;       for(x=z;x>0;x--)       for(y=110;y>0;y--);    } void main() {      k1=0;          LED=0;          temp=0;          temp1=0;          temp2=0;   while(1)    {       if(temp2==1)       temp++;       if(temp==1000)//達(dá)到時間從新開始         {           temp=0;   //時間清零           temp2=0;           temp1=0;         }         if((k1==0)&&(temp1==0)) //第一次按下判斷            {               temp1=1;            }            else if((k1==1)&&(temp1==1))//第一次放開判斷                {                    temp1=0;                     temp2=1;//置起標(biāo)志                  }                    if((k1==0)&&(temp2==1))//第二次按下判斷                       {                          LED=1;                          temp2=0;                          temp=0;                       }    }  }
回復(fù)

使用道具 舉報

ID:65400 發(fā)表于 2014-10-26 21:56 來自手機(jī) | 顯示全部樓層
建議你建多個變量a程=,按一下a加1,30
回復(fù)

使用道具 舉報

ID:65400 發(fā)表于 2014-10-26 22:01 來自手機(jī) | 顯示全部樓層
建議你建多個變量a=0,按一下a加1,30秒到判斷a大于5就綠燈亮,a=0.否則則紅燈亮,a=0
回復(fù)

使用道具 舉報

ID:65400 發(fā)表于 2014-10-26 22:04 來自手機(jī) | 顯示全部樓層
還要最好加個按鍵消抖
回復(fù)

使用道具 舉報

ID:66840 發(fā)表于 2014-10-26 22:41 | 顯示全部樓層
#include<reg52.h>

unsigned int temp,temp1;
sbit k1=P1^0;
sbit LED=P0^0;//lLED1
sbit LED1=P0^1;//lLED2


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

void main()
{
        temp = 0;
        temp1 = 0;
        while(1)
        {
                while(k1==0)// 判斷K1是否按下
                {
                        temp++;
                        delay(1);
                        temp1++;
                        if(temp1<30000)//判斷是否在30毫秒內(nèi)
                          {
                                          if(temp >= 5) //判斷次數(shù)是否5次以上
                                        {
                                                LED =0;
                                                LED1 = 1;
                                                temp1 = 0;
                                                temp = 0;                                       
                                        }
                                        else
                                        {
                                                LED =1;
                                                LED1 = 0;                                                       
                                        }
                          }                       
                }
        }
}
回復(fù)

使用道具 舉報

ID:66840 發(fā)表于 2014-10-26 22:42 | 顯示全部樓層
希望能夠幫到你
回復(fù)

使用道具 舉報

ID:66032 發(fā)表于 2014-10-28 11:06 | 顯示全部樓層
上午剛寫了一個, 運(yùn)行還不錯
//用一個外部中斷做按5次的鍵,一個定時器來判斷30秒溢出, 如果定時器在30秒內(nèi)按了5次, 外部中斷重新賦初值,這樣防止定時器在30秒溢出,綠燈亮。反之,定時器溢出將使得紅燈亮, 用12M crystal 和數(shù)碼管+38譯碼器

#include <reg52.h>
#define   uchar unsigned char
#define   uint unsigned int

code uchar number[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uchar a[6];

sbit ENLED = P1^4;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit Green_LED =P2^0;
sbit Red_LED   =P2^1;

void timer1_init()
{
    TMOD |= 0x10;
    TMOD &= 0xdf;  
    TH1   = 0x3C;
    TL1   = 0xB0;
    TR1   = 1;
}
void interrupter_init()
{
   ET1 = 1;
   EA=1;          //諾ÖÖD¶Ï¿a
   EX0=1;         //ía2¿ÖD¶Ï0¿a
   IT0=1;         //±ßÑØ′¥·¢
}
void Scanning_Numerical_LED(void)
{
      static uchar j = 0;
        switch(j)
       {
        case 0: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;j++;P0 = number[a[0]];break;
        case 1: ADDR0 = 1;ADDR1 = 0;ADDR2 = 0;j++;P0 = number[a[1]];break;
        case 2: ADDR0 = 0;ADDR1 = 1;ADDR2 = 0;j++;P0 = number[a[2]];break;
        case 3: ADDR0 = 1;ADDR1 = 1;ADDR2 = 0;j++;P0 = number[a[3]];break;
        case 4: ADDR0 = 0;ADDR1 = 0;ADDR2 = 1;j++;P0 = number[a[4]];break;
        case 5: ADDR0 = 1;ADDR1 = 0;ADDR2 = 1;j = 0;P0 = number[a[5]];break;
        default: break;
            }
   
}

main()
{
    ENLED = 0; ADDR3 = 1;
    timer1_init();
    interrupter_init();
    while(1)
    {
       Scanning_Numerical_LED();
    }
   
}

void ISR_Key(void) interrupt 0 using 1

{
  uchar counter1;
  counter1++;
  if (counter1==5)
    {
      counter1=0;
      TH1 = 0x3C;  //50 ms setting;
      TL1 = 0xB0;
    }

}

void interrupt_timer1() interrupt 3
{
      uint sec;
      uchar counter;
      TH1 = 0x3C;  //50 ms setting;
      TL1 = 0xB0;
      counter++;
      if(counter ==20)
      {
        counter = 0;
        sec++;
        if (sec>=30)
           Red_LED=1;
        else Green_LED=1;
        if (sec==1000)
            sec=0;

        a[0] = sec%10;
        a[1] = sec/10%10;
        a[2] = sec/100%10;
        a[3] = sec/1000%10;
        a[4] = sec/10000%10;
        a[5] = sec/100000%10;
      }
                                         
}
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久亚洲 | 成人在线观看免费爱爱 | 亚洲成人一级 | 国产高清在线精品一区二区三区 | 日韩中文字幕av | 91久久久精品国产一区二区蜜臀 | 国产精品久久久久久久7777 | 91福利影院| 成人免费视频播放 | 91亚洲免费 | 亚洲一一在线 | 最新国产精品视频 | www.国产视频 | 免费看av大片 | 欧美一级视频在线观看 | 九九色综合| 羞羞视频免费观 | 日韩有码一区二区三区 | 日日操夜夜干 | 在线亚洲免费视频 | 成人欧美一区二区三区1314 | 91久久| 国产精品精品视频 | 亚洲天堂影院 | 久久精品视频在线播放 | 久久99精品久久久久 | 手机在线观看av | www.日本精品 | 国产精品久久久久久吹潮日韩动画 | 欧美在线a | 日韩伦理一区二区 | 成人亚洲视频 | 成人免费看黄 | 欧美中文字幕一区二区 | 欧洲高清转码区一二区 | 午夜三区 | 最新中文字幕第一页视频 | 在线中文字幕视频 | 99在线资源| 一二三区视频 | 99精品久久久久久中文字幕 |