亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標題: STC12C5A60S2如何用C語言寫按鍵程序 [打印本頁]

作者: xmch    時間: 2017-6-15 23:46
標題: STC12C5A60S2如何用C語言寫按鍵程序
各位大神,本人初學單片機,現在想寫一個按鍵程序,望指點,不勝感激。要求如下:
有2個按鍵,分別為+和-,當長按+鍵超過3秒時,如果此時仍不釋放,+值會連續增加,當此時釋放+鍵,改成點擊+鍵,+值會+1。長按+鍵超過3秒后釋放,緊接著長按-鍵,-鍵值會連續減小,點擊-鍵,值-1。并且要求設置好的值斷電后能保存。

作者: HC6800-ES-V2.0    時間: 2017-6-16 08:06
你說自己是初學者,那么提出的要求可是很高很高啊。我學了半年才能做到你說全部要求!第一:按鍵問題。其實很簡單。它在單片機中的與生活中的是不一樣的。生活中的按鍵,就是開關,而單片機中的,也是開關,但時間上就不一樣了。你得找點資料看看。
第二:按鍵的多功能問題。按鍵的按時間長短,得到不同的功能,需要程序判斷,這個還不難,但我沒有做過。
第三:保存數據。這個,可以有兩個方法:一是用外部存貯器,我目前會這種,二是用單片機自己的內存,我還沒試驗過,但網上有相關資料。可以自己查一下。
給你分享一個例程,是用外部存貯器的,沒有一鍵多功能,但可以加減、保存、讀回。
例子適用于:普中HC6800-ES-V2.0開發板:STC89C52RC單片機、24C02外部存貯器。

1.jpg (27.94 KB, 下載次數: 76)

1.jpg

2.jpg (12.18 KB, 下載次數: 77)

2.jpg

3.jpg (17.14 KB, 下載次數: 116)

3.jpg

4.jpg (34.07 KB, 下載次數: 82)

4.jpg

24C02.rar

44.4 KB, 下載次數: 25


作者: yzwzfyz    時間: 2017-6-16 11:50
設置三個計時器,J1、J2、J3,當鍵松開時全部復位。
設置三個開關,K1、K2、K3,分別控制J1、J2、J3,當K1=1時起動J1,當K1=0時停止J1計時但不清0。K2,K3類同。當鍵松開時K全部清0。
當鍵按下時置K1=1,K3=1。
J1:長按計時,范圍0-10秒,K1=1時計時,計滿=10停止但不回0。
J2:連加計時,范圍0-0.5秒,當J1>3秒后,置K2=1,J2開始計時,計到0.5秒后鍵值+1,J2回0再計。即每0.5秒鍵值+1,只要K2=1就鍵值就會一直加下去。
J3:短按計時,范圍0-10秒,K3=1時計時,計滿=10停止但不回0。當鍵松開后,如果J3在0.1秒至2.5秒之間,鍵值就+1,否則不加。

作者: yzwzfyz    時間: 2017-6-16 11:57
如何做-,請如樓主自便。
如何保存,建議鍵值每變動一次,就保存一次,存入EEPROM。
作者: dzbj    時間: 2017-6-16 13:12
樓上前輩回的挺全面了 你這要求真不算簡單 按鍵看著容易實際做起來挺麻煩的 要各種判斷




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1