初学者-编程_74HC164 移位寄存器

合集下载

74ls164

74ls164

74LS164简介74LS164是一种8位串行输入/并行输出移位寄存器,广泛应用于数字电子领域。

它由TI(Texas Instruments)公司制造,是74系列(TTL)的一员。

功能74LS164具有以下主要功能:•8位位移寄存器:可以将8位数据进行位移操作,并将结果存储在内部存储器中。

•串行输入:通过一个输入引脚,可以逐位地输入8位数据。

•并行输出:通过8个输出引脚,可以同时输出寄存器中存储的8位数据。

引脚描述74LS164具有如下引脚:1.DS(Data Serial Input):串行数据输入引脚,用于输入通过位移操作需要存储的8位数据。

2.SHCP(Shift Clock Input):移位时钟输入引脚,用于控制位移操作的时钟信号。

3.STCP(Storage Clock Input):存储时钟输入引脚,用于控制存储数据的时钟信号。

4.GND(Ground):接地引脚。

5.Q7’(Serial Output):串行输出引脚,用于输出移位操作的结果。

6.Q0-Q6(Parallel Outputs):并行输出引脚,用于输出存储的8位数据。

7.VCC(Positive Supply):正电源引脚。

工作原理74LS164工作时,可以通过两个时钟信号控制其行为。

下面是其工作原理的描述:•存储器清零:在存储器清零时,将SHCP和STCP引脚设置为高电平,并将DS引脚设置为低电平。

此时,存储器中所有的输出引脚将保持低电平状态。

•位移操作:在进行位移操作时,将SHCP引脚设置为低电平,然后将输入引脚DS设置为要输入的数据位状态(0或1)。

接下来,通过将SHCP 引脚设置为高电平,使得数据在寄存器内进行位移,具体移位方向取决于输入引脚DS的状态。

重复进行8次位移操作,即可完成8位数据的输入。

•存储数据:要将位移操作的结果存储在内部存储器中,需要控制STCP引脚的信号。

当所有位移操作完成后,将STCP引脚设置为高电平,将移位结果存储在寄存器中。

74HC164中文资料_数据手册_参数

74HC164中文资料_数据手册_参数

otherwise noted)
PARAMETER
TEST CONDITIONS
VCC
TA=25℃
54HC164
74HC164
UNIT
MIN TYP MAX MIN MAX MIN MAX
2V
1.9 1.998 -
1.9
-
1.9
-
IOH=-20uA
4.5V 4.4 4.499 -
4.4
-
4.4
-
VOH
Pin numbers shown are for the D, J, N, and W packages.
B
LOGIC DIAGRAM (positive logic)
CLK 8
A1 B2
CLR 9
C1
C1
C1
C1
C1
C1
1D
1D
1D
1D
1D
1D
R
R
R
R
R
R
3
4
5
6
10
11
QA
QB
QC
QD
QE
QF
54HC164/74HC164(文件编号:S&CIC0464)
8 bit 串入并出移位寄存器
TYPICAL CLEAR, SHIFT, AND CLEAR SEQUENCE
CLR
A B
CLK QA QB QC QD QE QF QG QH
Clear
Clear
Absolute maximum ratings over operating free-air temperature rangeT
serial (A and B) inputs permit complete control over incoming data; a low at either input inhibits entry of the new

74HC164移位寄存器程序

74HC164移位寄存器程序

