/************************************************************************

Function:       Read_74HC595

Description:    读取n片74HC595的输入数据

Calls:          HC595_delay;GPIO_ResetBits;GPIO_SetBits;

Data Accessed:  无

Data Updated:   无

Input:

HC595x:用户使用的595端口,类型定义在74HC595.h中

ChipNum: 用户使用的595端口上连接的芯片个数

Output:

DataBuf: 输出数据存放缓冲区

Return:         无

Others:         此模块为Stm32单片机中使用,调试时在72M系统时钟下

*************************************************************************/

void Write_74HC595(HC595 HC595x,unsigned char ChipNum,unsigned char *DataBuf)

{

unsigned char i = 0;

unsigned char DataBufTmp = 0;

GPIO_ResetBits(HC595x.Lck.Port, HC595x.Lck.Pin); //设置LCK为低电平,上升沿数据锁存

for(; ChipNum>0; ChipNum--)

{

DataBufTmp = *DataBuf;

for(i=0; i<8; i++)

{

GPIO_ResetBits(HC595x.Clk.Port, HC595x.Clk.Pin); //时钟低电平

if (DataBufTmp & 0x80)

{

GPIO_SetBits(HC595x.Data.Port, HC595x.Data.Pin);   //输出1

}

else

{

GPIO_ResetBits(HC595x.Data.Port, HC595x.Data.Pin); //输出0

}

HC595_delay(5);

GPIO_SetBits(HC595x.Clk.Port, HC595x.Clk.Pin); //时钟高电平,上升沿数据移位

HC595_delay(5);

DataBufTmp = DataBufTmp << 1;

}

DataBuf++;

}

GPIO_SetBits(HC595x.Lck.Port, HC595x.Lck.Pin);   //设置LCK为高电平,上升沿数据锁存

HC595_delay(10);

GPIO_ResetBits(HC595x.Lck.Port, HC595x.Lck.Pin); //设置LCK为低电平,上升沿数据锁存

}

74hc595级联c语言程序,stm32使用三片74HC595级联程序代码相关推荐

  1. 【微信小程序丨第三篇】小程序的基础知识储备

    前言 微信小程序在无论在功能.文档及相关支持方面,都是优于前面几种微信账号类型,它提供了很多原生程序才有的接口,使得我们的小程序在很多方面突破H5页面应用的限制,更加接近原生程序的功能,因此微信小程序 ...

  2. 微信小程序开发(三)注册小程序app.js

    文件:app.js 小程序的入口文件 app()函数,注册一个小程序,接受object参数,指定小程序的生命周期函数等. 属性 类型 描述 触发时机 onLaunch Function 小程序初始化 ...

  3. 微信小程序学习笔记(三)——两名片小程序实例

    文章目录 项目一 项目结构 title index.wxml index.wxss 最终效果 项目二 项目结构 title index.wxml index.wxss 最终效果 项目地址 最后 项目一 ...

  4. 微信小程序开发系列七:微信小程序的页面跳转

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  5. 微信小程序开发系列五:微信小程序中如何响应用户输入事件

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  6. 微信小程序开发系列四:微信小程序之控制器的初始化逻辑

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...

  7. 【笔记】实战mpvue2.0多端小程序框架——原生小程序 API 调用与多端小程序发布

    文章目录 一.支付宝小程序源码运行 1.开发者工具下载 2.运行小程序 二.支付宝小程序用户授权 三.支付宝小程序获取OpenId 1.源码改造 2.服务器接口 (1)生成公钥和私钥 (2)填入公钥信 ...

  8. 微信小程序开发系列 (四) :微信小程序的页面跳转路由设计

    笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识.这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助. 本教程前面三篇文章: 微信 ...

  9. 黑马程序员C语言基础(第三天)

    黑马程序员C语言基础(一)第三天 https://www.bilibili.com/video/BV15W411K7k6?p=40 文章目录 低级语言与高级语言 c语言优缺点 c语言应用领域 通过gc ...

  10. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

最新文章

  1. 去掉“3_人民日报语料”中每行前边的数字编号,改成“1, 2,......”
  2. solr怎么设置搜索结果排名靠前?
  3. Go语言实时GC - 三色标记算法
  4. C#中的命名空间和程序集
  5. 国家网络安全宣传周:勒索病毒利如刀,上网备好技能包
  6. 图层样式混合选项_图标设计,用PS的图层样式制作逼真的玉石图标
  7. NumPy Beginner's Guide 2e 带注释源码 二、NumPy 基础入门
  8. 查询存储过程,数据库对象的创建历史
  9. 泊松分布以及相关分布的知识整理
  10. cada0图纸框_按1:1画图后如何出A0图纸图框怎么设置?
  11. OpenLayers教程:图形绘制之绘制几何图形
  12. Jmeter读取CSV文件
  13. 软件测试工程师需要学什么?
  14. 怎么关闭惠普暗影精灵OMEN 8的主机灯
  15. 基于FME实现dwg等高线、高程点、计曲线注记的高程值批量修改研究,等高线批量修改高程,高程点批量修改高程,计曲线注记批量修改高程
  16. 服务器运维1-failed to start LSB
  17. PyTorch安装教程(带图文)
  18. Hackthebox Three
  19. 数据和数据库定义是什么?
  20. 我的世界服务器权限组权限修改器,permissionsEX v1.19.5 —— 超级权限插件

热门文章

  1. 请问,“什么知识才是值得学习的?”
  2. 微信小程序测试应该注意的事项
  3. 沪深300指数的跟踪基金排名
  4. Ps 快速更改头发颜色
  5. OpenCV——调整图片的对比度、亮度和饱和度
  6. 360顽固木马专杀工具 千万别用
  7. 怎样给div加css,div加css教程
  8. 怎么将图片转成html,一种将图片转成HTML文档的方法与流程
  9. HDU 5519(Kykneion asma-NNT+CRT)
  10. 10001UVa伊甸园