欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4240|回復: 17
收起左側

求思路 單片機單按鍵控制8個Led燈亮滅程序,逐1-8燈或者從8-1

[復制鏈接]
ID:739432 發表于 2021-10-19 07:49 來自觸屏版 | 顯示全部樓層 |閱讀模式
請求大俠:用一個按鍵來分別控制8個Led燈亮滅,逐1→8燈或者從8→1,方向任意。怎么編程?
回復

使用道具 舉報

ID:624769 發表于 2021-10-19 19:51 | 顯示全部樓層
你先搞明白 1 等于 亮燈,還是滅燈
再搞明白,按鍵按下 等于 1 還是 0
8個燈,是一個總線,還是分布各處。

電路原理搞清楚了,然后再考慮編程。不然隨便給你個程序,你能成功跑起來的概率 約等于0
回復

使用道具 舉報

ID:332444 發表于 2021-10-19 20:24 | 顯示全部樓層
到我博客找流水燈例子有這樣切換的,用按鍵控制即可,經典按鍵代碼:if(k1==0&&++xd==0){k=~k;while(k1==0);}這樣按鍵控制狀態K即可,其余代碼到我博客去抄寫。https://blog.csdn.net/xianfajushi
回復

使用道具 舉報

ID:130231 發表于 2021-10-19 20:29 | 顯示全部樓層
用循環左移,右移,就可實現。逐1,逐2點亮也可以,或者多個也可以。
回復

使用道具 舉報

ID:973452 發表于 2021-10-19 22:48 | 顯示全部樓層
要看你燈是怎么接的?也就是電路原理
回復

使用道具 舉報

ID:332444 發表于 2021-10-20 10:58 | 顯示全部樓層
1.gif
回復

使用道具 舉報

ID:964308 發表于 2021-10-20 18:42 | 顯示全部樓層
隨手寫的一個,自己把沒定義的變量和沒寫的函數補全吧

unsigned int p0=0x01;    //這個p是小寫
void main()
{
while(1)
{
while(key);    //低電平有效
delay(30);    //延時30ms
if(p0==0x80) p0=0x01;
else p0=p0<<1;
P0=p0;
}
}
回復

使用道具 舉報

ID:739432 發表于 2021-11-3 13:24 來自觸屏版 | 顯示全部樓層
xianfajushi 發表于 2021-10-19 20:24
到我博客找流水燈例子有這樣切換的,用按鍵控制即可,經典按鍵代碼:if(k1==0&&++xd==0){k=~k;while(k1==0) ...

在您的博客中沒找到。煩勞大俠復發一份
回復

使用道具 舉報

ID:332444 發表于 2021-11-3 14:18 | 顯示全部樓層

  1. sbit k1=P1^0;
  2. void main()
  3. {
  4. uchar xd=0;P0=1;
  5. while(1)
  6. {
  7. if(k1==0&&++xd==0)
  8. {
  9. P0=_crol_(P0,1);
  10. while(k1==0);
  11. }
  12. }
  13. }
復制代碼
回復

使用道具 舉報

ID:332444 發表于 2021-11-3 14:33 | 顯示全部樓層
我博客有眾多例子代碼,在理解按鍵代碼的基礎上隨意復制一些代碼都可輕松實現,關鍵是要理解代碼。
按鍵代碼邏輯當檢測到按鍵按下后再判斷是否過了消抖時間,只要有一個不符合就不會執行按鍵里面代碼,一旦2個條件都成立(按鍵按下并且達到消抖時間)執行按鍵里面代碼,并且等待按鍵釋放,本例按鍵按下燈移動1位,且按鍵釋放后才能執行下一次移位。
回復

使用道具 舉報

ID:332444 發表于 2021-11-3 14:42 | 顯示全部樓層
本按鍵代碼下載到板子上實驗正常使用不曾出現抖動現象,特別老舊板子上的按鍵沒條件測試,因為沒那樣的板子可用來驗證。
回復

使用道具 舉報

ID:332444 發表于 2021-11-3 14:47 | 顯示全部樓層
當然,可以加大延時長度用int和修改代碼如

  1. if(k1==0&&++xd==0)
  2. {
  3. P0=_crol_(P0,1);
  4. while(k1==0);
  5. }
  6. else xd=0;
復制代碼
回復

使用道具 舉報

ID:332444 發表于 2021-11-3 15:22 | 顯示全部樓層
本按鍵代碼之所以能跳過抖動,妙就妙在2個判斷條件安排的順序上,只有在按鍵穩定期間且達到一定時間,所以延時不需要很長時間,按鍵非穩定期間條件就不會成立,這樣顯得按鍵靈敏度很好,所以稱為經典,不喜歡寫多行代碼。
回復

使用道具 舉報

ID:587810 發表于 2021-11-3 16:57 | 顯示全部樓層
在按鍵按下得程序中編寫一個移位得函數語句
回復

使用道具 舉報

ID:453974 發表于 2021-11-3 21:50 | 顯示全部樓層
設置一個變量,按下一次按鍵加一次數;然后用位定義,定義小燈,按下一次點亮一個,清除上一個
回復

使用道具 舉報

ID:332444 發表于 2021-11-4 10:37 | 顯示全部樓層
新官上任三把火(諸葛孔明上任火燒博望坡),新生上學三蘿卜(還珠格格上學不求甚解只會蘿卜,能把蘿卜變成鑼鈸羅帛羅白全靠別人),橫批還想不到,哈哈。。。挺有趣的。
回復

使用道具 舉報

ID:332444 發表于 2021-11-4 13:38 | 顯示全部樓層
午飯時靈感得橫批:指學成才。指望別人指點來學習,指望抄寫別人蒙混過關。有感提問的人百相。
因此改寫上下聯:上聯,新生上學三蘿卜,下聯,新官上任三把火,橫批,指學成才。
回復

使用道具 舉報

ID:311846 發表于 2021-11-4 13:56 | 顯示全部樓層
為什么這么多人回復,網上例子大把!而且一個簡單的入門,一看就是小白伸手黨
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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