//74HC164是个移位寄存器,以下程序是我用过的,绝对没问题://其中ShowData为164数据脚,ShowClck为164时钟脚;void Show_164(unsigned char _ShowValue){unsigned char Count0;for(Count0=0;Count0<=7;Count0++){if((_ShowValue&0x80)==0x80)ShowData=1;elseShowData=0;_ShowValue<<=1;ShowClck=0;_nop_();_nop_();ShowClck=1;}}//X5045读写一体化C51程序2009-04-17 08:42void X5045SpiOpen(void);//打开X5045片选void X5045SpiClose(void);//关闭X5045片选void X5045WriteEnable(void);//软件使能X5045写操作void X5045WriteDisable(void);//软件禁止X5045写操作unsigned char X5045SpiSend(unsigned char val);//X5045收发SPI协议void X5045WriteByte(unsigned int addr, unsigned char val);//写X5045一个字节void X5045WriteWord(unsigned int addr, unsigned int val);//写X5045一个字unsigned char X5045ReadByte(unsigned int addr);//读X5045一个字节unsigned int X5045ReadWord(unsigned int addr);//读X5045一个字unsigned char X5045ReadStatus(void);//读X5045状态void X5045WriteStatus(unsigned char val);//写X5045状态void X5045WriteWait(void);//等待X5045写入完成/*--------------------------------------打开X5045片选--------------------------------------*/void X5045SpiOpen(void){EEPROMCS = 1;//WDTEEPROMSCK = 0;EEPROMSIO = 1;//SO=SI=1,释放总线EEPROMCS = 0;//WDT;打开X5045片选CS }/*--------------------------------------关闭X5045片选--------------------------------------*/void X5045SpiClose(void){EEPROMCS = 1;//关闭X5045片选CSEEPROMSIO = 1;//SO=SI=1,释放总线EEPROMSCK = 0;}/*--------------------------------------软件使能X5045写操作--------------------------------------*/void X5045WriteEnable(void){X5045SpiOpen();//打开X5045片选EEPROMWP = 1;//硬件使能X5045写操作X5045SpiSend(WREN);//发送使能X5045写命令X5045SpiClose();//关闭X5045片选}/*--------------------------------------软件禁止X5045写操作--------------------------------------*/void X5045WriteDisable(void){X5045SpiOpen();//打开X5045片选X5045SpiSend(WRDI);//发送禁止X5045写命令EEPROMWP = 0;//硬件禁止X5045写操作X5045SpiClose();//关闭X5045片选}/*--------------------------------------X5045收发SPI协议--------------------------------------*/unsigned char X5045SpiSend(unsigned char val){unsigned char i;WDTRST = 0x1e;//89s52内狗WDTRST = 0xe1;//89s52内狗ACC = val;for (i = 8; i > 0; i --){CY = EEPROMSO;//取数据SO_rlca_();//存数据ACC.0读数据ACC.7同时进行EEPROMSI = CY;//送数据SIEEPROMSCK = 1;//上升沿打入数据_nop_();EEPROMSCK = 0;//下降沿读入数据(首次为假动作) }return ACC;}/*--------------------------------------写X5045一个字节--------------------------------------*/void X5045WriteByte(unsigned int addr, unsigned char val) {unsigned char temp;temp = WRITE;if ((addr >> 8) & 0x01) temp |= 8;X5045WriteEnable();//使能X5045写操作X5045SpiOpen();//打开X5045片选X5045SpiSend(temp);//发送X5045写命令及高位地址X5045SpiSend(addr & 0xff);//发送X5045写低位地址X5045SpiSend(val);//发送X5045写数据X5045SpiClose();//关闭X5045片选X5045WriteWait();//等待本次X5045写入完成X5045WriteDisable();//禁止X5045写操作}/*--------------------------------------写X5045一个字--------------------------------------*/void X5045WriteWord(unsigned int addr, unsigned int val) {unsigned char temp;temp = WRITE;if ((addr >> 8) & 0x01) temp |= 8;X5045WriteEnable();//使能X5045写操作X5045SpiOpen();//打开X5045片选X5045SpiSend(temp);//发送X5045写命令及高位地址X5045SpiSend(addr & 0xff);//发送X5045写低位地址X5045SpiSend(val & 0xff);//发送X5045写低位数据X5045SpiSend(val >> 8);//发送X5045写高位数据X5045SpiClose();//关闭X5045片选X5045WriteWait();//等待本次X5045写入完成X5045WriteDisable();//禁止X5045写操作}/*--------------------------------------读X5045一个字节--------------------------------------*/unsigned char X5045ReadByte(unsigned int addr){unsigned char val;X5045SpiOpen();//打开X5045片选val = READ;if ((addr >> 8) & 0x01) val |= 8;X5045SpiSend(val);//发送X5045读命令及高位地址X5045SpiSend(addr & 0xff);//发送X5045读低位地址val = X5045SpiSend(0xff);//接收X5045读数据X5045SpiClose();//关闭X5045片选return val;}/*--------------------------------------读X5045一个字--------------------------------------*/unsigned int X5045ReadWord(unsigned int addr){unsigned char val;X5045SpiOpen();//打开X5045片选val = READ;if ((addr >> 8) & 0x01) val |= 8;X5045SpiSend(val);//发送X5045读命令及高位地址X5045SpiSend(addr & 0xff);//发送X5045读低位地址val = X5045SpiSend(0xff);//接收X5045读低位数据addr = X5045SpiSend(0xff);//接收X5045读高位数据X5045SpiClose();//关闭X5045片选addr <<= 8;addr |= val;return addr;}/*--------------------------------------读X5045状态--------------------------------------*/unsigned char X5045ReadStatus(void){unsigned char val;X5045SpiOpen();//打开X5045片选X5045SpiSend(RDSR);//发送读X5045状态命令val = X5045SpiSend(0xff);//接收X5045状态数据X5045SpiClose();//关闭X5045片选return val;}/*--------------------------------------写X5045状态--------------------------------------*/void X5045WriteStatus(unsigned char val){X5045SpiOpen();//打开X5045片选X5045SpiSend(WRSR);//发送写X5045状态命令X5045SpiSend(val);//发送X5045状态数据X5045SpiClose();//关闭X5045片选}/*--------------------------------------等待X5045写入完成--------------------------------------*/void X5045WriteWait(void){while (X5045ReadStatus() & WIP);//WIP=0 退出}。

74HC164中文资料全参数

74HC164中文资料全参数

74HC164中文资料参数SN54HC164,/SN74HC164是8位移位存放器,当其中一个〔或二个〕选通串行输入端的低电平禁止进入新数据,并把第一个触发器在下一个时钟脉冲来后复位到低电平时,门控串行输入端〔A 和B〕可完全控制输入数据。

一个高电平输入后就使另一个输入端赋能,这个输入就决定了第一个触发器的状态。

虽然不管时钟处于高电平或低电平时,串行输入端的数据都可以被改变,但只有满足建立条件的信息才能被输入。

时钟控制发生在时钟输入由低电平到高电平的跃变上。

为了减小传输线效应,所有输入端均采用二极管钳位。

