久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3072|回復: 31
收起左側

關于單片機控制新型正反掃4位數碼管編程思路?

  [復制鏈接]
ID:1025416 發表于 2022-5-10 16:02 | 顯示全部樓層 |閱讀模式
求大神講解一下關于此圖數碼管的控制原理 1 (2).png
回復

使用道具 舉報

ID:883242 發表于 2022-5-10 16:34 | 顯示全部樓層
這要用推挽電路才能驅動了,為什么要用這么繁瑣的東西?
回復

使用道具 舉報

ID:1025416 發表于 2022-5-10 16:34 | 顯示全部樓層
有大神在嗎?此問題已經困擾我很久了
回復

使用道具 舉報

ID:25310 發表于 2022-5-10 16:47 | 顯示全部樓層
這是常規的動態掃描點亮LED啦。先第一個發段位,再發第一個COM就是第一個位的數字顯示,延時幾個毫秒再發第二個,依次發完四個就是四位都顯示了,然后繼續循環就行了,要修改數字就需改段位碼繼續發就行了!
回復

使用道具 舉報

ID:1025416 發表于 2022-5-10 16:47 | 顯示全部樓層
Hephaestus 發表于 2022-5-10 16:34
這要用推挽電路才能驅動了,為什么要用這么繁瑣的東西?

商用的單片機IO口能省則省,成本問題。用8個IO口控制
回復

使用道具 舉報

ID:25310 發表于 2022-5-10 16:50 | 顯示全部樓層
這個數碼管有個特點,就是共陰極和共陽極一體的,很少見這種雙極性的數碼管。
回復

使用道具 舉報

ID:390416 發表于 2022-5-10 16:51 | 顯示全部樓層
需要高阻模式,百度搜索一下《基于QN8035的收音機 STC8單片機程序和電路》,自己去弄代碼就行了
回復

使用道具 舉報

ID:332444 發表于 2022-5-10 16:53 | 顯示全部樓層
比如要顯示4則FGBC需要點亮那么1高67低1低67高。
回復

使用道具 舉報

ID:1025416 發表于 2022-5-10 16:55 | 顯示全部樓層
pcbboy 發表于 2022-5-10 16:50
這個數碼管有個特點,就是共陰極和共陽極一體的,很少見這種雙極性的數碼管。

現在小家電用的都很多這種的了,原理我懂,但實際編程的時候發現有時候會矛盾,比如E段輸出高時,其它段位就無法完全關閉
回復

使用道具 舉報

ID:1025416 發表于 2022-5-10 16:58 | 顯示全部樓層
pcbboy 發表于 2022-5-10 16:47
這是常規的動態掃描點亮LED啦。先第一個發段位,再發第一個COM就是第一個位的數字顯示,延時幾個毫秒再發第 ...

謝謝。但是其它COM如何關閉呢,會影響到其它COM哦
回復

使用道具 舉報

ID:1025416 發表于 2022-5-10 16:59 | 顯示全部樓層
xianfajushi 發表于 2022-5-10 16:53
比如要顯示4則FGBC需要點亮那么1高67低1低67高。

共用IO問題如何防止其它COM漏顯
回復

使用道具 舉報

ID:883242 發表于 2022-5-10 17:01 | 顯示全部樓層
an770841487 發表于 2022-5-10 16:47
商用的單片機IO口能省則省,成本問題。用8個IO口控制

單片機IO口推挽電流就能滿足驅動亮度的話,就很好做了。

硬件上,5、6、7、8串限流電阻到單片機,1、2、3、4直接接單片機。

軟件上分8個時間段:
1)1高電平,2、3、4高阻態,8、7、6、5分別輸出第一個數碼的A、B、C、D。
2)2高電平,1、3、4高阻態,8、7、6、5分別輸出第二個數碼的A、B、C、D。
3)3高電平,1、2、4高阻態,8、7、6、5分別輸出第三個數碼的A、B、C、D。
4)4高電平,1、2、3高阻態,8、7、6、5分別輸出第四個數碼的A、B、C、D。
5)1低電平,2、3、4高阻態,8、7、6分別輸出第一個數碼的E、F、G。
6)2低電平,1、3、4高阻態,8、7、6、5分別輸出第二個數碼的E、F、G和DP5。
7)3低電平,1、2、4高阻態,8、7、6、5分別輸出第三個數碼的E、F、G和DP6。
8)4低電平,1、2、3高阻態,8、7、6分別輸出第四個數碼的E、F、G。
回復

