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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2511|回復: 5
收起左側

STC12C5A60單片機寫的一個用定時器消抖,有點問題請指教

[復制鏈接]
ID:465279 發表于 2020-3-7 16:41 | 顯示全部樓層 |閱讀模式
定義一個按鍵和一個LED,按一下按鍵LED亮再按一下LED滅,用定時器消抖。下載后試了,可以實現但有時需要按好幾下才會亮或滅,不知是哪里代碼有問題
--------------------------------下面是main.c文件----------------------------------
#include <reg52.h>
#include <dingyi.h>
#include <timer.h>

void main(void)
{  
          LED=1;
        
   timer0();
         
         while(1){  anjian_0();   }
}


--------------------------下面是timer.c文件--------------------------------

#include <reg52.h>
#include <dingyi.h>

void anjian_0(void)
{
   if(KEY==0)
         {
            TR0  = 1;        //啟動定時器0
         }
}

void anjian_1(void)
{
        
  while(1){ if(KEY==0)    LED=~LED;   }
         
}
void timer0(void)      //配置定時器0
{
   TMOD &= 0xf0;      
         TMOD |= 0x01;    //TMOD 是定時器選擇及工作方式選擇,此是選擇定時器0工作在方式1,16位計數器
         TH0  = 0xF8;        //給高8位賦初值
         TL0  = 0xCC;         //給低8位賦初值
//         TR0  = 1;        //啟動定時器0
         ET0  = 1;        //開定時器0中斷
         EA   = 1;        //開總中斷
}

void timer0zd(void) interrupt 1    //定時器0中斷標志
{
  //static uchar i=0;
         TH0  = 0xF8;
         TL0  = 0xCC;
         LED=0;
         TR0=0;
         anjian_1();
}


回復

使用道具 舉報

ID:275826 發表于 2020-3-7 17:28 | 顯示全部樓層
看你的程序真費勁,按鍵去抖就三條語句的事情
回復

使用道具 舉報

ID:462827 發表于 2020-3-7 20:29 | 顯示全部樓層
那你這個根本無須中斷嘛,搞復雜還寫錯了去了
回復

使用道具 舉報

ID:465279 發表于 2020-3-7 21:17 | 顯示全部樓層
tyrl800 發表于 2020-3-7 17:28
看你的程序真費勁,按鍵去抖就三條語句的事情

是因為我要用這個來實現其它功能,而我想要的功能說起來費勁。這個說著簡單點,
回復

使用道具 舉報

ID:213173 發表于 2020-3-8 07:19 | 顯示全部樓層
hxszrb 發表于 2020-3-7 21:17
是因為我要用這個來實現其它功能,而我想要的功能說起來費勁。這個說著簡單點,

使用定時器中斷服務函數的一般要求:函數中任務盡可能簡短,俗稱打一槍就跑,不可久留。更不能接近或大于中斷周期。不是必須不要在中斷函數中執行具體任務,只要設置個標志,具體任務放在main函數主循環中完成。更不能調用帶有阻滯型延時函數和while(1)死循環的子函數。在中斷任務沒有完成前CPU不會響應再入中斷請求。除非有更高優先級中斷才能打斷此中斷。
回復

使用道具 舉報

ID:465279 發表于 2020-3-8 12:22 | 顯示全部樓層
wulin 發表于 2020-3-8 07:19
使用定時器中斷服務函數的一般要求:函數中任務盡可能簡短,俗稱打一槍就跑,不可久留。更不能接近或大于 ...

非常感謝你的解釋,學習了。也大概知道我這個問題在那了,非常感謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久亚 | 亚洲国产成人精品在线 | 久久新| 国产一级成人 | 中文字幕加勒比 | 国产精品国产精品国产专区不片 | 欧美一级片黄色 | 亚洲国产aⅴ精品 | 亚洲视频二区 | 久久伊人影院 | 欧美成人综合 | 国产欧美精品一区二区色综合朱莉 | 欧美日本高清 | 欧美国产视频 | 欧美一区二区在线 | 免费观看一级特黄欧美大片 | 一区在线播放 | 亚洲福利免费 | 日韩成人免费中文字幕 | 亚洲欧美一区二区三区在线 | 欧美激情一区二区 | 在线观看亚洲精品视频 | 国产精品久久久久久久白浊 | 欧美亚洲视频 | 久久成人午夜 | 狠狠伊人| 欧美日韩久 | 欧美成人aaa级毛片在线视频 | 精品毛片视频 | 欧美精品一区二区三区四区五区 | 国产一级淫片免费视频 | 福利网址 | 久久久久无码国产精品一区 | 91精品一区 | 一区二区三区电影网 | 本地毛片 | 成人午夜电影在线观看 | 免费观看色 | 欧美区在线| 国产电影精品久久 | 91网站在线看 |