74LS164

article/2025/9/9 7:55:49

串行输出转换为并行输出

这里写图片描述
·A、B:串行数据输入端
·Clock:时钟输入端
·Clear:同步清除输入端(低电平有效)

·真值表
这里写图片描述

eg: PA.0连接A,PA.1连接Clock,PA.2连接Clear,PA.0发送数据11000100至Q0-Q7

//寄存器方式.
#include "public.h"#define GPIOA_ODR_ADDR (GPIOA_BASE+0x0c)
#define GPIOA_IDR_ADDR (GPIOA_BASE+0x08)
#define BitBand(Addr,BitNum) *((unsigned long *)((Addr&0xf0000000)+0x2000000 + ((Addr&0xfffff)<<5) + (BitNum<<2)))#define PAOut(n)    BitBand(GPIOA_ODR_ADDR,n)
#define PAIn(n)     BitBand(GPIOA_IDR_ADDR,n)void Delay_Ms(u16 dly);int main(void)
{u8 i;u8 data = 0xC4;GPIOA->CRL = 0x333;PAOut(2) = 1; for(i=0; i<8; i++){PAOut(1) = 0;Delay_Ms(1);if((data&0x01) == 0x01)PAOut(0) = 1;elsePAOut(0) = 0;PAOut(1) = 1;Delay_Ms(1);data=data>>1;}return 0;}void Delay_Ms(u16 dly)
{u16 i,j;for(i=0; i<dly; i++)for(j=1000; j>0; j--);
}
//库函数方式.
#include "stm32f10x.h"void Delay_Ms(u16 dly);
void LS164_Send(u8 data);int main(void)
{u8 data = 0xC4;LS164_Send(data);return 0;
}void Delay_Ms(u16 dly)
{u16 i,j;for(i=0; i<dly; i++)for(j=1000; j>0; j--);
}
void LS164_Send(u8 data)
{u8 i;GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_SetBits(GPIOA, GPIO_Pin_2);for(i=0; i<8; i++){GPIO_ResetBits(GPIOA, GPIO_Pin_1);Delay_Ms(1);if((data&0x01) == 0x01)GPIO_SetBits(GPIOA, GPIO_Pin_0);elseGPIO_ResetBits(GPIOA, GPIO_Pin_0);GPIO_SetBits(GPIOA, GPIO_Pin_1);Delay_Ms(1);data = data>>1;}}

http://chatgpt.dhexx.cn/article/FGIPCcDa.shtml

相关文章

电子器件系列32:逻辑与门芯片74LS11

一、编码规则 先看看这个代码的意思&#xff1a;74LS11 74是一个系列&#xff08;74 表示为工作温度范围&#xff0c;74: 0 ~ 70度。&#xff09; ls的意思就是工艺类型&#xff08;Bipolar(双极)工艺&#xff09; 11是代码 什么是74系列逻辑芯片&#xff1f; - 知乎 什么是…

74LS系列芯片简记——10-19

74ls10 3输入三与非门 74ls11 3输入三与门 74ls12 3输入三与非门(oc) 74ls13 4输入双与非门(斯密特触发) 74ls14 六倒相器(斯密特触发) 74ls15 3输入三与门(oc) 74ls16 六高压输出反相缓冲器/驱动器(oc,15v) 结构图与74LS14相同&#xff0c;耐高压&#xff08;15V&#xff09; …

74LS74 D触发器组成四位异步加法计数器

74LS74 D触发器组成四位二进制异步加法计数器 申请了一段时间了 太懒了 从来没有写过 写一个玩一下 新手 不喜勿喷 学过的朋友都知道什么是D触发器 这里不再罗嗦 数电实验中原理图直接给出来了 接法 芯片为74LS74 这里对74LS74啰嗦一下 借用一下百度的东西 &…

数电快速入门(五)(编码器的介绍以及通用编码器74LS148和74LS147的介绍)

回顾&#xff1a;系列&#xff08;四&#xff09;中讲到了组合逻辑电路的设计和分析 3.1 编码器 引入&#xff1a;我们知道数字设备只能处理二进制代码的信息&#xff0c;因此我们必须将需要输入进设备的信息&#xff0c;转化成符合一定规则的二进制代码&#xff08;比如我们…

验证74LS192的逻辑功能

74LS192是同步十进制可逆计数器&#xff0c;这种芯片多数以BCD码为主。 74LS192的功能如下&#xff1a; &#xff08;1&#xff09;异步清零。当CLR1时异步清零&#xff0c;它为高电平有效。 &#xff08;2&#xff09;异步置数。当CLR0时&#xff08;异步清零无效&#xff…

74LS273芯片介绍

74LS273是8位数据/地址锁存器&#xff0c;它是一种带清除功能的8D触发器 &#xff0c; D0&#xff5e;D7为数据输入端&#xff0c;Q0&#xff5e;Q7为数据输出端&#xff0c;正脉冲触发&#xff0c;低电平清除&#xff0c;常用作数据锁存器,地址锁存器。 &#xff08;1&#xf…

74LS系列芯片简记——20-30

