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

QQ登錄

只需一步,快速開始

搜索

單片機(jī)6個(gè)IO口掃描數(shù)碼管驅(qū)動(dòng),我單燈可以點(diǎn)亮,0-9跳轉(zhuǎn)不成麻煩大神指教思路

查看數(shù): 2292 | 評(píng)論數(shù): 9 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2022-11-30 21:55

正文摘要:

各位大神,用IO口驅(qū)動(dòng)數(shù)碼管,單燈給值掃描正常,0~9數(shù)字跳轉(zhuǎn)實(shí)現(xiàn)不了,是哪里邏輯錯(cuò)誤了。。 單片機(jī)源程序如下: void LED_Init(void) {    PORTA = 0;    TRISA0 = 1;     ...

回復(fù)

ID:344646 發(fā)表于 2022-12-1 19:58
yzwzfyz 發(fā)表于 2022-12-1 17:22
不急:
弄懂顯示的原理。
建議先畫個(gè)顯示0-9的真值表。按表寫驅(qū)動(dòng)程序就可以了。

好的,按照上面兩位的思路整理了下程序,基本可以了
ID:344646 發(fā)表于 2022-12-1 19:57
zjjhtony 發(fā)表于 2022-12-1 11:39
這個(gè)燈需要一個(gè)定時(shí)器對(duì)他IO口進(jìn)行定時(shí)循環(huán)掃描,在數(shù)據(jù)的處理上要化點(diǎn)時(shí)間。
處理過2個(gè)這樣的LED程序。

好的,是這樣的思路,謝謝~
ID:123289 發(fā)表于 2022-12-1 17:22
不急:
弄懂顯示的原理。
建議先畫個(gè)顯示0-9的真值表。按表寫驅(qū)動(dòng)程序就可以了。
ID:213173 發(fā)表于 2022-12-1 12:28
declansang 發(fā)表于 2022-12-1 09:49
感謝指點(diǎn),我目前是按查理復(fù)用設(shè)定的掃描方式去處理的,就是亮下一個(gè)燈的時(shí)候,上一個(gè)不論怎么配置不知道 ...

查理復(fù)用是需要軟件、硬件配合。不能有效關(guān)閉LED多數(shù)是代碼不對(duì)。
ID:18297 發(fā)表于 2022-12-1 11:39
這個(gè)燈需要一個(gè)定時(shí)器對(duì)他IO口進(jìn)行定時(shí)循環(huán)掃描,在數(shù)據(jù)的處理上要化點(diǎn)時(shí)間。
處理過2個(gè)這樣的LED程序。
ID:712493 發(fā)表于 2022-12-1 10:17
declansang 發(fā)表于 2022-12-1 09:49
感謝指點(diǎn),我目前是按查理復(fù)用設(shè)定的掃描方式去處理的,就是亮下一個(gè)燈的時(shí)候,上一個(gè)不論怎么配置不知道 ...

這個(gè)復(fù)用模式,需要單片機(jī)的高阻模式不漏電,因?yàn)楝F(xiàn)在LED很小的驅(qū)動(dòng)電流就會(huì)發(fā)亮1mA以下都可以,你要單獨(dú)試個(gè)點(diǎn),一IO高電平一次  低電平一次 另一IO一直高阻開漏模式  測(cè)試所處的點(diǎn)是否發(fā)亮,如發(fā)亮你怎么弄也不能有效關(guān)閉LED了
ID:161164 發(fā)表于 2022-12-1 09:49
本帖最后由 lkc8210 于 2022-12-1 10:57 編輯

代碼不全

可以用Excel 算出段值用來比較,就可以簡(jiǎn)化代碼



以下的Disp()函數(shù)放到1ms中斷里運(yùn)行
Dat1/Dat2/Dat3的值是共陰數(shù)碼管的碼,k1k2對(duì)應(yīng)bit0,bit1
ID:344646 發(fā)表于 2022-12-1 09:49
wulin 發(fā)表于 2022-12-1 09:19
這類數(shù)碼管的驅(qū)動(dòng)碼編寫有點(diǎn)麻煩,首先要選擇有高阻輸出模式的MCU,采用查理復(fù)用的方法編寫驅(qū)動(dòng)碼,共有25 ...

感謝指點(diǎn),我目前是按查理復(fù)用設(shè)定的掃描方式去處理的,就是亮下一個(gè)燈的時(shí)候,上一個(gè)不論怎么配置不知道為什么滅不掉。
ID:213173 發(fā)表于 2022-12-1 09:19
這類數(shù)碼管的驅(qū)動(dòng)碼編寫有點(diǎn)麻煩,首先要選擇有高阻輸出模式的MCU,采用查理復(fù)用的方法編寫驅(qū)動(dòng)碼,共有25個(gè)筆段。小數(shù)點(diǎn)DP1、DP2只需2選1就能滿足運(yùn)用?粘龅拇a位讓給k2。這就得到24個(gè)實(shí)際使用筆段。最簡(jiǎn)單的應(yīng)用是單管逐一顯示,由于每個(gè)筆段只能顯示1/25時(shí)間,可能視覺亮度不夠。要減小限流電阻阻值。 查理復(fù)用IO驅(qū)動(dòng)數(shù)碼管.docx (92.31 KB, 下載次數(shù): 15)


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

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

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