使用道具 舉報

ID:213173 發表于 2022-5-10 17:18 | 顯示全部樓層
an770841487 發表于 2022-5-10 16:34
有大神在嗎?此問題已經困擾我很久了

這種數碼管設計有點獨特,每一個單元一半共陰一半共陽,也就是說一位數碼管要分2次驅動,共8次才能完成4位數碼管完整顯示。COM端置推挽模式先高電平,后低電平,再高阻態。段碼的低4位取共陰、高4位取共陽。要選擇有相關端口模式選擇功能的MCU。
回復

使用道具 舉報

ID:161164 發表于 2022-5-10 17:20 | 顯示全部樓層
你要選擇有高阻/推挽/開漏管腳功能的單片機
如要顯示2345
第一個循環
所有腳設為高阻消影
設8, 7, 5 腳為開漏
設1腳為推挽
第二個循環
所有腳設為高阻消影
設8,6 腳為推挽
設1腳為開漏

第三個循環
所有腳設為高阻消影
設8, 7, 6, 5 腳為開漏
設2腳為推挽
第四個循環
所有腳設為高阻消影
設6 腳為推挽
設2腳為開漏

第五個循環
所有腳設為高阻消影
設7, 6 腳為開漏
設3腳為推挽
第六個循環
所有腳設為高阻消影
設7, 6 腳為推挽
設3腳為開漏

第七個循環
所有腳設為高阻消影
設8, 6 ,5 腳為開漏
設4腳為推挽
第八個循環
所有腳設為高阻消影
設7,6 腳為推挽
設4腳為開漏
回復

使用道具 舉報

ID:824490 發表于 2022-5-10 17:21 | 顯示全部樓層
這種數碼管,分解到段掃,一次就點一個段,整屏分32次掃完。軟件就好寫了,不用高阻。

這個還不是極端的,至少,SEG是SEG,COM 是COM。
更極端的是COM與SEG混用。一個IO,有時是SEG,有時是COM。
8個IO最大的驅動LED數是8*(8-1)*2=112個LED!
回復

使用道具 舉報

ID:1025416 發表于 2022-5-10 17:21 | 顯示全部樓層
Hephaestus 發表于 2022-5-10 17:01
單片機IO口推挽電流就能滿足驅動亮度的話,就很好做了。

硬件上,5、6、7、8串限流電阻到單片機,1、2 ...

謝謝指點。單片機的高阻態是指?我只知道有設置端口為輸入或者輸出,高阻態是如何設置?亮度是不成問題的,可以滿足
回復

使用道具 舉報

ID:883242 發表于 2022-5-10 17:38 | 顯示全部樓層
an770841487 發表于 2022-5-10 17:21
謝謝指點。單片機的高阻態是指?我只知道有設置端口為輸入或者輸出,高阻態是如何設置?亮度是不成問題的 ...

沒高阻態的話,你會發現不該亮的管子亮了,而且這個問題是無解的。
回復

使用道具 舉報

ID:161164 發表于 2022-5-10 17:46 | 顯示全部樓層
名字不是重點 發表于 2022-5-10 17:21
這種數碼管,分解到段掃,一次就點一個段,整屏分32次掃完。軟件就好寫了,不用高阻。

這個還不是極端的 ...

沒有高阻不行吧?
如果我只要點亮Digi1的A段
COM1=1
8=0
756=1

如果234=1
Digi234的A段也會亮
如果234=0
Digi234的FGDg段也會亮
回復

使用道具 舉報

ID:401564 發表于 2022-5-10 18:23 | 顯示全部樓層
限流電阻只接在5678這4個引腳
把一個數碼管當成兩個數碼管來看,一個數字分兩次顯示
假設:#define out P1
com1  bit P1^0
com2  bit P1^1
com3  bit P1^2
com4  bit P1^3
顯示一個數字8:
設定com1,5678為推挽輸出
設定com2,com3,com4,為高阻,就是沒有輸出和吸入能力,隨便怎么操作,234這幾個數碼管都是不會亮的
顯示數碼管的ABCD:
這個過程com2,com3,com4是不參與的,因為是高阻,所以,不會有輸出和吸入能力的

