娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年11月28日(星期四)

正在發生

2019年11月28日 | avr單片機mega32基于狀態機的按鍵設計

發布者:DazzlingSpirit 來源: 51hei關鍵字:avr單片機  mega32  狀態機  按鍵設計 手機看文章 掃描二維碼
隨時隨地手機看文章

以前用延時消抖,比較浪費時間,現在用狀態機設計,不占用太多時間,但是需要一個定時器


1.狀態機按鍵消抖






*****************************************************************
//狀態機按鍵消抖
//CPU:mega32
//編譯器:winavr


#include
#include

char key_scan(void);

#define PRESS   ( PIND&(1<<3) ) == 0
#define NOT_PRESS  ( PIND&(1<<3) ) != 0

int main(void)
{
DDRC |= (1 << 7);//PC7置為輸出
PORTD |= 1<<3;//按鍵上拉

TIMSK |= 1<OCR0 = 0X10;//匹配值 大約10ms
TCCR0 |= (1 << WGM01) | (0 << WGM00) | (1 << CS02) | (0 << CS01) | (1 << CS00);//CTC模式,1024分頻
sei();//使能全局中斷

while(1);
}

SIGNAL(SIG_OUTPUT_COMPARE0)//TIMER0 匹配中斷服務程序
{
if ( key_scan() == 1 )
  PORTC ^= 1<<7;//PC7取反
}

char key_scan(void)
{
static char state=0;
switch(state)
{
case 0: if ( PRESS )
   {
    state = 1;
    return 0;
   }
   else
   {
    state = 0;
    return 0;
   }

case 1: if ( PRESS )
   {
    state = 2;
    return 1;
   }
   else
   {
    state = 0;
    return 0;
   }

case 2: if ( PRESS )
   {
    state = 2;
    return 0;
   }
   else
   {
    state = 0;
    return 0;
   }
}
return 0;
}


******************************************************************


2.狀態機按鍵檢測連擊






*****************************************************************
//狀態機按鍵消抖
//CPU:mega32
//編譯器:winavr


#include
#include

char key_scan(void);

#define PRESS   ( PIND&(1<<3) ) == 0
#define NOT_PRESS  ( PIND&(1<<3) ) != 0

int main(void)
{
DDRC |= (1 << 7) | (1 << 6);//PC7 PC6 置為輸出
PORTD |= 1<<3;//PD3按鍵內部上拉

TIMSK |= 1<OCR0 = 0X10;//匹配值 大約10ms
TCCR0 |= (1 << WGM01) | (0 << WGM00) | (1 << CS02) | (0 << CS01) | (1 << CS00);//CTC模式,1024分頻
sei();//使能全局中斷

while(1);
}

SIGNAL(SIG_OUTPUT_COMPARE0)//TIMER0 匹配中斷服務程序
{
char key;
key = key_scan();
if ( key == 1 )
  PORTC ^= 1<<7;//PC7取反
if ( key == 2 ) //連擊
  PORTC ^= 1<<6;//PC6取反
}

char key_scan(void)
{
static char state=0;
char times;
switch(state)
{
case 0: if ( PRESS )
   {
    state = 1;
    return 0;
   }
   else
   {
    state = 0;
    return 0;
   }

case 1: if ( PRESS )
   {
    times = 0;
    state = 2;
    return 1;
   }
   else
   {
    state = 0;
    return 0;
   }

case 2: if ( PRESS )
   {
    state = 2;
    times++;
    if (times > 50)//500ms
    {
     times = 0;
     return 2;
    }
    else
     return 0;
   }
   else
   {
    state = 0;
    return 0;
   }
}
return 0;
}

******************************************************************

關鍵字:avr單片機  mega32  狀態機  按鍵設計 引用地址:avr單片機mega32基于狀態機的按鍵設計

上一篇:ATmega32單片機定時器程序
下一篇:avr單片機USART程序詳解

推薦閱讀

