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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2744|回復: 0
打印 上一主題 下一主題
收起左側

求大神幫忙修改stc15f104e單片機的按鍵延時程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:152164 發表于 2017-6-2 20:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


本人單片機小,研究了好幾天也沒成功。
求大神幫忙修改程序。如果發錯地方了還請斑竹原諒下。
要求1:通電一直打開繼電器,按下按鍵立刻關閉繼電器并于6秒(可源碼修改時間)后打開繼電器。
要求2:按鍵按著不放只執行1次“要求1”。
要求3:按鍵一直放開5秒(可源碼修改時間)后才能重新執行“要求1”;5秒內再次按鍵不能執行“要求1”,松開按鍵后并重新計時。

現在問題就出在 要求3上,求幫助,先謝謝大家了
#include <STC15F104E.H>

sbit OUT1=P3^2;         
sbit OUT2=P3^3;        
sbit IN0=P3^4;

unsigned char counter_100ms = 0;
unsigned char counter_poweron = 0;
unsigned char counter_poweroff = 0;
bit pressdown_flag = 0;

void Timer0Init(void)         //100毫秒@6.000MHz
{
  AUXR &= 0x7F;         //定時器時鐘12T模式
  TMOD &= 0xF0;         //設置定時器模式
  TL0 = 0xB0;         //設置定時初值
  TH0 = 0x3C;         //設置定時初值
  TF0 = 0;         //清除TF0標志
  TR0 = 1;         //定時器0開始計時
  ET0 = 1;    //使能定時器0中斷
  EA = 1;
}

void tm0_isr() interrupt 1 using 1
{
  counter_100ms++;
  if (counter_100ms >= 10)
  {
    counter_100ms = 0;
    counter_poweron++;
    counter_poweroff++;
  }

  if (counter_poweron >= 6)
    counter_poweron =6;        

  if (counter_poweroff >= 5)
    counter_poweroff =5;        
}

void delay40ms(void)        //@6.000MHz
{
    unsigned char i, j, k;

    i = 1;
    j = 234;
    k = 113;
    do
    {
        do
        {
            while (--k);
        } while (--j);
    } while (--i);
}

void main()
{
  OUT1=0;         
  OUT2=0;        
  Timer0Init();

  for(;;)
  {
  if ((IN0 == 0)&&(pressdown_flag == 0))//按下腳踏
    {
      delay40ms();
      if ((IN0 == 0)&&(pressdown_flag == 0))
        {
        pressdown_flag = 1;
        counter_poweron = 0;
        OUT1=1;         
        OUT2=1;
        }
    }

  if (counter_poweron == 6)
    {
    OUT1=0;         
    OUT2=0;
    }

  if (IN0 == 1)//松開腳踏
    {
    delay40ms();
    if (IN0 == 1)
      {        
      //counter_poweroff = 0; //問題所在:清零就不能再次觸發,不清零就會 當無信號時沒有延時立刻觸發
      if (counter_poweroff == 5)
        {
        pressdown_flag = 0;
              }        
      }        
    }        
  }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久精品一区 | 欧美不卡一区 | 热re99久久精品国产99热 | 欧美成人hd| 国产日韩欧美激情 | 日本精品一区二区三区在线观看视频 | www久久爱| 亚洲精品乱码久久久久久久久 | 韩日一区二区三区 | 国产在线精品一区二区三区 | 日韩黄色av | 久久一二 | 亚洲视频一区 | 亚洲精品久久久久久久不卡四虎 | 亚洲韩国精品 | 久久一级 | 日韩欧美在线一区 | 中文字幕综合 | 国产精品一区在线 | 亚洲97 | 在线视频亚洲 | 综合久久综合久久 | 国产精品精品视频一区二区三区 | 91在线精品一区二区 | 久草网站| 羞羞的视频在线观看 | 国产精品一区二区不卡 | 国产精品久久久久久高潮 | 在线看亚洲 | 美女视频一区 | 99精品免费在线观看 | 日韩欧美国产精品一区二区 | 国产精品亚洲一区二区三区在线 | 99综合网| 免费同性女女aaa免费网站 | 久久久久久精 | 久久精品视频播放 | 精品国产一区二区国模嫣然 | 亚洲欧洲精品在线 | 黄频视频| 91伊人网 |