51仿真。
1.显示自定义时间(未学定时器)2023-03-23周四
#include<reg51.h>
#include<intrins.h>
//数码管显示11-25-22
//P2表示数码管
//P0表示选择哪个数码管
unsigned char code s1[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //对应0123456789-
unsigned char x=0xfe;
int i,j;
int hour=11,min=25,sec=22;
void main()
{
char time[8];
time[0]=hour/10;
time[1]=hour%10;
time[2]=10;
time[3]=min/10;
time[4]=min%10;
time[5]=10;
time[6]=sec/10;
time[7]=sec%10;
while(1)
{
for(j=0;j<8;j++)
{
P2=0xff;
P2=s1[time[j]];
P0=x;
for(i=0;i<500;i++) ;
x=_crol_(x,1);
}
}
}
2.数码管显示数字
#include<reg51.h>
#include<intrins.h>
//数码管显示87654321
unsigned char code s1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};
//unsigned char code s2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
//254,253,251,247,
//_crol_
int i,j;
void main()
{
// 1111 1000 f8
while(1)
{
char y=0xfe;
for(j=0;j<8;j++)
{
P2=0xff;
P2=s1[9-j-1];
//P0=s2[j];
P0=y;
for(i=0;i<500;i++) ;
y=_crol_(y,1);
}
}
}