数码管分类:共阴极数码管,共阳极数码管
数码管的显示方式:静态和动态
共阴级数码管: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();
}
}