久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1436|回復: 3
打印 上一主題 下一主題
收起左側

請教關于比較長的單片機子函數中及時跳出的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:619118 發表于 2019-10-9 10:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近琢磨給高達模型加燈,一開始想在那個寶上找一些跑馬燈、呼吸燈的成品,但是花樣都不是我想要的。
偶爾看到有一家店買C51單片機控制的心形燈。作為野生碼農,就決定自己搞搞,用C51來控制花樣切換等等。
作為單片機零基礎的人,在論壇看了不少范例,借鑒了論壇上 http://www.zg4o1577.cn/bbs/dpj-153979-1.html (謝謝該程序的作者)的代碼自己寫了一個,用了P1和P2兩組IO,總共16個燈組(每組等1-4個燈不等),燈的樣式有3個花樣,各個樣式通過按鈕(p3.2 int0)切換
花樣1:所有燈按順序漸亮,LED1逐漸點亮,然后LED2逐漸點亮,最終所有燈全亮,耗時大概5、6秒
花樣2:所有燈循環呼吸燈,一個循環大概1秒
花樣3:所有燈一直全亮

3個樣式我都實現了,但是切換按鈕有點問題。
如果處于花樣1、花樣2,按下按鈕后不會馬上切換,而是要等花樣執行完之后才會切換。

后來經過研究、對比,發現是因為花樣1和花樣2的耗時太長,需要等執行完了再回去判斷花樣代碼才會調整花樣。

然后我就在花樣1、花樣2的每個delay函數前加一個if,來判斷是否有按按鍵,如果有就終止花樣重新判斷花樣代碼,并執行相應的花樣。最終實現了我要的效果,花樣切換很及時。

但是這樣的話,就有很多if語句,整個代碼看起來很不美光。

請問各位大佬,在主循環或子函數需要執行很多指令或耗時比較長,在執行過程中因為某些情況需要終止當前循環或者函數時,你們是怎么處理的呢?謝謝。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:94031 發表于 2019-10-9 16:32 | 只看該作者
按鍵用中斷輸入就可以解決你的問題。
回復

使用道具 舉報

板凳
ID:621335 發表于 2019-10-9 20:00 來自觸屏版 | 只看該作者
外部中斷
回復

使用道具 舉報

地板
ID:619118 發表于 2019-10-10 08:07 | 只看該作者

樓上兩位,我試過用按鍵中斷,如果在中斷子程序中切換花式的話,會等到花式執行完畢才響應下面的中斷的,不能實時響應、切換花式。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一级一级毛片 | 成人免费大片黄在线播放 | 亚洲高清免费 | 国产精久久久久久久 | 欧美成人a∨高清免费观看 91伊人 | 亚洲欧美日韩电影 | 国产91视频一区二区 | 国产乱码精品一区二区三区av | 在线一区二区观看 | 成人免费视频网址 | 欧美乱大交xxxxx另类电影 | 成人福利电影 | 91精品国产乱码久久久久久久 | 台湾av在线 | 97国产精品 | 成人在线欧美 | 久久综合九色综合欧美狠狠 | 天天搞天天操 | 亚洲人成人一区二区在线观看 | 久久久免费精品 | 欧美一级免费观看 | 成人精品国产一区二区4080 | 免费九九视频 | 久久久久免费观看 | 超碰欧美 | 黄色免费三级 | 欧美一区二区三区在线观看视频 | www.日韩系列 | 中文字幕 在线观看 | 天天天操天天天干 | 91久久久久久久 | 国产高清毛片 | 日本三级日产三级国产三级 | 又爽又黄axxx片免费观看 | 亚洲视频在线观看 | 欧美人人 | 黄色大片免费播放 | 综合色导航| 国产成人在线一区 | 日本不卡免费新一二三区 | 亚洲视频中文 |