注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

III = Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

74HC595  

2017-08-25 17:31:08|  分类: 数字电路 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
74HC595是一个具有8位移位寄存器和一个存储器,具有三态输出功能,移位寄存器和存储器有相互独立的时钟,串行数据支持级联功能,即上一个74HC595的输出可以作为下一个74HC595的输入。
关于各针脚的功能就不再赘述了,直接上仿真原理图:
74HC595 - Lemniscate - 信息 灵感 创新
 代码:
#include <reg51.h>
#include <intrins.h>

sbit SER=P3^4;//串行数据输入端
sbit RCLK=P3^5;//输出存储器锁存时钟线,STCP
sbit SRCLK=P3^6;//数据输入时钟线,SHCP

//共阳极数码管0-F
code unsigned char SEGCA[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; 
void delay(unsigned int z)
{
    unsigned char y;
    while(z--)
    {
        y=120;
        while(y--);
    }
}

void SendByte_74HC595(unsigned char dat)
{
    unsigned char i;
    RCLK=0;
    for(i=0;i<8;i++)
    {
        SER=(dat>>(7-i)) & 0x01;
        //数据输入时钟线上升沿时
        //数据寄存器的数据移位
        SRCLK=0;
        _nop_();
        _nop_();
        SRCLK=1;
    }
    //锁存时钟线上升沿时
    //移位寄存器的数据进入数据存储寄存器锁存
    RCLK=1;
}

void main()
{
    unsigned char i=0;
    while(1)
    {
        SendByte_74HC595(SEGCA[i]);
        i++;
        if(i==16)
            i=0;
        delay(500);
    }
}
执行效果如下:
74HC595 - Lemniscate - 信息 灵感 创新
 因为下一个74HC595的数据是上一个74HC595的数据移出的,因此所显示的内容总比上一个数码管的数据滞后。
  评论这张
 
阅读(21)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017