找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

為什么數(shù)碼管顯示不出來,換別的單片機程序驗證硬件連接沒問題

[復(fù)制鏈接]
ID:66679 發(fā)表于 2020-4-18 21:13 | 顯示全部樓層 |閱讀模式
為什么數(shù)碼管顯示不出來,換別的程序驗證硬件連接沒問題。
簡易電子時鐘.png



#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};         
uchar code table2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
void display();
void delay(uint t);
void time_init();
void time_pro();
uint miao=0;                //秒
uint fen=0;                        //分
uint shi=0;                    //時
uint n=0;                        //計數(shù)
/***********************************
延時函數(shù)                                                                  
***********************************/
void  delay(uint t)                                
{
        uchar i;
        while(t--)
        { for(i=0;i<125;i++); }
}


/***********************************
顯示函數(shù)                                                                  
***********************************/
void display()
{                  
      P2=0x01;
      P0=table1[shi/10];
      delay(4);
          P0=0x00;
          P2=0x02;
      P0=table2[shi%10];
      delay(4);
          P0=0x00;

           P2=0x04;
      P0=table1[fen/10];
      delay(4);
          P0=0x00;
      P2=0x08;
      P0=table2[fen%10];
      delay(4);
          P0=0x00;

          P2=0x10;
      P0=table1[miao/10];
      delay(4);
          P0=0x00;
      P2=0x20;
      P0=table1[miao%10];
      delay(4);
          P0=0x00;
          }         
/***********************************
定時器初始化函數(shù)                                                                  
***********************************/         
void time_init()                                                   
{
    TMOD=0x01;                                                          //選擇方式1
        TH0=(65536-50000)/256;                                                         
        TL0=(65536-50000)%256;                                                         
        EA=1;                                                                  //開總中斷
        ET0=1;                                                                  //開定時器0中斷
        TR0=1;                                                                  //開定時器0
}         
/***********************************
計時處理函數(shù)                                                                  
***********************************/
void time_pro()
{
if(miao==60)
  {
        miao=0;
        fen++;
        if(fen==60)
        {
                fen=0;
                shi++;
                if(shi==24)
                {
                        shi=0;
                         }
    }
  }
}
/***********************************
定時器中斷函數(shù)                                                                  
***********************************/     
void timer() interrupt 1                                          //定時器0中斷
{

         TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
     n++;
         if(n==20)                                                                 //當n=20時,表示1s到了
         {         
             n=0;
             miao++;
                                  }
}
/***********************************
主函數(shù)                                                                  
***********************************/
void main()
{
   time_init();
   while(1)
   {
   time_pro();
   display();
   }
}

回復(fù)

使用道具 舉報

ID:342451 發(fā)表于 2020-4-18 22:31 | 顯示全部樓層
檢查下數(shù)碼管在仿真里的共陰共陽
回復(fù)

使用道具 舉報

ID:732506 發(fā)表于 2020-4-19 09:44 | 顯示全部樓層
51的p0口和別的口不一樣,很多時候要加5v上拉?梢該Q到p1口試試,如果正常,就是上拉的問題。
回復(fù)

使用道具 舉報

ID:66679 發(fā)表于 2020-4-19 13:31 | 顯示全部樓層
hotpet 發(fā)表于 2020-4-19 09:44
51的p0口和別的口不一樣,很多時候要加5v上拉。可以換到p1口試試,如果正常,就是上拉的問題。

換了也還是不行,沒有顯示。
回復(fù)

使用道具 舉報

ID:66679 發(fā)表于 2020-4-19 13:32 | 顯示全部樓層
之一知足 發(fā)表于 2020-4-18 22:31
檢查下數(shù)碼管在仿真里的共陰共陽

仿真里是共陽極的,我用其它程序驗證了。
回復(fù)

使用道具 舉報

ID:66679 發(fā)表于 2020-4-19 13:33 | 顯示全部樓層
懇請高手指點
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2020-4-19 16:46 | 顯示全部樓層

樓主消隱碼用錯了,共陽應(yīng)該P0=0xff;。 無標題.jpg



回復(fù)

使用道具 舉報

ID:220661 發(fā)表于 2020-4-19 16:54 | 顯示全部樓層
Q1-Q6接法不對,現(xiàn)在是射隨器接法,不是飽和截止的開關(guān)接法。
回復(fù)

使用道具 舉報

ID:66679 發(fā)表于 2020-4-20 11:04 | 顯示全部樓層
wulin 發(fā)表于 2020-4-19 16:46
樓主消隱碼用錯了,共陽應(yīng)該P0=0xff;。

不知道怎么消隱寫成0了,看了好久沒發(fā)現(xiàn)。謝謝指出,可以了。
回復(fù)

使用道具 舉報

ID:733430 發(fā)表于 2020-4-20 12:35 | 顯示全部樓層
檢查一下程序
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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