|
MBI5026驱动数码管
说明一下:
1单片机是普通的51,晶振频率12兆;
2 P2口的0,1,2脚和5026连接良好,都没上拉或下拉;
程序如下:
#include
sbit sd P2^0; /*51的P2^0连mbi5026的数据sd */
sbit ck P2^1; /*51的P2^1连mbi5026的时钟ck */
sbit le P2^2; /*51的P2^@连mbi5026的锁存le */
/*mbi5026的使能端接地--低电平,输出有效*/
unsigned int AA0[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned int AA1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay1()
{
/*延时1秒函*/
;
}
void main()
{
unsigned int k=l=m=0;
le=1; /*先点亮每一段*/
for(k=0;k<8;k++)
{
l=AA0[k];
for(m=0;m<8;m++)
{
sd=(bit)(l&0x01);
ck=1;
ck=0;
l>>=1;
}
delay1();
}
le=0;
delay1();
k=l=m=0;
le=1 /*让两个数码管显示相同的数字,51是8为的 ,多以连续发送两次 */
for(k=0;k<10)
{
l=AA1[k];
for(m=0;m<8;m++)
{
sd=(bit)(l&0x01);
ck=1;
ck=0;
l>>=1;
}
l=AA1[k];
for(m=0;m<8;m++)
{
sd=(bit)(l&0x01);
ck=1;
ck=0;
l>>=1;
}
delay1();
}
le=0;
delay1();
} |
|