找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
12
返回列表 發(fā)新帖
樓主: juncedz
打印 上一主題 下一主題
收起左側

單片機程序只能順序點亮LED,不能關閉?怎樣能夠完成?

  [復制鏈接]
41#
ID:426861 發(fā)表于 2020-8-13 18:24 | 只看該作者
先操作最簡單的,主函數中只放某個引腳先低電平延時,再高電平延時,看看LED有沒有亮滅變化。
回復

使用道具 舉報

42#
ID:332444 發(fā)表于 2020-8-14 10:28 | 只看該作者
這才是應有的學習態(tài)度,我也樂意為有這樣學習態(tài)度的人回復更耐心些。

請認真看數碼管有4段每5秒的顯示,下面有仿真變動的時間全過程為40秒,亮20秒熄20秒。


回復

使用道具 舉報

43#
ID:813917 發(fā)表于 2020-8-14 10:49 | 只看該作者
加一段程序  檢測到按鍵松開,執(zhí)行依次滅燈的hex值最后都變成1111 1111  就都滅了,檢測按鍵建議加個防抖程序
回復

使用道具 舉報

44#
ID:595237 發(fā)表于 2020-8-14 11:36 | 只看該作者
xianfajushi 發(fā)表于 2020-8-14 10:28
這才是應有的學習態(tài)度,我也樂意為有這樣學習態(tài)度的人回復更耐心些。

請認真看數碼管有4段每5秒的顯示, ...

謝謝!
昨晚用delay(5); 代替if(!++YS)   完全做到可以控制 的延時時間,
能夠調通可以用。

這句 if(!++YS)  可以調延時 0.5s 左右 是怎樣算出來?
  本來用a-10,
for(a=10;a>0;a--)
{}YS=47474
while(YS--);   }
把 0.5s延時  乘以10  = 5s,   調用。

if(!++YS&&!++Xd)    這句差不多延時2分鐘怎么算?

51hei論壇有你們熱心人,真的好精彩!
回復

使用道具 舉報

45#
ID:595237 發(fā)表于 2020-8-14 11:54 | 只看該作者
xianfajushi 發(fā)表于 2020-8-14 10:28
這才是應有的學習態(tài)度,我也樂意為有這樣學習態(tài)度的人回復更耐心些。

請認真看數碼管有4段每5秒的顯示, ...

這樣調試了是5s,OK
回復

使用道具 舉報

46#
ID:332444 發(fā)表于 2020-8-14 13:31 | 只看該作者
這種延時方式受執(zhí)行語句影響,只能大概計算,再調試到差不多的程度。大約是5000000/65536后開方,也沒太去深究,有興趣的話自己去研究,用12兆頻粗算,11兆頻要用1.08計算更麻煩,其實FOR經典的3嵌套只是能更細微地調節(jié)值而已,也沒太去深究,實用最好用定時器,演示可隨意寫當不得真,就像是你舉例的211*255*255的值也不是5秒,12兆頻/12則執(zhí)行一條指令為1微秒,那么你寫的延時循環(huán)執(zhí)行計數5*46*152*70=2.45秒,而實際運行差不多5秒,因此,只能說是經驗,而非精準的計算,65536*10實際運行約5秒一樣道理,這些都算是經驗之談,不去深究了,沒那心情去深究這種不精準的延時。
回復

使用道具 舉報

47#
ID:517429 發(fā)表于 2020-8-26 15:42 | 只看該作者
這功能太簡單了吧,用個定時中斷就好了,按鍵和燈的處理放在中斷里就好了,還用死循環(huán)?
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表