由中國電子商會(CECC)、中國電子技術標準化研究院(CESI)共同主辦的“2018年(第十四屆)中國平板電視行業大會”將于12月17日在北京拉開帷幕。本屆大會的主題為“AI+IoT+4K 客廳大屏強勢回歸”,屆時將有行業主管部門領導、彩電領域、人工智能領域、4K技術領域專家、彩電制造企業、互聯網企業高層等各界人士共同出席研討。作為中國平板電視行業的年度...
自2016年捷通華聲推出國內首個智能外呼機器人以來,智能外呼機器人已被大量應用?,F在你手機接到的理財推薦、售后回訪、房產推廣、電話卡推薦等電話,都可能是智能機器人打過來的。 智能外呼機器人成本低、呼叫量大、速度快,業務效能遠超人工。依靠完全自主產權的核心技術,捷通華聲靈云智能外呼機器人經過3年的市場應用和功能完善,為金融、電信、房...
來,看看我最新裝扮的 iPhone 桌面,是不是完美復現了 Switch 游戲《動物森友會》中的‘貍端機’風格?▲ 不僅圖標換了,‘支付寶’名稱后面還能帶個 emoji  你也許還有印象,iOS 14 正式版推出后不久,我們發布過一篇非常詳細的美化指南,除了介紹多款小組件的使用方式,還分享了用蘋果自帶的《快捷指令》為應用‘更換圖標’的操作技巧?! 『?..
蘋果宣布,今日對 NSO Group 及其母公司發起訴訟,以使該公司為其針對性監控少數蘋果用戶的行為負責。該控告提供了新的信息,解釋 NSO Group 如何利用其 Pegasus 間諜軟件侵害受害者設備。為預防進一步的惡意使用及對其用戶的傷害,蘋果同時尋求法院頒布一項永久性禁令,以禁止 NSO Group 使用任何蘋果軟件、服務或設備。NSO Group 創建受到...

史海拾趣

問答坊 | AI 解惑

效率超過40%的太陽能電池問世

據報道,美國波音公司子公司Spectrolab有限公司科學家在最近發表的太陽能電池制造研究論文中稱,他們研制出的太陽能電池超越了具有里程碑意義的40%效率限制(40%效率是所有光電設備所能獲得的最高效率)。其研究成果刊登在最近一期的《應用物理學通 ...…

查看全部問答∨

為何TD技術最先進,實測表現卻差強人意

現如今國內的3家運營商的3種3G 網絡 的部署都已經基本完成,而且都開始了大規模的試商用和測試 ,而且現在用戶數量并不多,整個系統的負載壓力都非常的小,測試得出的結果應該是相對比較公平的.之前關于技術的爭論實在是太多了,我們不妨停止口水戰,到網 ...…

查看全部問答∨

請教個問題

現在手頭上有塊單片機的開發板。 我想通過51單片機和ADC0804和數碼管做個顯示電路。 ADC0804的輸入時0到5v,數字量輸出是0到255,數碼管顯示也是0到255,現在我想改變一下顯示范圍,同樣是0到5v的輸入,數碼管顯示是0到200或者0到任意的數值,請 ...…

查看全部問答∨

VC2005 smartphone編程怎么給它加個下拉菜單

里面有打開、關閉之類的項,選擇菜單能進行相應的函數處理。…

查看全部問答∨

問一個很弱的問題網卡編程問題,期待大家支持回答

我想找一塊多端口的網卡 , 然后灌一些自己的程序進去,不知道該怎么找,那里可以找到這種可編程的網卡,或者是有高手提供些相關資料…

查看全部問答∨

網絡開發筆記系列文章(全部章節)

從申請開發板到現在,已陸陸續續完成了七八篇文章。將其列在一起方便大家查閱。     申請LM3S8962開發板   主要談申請開發板要實現的項目。 http://bbs.eeworld.com.cn/thread-190959-1-1.html     網絡開發筆記 ...…

查看全部問答∨

電子設計大賽題目分析

電子設計大賽題目分析…

查看全部問答∨

大功率LED區域照明驅動方案

LED越來越多地開始被用于大功率區域照明,如高頂燈、停車庫照明、洗墻燈、街燈、隧道照明等。隨著LED照明技術的不斷演進,應用于大功率LED區域照明應用的驅動方案需要不斷更新、改進,使LED控制達到新高度,實現智能控制,增強節能和延長LED工作壽 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 忻州市| 屏山县| 新乡市| 隆尧县| 崇义县| 胶南市| 舞钢市| 卢氏县| 交城县| 甘肃省| 陕西省| 阿鲁科尔沁旗| 饶平县| 洪泽县| 临猗县| 奉节县| 化德县| 师宗县| 如东县| 盐源县| 凌海市| 泸水县| 修水县| 达尔| 浮梁县| 亚东县| 镇江市| 腾冲县| 漠河县| 扶绥县| 孟连| 怀远县| 青铜峡市| 抚顺市| 莲花县| 定陶县| 玉田县| 宁晋县| 大竹县| 三河市| 西青区|