1:
com1=1   ;//高電平輸出

out&=0x0f;//低電平吸入,用按位與操作,顯示,低位是com的,不影響
延時1mS;這是顯示部分

com1=0;//這是消除殘影部分
out&=0x0f;//com1為低電平,5678這幾個IO輸出低電平,用于消除殘影out&=0x0f一定要有,在這里out&=0x0f只是和數碼的"8"巧合了而已,不是重復操作

顯示數碼管EFG DP
2:
com1=0;//低電平吸入

out&=0xff;//高電平輸出,用按位與操作,顯示,低位是com的,不影響
延時1mS;out&=0x0f;//com1為低電平,5678這幾個IO輸出低電平,用于消除殘影



這就完成了一個數碼管的顯示了,剩下的也是一樣的道理,每次顯示之后都要消除殘影,每次顯示之前都要先更改幾個com的輸出模式,保證只有一個IO有輸出和吸入能力,其它的都沒有這個能力
5678這幾個高位的不需要設置,只要設置一次就行,設置成推挽
回復

使用道具 舉報

ID:1025416 發表于 2022-5-10 19:49 | 顯示全部樓層
Y_G_G 發表于 2022-5-10 18:23
限流電阻只接在5678這4個引腳
把一個數碼管當成兩個數碼管來看,一個數字分兩次顯示
假設:#define out P1
...

你寫的很仔細到位,謝謝你的回復,按你的思路,如果單片機有高阻態,肯定是容易實現。但現在使用的電路,我看了這個單片機手冊,沒寫有高阻功能,但有LED驅動模塊。這是別人做開的已經商用的電路,因此不存在無法控制的問題,只是不知道他是不是用的LED模塊來驅動或者別的方法。
回復

使用道具 舉報

ID:220661 發表于 2022-5-10 19:57 | 顯示全部樓層
八位單片機當作四位單片機用就可以了,簡單地說就是移位操作。
回復

使用道具 舉報

ID:401564 發表于 2022-5-10 20:07 | 顯示全部樓層
an770841487 發表于 2022-5-10 19:49
你寫的很仔細到位,謝謝你的回復,按你的思路,如果單片機有高阻態,肯定是容易實現。但現在使用的電路, ...

如果有是LED模塊,那看一下LED模塊有沒有三態控制,如果LED模塊有高阻設置的話,基本也是這么個原理的了
回復

使用道具 舉報

ID:89515 發表于 2022-5-11 07:28 來自手機 | 顯示全部樓層
分時復用不就行了,哪有那么復雜???
回復

使用道具 舉報

ID:161164 發表于 2022-5-11 11:16 | 顯示全部樓層
mengzhixinheng 發表于 2022-5-11 07:28
分時復用不就行了,哪有那么復雜???

愿聞其詳
回復

使用道具 舉報

ID:25310 發表于 2022-5-11 13:43 | 顯示全部樓層
an770841487 發表于 2022-5-10 16:55
現在小家電用的都很多這種的了,原理我懂,但實際編程的時候發現有時候會矛盾,比如E段輸出高時,其它段 ...

加限流電阻?纯词欠穸挝簧系碾娮杼×擞新╇娏鳌
回復

使用道具 舉報

ID:123289 發表于 2022-5-11 14:39 | 顯示全部樓層
樓主有此一問了,有下例原因。
1、未真正地吃透掃描顯示的原理。
2、如何讓一只LED明暗。
建議:分8次掃描顯示:
4次正邏輯,5678為數值,1234分時逐一為0。
4次負邏輯,5678為數值,1234分時逐一為1。
以上是如何掃描,需要吃透。
這樣需要8個4位數值,建立用8個寄存器或內存存放(M1-M8)。數值是什么,自己好好的算一下(如何讓一只LED明暗)。參考答案如下:
M1=XXXX0111
M2=XXXX1011
M3=XXXX1101
M4=XXXX1110
M5=XXXX1000
M6=XXXX0100
M7=XXXX0010
M8=XXXX0001
XXXX=?就不告訴你了,以防腦子生銹。
回復

