74LS164和74LS165工作原理及其单片机中的应用(基于Prot.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:1.3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

74LS164和74LS165工作原理及其单片机中的应用(基于Prot.pdf

74LS164和74LS165工作原理及其单片机中的应用(基于Prot.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2012年8月9日星期四74LS164和74LS165工作原理及其在单片机中的应用基于Proteus仿真前言:本文详细介绍了74LS164和74LS165工作原理,并分别举例它们在单片机中的应用,所举例子包含proteus仿真电路图,源程序,程序注释详细清楚。1、74LS164在单片机中应用举例本例在单片机串行口外接一片8位串入并出移位寄存器74LS164芯片,构成单片机输出接口电路,控制8只LED滚动显示。(1)74LS164芯片如右图所示,它是8位串入并出移位寄存器,串行输入数据,然后并行输出。各引脚功能如下:A、B(1、2引脚):数据输入端,数据通过这两个输入端之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。当其中任意一个为低电平,则禁止新数据输入;当其中有一个为高电平,则另一个就允许输入数据。因此两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。Q0~Q7(3~6,10~13引脚):数据输出端CP(8号引脚):时钟输入端。CP每次由低变高时,数据右移一位,输入到Q0,Q0是两个数据输入端的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。MR:复位清除端,当MR为低电平时,其它所有输入端都无效,同时所有输出端均为低电平。GND(7号引脚,在proteus中已隐藏):接地端VCC(14号引脚,在proteus中已隐藏):电源端,接+5V电源1/52012年8月9日星期四74LS164内部逻辑图(2)如下图所示,本例单片机串行口工作于方式0,即移位寄存器输入/输出模式。串行数据通过RXD输出,TXD则用于输出移位时钟脉冲。数据输入端1接高电平,数据输入端2接单片机RXD引脚。时钟输入端接TXD引脚,复位端悬空。数据输出端通过限流电阻接8只LED灯。C程序如下:#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uintx){uchari;while(x--)for(i=0;i<120;i++);}voidmain(){ucharc=0x80;SCON=0x00;//串行口工作在方式0while(1){c=_crol_(c,1);SBUF=c;while(TI==0);//等待发送结束TI=0;//发送结束,TI置0delay(400);}}2/52012年8月9日星期四Proteus仿真运行结果如下:2、74LS165在单片机中的应用举例本例在单片机串行口外接一片8位并入串出移位寄存器74LS165,连接移位寄存器并行输入端的是8位拨码开关,其开关动作对应的8位二进制序列将通过移位寄存器串行输入到单片机串口,并通过单片机P0端口的8只LED显示出来。(1)74LS165芯片如右图所示,74LS165是8位并入串出移位寄存器(使用移位寄存器芯片可以扩展一个或多个8位并行I/O口)。各引脚功能如下:SH/LD(shift/load移位/置位):移位与置位控制端。高电平时表示移位,低电平时表示置位。在开始移位之前,需要先从并行输入端口读入数据,这时应将SH/LD置0,并行口的8位数据将被置入74LS165内部的8个触发器,在SH/LD为1时,并行输入被封锁,移位操作开始。INH(clockinhibit时钟抑制):时钟禁止端。当INH为低电平时,充许时钟输入。CLK(clock):时钟输入端D0~D7:并行输入端SI(serialinput串行输入):串行输入端,用于扩展多个74LS165的首尾连接端。SO(serialoutput):串行输出端.QH:也是串行输出端,它与SO是反相的关系,即QH=SO.VCC(16引脚,在proteus中被隐藏):已经默认接+5V电源端.GND(8引脚,在proteus中被隐藏):已经默认接地(2)如下图所示,本例单片机仍工作于串口模式0,即移位寄存器输入/输出模式。74LS1653/52012年8月9日星期四串行输出端SO连接单片机RXD引脚,CLK连接单片机TXD引脚,TXD仍负责发送移位时钟脉冲。C程序如下:#include<reg51.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharvoiddelay(uintx){uchari;while(x--)for(i=0;i<120;i++);