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

QQ登錄

只需一步,快速開始

搜索
查看: 3067|回復(fù): 16
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)多個(gè)數(shù)碼管動(dòng)態(tài)顯示問(wèn)題分析,請(qǐng)大家?guī)兔纯?/span>

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
下面是數(shù)碼管顯示的原理圖,然后4個(gè)com端+5,6引腳放在了單片機(jī)P1口,7~13引腳放在P2口。問(wèn)題是 該如何實(shí)現(xiàn)后面3個(gè)數(shù)字的動(dòng)態(tài)顯示呢?

2.png (44.65 KB, 下載次數(shù): 102)

2.png

1.png (31.06 KB, 下載次數(shù): 94)

1.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:332444 發(fā)表于 2022-7-5 10:21 | 只看該作者
知道了端電壓點(diǎn)亮和熄滅就可以用編程實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

板凳
ID:651494 發(fā)表于 2022-7-5 10:47 | 只看該作者
最好用數(shù)碼管驅(qū)動(dòng)IC sm1623,sm1628等,如果純單片機(jī)I/O來(lái)控制也是可以的,先搞請(qǐng),第1個(gè)8字,就是1A+1B+1C+1D+1E+1F+1G,顯示一個(gè)“4”,就是1B,1C,1F,1G點(diǎn)亮,其余熄滅,顯示一個(gè)“F” 1A,1E,1F,1G點(diǎn)亮,第2個(gè)8,2A......2G,第3個(gè)8,3A.....3G
回復(fù)

使用道具 舉報(bào)

地板
ID:807651 發(fā)表于 2022-7-5 11:23 | 只看該作者
先知道怎么驅(qū)動(dòng)數(shù)碼管,了解原理。按上面的需要13腳來(lái)驅(qū)動(dòng)考慮到應(yīng)該還有其他功能需要到引腳,可以考慮用數(shù)碼管驅(qū)動(dòng)IC來(lái)控制
回復(fù)

使用道具 舉報(bào)

5#
ID:955239 發(fā)表于 2022-7-5 11:32 | 只看該作者
這是9個(gè)SEG*4個(gè)COM,選一款合適的LED驅(qū)動(dòng)IC即可
回復(fù)

使用道具 舉報(bào)

6#
ID:1038394 發(fā)表于 2022-7-5 11:42 | 只看該作者
數(shù)碼管驅(qū)動(dòng)IC來(lái)控制
回復(fù)

使用道具 舉報(bào)

7#
ID:96682 發(fā)表于 2022-7-5 15:30 | 只看該作者
怎么驅(qū)動(dòng)不是有圖了么,用脈沖去驅(qū)動(dòng)恰當(dāng)?shù)乃⑿骂l率就行了
回復(fù)

使用道具 舉報(bào)

8#
ID:824490 發(fā)表于 2022-7-5 16:38 | 只看該作者
好奇葩的LCD,出線在窄邊。。應(yīng)力測(cè)試過(guò)了嗎?
回復(fù)

使用道具 舉報(bào)

9#
ID:161164 發(fā)表于 2022-7-5 17:55 | 只看該作者
1 你的單片機(jī)必須有高阻輸入模式
2 每個(gè)COM 腳接上兩個(gè)相同阻值的電阻來(lái)達(dá)到1/2Vdd的條件
3 根據(jù)下圖輸出



回復(fù)

使用道具 舉報(bào)

10#
ID:195496 發(fā)表于 2022-7-6 16:50 | 只看該作者
你這是個(gè)段碼屏,跟數(shù)碼管驅(qū)動(dòng)不太一樣,還要按偏壓值來(lái)設(shè)計(jì)電壓組合
回復(fù)

使用道具 舉報(bào)

11#
ID:130230 發(fā)表于 2022-7-6 17:01 | 只看該作者
這不是LCD嗎? 在中斷里面刷新LCDram就行。
回復(fù)

使用道具 舉報(bào)

12#
ID:1013784 發(fā)表于 2022-7-11 02:35 | 只看該作者
數(shù)碼管驅(qū)動(dòng)IC來(lái)控制,比較直接
回復(fù)

使用道具 舉報(bào)

13#
ID:213173 發(fā)表于 2022-7-11 08:06 | 只看該作者
本帖最后由 wulin 于 2022-7-11 10:28 編輯

