51单片机用数码管从0显示到999用c语言
时间: 2024-06-03 20:08:42 浏览: 81
221-数码管显示(51单片机C语言实例Proteus仿真和代码)
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管段码表
void delay(uint xms) //延时函数
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
uchar i,j,k;
for(i=0;i<10;i++) //个位循环
{
for(j=0;j<10;j++) //十位循环
{
for(k=0;k<10;k++) //百位循环
{
P2 = 0xff; //数码管全部关闭
P0 = table[i]; //个位
P2 = 0xfe; //第1位数码管打开
delay(5); //延时
P2 = 0xff; //数码管全部关闭
P0 = table[j]; //十位
P2 = 0xfd; //第2位数码管打开
delay(5); //延时
P2 = 0xff; //数码管全部关闭
P0 = table[k]; //百位
P2 = 0xfb; //第3位数码管打开
delay(5); //延时
}
}
}
}
阅读全文