#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);
}
|