#include<reg52.h>
#define CH451_RESET 0x0201
#define CH451_LEFTMOV 0x0300
#define CH451_LEFTCYC 0x0301
#define CH451_RIGHTMOV 0x0302
#define CH451_RIGHTCYC 0x0303
#define CH451_SYSOFF 0x0400
#define CH451_SYSON1 0x0401
#define CH451_SYSON2 0x0403
#define CH451_SYSON3 0x0407
#define CH451_DSP 0x0500
#define CH451_BCD 0x0580
#define CH451_TWINKLE 0x0600
#define CH451_DIG0 0x0800
#define led1 0x0001
sbit ch451_dclk=P2^7;
sbit ch451_din=P2^6;
sbit ch451_load=P2^5;
void ch451_init()
{
ch451_din=0;
ch451_din=1;
}
void ch451_write(unsigned int command)
{
unsigned char i;
ch451_load=0;
for(i=0;i<12;i++)
{
ch451_din=command&1;
ch451_dclk=0;
command>>=1;
ch451_dclk=1;
}
ch451_load=1;
}
void main()
{
ch451_init();
ch451_write(0x0400);
ch451_write(0x0401);
ch451_write(0x058f);
ch451_write(0x0600);
ch451_write(0x0b00|led1);
}
请教高手!我只要一个数码管显示1,为什么第一个显示是1后面都是0?怎么才能去掉0?改那里?
就是说,我这个程序只是写的让第一个数码管显示1,但是其他的几个数码管也显示了0这个是这么回事?请高手教教我!万分感谢!QQzhangyouxun@qq.com