74LS164 for stm32 源码下载
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 源码下载相关推荐
- STM32 I2C总线从机发送接收源码下载,有图有真相!
功能: 1.接收主机发送的数据并储存在内部缓冲区,然后通过串口打印输出: 2.主机读取数据时,将内部缓冲区中的数据返回: 3.发送接收都采用中断方式实现,经验证基本上没什么问题: 串口打印输出的数据: ...
- RTOS之uCOS-II源码下载及源码目录结构、常见的RTOS!
RTOS有众多种,用得最火的是FreeRTOS,因为它即使用于商业途径,也是开源免费的:其次是就是uCOS-II和uCOS-III.uCOS-II用于商业途径是需要付费的,但是对于学习研究却是免费的. ...
- RT-Thread源码下载介绍
转载:https://blog.csdn.net/RootCode/article/details/84066981 RT-Thread 源码下载应用笔记 摘要 本文将详细介绍如何获取 RT-Thre ...
- android源码下载方法 批量下载 基于windows os
安装win版的Gitbash, 在这里 http://msysgit.googlecode.com/files/Git-1.6.0.2-preview20080923.exe. 选择默认安装路径(否则 ...
- linux 浏览器源码下载,Android开发:图片浏览器源码
Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...
- 模仿Hibernate的逆向工程_java版_源码下载
在这篇blog:"Hibernate逆向工程原理_java版本"中谈到了Hibernate逆向工程原理. 我喜欢理论和实践相结合....so,今天我试着模仿hibernate的逆向 ...
- java验证码源码_Java通用验证码程序及应用示例(提供源码下载)
评论 # re: Java通用验证码程序及应用示例(提供源码下载) 2009-11-27 17:09 零全零美 多谢博主写出这么好的总结,如果能加上汉字验证码,会更完美! 回复 更多评论 # re ...
- spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)...
不多说,直接上干货! 前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...
- I.MX6 android 源码下载
/************************************************************************** I.MX6 android 源码下载* 说明:* ...
最新文章
- PyTorch框架:(6)图像识别实战常用模块解读
- python文件流习题解析
- 1.8 其他正则化方法-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
- 计算机组成原理 控制冒险,电子科大-系统结构实验-解决控制冒险.docx
- php gd库 函数 建立gif,PHP_PHP GD库生成图像的几个函数总结,使用GD库中提供的函数动态绘 - phpStudy...
- 前端学习(1059):ES6中的类和对象
- html 闪烁字,HTML最简单的文字闪烁代码
- 在ASP.NET中面向对象的编程思想
- 如何使用Highscore进行XRD物相分析?
- 甘孜州2021高考 康定中学宴冬梅成绩查询,最新2021甘孜州高中排名
- 《战狼2》,我可以说点什么
- Android 一款十分简洁、优雅的日记 APP
- 什么是MTTF、MTTR、MTBF和MTRF?
- OSI七层模型和STP/IP协议模型(生动形象,简单易懂)
- 解决在高分辨率下运行Photoshop CS6,程序界面字体过小的问题
- UML建模-业务流程分析
- 搭建一个STC8H的最小系统
- TiDB整体架构详解TiDB核心特性
- java通过单号判断快递公司的示例代码
- DAO杂谈:从Sushi到EOS,从People再到红杉
热门文章
- 前端开发之localstorge和sessionstorge的结合使用,达到多个tab之间共享页面的值
- 阿里巴巴笔试题,附带解析
- Latex教程--详细版
- 静思:将“找工作”的核心放一放
- 【算法设计与分析】 最优服务次序问题
- 不一样的课程表,不一样的Excle--用excel进行设计(90): 从课程表谈数据界面设计
- 1074 -小青蛙回来了:关于小青蛙爬井的故事,你应该早就听过了:井深 10 尺,小青蛙从井底向上爬,每个白天向上爬 3尺,每个晚上又滑下来 2 尺,然后问你第几天它能爬
- MATLAB施密特正交化
- iOS 用通用测试证书通过爱思助手重签名安装测试IPA
- 产品诚可贵,质量价更高