標(biāo)題: 51單片機靜態(tài)數(shù)碼管顯示八位數(shù)字源程序 [打印本頁]

作者: 我要玩爆單片機    時間: 2019-7-9 09:56
標(biāo)題: 51單片機靜態(tài)數(shù)碼管顯示八位數(shù)字源程序
在P0=smg[]的中括號內(nèi)填入想要顯示的數(shù)字,將delay()括號內(nèi)改動不同的數(shù)值,會看到不同的現(xiàn)象。
程序:
#include "reg52.h"

typedef unsigned char u8;
typedef unsigned int u16;

u8 code smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71} ;

sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;

void delay(u16 i)
{
   while(i--);
}

void DigDisplay()
{
   u16 i;
   for(i=0;i<8;i++)
   {
      switch(i)
          {
                     case(0):
                            LSA=0;LSB=0;LSC=0;P0=smg[];break;
                 case(1):
                            LSA=1;LSB=0;LSC=0;P0=smg[]; break;
                 case(2):
                            LSA=0;LSB=1;LSC=0;P0=smg[]; break;
                 case(3):
                            LSA=1;LSB=1;LSC=0;P0=smg[]; break;
                 case(4):
                            LSA=0;LSB=0;LSC=1;P0=smg[]; break;
                 case(5):
                            LSA=1;LSB=0;LSC=1;P0=smg[]; break;
                 case(6):
                            LSA=0;LSB=1;LSC=1;P0=smg[]; break;
                 case(7):
                            LSA=1;LSB=1;LSC=1;P0=smg[];break;
          }
          delay(100);
          P0=0x00;
   }
}

void main()
{
   DigDisplay();
}


作者: 還好。    時間: 2020-3-2 17:55
看不太懂,現(xiàn)在要做一個顯示8位學(xué)號的作業(yè),樓主能指導(dǎo)一下嗎
作者: 還好。    時間: 2020-3-2 18:00
行了,感謝
作者: 還好。    時間: 2020-3-2 18:22
這個算是靜態(tài)還是動態(tài)呀
作者: ROUROU    時間: 2020-3-20 10:23
非常感謝
作者: adangmmm    時間: 2021-1-24 18:03
樓主我有點不明白為什么數(shù)碼管會一直循環(huán)顯示,不是程序里i到8就停了嗎,能不能幫我解釋下謝謝啦




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1