這個(gè)屏相當(dāng)于4位半數(shù)字段碼屏,如用單片機(jī)直接驅(qū)動(dòng)這種LCD屏,其端口必須具備高阻模式。每個(gè)COM 口接兩個(gè)分壓電阻以提供1/2VCC。再以2ms高電平,2ms低電平,6ms1/2VCC(高阻態(tài))的交流方式輪流使能4個(gè)COM。在某COM口使能期間(交流),與其對(duì)應(yīng)的筆段電平相反的顯示,電平相同的不顯示。由于COM口不像LED那樣對(duì)應(yīng)一個(gè)“8”字,而是對(duì)應(yīng)各字符的一部分。所以要用一個(gè)int型緩存數(shù)組把對(duì)應(yīng)筆段分離出來(lái)同時(shí)顯示。例:
dis_buf[0]=(T5>>3|T4)|(1F>>1|1A<<2)|(2F<<1|2A<<4)|(3F<<3|3A<<6)|(V<<8);//V.3F.3A.2F.2A.1F.1A.T5.T4
dis_buf[1]=(T6>>3|T3)|(1G>>1|1B<<2)|(2G<<1|2B<<4)|(3D<<3|3B<<6)|(A<<8);//A.3G.3B.2G.2B.1G.1B.T6.T3
.........下面是一個(gè)實(shí)際使用中的LCD驅(qū)動(dòng)代碼,放在2ms中斷中運(yùn)行。單片機(jī)型號(hào)STC15W408AS
  1. //LCD顯示程序
  2. void display(uchar ba,uchar sh,uchar ge)
  3. {
  4.         static uchar i=0;        
  5.         static uchar a[4];
  6.         a[0]=(ba<<1&0x20)|(ba<<4&0x10)|//高1位左移1到高2位/低1位左移4到高1位
  7.                (sh>>1&0x08)|(sh<<2&0x04)|//高1位右移1到低4位/低1位左移2到低3位
  8.          (ge>>3&0x02)|(ge   &0x01);//高1位右移3到低2位/低1位維持0到低1位
  9.         
  10.         a[1]=(ba   &0x20)|(ba<<3&0x10)|//高2位維持0到高2位/低2位左移3到高1位
  11.              (sh>>2&0x08)|(sh<<1&0x04)|//高2位右移2到低4位/低2位左移1到低3位
  12.          (ge>>4&0x02)|(ge>>1&0x01);//高2位右移4到低2位/低2位右移1到低1位
  13.         
  14.         a[2]=(ba>>1&0x20)|(ba<<2&0x10)|//高3位右移1到高2位/低3位左移2到高1位
  15.              (sh>>3&0x08)|(sh   &0x04)|//高3位右移3到低4位/低3位維持0到低3位
  16.          (ge>>5&0x02)|(ge>>2&0x01);//高3位右移5到低2位/低3位右移2到低1位
  17.         
  18.         a[3]=(ba>>2&0x20)|(ba<<1&0x10)|//高4位右移2到高2位/低4位左移1到高1位
  19.              (sh>>4&0x08)|(sh>>1&0x04)|//高4位右移4到低4位/低4位右移1到低3位
  20.          (ge>>6&0x02)|(ge>>3&0x01);//高4位右移6到低2位/低4位右移3到低1位

  21.         switch(i)
  22.         {
  23.                 case 0: P1M1&=0x0f;P1M1|=0x70;COM1=0; LCD_SEG( a[0]);break;
  24.                 case 1: P1M1&=0x0f;P1M1|=0x70;COM1=1; LCD_SEG(~a[0]);break;

  25.                 case 2: P1M1&=0x0f;P1M1|=0xb0;COM2=0; LCD_SEG( a[1]);break;
  26.                 case 3: P1M1&=0x0f;P1M1|=0xb0;COM2=1; LCD_SEG(~a[1]);break;

  27.                 case 4: P1M1&=0x0f;P1M1|=0xd0;COM3=0; LCD_SEG( a[2]);break;
  28.                 case 5: P1M1&=0x0f;P1M1|=0xd0;COM3=1; LCD_SEG(~a[2]);break;

  29.                 case 6: P1M1&=0x0f;P1M1|=0xe0;COM4=0; LCD_SEG( a[3]);break;
  30.                 case 7: P1M1&=0x0f;P1M1|=0xe0;COM4=1; LCD_SEG(~a[3]);break;
  31.         }
  32.         i=++i%8;
  33. }
復(fù)制代碼




回復(fù)

使用道具 舉報(bào)

14#
ID:960453 發(fā)表于 2022-7-19 15:09 | 只看該作者
wulin 發(fā)表于 2022-7-11 08:06
這個(gè)屏相當(dāng)于4位半數(shù)字段碼屏,如用單片機(jī)直接驅(qū)動(dòng)這種LCD屏,其端口必須具備高阻模式。每個(gè)COM 口接兩個(gè)分 ...

感謝大哥,但我實(shí)在沒搞懂怎么用交流驅(qū)動(dòng)這種段碼屏 我能不能討要一份簡(jiǎn)單顯示demo程序參考
回復(fù)

使用道具 舉報(bào)

15#
ID:213173 發(fā)表于 2022-7-19 16:31 | 只看該作者
啊偉誒誒 發(fā)表于 2022-7-19 15:09
感謝大哥,但我實(shí)在沒搞懂怎么用交流驅(qū)動(dòng)這種段碼屏 我能不能討要一份簡(jiǎn)單顯示demo ...

所謂交流驅(qū)動(dòng)并不是非得正負(fù)交替。COM端電壓實(shí)際是在0V、VCC,1/2VCC,3種狀態(tài)變化,1/2VCC是在IO口設(shè)置高阻模式,由外部的兩個(gè)同值電阻分壓獲得。筆段端電壓只在0V和VCC,兩種狀態(tài)變化,對(duì)液晶兩極而言就是交流電壓。VCC不論采用的是5V還是3.3V,1/2VCC都不能滿足筆段顯示,只要在筆段與COM之間加電壓>3V,筆段就能顯示,否則不顯示。但液晶不能長(zhǎng)期加固定電壓,否則液晶會(huì)被極化而無(wú)法改變顯示。所以要不斷改變液晶兩極的電場(chǎng)方向。這就是所謂交流驅(qū)動(dòng)的原因。前面帖子提供的LCD顯示代碼已經(jīng)非常清楚的表明上述解釋。項(xiàng)目完整代碼因商業(yè)原因不能提供,這是大家都懂的。
回復(fù)

使用道具 舉報(bào)

16#
ID:1039965 發(fā)表于 2022-7-19 16:45 | 只看該作者
先一個(gè)一個(gè)數(shù)字測(cè)試好編碼。然后封裝起來(lái)調(diào)用就行
回復(fù)

使用道具 舉報(bào)

17#
ID:195496 發(fā)表于 2022-7-20 09:10 | 只看該作者
用液晶驅(qū)動(dòng)芯片簡(jiǎn)單,HT1621b就可以,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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