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

QQ登錄

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

搜索
查看: 2769|回復(fù): 4
收起左側(cè)

求分享 使用Charlieplexing查理復(fù)用技術(shù)使用5個(gè)io口控制16個(gè)LED的51單片機(jī)程序

[復(fù)制鏈接]
ID:488281 發(fā)表于 2022-4-12 14:27 | 顯示全部樓層 |閱讀模式
50黑幣
如題

最佳答案

查看完整內(nèi)容

5個(gè)IO口最多可以控制20個(gè)LED,現(xiàn)成的程序不太好找。這有個(gè)實(shí)例,STC8G1K08A就6個(gè)IO口,能用的就只剩3個(gè),無(wú)奈才寫(xiě)了3個(gè)IO口控制4個(gè)LED的程序。由于LED數(shù)量太少,就沒(méi)有費(fèi)神精煉代碼,只把4個(gè)LED驅(qū)動(dòng)封裝成函數(shù)調(diào)用。權(quán)當(dāng)拋磚引玉。
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2022-4-12 14:27 | 顯示全部樓層
5個(gè)IO口最多可以控制20個(gè)LED,現(xiàn)成的程序不太好找。這有個(gè)實(shí)例,STC8G1K08A就6個(gè)IO口,能用的就只剩3個(gè),無(wú)奈才寫(xiě)了3個(gè)IO口控制4個(gè)LED的程序。由于LED數(shù)量太少,就沒(méi)有費(fèi)神精煉代碼,只把4個(gè)LED驅(qū)動(dòng)封裝成函數(shù)調(diào)用。權(quán)當(dāng)拋磚引玉。

  1. void LED1()
  2. {
  3.         P3M0=0x03;//P3.0推、3.1推、3.2高0000 0011
  4.         P3M1=0x04;//P3.0推、3.1推、3.2高0000 0100
  5.         P30=0;P31=1;P32=1;
  6. }

  7. void LED2()
  8. {
  9.         P3M0=0x03;//P3.0推、3.1推、3.2高0000 0011
  10.         P3M1=0x04;//P3.0推、3.1推、3.2高0000 0100
  11.         P30=1;P31=0;P32=1;
  12. }

  13. void LED3()
  14. {
  15.         P3M0=0x06;//P3.0高、3.1推、3.2推0000 0110
  16.         P3M1=0x01;//P3.0高、3.1推、3.2推0000 0001
  17.         P30=1;P31=0;P32=1;
  18. }

  19. void LED4()
  20. {
  21.         P3M0=0x06;//P3.0高、3.1推、3.2推0000 0110
  22.         P3M1=0x01;//P3.0高、3.1推、3.2推0000 0001
  23.         P30=1;P31=1;P32=0;
  24. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

ID:732794 發(fā)表于 2022-4-12 19:55 | 顯示全部樓層
參考這個(gè),電路和思路都有
百度這篇文章
基于Charlieplexing(查理復(fù)用算法)實(shí)現(xiàn)4個(gè)GPIO控制12個(gè)LED燈
回復(fù)

使用道具 舉報(bào)

ID:69038 發(fā)表于 2025-2-17 15:50 | 顯示全部樓層
16個(gè)LED,如沒(méi)有特別要求,用5個(gè)IO是可以的,但某些燈與其它燈互斥,最好的方法就是擴(kuò)口,用74HC595,比138之類(lèi)的譯碼器電路好用,因?yàn)?95是三態(tài)鎖存口(8位同步),可以級(jí)聯(lián),2個(gè)595就能驅(qū)動(dòng)16個(gè)IO了。
595的電路網(wǎng)上到處都是。驅(qū)動(dòng)也簡(jiǎn)單。
曾經(jīng)做過(guò)6個(gè)IO驅(qū)動(dòng)4位7段時(shí)鐘屏。用的就是查理復(fù)用的方式。不難。
回復(fù)

使用道具 舉報(bào)

ID:1034262 發(fā)表于 2025-2-18 11:22 | 顯示全部樓層
可以參考大量使用的充電寶的驅(qū)動(dòng)方式,5個(gè)IO最多可以驅(qū)動(dòng)20個(gè)LED,驅(qū)動(dòng)原則是:
分5個(gè)時(shí)隙驅(qū)動(dòng),每次驅(qū)動(dòng)時(shí)一個(gè)IO做COM驅(qū)動(dòng),另外4個(gè)IO做SEG驅(qū)動(dòng)。
不顯示的SEG為高阻,顯示的SEG和COM為推挽輸出。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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