功能表:Inputs输入Outputs输出CLR CLK A B QA QB ...QHL X X X L L LH L X X QA0QB0QH0H↑H H H QAn QGnH↑L X L QAn QGnH↑X L L QAn QGnH=高电平〔稳定态〕 L=低电平〔稳定态〕×=不定↑=从低电平转换到高电平QA0…QH0=在稳定态输入条件建立前QA…QH 的相应电平QAn…QHn=在最近的时钟输入条件〔↑〕建立前QA…QH 的相应电平,表示移位一位文档文档图1 逻辑图〔正逻辑〕图2 引脚图 Absolute Maximum Ratings 绝对最大额定值 Supply voltage range, 电源电压X 围 VCC–0.5 V to 7V Input clamp current, 输入钳位电流 IIK (VI < 0 or VI > VCC) (see Note 1) ±20 mA Output clamp current,输出钳位电流 IOK (VO < 0 or VO > VCC) (see Note 1) ±20 mA Continuous output current,连续输出电流 IO (VO = 0 to VCC) ±25 mA Continuous current through 连续通过电流 VCC or GND±50 mA 封装热阻 thermal impedance, θJA (see Note 2):D 封装86℃/W N 封装 80℃/W NS 封装 76℃/W PW 封装113℃/WDC SPECIFICATIONS直流电气规格表:DC SPECIFICATIONS直流电气规格〔续〕文档IOH=–4mA 4.5 V---6 V---VOL 输出低电平电压VI=VIHorVILIOL=20μA2 V---V4.5 V---6 V---IOL = 4mA 4.5 V---6 V---II 输入漏电流VI = VCC or 0 6 V-±±100-±1000-±1000nA ICC 静态电源电流VI = VCC or 0,IO = 0 6 V--8-160-80μACi 电容-2V to6V-310-10-10pF图3 参数测量信息文档图4 typical clear, shift, and clear sequence典型去除、移位和去除时序应用电路:文档文档图5 LCD驱动电路图6 LED驱动电路文档文档文档文档word文档。

移位寄存器的串行扩展

移位寄存器的串行扩展

移位寄存器的串行扩展(74hc164)1. 74HC16474HC164是比较典型的移位寄存器,该移位寄存器有一个数据输入端口、一个时钟信号端口和八个输出端口。

如图1所示。

当时钟信号从低电平变为高电平的时候将输出一个数据到输出端D0,当时钟第二次由低电平变为高电平的时候将输出第二个数据到D0,而第一个数据将转移到D1端口。

依此类推,每一个时钟周期中都有一个串行数据输出到D0,而其他的数据则不断往高位移动直到所有数据传输结束。

如果不再有时钟周期输入,则这些数据将暂存在输出端。

如果需要有更多的输出端口,可以把多个74HC164串联起来用。

串联的方法如图2所示。

在上图的串联电路中,左边的锁存器D7与右边锁存器的串行数据输入端连接,当左边的锁存器D0~D7数据全部输出以后,再输入一个串行信号,左边锁存器D7数据将作为右边锁存器的输入数据并从右边锁存器D0端输出,从而实现了多个字节数据的移位锁存。

这样利用74HC164就实现了串行数据到并行数据的转换。

注意到在上面的两个图中,无论输出什么长度的数据,所需要的输入信号都只有两个,一个是串行数据输入,另一个是锁存器的时钟信号输入。

如果我们把这两个输入端口连接到单片机的两个输出端口上,其中单片机的一个端口串行输出数据,另一个端口输出时钟信号以便控制串行数据的锁存方式,那么我们就只需要两个单片机端口几乎实现任意数量的并口输出。

2. 8051串口方式0的工作原理与时序图3 串口方式0的时序8051串口方式0的时序如图所示,RXD(P3.0)为数据端,TXD(P3.1)为同步移位脉冲端,每次串行发送、接收8位数据(一帧),低位在先。

时钟为Fosc/12。

(1)发送执行任何一条MOV SUBF,#data指令时,启动内部串行发送允许,SEND置高电平,随后在TXD同步移位时钟的作用下,将数据data从RXD端移位输出。

一帧数据发送完毕时,内部发送中断请求TI有效。

要再次发送一帧时,须用软件清TI。

74HC164D中文资料 参数及应用

74HC164D中文资料 参数及应用

74HC164D中文资料参数SN54HC164,/SN74HC164是8位移位寄存器,当其中一个(或二个)选通串行输入端的低电平禁止进入新数据,并把第一个触发器在下一个时钟脉冲来后复位到低电平时,门控串行输入端(A 和B)可完全控制输入数据。

一个高电平输入后就使另一个输入端赋能,这个输入就决定了第一个触发器的状态。

虽然不管时钟处于高电平或低电平时,串行输入端的数据都可以被改变,但只有满足建立条件的信息才能被输入。

时钟控制发生在时钟输入由低电平到高电平的跃变上。

为了减小传输线效应,所有输入端均采用二极管钳位。

功能表:Inputs输入Outputs输出CLRCLK A B QA QB ...QHL X X X L L LH L X X QAQBQH0H↑H H H QAnQGnH↑L X L QAnQGnH↑X L L QAnQGnH=高电平(稳定态)L=低电平(稳定态)×=不定↑=从低电平转换到高电平QA0…QH0=在稳定态输入条件建立前QA…QH 的相应电平QAn…QHn=在最近的时钟输入条件(↑)建立前QA…QH 的相应电平,表示移位一位图1 逻辑图(正逻辑)图2 引脚图Absolute Maximum Ratings绝对最大额定值Supply voltage range, 电源电压范围VCC–0.5 V to 7V Input clamp current, 输入钳位电流IIK (VI < 0 or VI > VCC) (seeNote 1)±20 mA Output clamp current,输出钳位电流IOK (VO < 0 or VO > VCC) (seeNote 1)±20 mA Continuous output current,连续输出电流IO (VO = 0 to VCC)±25 mA Continuous current through 连续通过电流VCC or GND±50 mA封装热阻thermal impedance, θJA (see Note 2):D 封装86℃/W N 封装80℃/W NS 封装76℃/W PW 封装113℃/WStorage temperature range, Tstg储存温度范围–65℃ to 150℃DC SPECIFICATIONS直流电气规格表:符号Parameter 参数SN54HC164SN74HC164最小典型最大最小典型最大VCCSupply Voltage 电源电压256256图3 参数测量信息图4 typical clear, shift, and clear sequence典型清除、移位和清除时序应用电路:图5 LCD驱动电路图6 LED驱动电路74HC164中文资料参数时间:2016-06-15 来源:资料室作者:编号:颖展电子SN54HC164,/SN74HC164是8位移位寄存器,当其中一个(或二个)选通串行输入端的低电平禁止进入新数据,并把第一个触发器在下一个时钟脉冲来后复位到低电平时,门控串行输入端(A 和B)可完全控制输入数据。

