數位管分類:共陰極數位管,共陽極數位管
數位管的顯示方式:靜态和動态
共陰級數位管: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();
}
}