9014|3

39

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

74hc595级联时如何写入数据 [复制链接]

用单个595,编写程序成功。可是两个级联不知如何写入数据使LED灯逐个点亮。请指教,一片595的代码如下:

 


#include <reg52.h>        //51芯片管脚定义头文件
#include <intrins.h>       //内部包含延时函数 _nop_();
#define uchar unsigned char
#define uint  unsigned int

uchar code DAT[8]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};

sbit  SDATA_595=P3^0;         //串行数据输入
sbit  SCLK_595 =P3^1;          //移位时钟脉冲
sbit  RCK_595  =P3^2;           //输出锁存器控制脉冲

uchar temp;            

/********************************************************/
/*                                                                                                            */
/* 延时子程序                                                                                            */
/*                                                                                                            */
/********************************************************/

void delay(int ms)
{                          
   int k;
   while(ms--)
   {
     for(k=0; k<250; k++)
     {
      _nop_();
      _nop_();
      _nop_();
      _nop_();
     }
   }
}

/********************************************************/
/*                                                                                                            */
/*将显示数据送入74HC595内部移位寄存器                                                   */
/*                                                                                                            */
/********************************************************/

void WR_595(void)
{
     uchar j;
      for (j=0;j<8;j++)
     {
      temp=temp<<1;
      SDATA_595=CY;
      SCLK_595=1;                     //上升沿发生移位
       _nop_();
       _nop_();
      SCLK_595=0;
     }       
}

/********************************************************/
/*                                                                                                            */
/*将移位寄存器内的数据锁存到输出寄存器并显示                                             */
/*                                                                                                            */
/********************************************************/

 void OUT_595(void)
{
    RCK_595=0;
    _nop_();
    _nop_();
    RCK_595=1;                       //上升沿将数据送到输出锁存器
    _nop_();
    _nop_();
    _nop_();
    RCK_595=0;
}

 

main()

   SCLK_595=0;
   RCK_595=1;
   
   while(1)            
    {
      uchar i;
      for (i=0; i<8; i++)
       {
        temp=DAT;         //取显示数据
        WR_595();
        OUT_595();
        delay(30);
       }
    }
}             

 

此帖出自51单片机论坛

最新回复

学习一下。这个很有用就是不会用。  详情 回复 发表于 2011-6-11 20:25
点赞 关注
 

回复
举报

142

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
只有汇编的。

74HC595.PDF

126.83 KB, 下载次数: 185

此帖出自51单片机论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
感谢楼主对我的帮助。雪中送炭。谢谢。
此帖出自51单片机论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(中级)

4
 
学习一下。这个很有用就是不会用。
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表