#include<reg51.h>
unsigned char number[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char wei[4]={0xe3,0xe7,0xeb,0xef}; //可以在单片机开发板上运行,但写入仿生图是错误的
//unsigned char wei[4]={0xf7,0xfb,0xfd,0xfe}; //这行可以在仿生图上运行,但写入单片机是错的,
我想要一个仿生图和单片机开发板都是正确的,以及为什么错啊
sbit K1=P1^4;
void DelayMs(unsigned char i)
{
unsigned int k;
for(;i!=0;i--)
{
for(k=0;k<250;k++);
}
}
void display(unsigned int i)
{
P2=wei[3];
P0=number[i/1000];
i=i%1000;
DelayMs(1);
P0=0x00;
DelayMs(1);
P2=wei[2];
P0=number[i/100];
i=i%100;
DelayMs(1);
P0=0x00;
DelayMs(1);
P2=wei[1];
P0=number[i/10];
i=i%10;
DelayMs(1);
P0=0x00;
DelayMs(1);
P2=wei[0];
P0=number[ i];
DelayMs(1);
P0=0x00;
DelayMs(1);
}
void main(void)
{
unsigned int i=7130;
P0=0x00;
P2=0x00;
DelayMs(1000);
while(1)
{
display(i);
}
|