C51_74HC595串口转并口

文章目录

  • 一、74HC595
    • 1、芯片引脚
    • 2、内部框图
    • 3、时序操作
  • 二、单芯片工模式
    • 1、原理图
    • 2、驱动代码
      • 1)、74hc595.h
      • 2)、74hc595.c
      • 3)、mian.c
  • 三、级联工作模式
    • 1、原理图
    • 2、驱动代码
      • 1)、main.c

一、74HC595

74HC595 是一个8位串行输入、并行输出的位移缓存器,其中并行输出为三态输出(即高电平、低电平和高阻抗)。

1、芯片引脚


2、内部框图

74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是单独的时钟。

3、时序操作

工作时序由串行数据(DS)、移位时钟(SHCP)、存储时钟(STCP) 三个核心信号控制,部分型号还支持输出使能(OE) 和清零(MR) 信号。
74HC595 的时序分为 移位阶段 和 锁存阶段:
移位阶段:
数据DS在移位时钟SHCP的上升沿输入,在SHCP的上升沿进入到存储器中,(高位D7先入,低位D0后入)。
锁存阶段:
当 8 位数据全部移入后,一个 ST_CP 上升沿会将移位寄存器的数据锁存到输出寄存器,驱动并行引脚输出。
输出使能(OE):低电平有效,需在锁存前拉低,否则输出为高阻态;若保持低电平,锁存后数据会立即输出。
异步清零(MR):低电平有效,无需时钟触发,拉低时直接清空移位寄存器;正常工作时需接高电平或通过上拉电阻固定。

二、单芯片工模式

1、原理图

2、驱动代码

1)、74hc595.h

#ifndef_74HC585_H_#define_74HC585_H_#include<reg52.h>#include<intrins.h>// 引脚定义(可根据实际硬件修改)sbit HC595_DS=P3^4;// 串行数据输入sbit HC595_SH_CP=P3^6;// 移位时钟sbit HC595_ST_CP=P3^5;// 锁存时钟// 延时函数(简单延时,可根据主频调整)voidHC595_Delay(unsignedintt);/** * @brief 向74HC595发送一个字节数据(高位先行) * @param dat 要发送的8位数据 */voidHC595_Send_Byte(unsignedchardat);/** * @brief 锁存数据到输出寄存器(并行输出) */voidHC595_Latch(void);/** * @brief 发送多个字节数据(级联74HC595时使用) * @param pdat 数据数组指针 * @param len 数据长度(级联个数) */voidHC595_Send_Multi_Byte(unsignedchar*pdat,unsignedcharlen);/** * @brief 清空74HC595输出(输出全0) */voidHC595_Clear(void);#endif

2)、74hc595.c

#include<74hc595.h>// 延时函数(简单延时,可根据主频调整)voidHC595_Delay(unsignedintt){unsignedinti,j;for(i=t;i>0;i--)for(j=110;j>0;j--);}/** * @brief 向74HC595发送一个字节数据(高位先行) * @param dat 要发送的8位数据 */voidHC595_Send_Byte(unsignedchardat){unsignedchari;HC595_SH_CP=0;// 移位时钟初始低电平for(i=0;i<8;i++)// 逐位发送8位数据{HC595_DS=dat&0x80;// 取最高位dat<<=1;// 左移一位,准备下一位// 移位时钟上升沿,将DS数据移入移位寄存器HC595_SH_CP=1;_nop_();// 空操作,保证时钟宽度HC595_SH_CP=0;}}/** * @brief 锁存数据到输出寄存器(并行输出) */voidHC595_Latch(void){HC595_ST_CP=1;_nop_();// 保证锁存时钟宽度HC595_ST_CP=0;}/** * @brief 发送多个字节数据(级联74HC595时使用) * @param pdat 数据数组指针 * @param len 数据长度(级联个数) */voidHC595_Send_Multi_Byte(unsignedchar*pdat,unsignedcharlen){unsignedchari;// 从最后一个芯片开始发送(级联时高位在前)for(i=len;i>0;i--){HC595_Send_Byte(pdat[i-1]);}HC595_Latch();// 所有数据移位完成后统一锁存}/** * @brief 清空74HC595输出(输出全0) */voidHC595_Clear(void){HC595_Send_Byte(0x00);HC595_Latch();}

3)、mian.c

