#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit MBI_SDIG=P3^4;
sbit MBI_SDIR=P3^2;
sbit MBI_CLK=P3^5;
sbit MBI_LE=P3^7;
//顯示段碼表
uchar code Tab[]=
{
0xdfc0, // 0
0x03c0, // 1
0xc620, // 2
0x86a0, // 3
0x12a0, // 4
0x94a0, // 5
0xd4a0, // 6
0x0680, // 7
0xd6a0, // 8
0x96a0, // 9
};
void delay(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=100;j>0;j--);
}
void mbi5026(uchar dat)
{
uchar k;
for(k=0;k<16;k++)
{
MBI_SDIR=(dat &0x8000)?1:0;
MBI_CLK=1;
dat<<=1;
MBI_CLK=0;
}
MBI_LE = 1;
delay(100);
MBI_LE = 0;
}
void main()
{
uchar q;
MBI_CLK=0;
MBI_SDIR=0;
MBI_SDIG=0;
for(q=0;q<10;q++)
{
mbi5026(Tab[q]);
delay(1000);
}
}
求教,大神!! |