标题: 有关74HC597读取问题,弄了好久只能读取第一块(也就是前8bit),后面的就是读不出来!! [打印本页]

作者: eveloves    时间: 2017-4-1 19:51
标题: 有关74HC597读取问题,弄了好久只能读取第一块(也就是前8bit),后面的就是读不出来!!
本帖最后由 eveloves 于 2017-4-1 19:56 编辑

74HC597只能读第一个芯片,第二个芯片就无法读取!!!!
#include <reg51.h>
#include <intrins.h>

typedef unsigned char u8  ;
typedef unsigned int  u16 ;

sbit PL   = P3^7;
sbit SHCP = P3^6;
sbit SO   = P3^5;

u16 Read_74hc579()
{     
        u8  i = 0;   
        u16  read_data = 0;  

        PL = 0; _nop_();
        PL = 1; _nop_();

        for(i=0; i<16; i++)
        {      
                read_data <<= 1;
               
                if(SO) read_data |= SO;      
               
                SHCP = 0; _nop_();
                SHCP = 1; _nop_();
         }
         return read_data;
}

void main()
{
        u16 temp = 0;
        u8 *pos = (u8*)(&temp);
        while(1)   
        {
                temp = Read_74hc579();
                P1 = pos[0];
                P2 = pos[1];
        }
}



597.JPG (129.62 KB, 下载次数: 122)

读取74HC597实验

读取74HC597实验

作者: eveloves    时间: 2017-4-1 20:05
自已先顶一下
作者: eveloves    时间: 2017-4-1 20:06
自已先顶一下了.
作者: angmall    时间: 2017-4-2 07:45
  1. union Data {
  2.    u16 temp;
  3.    u8 pos[2];
  4. };

  5. void main()
  6. {
  7.         //u16 temp = 0;
  8.         //u8 *pos = (u8*)(&temp);
  9.                 union Data data;  
  10.         data.temp = 0;
  11.         while(1)   
  12.         {
  13.                 data.temp = Read_74hc579();
  14.                 P1 = data.pos[0];
  15.                 P2 = data.pos[1];
  16.         }
  17. }
复制代码

作者: eveloves    时间: 2017-4-6 19:39
你好!4楼的朋友.
     首先谢谢你的解答! 不过---结果是和原代码一样的没有效果. 你使用的联合体和我使用的指针强转从某种意义来说,没有什么不同.
作者: futurehuan2011    时间: 2017-6-28 15:28
我是初学者,上站来找597的资料,看到了你的设计和程序。有一个问题想问下,597_U1 & 597_U2 的SHCP 难道是共用一个IO口么??
作者: npn    时间: 2023-7-23 21:38
74HC597的仿真模型可能有问题,具体需要用实物验证。
作者: cnfloatleaf    时间: 2023-7-24 01:04
PIN12和PIN13接在一起对吗?应该是PIN12先发正脉冲先将IO电平装载到输入寄存器,然后PIN13再发负脉冲将输入寄存器数据装载到移位寄存器。
这个597我也没用过,可否将12,13脚分开控制试试?
作者: tyrl800    时间: 2023-7-24 10:06
你仿真的效果是正确的呀,没有问题




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1