#include<reg52.h>#include"74hc595.h"voidmain(){unsignedchartest_dat=0x01;HC595_Clear();// 初始化为全0while(1){HC595_Send_Byte(test_dat);// 发送数据HC595_Latch();// 锁存输出HC595_Delay(500);// 延时test_dat<<=1;// 左移一位,流水灯效果if(test_dat==0)test_dat=0x01;// 复位,重新开始}}

三、级联工作模式

1、原理图

2、驱动代码

1)、main.c

#include<reg52.h>#include"74hc595.h"voidmain(){unsignedchartest_dat[2]={0xAA,0x55};// 低8位0x55,高8位0xAAHC595_Clear();// 初始化为全0HC595_Send_Multi_Byte(test_dat,2);// 发送2字节,自动锁存HC595_Latch();// 锁存输出while(1){}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1004785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【题解】Atcoder ABC432 C

思路 遇事不决先排个序。注意到如果要让所有人分得的糖果重量相等,那么糖更少的人需要的大糖更多。因每人分得糖果数量确定,所以总重量越大,每人需要的大糖数量就越多。为了让大糖总数最多,不妨给糖最少的人全分大…

赶due党救急!论文降重2小时搞定,不熬夜

赶due党救急&#xff01;论文降重2小时搞定&#xff0c;不熬夜 赶due党救急&#xff01;论文降重2小时搞定&#xff0c;不熬夜 嘿&#xff0c;各位赶due党们&#xff01;我是AI菌。今天&#xff0c;咱们就来聊聊那个让无数学生头疼的问题——论文降重。别担心&#xff0c;我不…

5 分钟快速入门 Gitlab CI/CD

&#x1f680; 快速掌握 GitLab CI/CD&#xff1a;自动化你的开发流程 GitLab CI/CD 是一个功能强大的工具&#xff0c;它内置于 GitLab 中&#xff0c;用于自动化你的软件构建、测试和部署流程。如果你希望提升开发效率、减少人为错误并实现持续集成/持续部署&#xff08;CI/…

16 位 SAR ADC 逐次逼近型 ADC 模拟集成电路设计探秘

【16位SAR ADC 逐次逼近型ADC模拟集成电路设计】 16位SAR ADC 同步时序&#xff1b; 采样率1MHz&#xff1b; 动态比较器&#xff1b; 栅压自举采样开关&#xff1b; 测试电路&#xff1b; 精度为14.61&#xff1b; 台湾65nm工艺 下载后可直接使用&#xff0c;保证仿出正确波形…

计算机论文模板推荐:8大平台+AI修改工具

计算机论文模板推荐&#xff1a;8大平台AI修改工具 工具对比速览 工具名称 核心功能 生成速度 适用场景 特色优势 秒篇 全学科初稿生成 20-30分钟 论文初稿快速成型 自动插入图表/公式/代码 aicheck 初稿生成查重 20-30分钟 初稿与查重同步 原创性检测格式规范 …

Lua语法深入1

