74LS164 for stm32 源码下载http://www.cnblogs.com/worldsing/p/3315804.html

在单片机系统中, 如果并行口的IO资源不够,而串行口又没有其他的作用, 那么我们可以用74LS164来扩展并行IO口,节约单片机资源。

74LS164是一个串行输入并行输出的移位寄存器。并带有清除端。 
      其中: Q0—Q7 并行输出端 。 A,B串行输入端。 MR 清除端, 为0时,输出清零。 CP 时钟输入端。

74LS164引脚定义: 

74LS164逻辑表:

相关原理:

74LS164.c

---------------------------------------------------------------------------------------------------------------------------------------------

#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"#include "74LS164.h"
/* 延时模块82615468 sp-320-12* */
static void delay(u32 t)
{u32 i;while(t--)for (i = 0; i < 1; i++);
}void Ls164Init(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(LS164_CLK_GPIO_CLK | LS164_DATA_GPIO_CLK, ENABLE);GPIO_InitStructure.GPIO_Pin = LS164_CLK_PIN;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(LS164_CLK_GPIO, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = LS164_DATA_PIN;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(LS164_DATA_GPIO, &GPIO_InitStructure);LS164_CLK_H();LS164_DATA_H();}
void Ls164Send(u8 data)
{u8 k;for(k = 8; k > 0; k--){LS164_CLK_L();delay(1);if(data & 0x01)LS164_DATA_H();elseLS164_DATA_L();LS164_CLK_H();        delay(1);data >>= 1;}
}/*                          _____________________________________________________________164SendTime1 Line0  0bit |                                                             |Line1  1bit |                                                             |Line2  2bit |                                                             |Line3  3bit |                                                             |Line4  4bit |                                                             |Line5  5bit |                                                             |Line6  6bit |                                                             |Line7  7bit |                                                             |164SendTime0 Line8  0bit |                                                             |Line9  1bit |                                                             |Line10 2bit |                                                             |Line11 3bit |                                                             |Line12 4bit |                                                             |Line13 5bit |                                                             |Line14 6bit |                                                             |Line15 7bit |_____________________________________________________________|                          */void LedLineOut(u8 LineN)
{u16 LineData;LineN %= 16;                   //行取值范围LineData = ~(0x0001 << LineN); //取反低电平有效Ls164Send(LineData & 0xff);    //第1片164(Line0~7)Ls164Send(LineData >> 8);      //第0片164(Line8~15)
}//end of file  
    

74LS164.h

---------------------------------------------------------------------------------------------------------------------------------------------------------------

#ifndef __74LS164_H__
#define __74LS164_H__#define     LS164_CLK_PIN            GPIO_Pin_4
#define  LS164_CLK_GPIO           GPIOA
#define  LS164_CLK_GPIO_CLK       RCC_APB2Periph_GPIOA
#define  LS164_CLK_H()            GPIOA->BSRR = LS164_CLK_PIN
#define  LS164_CLK_L()              GPIOA->BRR = LS164_CLK_PIN#define    LS164_DATA_PIN           GPIO_Pin_5
#define  LS164_DATA_GPIO          GPIOA
#define  LS164_DATA_GPIO_CLK      RCC_APB2Periph_GPIOA
#define  LS164_DATA_H()           GPIOA->BSRR = LS164_DATA_PIN
#define  LS164_DATA_L()             GPIOA->BRR = LS164_DATA_PINvoid Ls164Send(u8 data);
void Ls164Init(void);
void LedLineOut(u8 LineN);
#endif

74LS164 for stm32 源码下载

作者:Worldsing

出处:http://worldsing.cnblogs.com

74LS164 for stm32 源码下载相关推荐

  1. STM32 I2C总线从机发送接收源码下载,有图有真相!

    功能: 1.接收主机发送的数据并储存在内部缓冲区,然后通过串口打印输出: 2.主机读取数据时,将内部缓冲区中的数据返回: 3.发送接收都采用中断方式实现,经验证基本上没什么问题: 串口打印输出的数据: ...

  2. RTOS之uCOS-II源码下载及源码目录结构、常见的RTOS!

    RTOS有众多种,用得最火的是FreeRTOS,因为它即使用于商业途径,也是开源免费的:其次是就是uCOS-II和uCOS-III.uCOS-II用于商业途径是需要付费的,但是对于学习研究却是免费的. ...

  3. RT-Thread源码下载介绍

    转载:https://blog.csdn.net/RootCode/article/details/84066981 RT-Thread 源码下载应用笔记 摘要 本文将详细介绍如何获取 RT-Thre ...

  4. android源码下载方法 批量下载 基于windows os

    安装win版的Gitbash, 在这里 http://msysgit.googlecode.com/files/Git-1.6.0.2-preview20080923.exe. 选择默认安装路径(否则 ...

  5. linux 浏览器源码下载,Android开发:图片浏览器源码

    Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...

  6. 模仿Hibernate的逆向工程_java版_源码下载

    在这篇blog:"Hibernate逆向工程原理_java版本"中谈到了Hibernate逆向工程原理. 我喜欢理论和实践相结合....so,今天我试着模仿hibernate的逆向 ...

  7. java验证码源码_Java通用验证码程序及应用示例(提供源码下载)

    评论 # re: Java通用验证码程序及应用示例(提供源码下载) 2009-11-27 17:09 零全零美 多谢博主写出这么好的总结,如果能加上汉字验证码,会更完美!  回复  更多评论 # re ...

  8. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  9. I.MX6 android 源码下载

    /************************************************************************** I.MX6 android 源码下载* 说明:* ...

最新文章

  1. PyTorch框架:(6)图像识别实战常用模块解读
  2. python文件流习题解析
  3. 1.8 其他正则化方法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  4. 计算机组成原理 控制冒险,电子科大-系统结构实验-解决控制冒险.docx
  5. php gd库 函数 建立gif,PHP_PHP GD库生成图像的几个函数总结,使用GD库中提供的函数动态绘 - phpStudy...
  6. 前端学习(1059):ES6中的类和对象
  7. html 闪烁字,HTML最简单的文字闪烁代码
  8. 在ASP.NET中面向对象的编程思想
  9. 如何使用Highscore进行XRD物相分析?
  10. 甘孜州2021高考 康定中学宴冬梅成绩查询,最新2021甘孜州高中排名
  11. 《战狼2》,我可以说点什么
  12. Android 一款十分简洁、优雅的日记 APP
  13. 什么是MTTF、MTTR、MTBF和MTRF?
  14. OSI七层模型和STP/IP协议模型(生动形象,简单易懂)
  15. 解决在高分辨率下运行Photoshop CS6,程序界面字体过小的问题
  16. UML建模-业务流程分析
  17. 搭建一个STC8H的最小系统
  18. TiDB整体架构详解TiDB核心特性
  19. java通过单号判断快递公司的示例代码
  20. DAO杂谈:从Sushi到EOS,从People再到红杉

热门文章

  1. 前端开发之localstorge和sessionstorge的结合使用,达到多个tab之间共享页面的值
  2. 阿里巴巴笔试题,附带解析
  3. Latex教程--详细版
  4. 静思:将“找工作”的核心放一放
  5. 【算法设计与分析】 最优服务次序问题
  6. 不一样的课程表,不一样的Excle--用excel进行设计(90): 从课程表谈数据界面设计
  7. 1074 -小青蛙回来了:关于小青蛙爬井的故事,你应该早就听过了:井深 10 尺,小青蛙从井底向上爬,每个白天向上爬 3尺,每个晚上又滑下来 2 尺,然后问你第几天它能爬
  8. MATLAB施密特正交化
  9. iOS 用通用测试证书通过爱思助手重签名安装测试IPA
  10. 产品诚可贵,质量价更高