|
發布時間: 2021-11-25 12:35
正文摘要:本帖最后由 1027669350 于 2021-11-25 12:37 編輯 怎么將COM和對應的led組合在一起,定義之后,可以直接用結構體分別控制 |
| 既然是數碼管思路,就應該遵從數碼管的點亮思路,通過定時器,每5毫秒,讓一個COM下的LED點亮一次。即:把30個LED當作 4位數碼管, 4個COM就是4個位,每個COM對應的7~8個LED就是數碼管的段,然后利用視覺暫留原理不停的輪流點亮熄滅。 |
188610329 發表于 2021-11-25 15:44 請教一下怎樣寫控制COM的開關讓他們互不影響,我按照數碼管的思路寫的沒能實現 switch(Index++) { case 0: COM3=0; COM1=1; COM2=1; COM4=1; if(bai==1) { LEDbuf1.U8&=0xFC; } case 1: COM1=0; COM2=1; COM3=1; COM4=1; LEDbuf1.U8=table[shi]; break; case 2: COM2=0; COM1=1; COM3=1; COM4=1; LEDbuf1.U8=table[ge]&0x7F; Index = 0; break; } |
| 這實際就是借用典型的4位數碼管顯示電路,要動態掃描COM1-4,可參考數碼管顯示程序 |
yzwzfyz 發表于 2021-11-25 15:34 他實際是12個引腳, 陽極他是接到 SEG1~SEG8的。 所以直接按他這圖來講,直接可以分時復用了,不需要也沒有必要外接移位寄存器了。 |
|
四個端口,理論上只有16人狀態,不足32個。所以必須分時控制。 建議:用移位寄存器驅動32個燈,用四個端口控制移位寄存器。 |
| 你圖不是都畫出來了么? 通過 4x8 分時控制啊。 |