使用道具 舉報

ID:161164 發表于 2022-5-11 15:00 | 顯示全部樓層
yzwzfyz 發表于 2022-5-11 14:39
樓主有此一問了,有下例原因。
1、未真正地吃透掃描顯示的原理。
2、如何讓一只LED明暗。

如果我只想點亮Digi1的A段
M1 = 1000 0YYY
YYY=?
111?Digi2/3/4 的 B/C/D段會同時被點亮
000?Digi2/3/4 的 A段會同時被點亮
回復

使用道具 舉報

ID:887371 發表于 2022-5-11 15:40 | 顯示全部樓層
an770841487 發表于 2022-5-10 17:21
謝謝指點。單片機的高阻態是指?我只知道有設置端口為輸入或者輸出,高阻態是如何設置?亮度是不成問題的 ...

設置端口為輸入,就是高阻。
有的mcu能配置上拉、下拉電阻,這種單片機要把上拉、下拉電阻配置為無。
絕大部分單片機都能設為高阻。
這種數碼管要求單片機端口能設置為高阻、推挽高、推挽低。除了很老的51單片機外,其它單片機都能勝任。

另外這種數碼管應該是白、藍光led,它們的壓降高,能達到3V。其它顏色壓降低,估計不行。

評分

參與人數 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:332444 發表于 2022-5-11 16:38 | 顯示全部樓層
一時之間沒查資料就憑感覺猜測,覺得每次顯示一段是比較合理的也好控制但是顯示一個字則需要八次控制4位則需要32次控制,所花費時間比較多.就好比C++編程控制臺模擬數碼管段仿真一樣道理
https://blog.csdn.net/xianfajushi/article/details/104877907
回復

使用道具 舉報

ID:332444 發表于 2022-5-11 17:00 | 顯示全部樓層
不過依據控制臺編程經驗來看未必就一定使用32次控制或許可以更少但是原理還是每次顯示一段,然而可以每位顯示一段或可減少次數并使得程序寫得簡潔,忽然想起了寫過這樣控制臺仿真編程.
回復

使用道具 舉報

ID:1025416 發表于 2022-5-11 17:38 | 顯示全部樓層
mengzhixinheng 發表于 2022-5-11 07:28
分時復用不就行了,哪有那么復雜???

能說詳細一點嗎,謝謝您的解答
回復

使用道具 舉報

ID:1025416 發表于 2022-5-11 20:00 | 顯示全部樓層
datouyuan 發表于 2022-5-11 15:40
設置端口為輸入,就是高阻。
有的mcu能配置上拉、下拉電阻,這種單片機要把上拉、下拉電阻配置為無。
絕 ...

今天問了芯片客服,他們回答和你的答案一樣,設置為輸入就是高阻態,并且要禁掉上下拉。謝謝你的解答
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产在线精品一区二区三区 | 色啪网 | 国产中文 | 国产一区二区三区四区三区四 | 中文字幕日本一区二区 | 成人在线视频一区 | 91免费版在线观看 | 亚洲精品一二区 | 日韩网站免费观看 | 日韩欧美一区二区在线播放 | 欧美一二三四成人免费视频 | 欧美日韩视频 | 中国一级特黄真人毛片 | 91精品久久久久久久99 | 国产精品久久久久久妇女6080 | 国产精品精品久久久久久 | 国际精品久久 | 精精国产xxxx视频在线野外 | 国产精品无码专区在线观看 | 亚洲综合一区二区三区 | 伊人激情网 | 日韩中文字幕网 | 在线观看免费毛片 | 一区在线播放 | 午夜视频在线观看一区二区 | 亚洲第一av | 亚洲在线日韩 | 国产精品久久久久久久岛一牛影视 | 精品国产一区二区三区成人影院 | 九九精品久久久 | 欧美大片久久久 | 亚洲电影第三页 | 天天综合操 | 激情小视频 | 国产一区在线免费观看视频 | 蜜月va乱码一区二区三区 | 91视频免费黄 | 亚洲一区二区三区在线免费观看 | 国产中文| 国产乱肥老妇国产一区二 | 在线中文字幕国产 |