当前位置: 首页 > news >正文

C51_74HC165并口转串口

文章目录

  • 一、74HC165
  • 二、74HC165使用
    • 1、引脚
    • 2、工作流程
    • 3、原理图
  • 三、实例代码

一、74HC165

74HC165 是 8 位并行输入串行输出移位寄存器,它是一款高速 CMOS 器件,遵循 JEDEC 标准。
74HC165 是一款8 位并行输入 - 串行输出的移位寄存器,常用于扩展 51 单片机的输入端口(解决 51 单片机 I/O 口不足的问题)。

二、74HC165使用

1、引脚


2、工作流程

并行装载:拉低 SH/LD,将 D0~D7 上的电平锁存到寄存器内部。
串行移位:拉高 SH/LD,每来一个 CLK 上升沿,寄存器内的数据右移一位,从 Q7 依次输出(先输出最高位,后输出最低位)。
级联扩展:多片 74HC165 级联时,前一片的 Q7 接后一片的 CLK,可扩展为 16/24 等位输入。

3、原理图

三、实例代码

循环读取8路输入。

#include<reg52.h>// 定义 74HC165 控制引脚sbit SH_LD=P1^0;// 移位/装载控制sbit CLK=P1^1;// 移位时钟sbit DATA_IN=P1^2;// 串行数据输入/** * @brief 读取 74HC165 的 8 位并行数据 * @retval 读取到的 8 位数据(unsigned char 类型) */unsignedcharHC165_ReadData(void){unsignedchari,dat=0;// 1. 并行装载数据SH_LD=0;// 拉低,锁存 D0~D7 数据CLK=0;// 时钟初始化为低SH_LD=1;// 拉高,进入移位模式// 2. 串行移位读取 8 位数据(高位优先)for(i=0;i<8;i++){dat<<=1;// 左移一位,准备接收下一位if(DATA_IN==1){dat|=0x01;// 读取当前位为 1}// 产生时钟上升沿,触发移位CLK=1;CLK=0;}returndat;}voidmain(void){unsignedcharinput_data;while(1){input_data=HC165_ReadData();// 循环读取 8 路输入// 后续可根据 input_data 处理逻辑(如判断按键、传感器状态)}}
http://www.cnnetsun.cn/news/27037.html

相关文章:

  • Java 小白求职者在互联网大厂的面试实录:从 Spring Boot 到微服务架构
  • V助手舆情分析智能体:重塑舆情分析,从“人找信息”到“信息为人”
  • 连接2026:十款远程控制软件真实力横评与选择指南
  • 计算机毕业设计springboot基于Spark++Vue.js的学生管理系统 Spark+Vue 高校学生综合信息管理平台 基于 SpringBoot+Spark+Vue 的全链路学生事务中心
  • JavaScript 集合操作的哈希碰撞:攻击者如何利用特殊 Key 导致 Map/Set 性能降级到 O(N)
  • 为什么 C盘空间会莫名其妙减少(即使没装新软件)?
  • 17、深入理解 Linux 文件系统机制与结构
  • 29、Linux 软件使用与故障排除指南
  • 从入门到转行:网络安全自学与跳槽的终极建议
  • 网络安全小白自学之路,别拜师了,求人不如求己_网络安全小白怎么自学
  • 从系统运维到网络安全工程师,8个月转行真实经验分享!
  • 算法系列(Algorithm)- 快速排序
  • RobotStudio2025全功能授权
  • IsaacLab中UR机械臂与Robotiq夹爪的5大配置难点与解决方案
  • cmark Markdown解析器终极指南:从入门到精通
  • 4-bit量化FLUX模型:让专业AI绘图走进寻常百姓家
  • Excel VBA快速入门:7天从零到精通终极指南
  • AutoHotkey鼠标轨迹自动化终极指南:从零开始实现精准操作回放
  • UxPlay 终极指南:在 Linux 系统上实现 AirPlay 镜像的完整教程
  • 1-2 惜败!国安亚冠连败 中超 16 强魔咒难破
  • 一键解锁阅读3.0书源终极合集:1629个精品资源任你选
  • 一般人不懂Windows
  • Java 基于多线程机制的专项实验
  • 51、Linux 系统中 shell 环境管理与脚本编写全解析
  • 53、编写高效 Shell 脚本:从基础到实践
  • 解锁共享单车数据:从入门到精通的完整分析指南
  • KOOM:如何快速解决Android应用内存泄漏的终极方案
  • API 测试- Postman Vs Rest Assured
  • 如何在React Native应用中实现语音交互?
  • 突破创意瓶颈:BlenderMCP如何用AI重塑3D建模工作流