天天看點

單片機第三講 ——數位管的顯示

數位管分類:共陰極數位管,共陽極數位管

數位管的顯示方式:靜态和動态

共陰級數位管:1亮0不亮

共陽極數位管:0亮1不亮

數位管的基礎知識就不多講了,下面是我寫的幾個數位管的程式,通過和單片機連接配接可以實作其相應的功能。

/*-------------------------------
    2018.7.22
    七段顯示實驗
    功能讓數位管從0到99不停的顯示
-----------------------------*/
#include <reg51.h>
#include "delay.h"
#define DataPort P1 //宏定義,如果換接口,隻需要修改這裡
//#define DataPort2 P1 //宏定義,如果換接口,隻需要修改這裡

sbit Seg_Latch = P2^;//段鎖存
sbit Bit_Latch = P2^;//位鎖存
unsigned char Seg_Code[] = {,,,,,,,,,};
unsigned char code Bit_Code[] = {,,,,,,,};
//段碼,位碼
unsigned char Template[];
void delay(unsigned int t)
{
    while(t--);
}
void display(unsigned char n)
{
    unsigned char i;
    for(i = ; i < n; i++)
    {
        DataPort = ;//清除資料,防止重影
        Seg_Latch = ;//開門
        Seg_Latch = ;//關門

        DataPort = Bit_Code[i];//送位碼
        Bit_Latch = ;//開門
        Bit_Latch = ;//關門

        DataPort = Template[i];//送段碼
        Seg_Latch = ;//開門
        Seg_Latch = ;//關門
        delay();
    }
}

void main()
{
    unsigned char count;
    unsigned char j = ;
    while()
    {
        j++;
        if(j == )
        {
            j = ;
            count++;
            if(count == )
                count = ;
        }
        Template[] = Seg_Code[count / ];
        Template[] = Seg_Code[count % ];
        display();

    }

}
           

繼續閱讀