74LS20 双4输入与非门 74LS21 双4输入与门 74LS22 双4输入与非门&#xff08;OC&#xff09; 内部结构与74LS20相同&#xff0c; 74LS23 双可扩展输入或非门 74LS24 2输入4与非门&#xff08;施密特&#xff09; 74LS25 4输入双或非门&#xff08;可选通&#xff09; 74LS26 2输…

74LS138译码器真值表以及快速计算方法

74LS138真值表以及快速计算方法 掌握了74LS138译码器的快速计算的方法&#xff0c;就能够在使用74LS138译码器的时候&#xff0c;不用老是去查阅译码器的真值表的对应关系。 74LS138译码器真值表 快速计算方法 将输入端的A B C看作成3位的二进制码 通过8-4-2-1码来快速推算其…

74LS系列芯片简记——00-09

由于兴趣与实际需求特学习对应的数字芯片&#xff0c;以此笔记简略记录用途等&#xff0c;如有不足欢迎批评指正。欢迎大家踊跃交流。前期门芯片讲述较为简单。 74LS00(四组2输入与非门) 逻辑为&#xff1a;可用于进行与非判断&#xff0c;基本RS触发器&#xff0c;与非门方波发…

全局文件/etc/fstab详解

/etc/fatab每一行都遵循以下格式 device&#xff1a;指定加载分区或移动磁盘系统 dir&#xff1a;指定挂载路径 type&#xff1a;指定文件系统 options&#xff1a;指定挂载选项&#xff0c;默认为defaults,也可以换其它选项 第一个0表示载后的文件系统是否能被dump备份&am…

/etc/fstab文件

文件/etc/fstab存放的是系统中的文件系统信息&#xff0c;当系统启动的时候&#xff0c;系统会自动地从这个文件读取信息&#xff0c;并且会自动将此文件中指定的文件系统挂载到指定的目录。当正确的设置了该文件&#xff0c;则可以通过mount /directoryname命令来加载一个文件…

linux /etc/fstab 文件详细说明(整理版)

fstab这个文件描述系统中各种文件系统的信息&#xff0c;应用程序读取这个文件&#xff0c;然后根据其内容进行自动挂载的工作。因此&#xff0c;我们需要理解其中的内容&#xff0c;了解它如何与 mount命令配合工作&#xff0c;并能够针对自己的情况进行修改。 作为系统配置文…

Linux之/etc/fstab文件详解及实践

一、需求说明 使用parted命令完成磁盘分区后会有如下提示。意思就是我们新增了磁盘分区&#xff0c;提醒我们需要更新/etc/fstab文件。Linux系统都是各磁盘或者分区是通过挂载的方式访问的&#xff0c;临时使用的U盘、光盘等我们可以使用mount命令临时挂载&#xff0c;如果是系…

linux /etc/fstab 文件详细说明

版权声明&#xff1a;本文为CSDN博主「小龙王2010」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接及本声明。 原文链接&#xff1a;https://blog.csdn.net/xiaolongwang2010/article/details/8657332 ———————————————— …

/etc/fstab文件详解

/etc/fstab文件详解 一、/etc/fstab文件的作用二、挂载的限制三、/etc/fstab文件中的参数 一、/etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中&#xff0c;否则下次开机启动时仍然需要重新挂载。 系统开机时会主动读取/etc/fstab这个文件中…

Linux环境下修改docker0网卡的IP地址

起因&#xff1a; 我的服务器在公司内网中部署&#xff0c;但是其他同事无法连接&#xff0c;ping也不通。 随后发现docker会自动起一个docker0的网卡&#xff0c;这个网卡默认IP为&#xff1a; 172.17.0.0&#xff0c;这个IP地址与公司网段冲突&#xff0c;导致其他同事无法连…

ubuntu(乌班图) 修改ip

版本信息:(不同版本会有差异) 1、查看版本信息:cat /proc/version 2、进入配置ip目录: cd /etc/netplan 3、查看配置文件: nano 编辑文件 或 vim 编辑文件 据实际情况操作 格式1 格式2 可通过ifconfig查看网卡名称 4、应用配置 sudo netplan apply 执行完如生效会断开…

Ubuntu18.04修改IP地址的方法

今天刚装了个Ubuntu18.04的服务器,按照之前16.04版本的方式修改了网卡IP地址,但在重启网卡的时候起不来,具体过程如下: 修改/etc/network/interfaces配置文件 保存后重启网卡报错 检查报错 说明:按照报错,然后在网上找有关次报错的解决办法,搞了半天没用,还是无法启…

CentOS/EulerOS/SUSE/Ubuntu下修改网卡和IP

有些时候&#xff0c;对于新的虚拟机来说某些IP&#xff08;eth1&#xff1a;192.168.0.1&#xff09;显示不出来&#xff0c;可能是网卡未正确显示&#xff0c;或者每次开机后都要用 ifup eth0 命令 启动网卡。此时就需要对网卡进行检查和修改&#xff1b; 第一步&#xff1a…

unbutu修改ip

转自http://www.cnblogs.com/lanxuezaipiao/p/3613497.html 主要配置下面三个方面的内容&#xff1a; &#xff08;1&#xff09;修改文件/etc/network/interfaces&#xff0c;这里是IP、网关、掩码等的一些配置&#xff1b; &#xff08;2&#xff09;修改文件/etc/resolv.co…