欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4147|回復: 10
收起左側

關于單片機數(shù)碼管動態(tài)刷新顯示值儲存!

[復制鏈接]
ID:232366 發(fā)表于 2021-1-7 20:23 | 顯示全部樓層 |閱讀模式
先上程序如下:這是一部分程序
問題一   DisplayData[ 8 ] = {0,1,2,3,4,5,6,7};此數(shù)組內(nèi)的成員歸誰調(diào)用?

uchar DisplayData[ 8 ] = {0,1,2,3,4,5,6,7};


問題二 此語句里《DisplayData[i ];這個數(shù)組是怎么跟上面的第一個進行數(shù)據(jù)傳輸和獲。?》
此為數(shù)碼管動態(tài)刷新的其中的一條語句case(0):LSA=1;    LSB=1; LSC=1; GPIO_DIG_= DisplayData[i ];  break;


問題三為何在主程序里調(diào)用此語句就可以控制數(shù)碼管用哪一個來顯示/*第1個數(shù)碼管*/ DisplayData [0] = display_SMG_ [LEDbuff[0]];//發(fā)送段碼


真的是困惑單片機編程真的是多種多樣!。。。。。!

回復

使用道具 舉報

ID:517466 發(fā)表于 2021-1-7 21:26 | 顯示全部樓層
本帖最后由 suncat0504 于 2021-1-7 21:29 編輯

首先搞清楚動態(tài)顯示的原理。然后按照動態(tài)顯示的思路,去理解程序。相信你就會有所收獲的。
正常處理邏輯是:
1、關閉所有數(shù)碼管的電源。
2、組織第一個數(shù)碼管的筆段數(shù)據(jù),通常筆段數(shù)據(jù)保存在一個一維Byete數(shù)組中。0-9號元素對應0-9的顯示筆段數(shù)據(jù)。此外還可以加入其它特殊符號的筆段數(shù)據(jù),比如減號,A,b,C,d,E,F等
3、把筆段數(shù)據(jù)發(fā)送給數(shù)碼管公用的筆段數(shù)據(jù)線上
4、給這個數(shù)碼管加電,并顯示一段時間
5、關閉這個數(shù)碼管的電源
6、組織下一個數(shù)碼管的筆段數(shù)據(jù),重復執(zhí)行第三步到第五步
回復

使用道具 舉報

ID:235200 發(fā)表于 2021-1-7 21:54 | 顯示全部樓層
DisplayData[ 8 ] = {0,1,2,3,4,5,6,7};此數(shù)組內(nèi)的成員歸誰調(diào)用:任意表達式中含有名字DisplayData均可調(diào)用,DisplayData[i ]中的i確定與數(shù)組元素對應,i的值范圍0-7,分別對應數(shù)組中元素0至元素7,這一句DisplayData [0] = display_SMG_ [LEDbuff[0]];的意思是把要顯示的數(shù)字內(nèi)容轉換為顯示段碼重新存入數(shù)組DisplayData中的第0個元素,
回復

使用道具 舉報

ID:390416 發(fā)表于 2021-1-7 21:56 | 顯示全部樓層
關于這個問題,你可以去看看《人人學會單片機》這個視頻教程。就是這差不多的意思。把數(shù)碼管作為一個獨立的模塊。
回復

使用道具 舉報

ID:390416 發(fā)表于 2021-1-7 21:58 | 顯示全部樓層
數(shù)碼管顯示原理.png
這個就是數(shù)碼管緩存的做法。
回復

使用道具 舉報

ID:390416 發(fā)表于 2021-1-8 00:15 | 顯示全部樓層

這是我在51hei的貼子  兩個595顯示8位數(shù)碼管的 可以看到了
http://m.raoushi.com/bbs/dpj-201201-1.html
回復

使用道具 舉報

ID:213173 發(fā)表于 2021-1-8 06:44 | 顯示全部樓層
1.定義8個成員的緩存數(shù)組,用于保存8位數(shù)碼管顯示內(nèi)容
uchar DisplayData[8];

2.當需要變更數(shù)碼管顯示內(nèi)容時對8個成員或部分成員重新賦值
通過display_SMG_ []數(shù)碼管段碼數(shù)組把數(shù)字或字符轉換成段碼保存在緩存數(shù)組中
DisplayData [0] = display_SMG_ [單個數(shù)字或數(shù)碼管能夠表示的字符的下標位置];
DisplayData [1] = display_SMG_ [......];
......

3.在顯示程序中將緩存數(shù)組成員按序逐位送到驅(qū)動端口
GPIO_DIG_= DisplayData[i];//i由0~7重復循環(huán)

強調(diào)一點:數(shù)碼管顯示的并不是數(shù)字或字符,而是由8筆段拼湊成的圖形。
回復

使用道具 舉報

ID:232366 發(fā)表于 2021-1-8 08:35 來自觸屏版 | 顯示全部樓層
suncat0504 發(fā)表于 2021-1-7 21:26
首先搞清楚動態(tài)顯示的原理。然后按照動態(tài)顯示的思路,去理解程序。相信你就會有所收獲的。
正常處理邏輯是 ...

感謝回復  動態(tài)刷新的原理小有了解只是對編程來控制的理論稍差還欠佳!
回復

使用道具 舉報

ID:451718 發(fā)表于 2021-1-8 08:44 | 顯示全部樓層
這里有一個片選的概念,也就是內(nèi)存RAM的工作原理。 如果你弄懂了這個硬件原理, 理解數(shù)碼管的工作原理會容易很多。  程序只是配合軟件層面的應用,主要是硬件 片選這個知識點,是一個難點。
回復

使用道具 舉報

ID:232366 發(fā)表于 2021-1-8 08:56 來自觸屏版 | 顯示全部樓層
robinsonlin 發(fā)表于 2021-1-8 08:44
這里有一個片選的概念,也就是內(nèi)存RAM的工作原理。 如果你弄懂了這個硬件原理, 理解數(shù)碼管的工作原理會容 ...

感謝回復  !
回復

使用道具 舉報

ID:232366 發(fā)表于 2021-1-8 08:58 來自觸屏版 | 顯示全部樓層
wulin 發(fā)表于 2021-1-8 06:44
1.定義8個成員的緩存數(shù)組,用于保存8位數(shù)碼管顯示內(nèi)容
uchar DisplayData[8];


您后面強調(diào)的那一點說的好  前面我一直以為用二傳輸給數(shù)碼管也從相關書籍看到和您說的一樣!
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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