找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

實(shí)用的數(shù)碼管靜態(tài)顯示程序分享

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:444215 發(fā)表于 2021-4-2 14:03 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include "reg52.h"

unsigned char code SMG_duanma[18]=
        {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
     0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,
     0xbf,0x7f};

         
void Delay(unsigned int t)
{
    while(t--);
    while(t--);
}
            
void InitHC138(unsigned char n)
{
    switch(n)
    {
        case 4:
            P2 = (P2 & 0x1f) | 0x80;
        break;
        case 5:
            P2 = (P2 & 0x1f) | 0xa0;
        break;
        case 6:
            P2 = (P2 & 0x1f) | 0xc0;
        break;
        case 7:
            P2 = (P2 & 0x1f) | 0xe0;
        break;
    }
}

void ShowSMG_Bit(unsigned char dat, unsigned pos)
{
    InitHC138(6);            //數(shù)碼管的位置
    P0 = 0x01 << pos;
    InitHC138(7);            //數(shù)碼管的內(nèi)容
    P0 = dat;
}

void SMG_Static()
{
    unsigned char i,j;
    for(i = 0; i < 8; i++)
    {
        for(j = 0; j < 10; j++)
        {
            ShowSMG_Bit(SMG_duanma[j],i);
            Delay(60000);
        }
    }
    for(j = 0; j < 16; j++)
    {
        InitHC138(6);            //數(shù)碼管的位置
        P0 = 0xff;
        InitHC138(7);            //數(shù)碼管的內(nèi)容
        P0 = SMG_duanma[j];
        Delay(60000);
        Delay(60000);
    }
}

void main()
{
    while(1)
    {
        SMG_Static();
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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