雪山飞狼 发表于 2017-7-12 22:28:40

哪位大神用过HEF4894B这个移位寄存器

如题,请问哪位大神用过HEF4894B这个12级的串转并移位寄存器,按手册里的逻辑编程,但没有得到预想的结果,求大神指点!

附件是IC的datasheet;




自己编写的驱动如下:
/* Transform data to QP0 ~ 11*/
void HEF4894_Trans(unsigned long data,unsigned char data_len)
{
unsigned longtemp_data = 0;
unsigned char i = 0;

temp_data = data;

HEF4894_STR = 0;/* 锁存关 */
HEF4894_OE= 0;/* 输出使能关 */
HEF4894_D   = 0;/* 数据输入0 */
HEF4894_CP= 0;/* 时钟线0 */

/* trans data to the register of HEF4894 */
for(i=0;i<data_len;i++)
{
    HEF4894_CP= 0;
    if((temp_data & (unsigned long)0x0001) == 0)
    {
      HEF4894_D = 0;
    }
    else
    {
      HEF4894_D = 1;
    }
    HEF4894_CP= 1;
    temp_data = temp_data>>1;
}

HEF4894_CP= 0;   /* 时钟线0 */
HEF4894_STR = 1;    /* 锁存使能 */
HEF4894_OE= 1;   /* 输出使能 */
}

xuguomin 发表于 2017-7-13 08:37:15

究竟有什么问题?

雪山飞狼 发表于 2017-7-15 09:14:57

xuguomin 发表于 2017-7-13 08:37
究竟有什么问题?

电路没有正常工作,LED的亮灭完全没有规律,还是驱动逻辑没有整对。

xuguomin 发表于 2017-7-15 14:44:05

加点延时   
页: [1]
查看完整版本: 哪位大神用过HEF4894B这个移位寄存器