標題: 單片機動態(tài)數(shù)碼管程序與Proteus仿真實驗 [打印本頁]

作者: qiushuliang    時間: 2023-6-13 14:14
標題: 單片機動態(tài)數(shù)碼管程序與Proteus仿真實驗
/**************************************************************************************
*                            動態(tài)數(shù)碼管的實驗                                                                                                  *
實現(xiàn)現(xiàn)象:下載程序后數(shù)碼管顯示76543210
程序?qū)崿F(xiàn)思想:
注意事項:無                                                                                                                                                                  
***************************************************************************************/


#include "reg52.h"    //此文件中定義了單片機的一些特殊功能寄存器




typedef unsigned int u16;
typedef unsigned char u8;
void DigDisplay(void); //動態(tài)數(shù)碼管顯示函數(shù)
void delay(u16 i);     //延時函數(shù)
sbit LSA=P2^2;        //38譯碼器管腳定義
sbit LSB=P2^3;
sbit LSC=P2^4;

u8 code segment[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//顯示0~F的值,共陰數(shù)碼管

/***********************************************************************
* 函 數(shù) 名       : delay()
* 函數(shù)功能                 : 延時函數(shù),i=1,約等于10uS
* 輸    入       : 無

* 輸    出             : 無
*******************************************************************************/                                       
void delay(u16 i){
        while(i--);
}


/***********************************************************************
* 函 數(shù) 名       : DigDisplay()
* 函數(shù)功能                 : 動態(tài)數(shù)碼管顯示函數(shù),循環(huán)掃描8個數(shù)碼管
* 輸    入       : 無

* 輸    出             : 無
*******************************************************************************/
void DigDisplay(void)
{
        u8 i;
        for(i=0;i<8;i++)
        {
                switch (i)
                {
                        case (0):
                                LSA=0;LSB=0;LSC=0;break;//顯示第0位
                        case (1):
                                LSA=1;LSB=0;LSC=0;break;
                        case (2):
                                LSA=0;LSB=1;LSC=0;break;
                        case (3):
                                LSA=1;LSB=1;LSC=0;break;
                        case (4):
                                LSA=0;LSB=0;LSC=1;break;
                        case (5):
                                LSA=1;LSB=0;LSC=1;break;
                        case (6):
                                LSA=0;LSB=1;LSC=1;break;        
                        case (7):
                                LSA=1;LSB=1;LSC=1;break;
                }
                P0=segment[ i];
                delay(100); //間隔掃描時間
                P0=0x00;    //消隱顯示
        }


}
/***********************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能                 : 主函數(shù)
* 輸    入       : 無

* 輸    出             : 無
*******************************************************************************/
void main(void)                        //程序從main函數(shù)開始執(zhí)行                                       
{
        
        
        while(1){
               
                        DigDisplay();
        }
}

動態(tài)數(shù)碼管_20230613081346.png (68.87 KB, 下載次數(shù): 51)

動態(tài)數(shù)碼管_20230613081346.png

6.動態(tài)態(tài)數(shù)碼管.zip

132.52 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5






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