找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2533|回復: 18
收起左側

請問使用4個IO引腳這種配置,如何實現(xiàn)上面三個不同類型的燈可以同時亮

  [復制鏈接]
ID:1097287 發(fā)表于 2023-11-6 16:01 | 顯示全部樓層 |閱讀模式
請問使用4個IO引腳這種配置,如何實現(xiàn)上面三個不同類型的燈可以同時亮
1111.PNG
回復

使用道具 舉報

ID:275826 發(fā)表于 2023-11-7 09:15 | 顯示全部樓層
分時掃描就可以了
回復

使用道具 舉報

ID:819526 發(fā)表于 2023-11-7 09:17 | 顯示全部樓層
你這少了個燈吧,應該是連到LED1 LED4,看樣子你是三個一組進行分類分了四組,如果想要不同組之間同時顯示,我建議利用數(shù)碼管的那種動態(tài)掃描方式點亮,如果你是同一組的三個同時點亮,就直接陽極引腳拉高其余引腳拉低就行了。
回復

使用道具 舉報

ID:161164 發(fā)表于 2023-11-7 09:39 | 顯示全部樓層
線路不正確,如LD1和LD4必定同時亮
LD4需掉換一下方向
可以看一下查理復用
引腳必須具備推挽和高阻能力
回復

使用道具 舉報

ID:925236 發(fā)表于 2023-11-7 09:59 | 顯示全部樓層
你這個燈怎么這樣接法,io口又當正極又當負極嗎?還要全部同時亮,應該是不現(xiàn)實,改一下布線吧
回復

使用道具 舉報

ID:1093268 發(fā)表于 2023-11-7 10:37 | 顯示全部樓層
用掃描的方式就可以實現(xiàn)。一瞬間讓某個燈亮起:12  -> 13 -> 21 -> 23 -> 24 -> 31 -> 32 -> 34 -> 41 -> 42 -> 43,只要掃描夠快,就看起來所有燈都亮起來了。線路是正確的,樓上說法有誤。
回復

使用道具 舉報

ID:1097287 發(fā)表于 2023-11-7 10:43 | 顯示全部樓層
lkc8210 發(fā)表于 2023-11-7 09:39
線路不正確,如LD1和LD4必定同時亮
LD4需掉換一下方向
可以看一下查理復用

LD1和LD4方向不同啊,應該不會同時亮的吧
回復

使用道具 舉報

ID:1097287 發(fā)表于 2023-11-7 10:45 | 顯示全部樓層
哦豁~ 發(fā)表于 2023-11-7 10:37
用掃描的方式就可以實現(xiàn)。一瞬間讓某個燈亮起:12  -> 13 -> 21 -> 23 -> 24 -> 31 -> 32 -> 34 -> 41 -> 4 ...

如何才算是掃描過快,我現(xiàn)在后面六個燈用按鍵控制的,然后當有個亮的時候第一或第二個燈會亮,但是會暗些
回復

使用道具 舉報

ID:1097287 發(fā)表于 2023-11-7 10:51 | 顯示全部樓層
哦豁~ 發(fā)表于 2023-11-7 10:37
用掃描的方式就可以實現(xiàn)。一瞬間讓某個燈亮起:12  -> 13 -> 21 -> 23 -> 24 -> 31 -> 32 -> 34 -> 41 -> 4 ...

我前兩個燈以及后面六個燈用按鍵來控制的,第一二個燈按鍵長按切換,后六個按鍵短按實現(xiàn)一個燈亮到六個燈全亮,現(xiàn)在的現(xiàn)象是后面的燈有時會影響到前兩個燈亮,掃描的方式怎么樣才能更好的消除這二者的影響,方便寫一下嗎,謝謝。
回復

使用道具 舉報

ID:384109 發(fā)表于 2023-11-7 11:01 | 顯示全部樓層
板凳說的是對的,不過線路是沒錯的
回復

使用道具 舉報

ID:1093268 發(fā)表于 2023-11-7 11:13 | 顯示全部樓層
Bikho 發(fā)表于 2023-11-7 10:45
如何才算是掃描過快,我現(xiàn)在后面六個燈用按鍵控制的,然后當有個亮的時候第一或第二個燈會亮,但是會暗些

程序上確保這3點:
1. 調(diào)用掃描LED程序的時間,間隔是穩(wěn)定的,這個可以用定時器中斷來做,因為掃描程序本身不會占用多少時間。比如每100uS調(diào)用它一次,不要這會100uS等下變成200uS;
2. 通常我是100uS刷一次。CPU主頻更快程序進程少的話,也就是條件允許,可以刷得更快;
3. 刷某一個燈時,這個燈對應的2個管腳是輸出腳,其余腳設置成高組態(tài);

代碼我不會幫你寫,平臺不一樣。且我認為提供解決思路與辦法,永遠比直接給代碼更加負責。根據(jù)別人的思路或自己想出來思路,然后自己用代碼實現(xiàn)出來,自己才會得到提升。
回復

使用道具 舉報

ID:161164 發(fā)表于 2023-11-7 21:14 | 顯示全部樓層
Bikho 發(fā)表于 2023-11-7 10:43
LD1和LD4方向不同啊,應該不會同時亮的吧

你說的對,我看錯了
回復

使用道具 舉報

ID:574482 發(fā)表于 2023-11-7 21:55 | 顯示全部樓層
先LED1為1,其它LED2~4 輪流持續(xù)1毫秒為0再拉高,同樣,再到LED2為1,重復前面方法,不斷循環(huán)即可全亮。
回復

使用道具 舉報

ID:1094811 發(fā)表于 2023-11-7 22:54 來自觸屏版 | 顯示全部樓層
矩陣正反掃,不亮的IO要高阻態(tài)才行
回復

使用道具 舉報

ID:195496 發(fā)表于 2023-11-8 08:16 | 顯示全部樓層
采用雙向掃描法,平時我們用的LED都是單向掃描,電流方向不會變,你如果減少口線數(shù)量,就采用雙向掃描,電路要改改,
回復

使用道具 舉報

ID:1097455 發(fā)表于 2023-11-13 15:17 | 顯示全部樓層
分時掃描
回復

使用道具 舉報

ID:1054554 發(fā)表于 2023-11-28 14:01 | 顯示全部樓層
減少口線數(shù)量,就采用雙向掃描,電路要改改,
回復

使用道具 舉報

ID:491577 發(fā)表于 2023-11-29 23:30 | 顯示全部樓層
這種接法IO口必須有推挽模式和高阻模式,89C52不可以,每次只點亮一個LED,一個IO推挽輸出1,另一個IO輸出0,其它2個IO必須為高阻。通過動態(tài)掃描方式可以實現(xiàn)全部LED點亮,類似數(shù)碼管的點亮方式,n個IO最多可以控制n*(n-1)個LED,樓主4個IO最多控制4*3=12個LED。
回復

使用道具 舉報

ID:278457 發(fā)表于 2023-11-30 03:49 | 顯示全部樓層
你可以用中斷優(yōu)先級,讓不同的燈,一起亮
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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