51单片机一个输出口显示多位输出
时间:04-10 11:23 阅读:721次
*温馨提示:点击图片可以放大观看高清大图
简介:51单片机一个输出口显示多位输出,配有原理图和相关程序。
电路图
#include"reg51.h"
sbit LE0=P3^0;
sbit LE1=P3^1;
sbit LE2=P3^2;
sbit LE3=P3^3;
int i,j,k;
int xx[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void yanchi(int ms)
{
while(ms--)
{
for(i=0;i<100;i++);
}
}
void main()
{
while(1)
{
for(j=0;j<10000;j++)
{
P2=xx[j/1000];//千
LE3=0;
yanchi(1);
LE3=1;
yanchi(1);
LE3=0;
P2=xx[(j%1000)/100];//百
LE2=0;
yanchi(1);
LE2=1;
yanchi(1);
LE2=0;
P2=xx[(j%100)/10];//十
LE1=0;
yanchi(1);
LE1=1;
yanchi(1);
LE1=0;
P2=xx[j%10];//个
LE0=0;
yanchi(1);
LE0=1;
yanchi(1);
LE0=0;
yanchi(100);
}
}
}
#include"reg51.h"
#include<intrins.h>
int i,j,k,ss;
int xx[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void yanchi(int ms)
{
while(ms--)
{
for(i=0;i<100;i++);
}
}
void main()
{
while(1)
{
for(j=9900;j<10000;j++)
{
P2=xx[j%10];//个
P1=0X01;
yanchi(1);
P1=0x00;
P2=xx[(j%100)/10];//十
P1=0x02;
yanchi(1);
P1=0x00;
P2=xx[(j%1000)/100];//百
P1=0x04;
yanchi(1);
P1=0x00;
P2=xx[j/1000];//千
P1=0x08;
yanchi(1);
P1=0x00;
if (j==9999)
ss++;
P2=xx[ss%10];//万
P1=0x10;
yanchi(1);
P1=0x00;
P2=xx[(ss%100)/10];//十万
P1=0x20;
yanchi(1);
P1=0x00;
P2=xx[(ss%1000)/100];//百万
P1=0x40;
yanchi(1);
P1=0x00;
P2=xx[ss/1000];//千万
P1=0x80;
yanchi(1);
P1=0x00;
yanchi(10);
}
}
}