74LS164

74LS164
4.75
5
5.25
V
输入高电平电压ViH
2
V
输入低电平电压ViL
0.8
V
输出高电平电流IOH
-400
μA
输出低电平电流IOL8Fra bibliotekmA时钟频率fCP
0
25
MHz
脉冲宽度TWCLOCK,CLEAR
20
ns
建立时间tset
25
ns
保持时间tH
5
ns
静态特性(TA为工作环境温度范围)
参数
测试条件
74LS164
图5 74LS164管脚图
74LS164为8位移位寄存器,其主要电特性的典型值如下:
型号
fm
Pn
74LS164
36 MHz
80mW
逻辑及封装图
双列直插封装
极限值
电源电压7V
输入电压5.5V
工作环境温度
74LS164-0~70℃
储存温度-65℃~150℃
推荐工作条件:
74LS164
最小
额定
最大
单位
电源电压VCC
1
mA
IIH输入高电平电流
Vcc=最大,VIH=2.4V
40
μA
IIL输入低电平电流
Vcc=最大,VIL=0.4V
-1.6
mA
IOS输出短路电流
Vcc=最大
54
-10
-27.5
mA
74
-9
-27.5
ICC电源电流
Vcc=最大,A和B接地,CLOCK接2.4V,CLEAR瞬间接地后接4.5V
54
mA
动态特性(TA=25℃)

移位寄存器74LS164中文资料

移位寄存器74LS164中文资料

移位寄存器74LS164中文资料
164为8位移位寄存器,其主要电特性的典型值如下:
54/74164 185mW 54/74LS164 80mW
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。

串行数据输入端(A,B)可控制数据。

当 A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。

当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。

71LS164引脚图及引脚功能:
CLOCK :时钟输入端
CLEAR:同步清除输入端(低电平有效)
A,B :串行数据输入端
QA-QH:输出端
图1 74LS164封装图
74LS164内部结构图
图2 74LS164 内部逻辑图
74LS164电气参数:
极限值
电源电压7V
输入电压……… 5.5V
工作环境温度54164………… -55~125℃ 74164………… -0~70℃
储存温度…… -65℃~150℃建议操作条件
74LS164真值表及时序图
图3 真值表H-高电平 L-低电平 X-任意电平
↑-低到高电平跳变
QA0,QB0,QH0 -规定的稳态条件建立前的电平
QAn,QGn -时钟最近的↑前的电平
图4 时序图。

74HC164应用实例

74HC164应用实例

74HC164应用实例实例1 74HC164是串行输入,并行输出接口器件,可用在单向的并行输出/并行地址锁存等. 74HC164因为价格便宜,容易使用特别适合使用在在需要用到数码管显示IO口又比较紧张的电子产品中,下面浅谈使用方法:1. 首先先了解他的引脚功能和逻辑图,如下图:图1 引脚名称和用途图2 真值表通过真值表我们可以了解到,A,B两个输入端是互锁的,CLK上升沿时数据移入移位寄存器中,CLEAR为清零用的,接低电平时所有端口都输出低电平,了解了真值表之后开始运用了,先给出如下原理图:图3 原理图图中,采用义隆的EM78P153作为控制芯片,P50作为CLK时钟信号,注意平时数据不传输时,时钟信号是不发送的应一直保持低电平或者高电平,数据需要传输的时候才输出时钟信号^_^ ,继续P51作为移位数据输出端,接到74HC164的B端,A端接高电平,当然也可以AB端短路,然后连接到DATA移位数据端,P52作为数码管的选通信号(也可以叫消隐^_^), 作用是使数据传输过程暂时关闭显示,以免显示出不需要的数据,原因是应为164不带锁存功能,数据传输过程是一位一位的向高位移位输出的,所以要等数据全部移入后才打开始点亮数码管.注意了哦,通过查看164的规格书发现,164输出高电平电流比输出低电平电流要小,亦称灌电流大,扇出电流弱,所以适合选用共阳数码管,如图,本人偷懒没有画出那个数码管的8字该介绍的介绍的差不多了,废话少说,该开始干活了,任务是: 显示0-9 每秒+1 ,到9后又返回0,一直循环显示,根据任务得到如下流程图:1. 显示部分:将需要显示的数值送入A ==> 查表求得显示段码==>将段码逐位移入164==>8位移完后点亮数码管==>延时==>返回第一步执行2. 中断部分:进入中断==>保存现场(以备调查取证,送你入狱^_^)==>重置TCC==>够1秒钟将需要显示的数据+1,并重置,不够就退出;根据以上要求就开始写代码调试了,要注意一点,数据移位时一定要记得高位在前哦,否则显示错误别怪我没有说清楚,我当年实验时就因为这个数据移位方向反了排查了半天,甚至以为是时钟频率不对,又以为时许不对.....搞了半天,NND后来重看DATASHEET才发现,原来是低级错误啊,呜呼哀哉.......,希望你不要重蹈我覆辙,哎哟!! 谁! 谁! 谁扔砖头上来? 啥?你扔的? 我废话太多.........,那俺少来两句,继续上菜, 咦好像没啥可说的了,上源程序吧1. ;中断部分:2.3. ;;;;;;;;;;中断;;;;;;;;4. INTPUT:5. MOV TEMPA, A;6. MOV A,@130;7. MOV TCC,A;255-130=1258. CLR RF;9. ;;;;;此处填写250Us处理程序10. BS WKREG,T500US11. ;;;;;;;;;;;;;;;;;;;;;;;;;12. DJZ R1MS13. JMP INTEXT;14. MOV A,@415. MOV R1MS,A;重置16. BS WKREG,T1MS17. ;;;;;;;此处填写1ms处理程序18.19. ;;;;;;;;;;;;;;;;;;;;;;;;;;20. DJZ R20MS21. JMP INTEXT;22. MOV A,@2023. MOV R20MS,A;重置24. ;;;此处填写1秒处理程序25. BS WKREG,T20MS26. ;;;;;;;;;;;;;;27. DJZ R1S28. JMP INTEXT;29. MOV A,@5030. MOV R1S,A;31. ;;;;;;;;;32. INC NUMBER33. MOV A,NUMBER34. SUB A,@1035. JBS SR,236. JMP INTEXT37. MOV A,@038. MOV NUMBER,A39.40.41. INTEXT:42. MOV A,TEMPA;43. RETI;;;;;;;;;;;;;;;;;;;;;44.45.46.47.48.49. ;显示部分:50.51. ;==============TXDATA==============52. TXDATA:53. BS P5,CC154. MOV A,@855. MOV DATALOP,A;56. TXLOP:57. BC WKREG,T500US58. BS P5,CLK;clk=高59. NOP;60. NOP61. JBS DATA_BUF,762. JMP $+363. BS P5,DATA;64. JMP $+265. BC P5,DATA66. DD1MS: JBS WKREG,T500US67. JMP $-168. BC P5,CLK69. BC WKREG,T500US70. JBS WKREG,T500US71. JMP $-1;72. RLC DATA_BUF73. DJZ DATALOP74. JMP TXLOP75. ;;;;;;;;;;76. BC WKREG,T500US77. BS P5,CLK;clk=高78. BC WKREG,T500US79. JBS WKREG,T500US80. JMP $-1;81. BC P5,CLK82. ;;;;;;;;83. BC P5,CC184.85. RET;;;;;;;86.87. ;数据查表88. ;===============DSPTBL============89. DSPTBL: ADD PC,A90. RETL @0B01000000;091. RETL @0B01111001;192. RETL @0B00100100;293. RETL @0B00110000;394. RETL @0B00011001;495. RETL @0B00010010;596. RETL @0B00000010;697. RETL @0B01111000;798. RETL @0B00000000;899. RETL @0B00010000;9100.101.102. ;循环体部分;103.104. ;;;;;;;;;;主程序;;;;;;;;;;;105. MLOOP:106. MOV A,NUMBER107. CALL DSPTBL108. MOV DATA_BUF,A109. CALL TXDATA110. BC WKREG,T1MS111. JBS WKREG,T1MS112. JMP $-1113. NOP;114.115. JMP MLOOP;;;;;;;;;;;;;;;;;;;;实例2 在实际应用中驱动数码管常用的方式分动态扫描和静态驱动。