1. table构造器中,可以混用记录式(record-style)的和列表式(list-style)创建属性字段:polyline = {color="blue",thickness=2,npoints=4, {x=0, y=0}, --polyline[1]{x=-10, y=0…

牛客小白赛-⑨运算(Hard Version)

一、题目链接:https://ac.nowcoder.com/acm/contest/125080/E 二、题目大意:这道题的题目大意是给你一个数x,并给你两种操作。第一种操作可以无限次使用,在当前数上进行+9,第二种操作只能使用一次,在当前数上进行…

【题解】Luogu P13885 [蓝桥杯 2023 省 Java/Python A] 反异或 01 串

思路 对整串反异或有些唬人。但进行反异或操作的时刻是任意的,操作后依然可以往串首尾加数。也就是说,我们可以把问题转化成:一个长度为 \(|T|\) 的 01 串 \(S\),从中选取一段字串对其进行反异或操作使其变为 \(T\…

期待回家,顺便写点年度总结

今天北京下雪了,夜晚校园里的行人都比平时少的多(因为真的很冷),可越是这种寒冷寂寥的环境,越是会让人感觉到忧伤和孤独。 2025年快要结束了,现在已经是12月的12号了,今年也是相当精彩、丰富的,也是繁杂、焦虑…

E No address added out of total 1 resolved地址绑定失败: No address added out of total 1 resolved errors:

问题&#xff1a;运行VScode项目时&#xff0c;出现端口被占用&#xff0c;如何解决。E No address added out of total 1 resolved 地址绑定失败: No address added out of total 1 resolved errors: [listen EADDRINUSE: address already in use 127.0.0.1:50052]原因1&#…

计算机论文题目推荐:8大平台+50例AI生成

计算机论文题目推荐&#xff1a;8大平台50例AI生成 工具名称 主要功能 生成速度 适用场景 特色优势 秒篇 论文初稿生成 20-30分钟 全学科论文初稿 支持自动插入图表/公式/代码 aicheck 论文初稿生成 20-30分钟 全学科论文初稿 原创性高&#xff0c;AI生成率低 a…

【笔记】Manacher

Luogu P3805 【模板】manacher 解决问题:字符串中最长回文子串。 解决方法:求出字符串中每个字符作为回文串中心时最长回文串长度。 朴素做法,对于每个字符向后枚举比较,时间复杂度 \(O(n^2)\)。 Manacher 算法提供…

C51_74HC165并口转串口

文章目录一、74HC165二、74HC165使用   1、引脚   2、工作流程   3、原理图三、实例代码一、74HC165 74HC165 是 8 位并行输入串行输出移位寄存器&#xff0c;它是一款高速 CMOS 器件&#xff0c;遵循 JEDEC 标准。    74HC165 是一款8 位并行输入 - 串行输出的移位寄存…

八上期中考游记

真是失败的人生。 为了 CSP 花费了好多时间,但是变成了最差的一年,怎么回事呢? 语文 \(104\),炸飞了。 数学 \(148\) 挂到 \(140\),年段 rk \(1 \to 8\),这波真是失败的人生。 英语 \(130\),卷子好难,炸杠。 物…

application.properties

[Spring Boot] Java开发实战&#xff1a;Spring Boot应用详解 引言 Spring Boot是Java开发中一个非常重要的框架&#xff0c;它简化了Spring应用的初始搭建和开发过程。作为一年经验的Java开发者&#xff0c;我们需要学习它是因为现在大部分企业级项目都在使用Spring Boot。在实…

电动汽车永磁同步电机的电磁设计与最优控制探索

永磁同步电机具有效率高、功率密度大、鲁棒性强以及调速范围广等优点&#xff0c;被广泛应用于家用电器、航空航天、轨道交通与电动汽车等领域&#xff0c;是当前电机领域研究和应用热点。 本文以电动汽车驱动用永磁同步电机电磁设计和最优控制为研究内容&#xff0c;对永磁同步…

【题解】Luogu B4185 [中山市赛 2024/科大国创杯小学组 2023] 倍数子串/子串

明明是很容易的题模拟赛却没注意到。 数学、模拟 题意 略。 思路 不妨从 \(5\) 下手。一数仅当最后一位是 \(0\) 或 \(5\) 时,该数才是 \(5\) 的倍数。因此如果第 \(i\) 位是 \(0\) 或 \(5\),所有最后一位是 \(5\) 的…

智能客服机器人产品设计

目录完整的导购 FSM(有限状态机)设计 — 可直接交付给产品/架构/开发2. 状态表(每个状态的定义、触发条件、允许动作、默认 CTA、工具调用)GREETINGNEED_DISCOVERYPRODUCT_MATCHRECOMMENDATIONCOMPARISONOBJECTION…

JavaScript 异常原因(Error Cause):实现分布式系统错误链追踪的序列化与反序列化

在现代复杂的分布式系统中&#xff0c;服务的协同工作是常态。然而&#xff0c;服务的相互依赖也带来了巨大的挑战&#xff0c;尤其是在错误处理和故障诊断方面。当一个请求流经多个微服务时&#xff0c;任何一个环节的失败都可能导致整个业务流程中断。要高效地定位问题的根源…

毕业论文任务书范文推荐:7大平台+AI修改工具

毕业论文任务书范文推荐&#xff1a;7大平台AI修改工具 工具名称 核心功能 生成速度 适用场景 独特优势 aibiye 论文初稿生成 20-30分钟 全学科通用 自动插入图表公式 aicheck 初稿查重 20-30分钟 急需查重场景 独创降AIGC算法 askpaper 初稿生成 20-30分钟 …