找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求分享51單片機(jī)ADC檢測按鍵單擊、雙擊、長按程序

[復(fù)制鏈接]
ID:350682 發(fā)表于 2024-10-30 11:35 | 顯示全部樓層 |閱讀模式
請問一下,用51的ADC檢測兩個(gè)按鍵實(shí)現(xiàn)按鍵單擊、雙擊、長按,有沒有好的程序呀?無按鍵,電壓3V;按鍵1,電壓0V;按鍵2,電壓1.5V。
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2024-10-30 16:34 | 顯示全部樓層
2024-10-30_163408.png
回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-10-31 08:16 | 顯示全部樓層
盡量不要用ADC,當(dāng)開關(guān)漏電或者接觸電阻增加時(shí),就容易出錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:996773 發(fā)表于 2024-10-31 09:13 | 顯示全部樓層
盡量不要用ADC,當(dāng)老板說手頭緊,兜里掏出更便宜沒有adc單片機(jī),玩毛線,程序又得改
回復(fù)

使用道具 舉報(bào)

ID:350682 發(fā)表于 2024-10-31 10:02 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-10-31 08:16
盡量不要用ADC,當(dāng)開關(guān)漏電或者接觸電阻增加時(shí),就容易出錯(cuò)

因?yàn)橐?jié)約IO口,所以只能這樣做了
回復(fù)

使用道具 舉報(bào)

ID:1133081 發(fā)表于 2024-10-31 19:12 | 顯示全部樓層
piscest_x 發(fā)表于 2024-10-31 10:02
因?yàn)橐?jié)約IO口,所以只能這樣做了

將ADC返回值做較寬范圍判斷即可,假設(shè)十位ADC返回值0~1023,小于340按鍵1有效,340~680按鍵2有效,大于680算沒有按。至于單擊、雙擊、長按就按常規(guī)的時(shí)間計(jì)數(shù)方式編程。論壇資料很多,搜一下。
回復(fù)

使用道具 舉報(bào)

ID:1034262 發(fā)表于 2024-10-31 21:52 | 顯示全部樓層
可以參考STC實(shí)驗(yàn)箱的電路,ADC讀16個(gè)鍵挺好,按鍵的接觸電阻只要不是超過1K歐姆,就不會有啥影響,按下、釋放、雙擊、長按,都是軟件處理而已。
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2024-10-31 23:19 | 顯示全部樓層
piscest_x 發(fā)表于 2024-10-31 10:02
因?yàn)橐?jié)約IO口,所以只能這樣做了

ADC受到電磁干擾或多個(gè)按鍵同時(shí)按下容易識別錯(cuò)誤,用74HC165可以識別無窮多個(gè)按鍵同時(shí)按下。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表