3.2.了解一些74HC595的预备知识并编写其时序函数

原创 2016年05月30日 22:53:13

实验目的:了解一些74HC595的预备知识并编写其时序函数

预备知识:
(1)芯片与芯片之间的通讯是通过引脚的点评变化以时间轴为参考的变化顺序
(2)芯片与芯片之间的通讯是双方事先定义好的,这就是595芯片的时序
(3)595的时序和RCL、SCLK、有关,SCLK是移位时钟,每当SCLK从低电平上升到高电平时,SER就会输入一位二进制数,每当RCLK从低电平上升到高电平时,从SER输入的二进制数就会移位到595芯片的并信不过输出端QA-QH。
(4)之间使用IO端口通过端口P1、P2、P3、P4来分别控制八个IO引脚,如果要控制一个IO引脚怎么办?通过sbit定义,比如:sbit SER = P3^4;
(5)宏定义 #define uchar unsigned char,在编译的时候将代码中所有的 uchar 替换成unsigned char

实验分析:
(1)搞清595的时序
(2)定义595的三个引脚
(3)编写时序函数
(4)如何从SER传入一位二进制数
(5)传入32位二进制数后如何进行锁存

实验代码:

#include<reg51.h>

sbit SER  = P3^4;
sbit SCLK = P3^5;
sbit RCLK = P3^6;

void SendData(uchar,uchar,uchar,uchar);
void main()
{
    uchar d1,d2,d3,d4;
    SendData(d1,d2,d3,d4);  
}

SenaData(uchar d1,d2,d3,d4)
{
    unsigned char i = 8;
    for(i = 0;i < 8;i++)
    {
         SER  = d1 >> 7;    //d1是八位,右移7位可以讲低7位丢掉,并只保留下最高位,
                            //d1>>7 会产生一个匿名变量,也就是说d1本身没有发生变化
         SCLK = 0;      //制造上升沿,让SER读取输入的一位二进制数
         SCLK = 1;      //
         d1 = d1 << 1;  //将d1的那一位刚刚输入的位丢掉   

    }//循环八次,分别将八位输入

/**************到此已经完成d1的输入,还有三个值未输入***********/

    for(i = 0;i < 8;i++)
    {
         SER  = d2 >> 7;
         SCLK = 0;
         SCLK = 1;  
         d2 = d2 << 1;  

    }
    for(i = 0;i < 8;i++)
    {
         SER  = d3 >> 7;
         SCLK = 0;
         SCLK = 1;  
         d3 = d3 << 1;  

    }
    for(i = 0;i < 8;i++)
    {
         SER  = d4 >> 7;
         SCLK = 0;
         SCLK = 1;  
         d4 = d4 << 1;  

    }

/*******到此为止已经全部将d1,d2,d3,d4四个值输入四个595芯片中去******/

    RCLK = 0;
    RCLK = 1;  //锁存时钟

}
版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

串转并芯片74HC595和74HC164的区别

串转并芯片一般用于对于速度要求不是非常严格并且IO资源有限的系统中,可以通过级联的方式轻松地扩展系统的可用输出IO口数量。同样的也可以使用并转串芯片扩展输入IO口的数量。        这里说一说串转...

74HC595驱动函数

  • 2016-04-29 11:03
  • 767B
  • 下载

很全的C51库函数(NOKIA5110、UART、表达式计算器、通用音乐、DS18B20、74HC595、74HC165、delay)

组织结构树: 资源下载(CSDN):http://download.csdn.net/download/zhlechn/5868923 NOKIA5110 LCD函数头文件(ZL_NOK...

74HC595与数码管

74HC595与数码管 先引用一句官方语:“74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。” 长话短说,它的功能是8位串行输入并行输出移位寄存器,也就是串行转并...

Arduino系列教程-016 74HC595实验

本教程来至yingcloud.com网站 用具有8 位移位寄存器和一个存储器,以及三态输出功能74HC595来控制LED灯的闪烁,连接一块Arduino板来驱动寄存器,使线路能交替进行下去。 ...

74HC595详解

工作电压2-6V,推荐5V。 14脚串行输入:595的数据来源只有这一个口,一次只能输入一个位,那么连续输入8次,就可以积攒为一个字节了。 13脚OE 输出使能控制脚:如果它不工作,那么595...

74HC595 使用详解 大神界别 (转载)

74HC595 QB--|1      16|--Vcc QC--|2      15|--QA QD--|3      14|--SI...

STM32篇:74HC595的使用和注意

74595的数据端: QA--QH: 八位并行输出端,可以直接控制数码管的8个段。 QH': 级联输出端。将它接下一个595的SI端。 SI: 串行数据输入端。 74595的控制端说明: /...

74HC595驱动LED点阵或数码管的正确用法

这几天有些时间想做LED点阵玩玩,所以需要学习74HC595芯片,上网找了几个例程和关于74HC595的几篇应用,照猫画虎实际操作一下,哪知根本不可行,教程都是错误的。 于是自己潜心研究了 4天,现在...

74HC595的中文资料

74HC595——具有三态输出锁存功能的8位串行输入、串行/并行输出移位寄存器 本文翻译自NXP的74HC595的datasheet 74HC595和74HCT595是带有存储寄存器和三态...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)