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

QQ登錄

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

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

按鍵失去控制,不知道原因在哪,請(qǐng)各位大神賜教

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 小白帆 于 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)亮的方式連接的話(huà),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

259.11 KB, 下載次數(shù): 6

這是程序和proteus仿真

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

使用道具 舉報(bào)

沙發(fā)
ID:288202 發(fā)表于 2018-4-27 17:23 | 只看該作者
論壇管理員,為什么我沒(méi)設(shè)置附件下載需要黑幣,它自動(dòng)就有了,這樣別人怎么會(huì)幫我解答問(wèn)題呀?
回復(fù)

使用道具 舉報(bào)

板凳
ID:288202 發(fā)表于 2018-4-27 17:25 | 只看該作者
這是程序和proteus仿真,請(qǐng)各位大神幫幫小弟

程序 仿真.rar

259.11 KB, 下載次數(shù): 13

程序和proteus仿真

回復(fù)

使用道具 舉報(bào)

地板
ID:1 發(fā)表于 2018-4-27 21:03 | 只看該作者
小白帆 發(fā)表于 2018-4-27 17:23
論壇管理員,為什么我沒(méi)設(shè)置附件下載需要黑幣,它自動(dòng)就有了,這樣別人怎么會(huì)幫我解答問(wèn)題呀?

24小時(shí)必答區(qū)下載不用黑幣的
回復(fù)

使用道具 舉報(bào)

5#
ID:288202 發(fā)表于 2018-4-27 21:48 | 只看該作者
admin 發(fā)表于 2018-4-27 21:03
24小時(shí)必答區(qū)下載不用黑幣的

謝謝管理員
回復(fù)

使用道具 舉報(bào)

6#
ID:164602 發(fā)表于 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ù),所以,可以肯定,按鍵不起作用的原因——外部中斷!。

回復(fù)

使用道具 舉報(bào)

7#
ID:288202 發(fā)表于 2018-4-28 23:30 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2018-4-28 08:53
這種按鍵功能,特別是你的set功能鍵,一定要用外部中斷,才能打斷程序,進(jìn)入設(shè)置程序。
你想想。阂粋(gè)程 ...

您好,謝謝您的答復(fù)!
我試過(guò)您的方法,但是沒(méi)有效果呀


微信截圖_20180428231912.png (98.38 KB, 下載次數(shù): 41)

微信截圖_20180428231912.png

微信截圖_20180428231942.png (113.66 KB, 下載次數(shù): 40)

微信截圖_20180428231942.png

微信截圖_20180428232047.png (174.47 KB, 下載次數(shù): 39)

微信截圖_20180428232047.png

clock2.rar

121.8 KB, 下載次數(shù): 2

更改后的程序

回復(fù)

使用道具 舉報(bào)

8#
ID:288202 發(fā)表于 2018-4-28 23:34 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2018-4-28 08:53
這種按鍵功能,特別是你的set功能鍵,一定要用外部中斷,才能打斷程序,進(jìn)入設(shè)置程序。
你想想。阂粋(gè)程 ...

您好,謝謝您的答復(fù)!
我試過(guò)您的方法,但是沒(méi)有效果呀

微信截圖_20180428231912.png (98.38 KB, 下載次數(shù): 46)

微信截圖_20180428231912.png

微信截圖_20180428231942.png (113.66 KB, 下載次數(shù): 44)

微信截圖_20180428231942.png

微信截圖_20180428232047.png (174.47 KB, 下載次數(shù): 42)

微信截圖_20180428232047.png

clock2.rar

121.8 KB, 下載次數(shù): 2

更改后的程序

回復(fù)

使用道具 舉報(bào)

9#
ID:288202 發(fā)表于 2018-4-29 21:30 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2018-4-28 08:53
這種按鍵功能,特別是你的set功能鍵,一定要用外部中斷,才能打斷程序,進(jìn)入設(shè)置程序。
你想想啊:一個(gè)程 ...

我現(xiàn)在把自動(dòng)控制LED的亮度的程序放在主程序main的while中了,這樣就可以設(shè)置時(shí)間和鬧鐘了,但是后面再加手動(dòng)控制LED亮度在主程序main的while中的時(shí)候,按鍵5的模式好像不起作用,無(wú)論按鍵5如何切換,自動(dòng)控制和手動(dòng)控制的LED無(wú)法再滅
回復(fù)

使用道具 舉報(bào)

10#
ID:319499 發(fā)表于 2018-4-30 18:18 | 只看該作者
按鍵掃描不要放中斷里,最好用分時(shí)掃描,又不用加延時(shí),處理又不會(huì)卡滯
回復(fù)

使用道具 舉報(bào)

11#
ID:288202 發(fā)表于 2018-5-2 08:26 | 只看該作者
kangkang99 發(fā)表于 2018-4-30 18:18
按鍵掃描不要放中斷里,最好用分時(shí)掃描,又不用加延時(shí),處理又不會(huì)卡滯

您好,沒(méi)明白您的回答的意思是什么。
是“http://www.torrancerestoration.com/bbs/forum.php?mod=viewthread&tid=19357”這種按鍵的處理方法還是?
回復(fù)

使用道具 舉報(bào)

12#
ID:320217 發(fā)表于 2018-5-2 09:44 | 只看該作者
線(xiàn)沒(méi)接對(duì)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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