標(biāo)題: 按鍵失去控制,不知道原因在哪,請(qǐng)各位大神賜教 [打印本頁(yè)]
作者: 小白帆 時(shí)間: 2018-4-27 17:15
標(biāo)題: 按鍵失去控制,不知道原因在哪,請(qǐng)各位大神賜教
本帖最后由 小白帆 于 2018-4-27 17:22 編輯
各位大神,小白請(qǐng)指教!
我想實(shí)現(xiàn)的功能是萬(wàn)年歷+模擬根據(jù)有人或沒(méi)人以及環(huán)境的亮度控制LED燈的亮度+按鍵控制LED燈的亮度,我是先把這三個(gè)功能分別實(shí)現(xiàn)后再將程序組合起來(lái)的,現(xiàn)在可實(shí)現(xiàn)顯示萬(wàn)年歷,和根據(jù)有人或沒(méi)人以及環(huán)境的亮度控制LED燈的亮度,但是按鍵沒(méi)有反應(yīng),不知道這怎么回事?還有就是不知道為什么,如果是直接讓LED由高電平驅(qū)動(dòng)點(diǎn)亮的連接接法,執(zhí)行仿真時(shí),沒(méi)有相應(yīng)的LED驅(qū)動(dòng)代碼居然也能亮;而如果是低電平驅(qū)動(dòng)點(diǎn)亮的方式連接的話,LED點(diǎn)亮的代碼放在main函數(shù)里的while(1)外,無(wú)法看到LED點(diǎn)亮的效果,如果是放在while里面,是LED卻是閃爍的,但如果按鍵按多了,它好像有又不亮也不閃了。如果是放在鍵按鍵掃描函數(shù)里按鍵判斷程序外面,也是LED閃爍,且按鍵按多幾次就不再亮也不再閃爍了。如果是放在某個(gè)按鍵判斷按下后,按按鍵也是沒(méi)有反應(yīng),這究竟問(wèn)題出在哪了?之前沒(méi)組合起來(lái)的時(shí)候按鍵是都有反應(yīng)的
按鍵P3.0-P3.4功能分別是:set(設(shè)置),add(加),dec(減),seeNL_NZ(查看農(nóng)歷鬧鐘)、model(LED亮度控制模式的切換,即是自動(dòng)控、按鍵控制進(jìn)行切換)
操作說(shuō)明:
1、直接運(yùn)行仿真。可以看到顯示項(xiàng)目分別是:年月日,星期,時(shí)分秒,溫。
2、如需查看農(nóng)歷,按下seeNL_NZ(查看農(nóng)歷鬧鐘)鍵,即可看到農(nóng)歷,同時(shí)還會(huì)顯示(ping/run)平/潤(rùn)年,再按一次此鍵,可查看鬧鐘時(shí)間。
設(shè)置說(shuō)明:
1、 設(shè)置日期時(shí)間:按下set(設(shè)置)鍵,時(shí)間會(huì)暫停,蜂鳴器會(huì)長(zhǎng)響一次,顯示年位置會(huì)有光標(biāo)閃爍,表示此時(shí)可以調(diào)節(jié)年份,如需調(diào)節(jié)年份,按add(加),dec(減)即可對(duì)年份進(jìn)行調(diào)節(jié)。然后再按一次set(設(shè)置)鍵,顯示月份位置會(huì)光標(biāo)閃爍,同樣的方法可以調(diào)節(jié)月,再按set鍵分別可設(shè)置日,時(shí),分,秒。
2、 調(diào)整鬧鐘時(shí)間:將顯示調(diào)至鬧鐘顯示界面,再按下set(設(shè)置)鍵,即可對(duì)鬧鐘的時(shí)分秒進(jìn)行調(diào)節(jié)。
3、整點(diǎn)報(bào)時(shí),鬧鐘開(kāi)啟與關(guān)閉:同時(shí)按下set+add鍵,可開(kāi)啟或關(guān)閉整點(diǎn)報(bào)時(shí),蜂鳴器會(huì)有提示,如響一聲表示開(kāi),響兩聲表示關(guān)閉;同時(shí)按下set+dec鍵,可開(kāi)啟或關(guān)閉鬧鐘功能,同時(shí)蜂鳴器會(huì)有提示,響一聲表示開(kāi),響兩聲表示關(guān)閉。
4、按鍵控制LED亮度,在切換到按鍵控制模式后,通過(guò)pwm的方式由按鍵控制LED的亮度,add是加大了LED亮度,dec是減小LED亮度。
-
-
程序 仿真.rar
2018-4-27 17:14 上傳
點(diǎn)擊文件名下載附件
259.11 KB, 下載次數(shù): 6
這是程序和proteus仿真
作者: 小白帆 時(shí)間: 2018-4-27 17:23
論壇管理員,為什么我沒(méi)設(shè)置附件下載需要黑幣,它自動(dòng)就有了,這樣別人怎么會(huì)幫我解答問(wèn)題呀?
作者: 小白帆 時(shí)間: 2018-4-27 17:25
這是程序和proteus仿真,請(qǐng)各位大神幫幫小弟
-
-
程序 仿真.rar
2018-4-27 17:24 上傳
點(diǎn)擊文件名下載附件
259.11 KB, 下載次數(shù): 13
程序和proteus仿真
作者: admin 時(shí)間: 2018-4-27 21:03
24小時(shí)必答區(qū)下載不用黑幣的
作者: 小白帆 時(shí)間: 2018-4-27 21:48
謝謝管理員
作者: HC6800-ES-V2.0 時(shí)間: 2018-4-28 08:53
這種按鍵功能,特別是你的set功能鍵,一定要用外部中斷,才能打斷程序,進(jìn)入設(shè)置程序。
你想想。阂粋(gè)程序正常執(zhí)行在時(shí)間的讀取和顯示部分,就無(wú)法掃描你的鍵盤(pán),你按鍵當(dāng)然就不會(huì)有反應(yīng),而且掃描鍵盤(pán)的時(shí)間好短的,你按鍵只能碰運(yùn)氣——恰好讓程序掃描到你在按鍵——那個(gè)機(jī)率太小了。
看了你的程序,就是沒(méi)有發(fā)現(xiàn)外部中斷的服務(wù)函數(shù),所以,可以肯定,按鍵不起作用的原因——外部中斷。!
作者: 小白帆 時(shí)間: 2018-4-28 23:30
您好,謝謝您的答復(fù)!
我試過(guò)您的方法,但是沒(méi)有效果呀
-
微信截圖_20180428231912.png
(98.38 KB, 下載次數(shù): 41)
下載附件
2018-4-28 23:25 上傳
-
微信截圖_20180428231942.png
(113.66 KB, 下載次數(shù): 40)
下載附件
2018-4-28 23:25 上傳
-
微信截圖_20180428232047.png
(174.47 KB, 下載次數(shù): 39)
下載附件
2018-4-28 23:25 上傳
-
-
clock2.rar
2018-4-28 23:29 上傳
點(diǎn)擊文件名下載附件
121.8 KB, 下載次數(shù): 2
更改后的程序
作者: 小白帆 時(shí)間: 2018-4-28 23:34
您好,謝謝您的答復(fù)!
我試過(guò)您的方法,但是沒(méi)有效果呀
-
微信截圖_20180428231912.png
(98.38 KB, 下載次數(shù): 46)
下載附件
2018-4-28 23:34 上傳
-
微信截圖_20180428231942.png
(113.66 KB, 下載次數(shù): 44)
下載附件
2018-4-28 23:34 上傳
-
微信截圖_20180428232047.png
(174.47 KB, 下載次數(shù): 42)
下載附件
2018-4-28 23:34 上傳
-
-
clock2.rar
2018-4-28 23:33 上傳
點(diǎn)擊文件名下載附件
121.8 KB, 下載次數(shù): 2
更改后的程序
作者: 小白帆 時(shí)間: 2018-4-29 21:30
我現(xiàn)在把自動(dòng)控制LED的亮度的程序放在主程序main的while中了,這樣就可以設(shè)置時(shí)間和鬧鐘了,但是后面再加手動(dòng)控制LED亮度在主程序main的while中的時(shí)候,按鍵5的模式好像不起作用,無(wú)論按鍵5如何切換,自動(dòng)控制和手動(dòng)控制的LED無(wú)法再滅
作者: kangkang99 時(shí)間: 2018-4-30 18:18
按鍵掃描不要放中斷里,最好用分時(shí)掃描,又不用加延時(shí),處理又不會(huì)卡滯
作者: 小白帆 時(shí)間: 2018-5-2 08:26
您好,沒(méi)明白您的回答的意思是什么。
是“http://www.torrancerestoration.com/bbs/forum.php?mod=viewthread&tid=19357”這種按鍵的處理方法還是?
作者: 面目全非xwzj 時(shí)間: 2018-5-2 09:44
線沒(méi)接對(duì)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |