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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3407|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)按鍵循環(huán)閃燈程序,按鍵不靈敏求大神改進(jìn)!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:214276 發(fā)表于 2020-3-28 23:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
5黑幣
// 按鍵循環(huán)閃燈程序,可以實(shí)現(xiàn)每按一次按鍵變換不同的閃光頻率,只是按鍵反應(yīng)是不那么響應(yīng)快。特別是三連閃的時(shí)候有時(shí)按鍵沒(méi)反應(yīng),要長(zhǎng)按住按鍵才會(huì)滅燈。
//不管是用if語(yǔ)句,還是switch語(yǔ)句都差不多效果,放在main()里面按鍵效果也是差不多,求大神改進(jìn)。點(diǎn)按按鍵就能實(shí)現(xiàn)換燈功能,最好是可以在滅燈的時(shí)候可以休眠待機(jī),再按一下又能恢復(fù)亮燈。
#include <reg52.h>
#define uchar unsigned char
#define uint  unsigned int
sbit led    = P1^1;
sbit key1  =P3^2;   //STC15W408AS此腳為外部中斷0,按一次led改變一次狀態(tài)。
uint knum;              //key1按鍵按下次數(shù)計(jì)數(shù)變量
void keyscan();
void delay(uint xms);
void leds();

void delay(uint xms)                //@12.000MHz 大約定時(shí)1ms
{
        uint i,j;
for(i=xms;i>0;i--)
        for(j=460;j>0;j--);
}
void leds()
{              
        led=0;
  delay(300);
  led=1;
  delay(200);
  led=0;
  delay(300);
  led=1;
  delay(200);
  led=0;
  delay(300);
  led=1;
  delay(1200);
}

void keyscan()
{
          if(key1==0)
          {
                                         delay(5);
                                         if(key1==0)
                                         {
           while(!key1);
           knum++;
           if(knum==4)
           knum=0;
           }
                                  }

                switch(knum)
          {
             case 0: led=1;         break;  //滅燈
             case 1: led=0;         break;  //亮燈
             case 2: led=0;        delay(500); led=1;        delay(500); break;  //一閃一滅
             case 3: leds(); break;      //三閃一滅
          }
                                                                                                        
}
void main()
{
   while(1)
   {
                 keyscan();                 
   }                                               
}

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

使用道具 舉報(bào)

沙發(fā)
ID:89217 發(fā)表于 2020-3-29 05:03 | 只看該作者
  switch(knum)的前三步?jīng)]問(wèn)題   第四部就會(huì)不靈敏了  因?yàn)槟愕腖ED程序里面的延時(shí)函數(shù)延時(shí)過(guò)長(zhǎng)導(dǎo)致的,你這種情況最后用中斷 或者定時(shí)器來(lái)處理
回復(fù)

使用道具 舉報(bào)

板凳
ID:352458 發(fā)表于 2020-3-29 11:39 | 只看該作者
case 2: led=0;        delay(500); led=1;        delay(500); break;
按鍵延時(shí)有些長(zhǎng),閃燈延時(shí)又有些短。
回復(fù)

使用道具 舉報(bào)

地板
ID:275826 發(fā)表于 2020-3-29 14:20 | 只看該作者
樓主難道不知道單片機(jī)有定時(shí)器這個(gè)東西嗎?用定時(shí)器都會(huì)解決的
回復(fù)

使用道具 舉報(bào)

5#
ID:718123 發(fā)表于 2020-3-29 14:51 | 只看該作者
你可以試著改一下延時(shí)程序,就是定義的void delay那個(gè)函數(shù)中j數(shù)值再改小一點(diǎn)
回復(fù)

使用道具 舉報(bào)

6#
ID:214276 發(fā)表于 2020-3-29 15:43 | 只看該作者
昨天用了,定時(shí)中斷來(lái)控制按鍵,效果要好很多,可是睡眠模式的時(shí)候喚醒操作很遲頓,現(xiàn)在用低功耗模式待機(jī)也有4mA的電量消耗。還是達(dá)不到uA級(jí)別。PCON=0X02這個(gè)睡眠模式喚醒有沒(méi)有大神出手指點(diǎn)一下。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美xxxⅹ性欧美大片 | 狠狠干美女 | 99精品欧美一区二区三区 | 国产精品小视频在线观看 | 91高清视频在线观看 | 日韩精品久久久 | 18成人在线观看 | 中文字幕一区二区三区在线观看 | 欧美日韩久久 | 亚洲精品自在在线观看 | 国产片侵犯亲女视频播放 | 在线观看中文字幕一区二区 | 伊人亚洲| 久久蜜桃精品 | 中文字幕三区 | 91精品一区二区三区久久久久 | 亚洲成人免费av | 国产一级片 | 五月天婷婷狠狠 | 国产精品久久久久999 | 一区二区亚洲 | 欧美三区 | 91视视频在线观看入口直接观看 | 欧美成人综合 | 国产欧美日韩精品在线观看 | 三级黄色片在线观看 | www..99re| 久久亚洲国产精品日日av夜夜 | 人人鲁人人莫人人爱精品 | 成人在线免费看 | 日韩欧美国产精品一区二区 | 久久成人久久 | 久久这里只有精品首页 | 91综合网 | 国产精品视频网站 | 免费观看一级特黄欧美大片 | 亚洲成人网在线观看 | 亚洲国产一区二区视频 | 91av视频| 五月天综合影院 | 成人久久 |