找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2418|回復(fù): 15
收起左側(cè)

單片機動態(tài)顯示數(shù)碼管可以用三極管8550來控制公共端嗎

[復(fù)制鏈接]
ID:1091094 發(fā)表于 2024-1-13 16:23 | 顯示全部樓層 |閱讀模式
屏幕截圖 2024-01-13 161502.png
我根據(jù)這圖在Proteus上面畫了仿真,由于沒有8550這個型號的三極管就隨便用了個管子,發(fā)現(xiàn)根本不行。
屏幕截圖 2024-01-13 161231.png

我想顯示34,給我顯示了99.
我覺得可能是三極管的頻率不夠,所以將低了頻率,還是不行。
  1. #include<reg52.h>

  2. typedef unsigned char u8;
  3. typedef unsigned int u16;

  4. sbit smg1=P2^5;
  5. sbit smg2=P2^4;

  6. u8 gsmg_code[16]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};


  7. void delay_10us(u16 ten_us)
  8. {
  9.         while(ten_us--);        
  10. }


  11. void main()
  12. {
  13.         u8 i=0;
  14.         while(1)
  15.         {
  16.                   P1=gsmg_code[3];
  17.                   smg1=0;
  18.                         smg2=1;
  19.                         delay_10us(5000);
  20.                         P1=0XFF;
  21.                         P1=gsmg_code[4];
  22.                   smg1=1;
  23.                         smg2=0;
  24.                         delay_10us(5000);
  25.                   P1=0XFF;
  26.         }
  27. }
復(fù)制代碼

感覺還是頻率的問題,如果用真的8550,可以嗎?
因為沒有實物,也是不了。
我用單片機直接連公共端控制的時候,是可以的。
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2024-1-13 17:17 | 顯示全部樓層
盲猜你的Proteus模型用錯了。

電路上RN3兩端電壓,從P1.7~P1.0就是十六進制0x9,二進制1001 1001,你注意到?jīng)]有?二進制8位里面有4位高,4位低。

而顯示的7段碼“9”有6個高2個低,或者邏輯相反有有2個高6個低,絕對不可能是4高4低!

那么問題的原因就顯而易見了。

你用的不是一般的7段數(shù)碼管,而是內(nèi)置譯碼的數(shù)碼管,把你給的0x9電平翻譯成“9”顯示出來了。
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2024-1-13 21:43 | 顯示全部樓層
無標題.jpg


電路和代碼都沒有問題,是仿真用的三極管不能截止,導(dǎo)致兩個數(shù)碼管同時交替顯示3和4,筆畫疊加在一起就成99。可以用反相器代替三極管就可以正常顯示。
回復(fù)

使用道具 舉報

ID:634587 發(fā)表于 2024-1-14 11:17 | 顯示全部樓層
三極管的開關(guān)頻率應(yīng)該可以到Mhz以上吧,再不行也可以試試用MOS管。
回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2024-1-14 12:41 | 顯示全部樓層
wulin 發(fā)表于 2024-1-13 21:43
電路和代碼都沒有問題,是仿真用的三極管不能截止,導(dǎo)致兩個數(shù)碼管同時交替顯示3和4,筆畫疊加在一起 ...

你的解釋與他的硬件圖紙中七段數(shù)碼管的引腳電平狀態(tài)不符。
回復(fù)

使用道具 舉報

ID:517951 發(fā)表于 2024-1-14 13:15 | 顯示全部樓層
可以用8550控制COM端, 只不過是高電平截止, 低電平導(dǎo)通.
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2024-1-14 14:28 | 顯示全部樓層
Hephaestus 發(fā)表于 2024-1-14 12:41
你的解釋與他的硬件圖紙中七段數(shù)碼管的引腳電平狀態(tài)不符。

你哪來的自信?如果會玩Proteus,按樓主的電路和代碼驗證一下就懂了。圖中數(shù)碼管明顯有DP端。共陽段碼“4”=0x99=10011001。怎么絕對不可能是4高4低!內(nèi)置譯碼的數(shù)碼管??想多了吧。
回復(fù)

使用道具 舉報

ID:1091094 發(fā)表于 2024-1-15 10:02 | 顯示全部樓層
wulin 發(fā)表于 2024-1-13 21:43
電路和代碼都沒有問題,是仿真用的三極管不能截止,導(dǎo)致兩個數(shù)碼管同時交替顯示3和4,筆畫疊加在一起 ...

不會把,為什么不能截止?
因為我讓基極懸空,這肯定是截止了吧。
截止時很重要的功能呀,Proteus這個功能都不給嗎?那么說現(xiàn)實中應(yīng)該可以吧。頻率應(yīng)該夠。我查了有十幾Mhz。
回復(fù)

使用道具 舉報

ID:1091094 發(fā)表于 2024-1-15 10:05 | 顯示全部樓層
rayin 發(fā)表于 2024-1-14 13:15
可以用8550控制COM端, 只不過是高電平截止, 低電平導(dǎo)通.

這就是啊,三極管控制公共端啊,很明顯,你看一下就知道。
回復(fù)

使用道具 舉報

ID:275826 發(fā)表于 2024-1-15 11:02 | 顯示全部樓層
PNP三極管C極接個下拉電阻就好了
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2024-1-15 15:13 | 顯示全部樓層
3038838599 發(fā)表于 2024-1-15 10:02
不會把,為什么不能截止?
因為我讓基極懸空,這肯定是截止了吧。
截止時很重要的功能呀,Proteus這個 ...

你把延時加一個0,delay_10us(50000);就能看明白了。10樓的建議很好。
回復(fù)

使用道具 舉報

ID:1091094 發(fā)表于 2024-1-15 15:19 | 顯示全部樓層
tyrl800 發(fā)表于 2024-1-15 11:02
PNP三極管C極接個下拉電阻就好了

真的 馬上就OK了,不明覺厲。
大佬大佬
大佬 我想問問實物不加下拉電阻可以嗎?
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2024-1-15 15:21 | 顯示全部樓層
第27,32行的消影消了個寂 2024-01-15_151929.png
回復(fù)

使用道具 舉報

ID:1091094 發(fā)表于 2024-1-15 16:25 | 顯示全部樓層
lkc8210 發(fā)表于 2024-1-15 15:21
第27,32行的消影消了個

哈哈哈  我看了一下,確實是這樣
普中的教程視頻里面也是這樣子消影的。
然后你標的語句的順序其實是可以的,在物理成面來說,因為時間很快兩條指令的時間,觀感上面是不影響的

但是你的想法確實是對的。嚴謹。
回復(fù)

使用道具 舉報

ID:427868 發(fā)表于 2024-1-15 17:07 | 顯示全部樓層
       在切換兩位數(shù)碼管輪流顯示時,并沒有先關(guān)閉上一位,延時時間又太短,頻繁切換顯示就會每位3與4有重復(fù)顯示,造成都是顯示99,如果是實際電路會看到筆畫明暗程度差別較大。
      修改一下,試試。
  1. while(1)
  2.         {
  3.                   P1=gsmg_code[3];
  4.                   smg1=0;
  5.                   delay_10us(5000);
  6.                   P1=0XFF;
  7.                   smg1=1;
  8.                   P1=gsmg_code[4];
  9.                   smg2=0;
  10.                   delay_10us(5000);
  11.                   P1=0XFF;
  12.                   smg2=1;
  13.         }
復(fù)制代碼
回復(fù)

使用道具 舉報

ID:1034262 發(fā)表于 2024-1-15 19:04 | 顯示全部樓層
當(dāng)然可以,經(jīng)常用
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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