51单片机100例实例之06例
//项目名称:单只数码管循环0-9
//项目再创作者:科技小宅神

//1、数码管实际上是由7个发光二极管组成一个8字形,另外一个发光二极管做成圆点型,这样就构成了一个数码管。
// 所有的8个二级管的正极或者负极都连到一个公共端点上,对于公共端连在正极的数码管,称为共阳极数码管,反之称为共阴极数码管。
// 根据数码管的内部结构原理,可以很清楚的知道数码管显示数字的原理。
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
//共阳极数码管数组
uchar code DSY_CODE[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff
};
//1毫秒延时子程序
void DelayMS(uint x)
{
uchar t;
while(x--)
for(t=120;t>0;t--);
}
//主程序
void main()
{
uchar i=0;//定义一个局部变量
P0=0x00;//初始化
while(1)//死循环
{
P0=~DSY_CODE[i];//取反,变成共阴极数码管数组
i=(i+1)%10;//求余运算,显示0-9
DelayMS(200);
}
}