2021-05-08 51单片机74HC164、74LS164、74HCT164、74HC154、74HCT154应用三极管控制继电器

74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。

时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。

主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,非同步地清除寄存器,强制所有的输出为低电平。

兼顾回复求大佬题目三,串行静态显示系统设计_编程语言-CSDN问答

发送数据时序可看到8个时钟脉冲对应的数据为11110010,程序与电路图如下。

cpp 复制代码
#include "reg52.h"
sbit Sab=P3^4;
sbit clk=P3^5;
void QD164(unsigned char sj)
{
	char aa=8;
	clk=0;
	while(aa--)
	{
//		Sab=sj%2;sj/=2;//数据发送从低位
//		Sab=(127+sj%2)/(sj%2);sj/=2;//对应位移八位
		Sab=sj&0x80;sj<<=1;//数据发送从高位
    clk=1;//上升沿发生移位 上升沿时数据寄存器的数据锁存。
    clk=0;
	}
}
void main()
{
	unsigned int ys=0;unsigned char xd=0,a=0x66;QD164(a);
	while(1)
	{
//		QD164(a);
		//if(!(++xd))
	}
}

相关推荐
不怕犯错,就怕不做几秒前
RK linux在buildroot中如何添加linux命令
linux·驱动开发·嵌入式硬件
咖丨喱7 分钟前
【MMC驱动分析】
嵌入式硬件
fhq_fn_jgd13 分钟前
51单片机(中断,定时器)
stm32·单片机·嵌入式硬件
hahaha601622 分钟前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
云泽8081 小时前
STM32 USART 详解(六):HAL库初始化及阻塞式收发源码拆解
stm32·单片机·嵌入式硬件
linx2951 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
无忧.芙桃1 小时前
嵌入式(一):嵌入式历史与计算机基础:从 ENIAC 到 MCU 四大技术方向
c语言·单片机·嵌入式硬件·计算机
嵌入式er2 小时前
经纬恒润(成都)嵌入式一面 + 二面
单片机·嵌入式硬件
新晨单片机设计2 小时前
S014A-基于STM32单片机计算器(LCD1602显示)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
POMAGTOR3 小时前
【磁吸 POGOPIN 连接器 汽车医疗机器人弹簧顶针】
嵌入式硬件·机器人·汽车