找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

這個(gè)單片機(jī)程序 為什么數(shù)碼管不亮呢?

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
初學(xué)者,求解答,程序如下
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. xdata uchar num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  4. void delay(uchar i)
  5. {
  6. uchar t;
  7. while(i--)
  8. {
  9.   for(t=0;t<120;t++);
  10. }
  11. }
  12. void main()
  13. {
  14. uchar i;
  15. P0=0Xff;
  16. while(1)
  17. {
  18.   for(i=1;i<=9;i+=2)
  19.   {
  20.    P0=num[i];
  21.    delay(500);
  22.   }
  23.   for(i=0;i<=8;i+=2)
  24.   {
  25.    P0=num[i];
  26.    delay(500);
  27.    }
  28. }
  29. }
復(fù)制代碼

]}22])4}FQEAAOB3`I{(%S5.png (82.48 KB, 下載次數(shù): 62)

]}22])4}FQEAAOB3`I{(%S5.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:251640 發(fā)表于 2018-4-4 13:29 | 只看該作者
P0口加上拉試試.
回復(fù)

使用道具 舉報(bào)

板凳
ID:301985 發(fā)表于 2018-4-4 14:21 | 只看該作者
如果是 51 的話,注意 P0口的上拉設(shè)計(jì)
回復(fù)

使用道具 舉報(bào)

地板
ID:301728 發(fā)表于 2018-4-4 15:40 | 只看該作者
行,我試試
回復(fù)

使用道具 舉報(bào)

5#
ID:301728 發(fā)表于 2018-4-4 15:55 | 只看該作者
這個(gè)程序的問題是運(yùn)行開始后,P0口的電平始終不變
回復(fù)

使用道具 舉報(bào)

6#
ID:301728 發(fā)表于 2018-4-4 15:56 | 只看該作者
加了上拉電阻也沒反應(yīng)
回復(fù)

使用道具 舉報(bào)

7#
ID:7485 發(fā)表于 2018-4-4 16:27 | 只看該作者
數(shù)碼管最好別用P0口。其他口內(nèi)部都有上拉,唯獨(dú)P0沒有。而且其推拉能力小一些。
回復(fù)

使用道具 舉報(bào)

8#
ID:301494 發(fā)表于 2018-4-4 16:31 | 只看該作者
加上拉電阻
回復(fù)

使用道具 舉報(bào)

9#
ID:302072 發(fā)表于 2018-4-4 16:32 | 只看該作者
PO要加上啦
回復(fù)

使用道具 舉報(bào)

10#
ID:302084 發(fā)表于 2018-4-4 16:56 | 只看該作者
P0口是需要上拉電阻的,10歐左右吧
回復(fù)

使用道具 舉報(bào)

11#
ID:287575 發(fā)表于 2018-4-4 17:47 | 只看該作者
問題出在xdata uchar num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
你的碼表存到xdata中,而89c51就沒有xdata,應(yīng)該定義成data
回復(fù)

使用道具 舉報(bào)

12#
ID:287575 發(fā)表于 2018-4-4 17:51 | 只看該作者
樓上說接10歐姆的上拉,那是要命的,當(dāng)輸出高的時(shí)候,還不致命,當(dāng)P0輸出低的時(shí)候,就會燒毀IO口,從而燒掉單片機(jī)
回復(fù)

使用道具 舉報(bào)

13#
ID:19715 發(fā)表于 2018-4-4 18:37 | 只看該作者
接10歐姆的上拉,那是要單片機(jī)的命。我也是發(fā)現(xiàn)過同樣的情況,是仿真軟件的問題,換成其他2位或者4位數(shù)碼管試試看
回復(fù)

使用道具 舉報(bào)

14#
ID:302136 發(fā)表于 2018-4-4 19:10 | 只看該作者
把p0口改成p2口(程序和數(shù)碼管一起改)試試看
回復(fù)

使用道具 舉報(bào)

15#
ID:302193 發(fā)表于 2018-4-4 21:17 | 只看該作者
加上拉電阻應(yīng)該就可以了
回復(fù)

使用道具 舉報(bào)

16#
ID:301949 發(fā)表于 2018-4-4 21:35 | 只看該作者
lz用的是共陽數(shù)碼管P0口好像不用加上拉電阻吧,
回復(fù)

使用道具 舉報(bào)

17#
ID:46065 發(fā)表于 2018-4-4 22:02 | 只看該作者
還是用個(gè)鎖存器,比較靠譜!
雖然我從來沒有直接把數(shù)碼管接在IO口上,但是我考慮IO口的輸出電流本來就小,再串個(gè)電阻,數(shù)碼管還能正常工作嗎?
回復(fù)

使用道具 舉報(bào)

18#
ID:302217 發(fā)表于 2018-4-4 22:05 | 只看該作者
上拉電阻1K以上,限制電流小于5mA。
回復(fù)

使用道具 舉報(bào)

19#
ID:160834 發(fā)表于 2018-4-4 22:38 | 只看該作者
我把你的程序修整和精簡了下。實(shí)現(xiàn)0到9數(shù)字每秒變化一次。 另外 AT89C51單片機(jī)是需要加上拉電阻的。 仿真程序里只有AT89系列單片機(jī)。所以 做仿真時(shí)盡量不用P0口。 我這里先改成了P1口。實(shí)際使用時(shí) STC89C52單片機(jī)  P0口也不需要加上拉的。 其它STC12或15或F8系列單片機(jī)還可以設(shè)置4種輸出模式。晶振也可以用內(nèi)部的。這個(gè)視你自己的用途選擇吧。以下程序 仿真通過。 另外  仿真的數(shù)碼管選共陽數(shù)碼管。

#include<reg51.h>

unsigned char num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void delay(unsigned int i)
{
   while(i--);
}

void main()
{
  unsigned char i;
       
  while(1)
  {
    for(i=0;i<10;i++)
    {
     P1=num[i];
     delay(50000);
    }
  }
}

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

20#
ID:160834 發(fā)表于 2018-4-4 22:41 | 只看該作者
仿真圖片如下。運(yùn)行程序就可以看到數(shù)碼管從0到9變化。
回復(fù)

使用道具 舉報(bào)

21#
ID:46475 發(fā)表于 2018-4-4 23:52 | 只看該作者
看看p0 上拉 看看
回復(fù)

使用道具 舉報(bào)

22#
ID:301728 發(fā)表于 2018-4-5 09:08 | 只看該作者
行,小生多謝各位前輩啦!
回復(fù)

使用道具 舉報(bào)

23#
ID:302445 發(fā)表于 2018-4-5 18:08 來自手機(jī) | 只看該作者
數(shù)組定義應(yīng)該是死循環(huán)里面這樣寫
回復(fù)

使用道具 舉報(bào)

24#
ID:302445 發(fā)表于 2018-4-5 18:12 來自手機(jī) | 只看該作者
數(shù)組定義應(yīng)該是unsigned char code num[]=  for循環(huán)應(yīng)該是這樣for(i=0;i<9;i++)  并且只用寫一個(gè)for循環(huán)……

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

25#
ID:302544 發(fā)表于 2018-4-5 21:09 | 只看該作者
P0口加上拉試試.
回復(fù)

使用道具 舉報(bào)

26#
ID:302672 發(fā)表于 2018-4-6 11:33 | 只看該作者
P0口加上拉試試,應(yīng)該就解決了
回復(fù)

使用道具 舉報(bào)

27#
ID:302672 發(fā)表于 2018-4-6 11:33 | 只看該作者
P0口加上上拉,估計(jì)問題就解決了
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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