74ls164移位寄存器介绍(特点、引脚、参数、时序)

74ls164移位寄存器介绍(特点、引脚、参数、时序)

74ls164 移位寄存器介绍(特点、引脚、参数、时
序)
74ls164 移位寄存器简介
74ls164 是8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。

数据通过两个输入端(DSA 或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。

两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。

该8 位移位寄存器具有与门使能控制串口输入和一个异步复位输入的特点。

使能控制输入端能控制不需要的输入数据信号使其为低电平。

当复位信号为低电平时,不管其他信号为何状态,其输出均为低电平;复位信号为高电平时,寄存器从第一位开始在每个时钟信号的上升沿对输入数据依次移位存储。

74ls164 移位寄存器特点
工作电压范围宽:2V-6V;
输出能驱动达到10 个LSTTL 的负载;。

74HC164中文资料参数

74HC164中文资料参数

74HC164中文资料参数一、74HC164的功能和特点1.8位输入和输出:74HC164具有8个串行输入端D0~D7和8个并行输出端Q0~Q7、它可以接受8位数据的输入,并可以同时输出8位数据。

2.串行输入和输出:74HC164具有一个串行数据输入端(DS)和一个串行时钟输入端(CLK)。

可以通过这两个输入端实现串行输入和输出。

3.高速工作频率:74HC164可以在高达25MHz的时钟频率下工作,实现高速数据传输。

4.并行输出:74HC164的并行数据输出端Q0~Q7可以输出相应的数据。

这些输出端可以连接到其他电路或器件,实现不同的功能。

5.节能特性:74HC164采用低功耗设计,具有低功耗特性,并且在低于其中一阈值电压时自动停止工作,实现能源的节约。

6.电压兼容:74HC164具有宽电压工作范围(2V至6V),适用于不同的电压标准。

二、74HC164的典型应用1.串行数据传输:74HC164可以将串行输入的数据转换为并行输出,实现串行数据的快速传输。

它可以应用于通信领域,如串行数据总线、串行接口等。

2.排队控制:74HC164可以作为排队系统的控制器,将串行输入的排队命令转换为并行输出的控制信号。

它可以应用于工控系统、自动售货机等领域。

3.显示驱动:74HC164可以将串行输入的数据转换为并行输出的控制信号,用于驱动数码管、LED显示屏等。

它可以应用于计算机外设、电子表等领域。

4.时钟分配:74HC164可以将串行输入的时钟信号分配给多个并行输出端,实现时钟信号的分配控制。

它可以应用于时钟分频器、时钟倍频器等领域。

5.数据选择:74HC164可以根据串行输入的数据控制并行输出端的选择,实现数据选择功能。

它可以应用于数据选择器、数据交换器等领域。

三、74HC164的电气参数1. 工作电压范围(Vcc):2V至6V2. 静态工作电流(Icc):5 mA3. 脉冲宽度和占空比(tW and tD):5 ns4. 瞬态工作电流(Iout):±25 mA5. 工作温度范围(Topr):-40°C至85°C四、74HC164的引脚功能和连接方式引脚1:串行数据输入(DS)引脚2:串行时钟输入(CLK)引脚3:输出使能(OE)引脚4~11:并行数据输出(Q0~Q7)引脚12:Vcc(正电源)引脚13:地(GND)在连接时,串行数据输入(DS)和串行时钟输入(CLK)需要连接到数据源和时钟信号源。

74HC164中文资料

74HC164中文资料

-
15
34
ns
-
12
29
ns
-
39
140
ns
-
14
28
ns
-
11
24
ns
-
19
75
ns
-
7
15
ns
-
6
13
ns
80
-
16
-
14
-
-
ns
-
ns
-
ns
60
-
12
-
10
-
-
ns
-
ns
-
ns
60
-
12
-
10
-
-
ns
-
ns
-
ns
60
-
12
-
10
-
-
ns
-
ns
-
ns
6
-
-
ns
6
-
-
ns
6
-
-
ns
第 5 页 共 10 页 版本:2012-01-B1
IO=-4mA;VCC=4.5V
IO=-5.2mA;VCC=6.0V
VI=VIH 或 VIL
IO=20μA;VCC=2.0V
VOL
IO=20μA;VCC=4.5V IO=20μA;VCC=6.0V
IO=4mA;VCC=4.5V
IO=5.2mA;VCC=6.0V
ICC
VCC=6.0V;IO=0A;VI==VCC 或GND
Ci
规范值
最小
典型 最大
1.5
-

74hc164程序

74hc164程序
void sendbyte(uint b)//传送显示字节函数 { uchar num,c; num=table[b%10];//个位 for(c=0;c<8;c++)//依次传送8位 { CLK=0; DAT=num&0x01; CLK=1; num>>=1; } num=table[b%100/10];//十位 for(c=0;c<8;c++)//依次传送8位 { CLK=0; DAT=num&0x01; CLK=1; num>>=1; } num=table[b%1000/100];//百位 r(c=0;c<8;c++)//依次传送8位 { CLK=0; DAT=num&0x01; CLK=1; num>>=1; } num=table[b/1000];//千位 for(c=0;c<8;c++)//依次传送8位 { CLK=0; DAT=num&0x01; CLK=1; num>>=1; } } void key() { if(k1==0) { delay(3); if(k1==0) { TR0=0; z++; if(z==10000) z=0; sendbyte(z); } while(!k1); } if(k2==0) { delay(3); if(k2==0) { TR0=1; sendbyte(z); } while(!k2); } } void main() { TMOD=0X01;//定时器0定时方式1 TH0=0XD8;//晶振12MHZ,定时10ms TL0=0XF0; EA=1; ET0=1; TR0=1; sendbyte(0); while(1) key(); } void time()interrupt 1//定时器中断 { uint count; TH0=0XD8; TL0=0XF0; count++; if(count==100)//10毫秒X100=1秒 { count=0; z++; if(z==10000) { z=0; } sendbyte(z);//刷新显示 } }

74hc16474ls164中文数据手册.

74hc16474ls164中文数据手册.
测试条件
最小
最大
单位
fmax 25 MHz t PLH
27
ns
t PHL CLOCK →任一Q
32 ns
t PHL
CLEAR
任一Q
→Vcc =5V ,C L =15Pf,R L =800Ω
36 ns
[2]: fmax最大时钟频率。t PLH输出由低电平到高电平传输延迟时间t PHL输出由高电平到低
电平传输延迟时间
引出端符号
CLOCK时钟输入端
CLEAR同步清除输入端(低电平有效
A,B串行数据输入端
Q A-Q H输出端
逻辑及封装图
双列直插封装
极限值
电源电压………………………………… 7V
输入电压………………………………… 5.5V
工作环境温度
54164…………………………………… -55~125℃
74164…………………………………… -0~7单位
V IK输入嵌位电压Vcc=最小,V IK =-12mA
-1.5 V V OH输出高电平电压Vcc =最小V IH =2V V IL =0.8V , I OH =-400µA 2.4 V V OL输出低电平电压Vcc=最小,V IH =2V , V IL =0.8V ,I OL =8mA 0.4 V I I最大输入电压时输入电流Vcc =最大V I =5.5V 1 mA I IH输入高电平电流Vcc =最大,V IH =2.4V 40 µA I IL输入低电平电流Vcc =最大,V IL =0.4V -1.6 mA
储存温度…………………………………… -65℃~150℃
真值表
H-高电平L-低电平X-任意电平↑-低到高电平跳变
Q A0,Q B0,Q H0-规定的稳态条件建立前的电平

74HC164 8 位串入并出移位寄存器说明书

74HC164 8 位串入并出移位寄存器说明书

74HC1648位串入并出移位寄存器产品说明书说明书发行履历:第 1 页共11 页74HC164是高速CMOS电路,管脚与低功耗肖特基TTL(LSTTL)系列兼容。

74HC164是8位的串入并出、边沿触发的移位寄存器,串入数据由DSA、DSB输入,在每个时钟CP的上升沿数据向右移一位,数据由DSA和DSB相与而成,且在上升沿到来之前已满足了建立时间。

低电平有效的复位信号将直接把寄存器清零而输出为低。

其主要特点如下:●较宽的工作电压:2~6V●相与的串行输入,直接的清零信号●输出能驱动10个LSTTL负载●封装型式:DIP14 / SOP142、功能框图及引脚说明2.4、功能说明h:时钟上升沿前建立起来的高电平电压L:低电平l:时钟上升沿前建立起来的低电平电压q:对应于时钟上升沿时,前面一个寄存器的状态↑:时钟上升沿3、电特性3.1、极限参数除非另有规定,T amb=25℃第 3 页共11 页3.3、电气特性除非另有规定,T amb=25℃第4 页共11 页第 5 页共11 页CCV CC=6.0V 35 85 - MHzV M=50%; V I=GND~VCC图1.时钟(CP)到输出端(Qn)的传输延时、时钟脉宽、输出传输时间和最大时钟频率V M=50%; V I=GND~VCC图2.主复位(MR)脉宽,主复位到输出端(Qn)的传输延时、主复位结束到时钟(CP)的响应时间第 6 页共11 页V M=50%; V I=GND~VCC图3. Dn输入前的数据建立时间和保持时间图4.测试开关时间的负载电路注:RT:终端电阻须与信号发生器的输出阻抗匹配CL:负载电容须包括夹具有探针电容第7 页共11 页第8 页共11 页4. 1、DIP14外形图与封装尺寸第9 页共11 页第10 页共11 页5.1、产品中有毒有害物质或元素的名称及含量第11 页共11 页。

移位寄存器74164

移位寄存器74164

CP+
CP-

1
1

X
X
X
X
Rd LD 功能 0 1 加计数 0 1 减计数 1 X 复位 0 0 置数
24
74192时序图
Rd
LD
D0 D1 D2 D3 CP + CP -
Q0 Q1 Q2 Q3 OC OB
1 1 1 0
1 1 1 0
清零 置数
01 00 00
11
01 00 00
00
加计数
01 01 10 00 00 00 00 01
DCBA:置数输入;
H L 置数
QdQcQbQa:计数输出
H H 计数
CP1,CP2:时钟端
C
符号
D
Qa Q b Q c Q d
CP 1 74177
CP 2
C/L R d A B C7 D
集成异步十进制计数器7490
S1 & S2
Q0 Sd
Q1
Q2
Q3
J0 Q0
J1 Q1
J2 Q2
J3 Q3
CP 0
置数
加计数
禁止
101 001 001 110
减计数
01 10 11 00
23
双时钟同步十进制可逆计数器74192
符号:
Q0 Q1Q2Q3 OC OB
CP + CP -
7474119923
R d LD D0 D1D2D3
CP+:加计数时钟 CP-:减计数时钟 Rd:复位,高有效(异步) OC:进位输出 OB:借位输出 LD:置数信号 D0D1D2D3:并行输入数据 Q0Q1Q2Q3:输出

74HC164移位寄存器的驱动与应用

74HC164移位寄存器的驱动与应用

74HC164移位寄存器的驱动与应用2008-07-26 13:5374HC164的驱动和应用74HC164的几点说明:1.74HC164是串行输入,并行输出的;2.它的并行输出其实是有延时的,只是延时时间小,可以认为是并行输出;74hc164封装和真值表:A400EA04-DB1A5348-3B1DD4B0-E1417E40-1D636E94-1D4D6A58真值表中文解释说明:H-高电平 L -低电平 X -任意电平↑-低到高电平跳变(上升沿有效)QA0,QB0,QH0 -规定的稳态条件建立前的电平QAn,QGn -时钟最近的↑前的电平看真值表的第三条和第五条:就可以知道,在保持clear为 H clock为↑状态下,AB都为H时,移位寄存器移入H,而当移位寄存器移入L时,必须令B为L,而A不受约束。

所以可以把AB断相连再接入单片机数据端口。

还有一种是A脚直接接高电平,B脚连入单片机数据端(P2_7)电路仿真图:R为clear端, C1/->为clock端,&为A端(1脚)和B端(二角),3~13脚分表为QA~QH,源程序:/***74hc164是上升沿有效***/#include<regx51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar ch;sbit DAT=P2^7;//A,B端接一块后接入DATsbit CLK=P2^6;char codeseg[16]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff};/*0~9和全灭状态*//*数经过移位寄存器后低位数为高位数,高位数为低位数如:0000 0011移位以后为1100 0000*//*延时一毫秒函数*/void delay(uint ms){uchar i;for(;ms!=0;ms--)for(i=0;i<250;i++){_nop_();_nop_();_nop_();_nop_();}}/***把代码发送到移位寄存器***/void sendchar(ch){uchar i;for(i=0;i<8;i++)//8位数据传输完毕后才给数码管显示{DAT=ch&0x01;//P2_7=0000000x/*DAT一直保持该状态,等时钟脉冲触发传递数值*/CLK=0;//下面两句制造一个上升沿CLK=1;/*一个seg[]刚好八位,164是串行输入的,分成八位输入*/ch>>=1;/*DAT=ch&0x01和ch>>=1的功能是一次取出八位二进制ch的每一位赋值给74hc164*/}}void main(void){uint m=0;while(1){sendchar(seg[m]);if(++m==11) m=0;delay(200);}}类别:电子技术文档 | 添加到搜藏 | 分享到i贴吧 | 浏览(1665) | 评论(1)上一篇:C语言宏定义技巧(常用宏定义)下一篇:[转]从零开始,教你如何破解WEP...最近读者:登录后,您就出现在这里。

实验十七移位寄存器74164的逻辑功能测试

实验十七移位寄存器74164的逻辑功能测试

实验十七、移位寄存器74164的逻辑功能测试一、实验目的1、掌握中规模8位移位寄存器逻辑功能。

2、认识74LS164及其引脚封装。

二、实验预习要求1、复习有关寄存器的内容。

2、查阅74LS164及逻辑电路,熟悉其逻辑功能及引脚排列。

三、实验设备1、+5V直流电源2、单次脉冲源3、逻辑电平开关4、DM74LS164四、实验原理1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中锁存的代码能够在移位脉冲的作用下一次左移和右移。

既能左移又能右移称为双向移位寄存器,只需要改变左、右移的控制信号可实现双向移位要求。

根据移位寄存器取存信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。

本实验选用的8位移位寄存器,型号可为74LS164,其逻辑符号及引脚排列如图所示。

其中A、B为串行输入端;CLR为异步清零端;QH—QA为输入端;CLK为移位脉冲输入端;74164是一种串行输入、并行输出的器件,时钟高电平有效,没有时钟使能端,该器件用低电平复位图1 74LS164的逻辑符号及引脚功能表其中QAO、QBO、QHO为在暂稳态输入条件建立之前QA、QB和QH相应的电平;QAN、QGN为在最近的时钟上升沿转换前QA或QG的电平,表示移一位。

移位寄存器应用很广,可构成移位寄存器型计数器;属虚脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换位并行数据,或把并行数据转换位串行数据等。

五、实验内容1、测试74LS164的逻辑功能按图所示接线,A、B、CLK分别接至逻辑电平显示输入端。

QA—QH分别接至逻辑电平显示输出端。

14脚接+5V电源、7脚接地。

(1)清除:令CLR=0,其它输入均为任意态,这时寄存器输出QA—QH应均为0。

清除后,置CLR=1。

(2)置数:令CLR=1,送入任意2位二进制数,加CLK脉冲,CLK由0→1、CLK由1→0两种情况下寄存器输入状态的变化,观察寄存器输出状态变化是否发生在CLK脉冲的上升沿。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A B G C3 0.1uF C4 470uF/25V D D E E C E F
A
A B G C D DOT C
A 1 2 L ED - DP 3 4 5 6 Title L ED - G L ED - C L ED _ CO M 4 Size B Date: File: 1 2 3 4 5 L ED - D L ED - E
TP2 2
R3 0
R4 10k
U2 1 2 P2.0 P1.7 P1.6 VDD P1.5 P1.4 P1.3 CSU8RE2110 KEY S13 P2.1 P2.2 P2.3 VSS P1.0 P1.1 P1.2 14 13 12 11 10 9 8
Q3 PNP LED_COM2
C D1 IN4001 A K
C
RELAY-SPST Q1 B NPN
K R2 4.7K E
P? 4 3 2 1 CON4
VCC SDATA SCLK 1 2 L ED _ CO M 1 L ED _ CO M 2 L ED _ CO M 3
B
B VCC L ED - B E COM_4 U4 LED_DISPLAY A B G F G C D SEG 4 E D C B R8 680 C LED_COM4 A B Q5 PNP
PDF 文件使用 "pdfFactory Pro" 试用版本创建
原理
5
6
VCC D S1 1 1 2 1 S4 4 S7 7 VCC CO M _ 1 CO M _ 2 S10 C OM _ 3 # CO M _ 4 S8 8 S11 0 2 2 S5 5 S9 9 S12 * COM_2 R6 680 C B VCC E S6 6 3 S2 S3 COM_1 R5 680 C B E D Q2 PNP LED_COM1
3 VCC 4 C6 C5 104 47UF 7 + 5 6
C
12
34
TP1 1 1 3
LED1 LED K1
2
1
A
2
4
SDATA 1 SCLK 2 BZ1 LED-A R13 330 LED-B LED-C BUZZER R1 0 LED-D R15 330 3 R14 330 R16 330 4 5 6 7
1 1 L ED - A
1 0 L ED - F
9
8 SE G 3 F E G
SE G 1
F
SE G 2
P1 GND +9V GND POWER_IN 3 +12V 2 1 SW11 SW-SPST D2 A K IN4001 C2 470uF/25V 2 1 C1 0.1uF 2 U1 GND Vin L7805 Vout 3 VCC F
U3 DSA DSB Q0 Q1 Q2 Q3 GND 74HC164 VCC Q7 Q6 Q5 Q4 #MR CP 14 13 12 11 10 9 8 R19 330 R17 330 R20 LED-DP 330 LED-G R18 LED-F 330 LED-E
VCC C7 VCC 104 E COM_3 R7 680 C LED_COM3 B Q4 PNP
;*********************************** ; 74hc164 work
;***********************************
led_seg_in: movlf 08h,led_rrf_cnt send_8bit: bcf btfss goto BSF send_1bit_OK: rrf bsf decfsz goto return sdab_set1: bcf pt1,0 led_data,1 pt1,1 led_rrf_cnt,1 send_8bit pt1,1 ;74hc164 cp上升沿动作
MOVFW RAM CALL disp
;NO ,则 RAM-LED ,送显
disp:
movwf data movfw data CALL GETIN_DATA movwf led_data call led_seg_in CALL delay RETURN
GETIN_DATA: ADDPCW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW
led_data,0 sdab_set1 PT1,0 ;将二进制数从 PT1.0 口输出
GOTO send_1bit_OK
;;;////////////;;; 从 74HC164 输出的数据 直接点亮相应的数码管,从而达到移位显 示的作用。
PDF 文件使用 "pdfFactory Pro" 试用版本创建
00000011b 10011111b 00100101b 00001101b 10011001b 01001001b 01000001b 00011111b 00000001b 00001001b 11111111b 11111101b 11110000b
;0 ;1 ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9 ;0FFH ;;K
B
7
A
电子密码锁
Number Revision 2011.09.08 19-Dec-2011 Sheet of G:\csu8re2110 密 码锁 \电子 密 码 锁 \原 理图 DrawnB BOM\CSM69524.DDB PC By: YKE 6
CSM6952
PDF 文件使用 "pdfFactory Pro" 试用版本创建
相关文档
最新文档