74ls164与单片机的串并转换(串转并-串进并出)_第1页
74ls164与单片机的串并转换(串转并-串进并出)_第2页
74ls164与单片机的串并转换(串转并-串进并出)_第3页
74ls164与单片机的串并转换(串转并-串进并出)_第4页
74ls164与单片机的串并转换(串转并-串进并出)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

74ls164与单片机的串并转换(串转并\串进并出)74LS164串转并实验本实验是用74LS164把输入的串行数转换成并行数输出,74LS164为串行输入并行输出移位寄存器,其引脚图及功能如下:A、B:串行输入端;QA~QH:并行输出端;CLR:清零端,低电平有效;CLK:时钟脉冲输入端,上升沿有效。实验采用单片机串行工作方式0和P1端口两种方式串行输出数据。串行口工作方式0时,数据为8位,从RXD端输出,TXD端输出移位信号,其波特率固定为Fosc/12。在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。串行口工作方式0数据/时钟是自动移位输出,用P1端口输出数据时,要编程位移数据,每输出一个数据位,再输出一个移位脉冲。内容及步骤:本实验需要用到单片机最小系统(F1区)、十六位逻辑电平显示(I4区)和74LS164(G3区)。1、选用89C51单片机最小应用系统模块,用八位数据线连接74LS164的并行输出JD5G与十六位逻辑电平显示模块JD2I,将74LS164的串行输入端A/B(1和2脚)接到RXD上,CLK接到TXD上,CLR接INT0。2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。3、打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加“TH23_74164.ASM”源程序,进行编译,直到编译无误。4、全速运行程序,观察发光二极管亮灭情况,先右移动两次,再左移动两次,然后闪烁两次。5、也可以把源程序编译成可执行文件,用ISP烧录器烧录到89S52/89S51芯片中。74LS164串进并出实验及165并串转换实验实验内容1、用74LS164芯片扩展并行输出口,本实验中我们用74LS164扩展两个8位输出口的接口显示电路,两位数码管循环显示00~99之间的数字。2、利用实验系统上的74LS165芯片,编程实现8位数据并行输入,串行口串行接收,并将接收的数据存放在CPU内部存储区50H~59H中,共10个数据。(并行输入数据由P1口来送入)编程指南1、74LS164串进并出实验。(1)本实验中MCS-51单片机串行口工作在方式0(移位寄存器方式,用于并行I/0口扩展)的发送状态时,串行数据由P3.0(RXD)送出,移位时钟由P3.1(TXD)送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS164中。需要指出的是,由于741S164无并行输出控制端,因而在串行输入过程中,其输出端的状态会不断变化,故在某些应用场合,在74LS164的输出端应加接输出三态门控制,以便保证串行输入结束后再输出数据。(2)74LS164引脚功能表2、165并串转换实验。(1)74LS165芯片引脚图管脚说明:D0throughD7--ParallelinputsSI--SerialinputQ7,/Q7--DataoutputsCLK--ClockCKIN--ClockinhibitS/L--(高有效)Shift/Parallel-loadcontrol(低有效)(2)编程说明74LS165是8位并行置入移位寄存器。当移位/置入端(S/L)由高到低跳变时,并行输入端的数据被置入寄存器;当S/L=1,且时钟禁止端(第15脚)为低电平时,允许时钟输入,这时在时钟脉冲的作用下,数据由D0到D7方向移位。如下的电路原理图中,TXD(P3.1)作为移位脉冲输出端与所有74LS165的移位脉冲输入端CP相连;RXD(P3.0)作为串行输入端与74LS165的串行输出端Q7相连;P3.2用来控制74LS165的移位与置入而同S/L相连;74LS165的时钟禁止端(15脚)接地,表示允许时钟输入。当扩展多个8位并行输入口时,两芯片的首尾(Q7与Sin)相连。实验接线图1、74LS164串进并出实验2、165并串转换实验实验步骤1、在74LS164串进并出实验中,用双头线连接,P3.0接插孔A/B,P3.1接插孔CP,P1.0接插孔/CLR,调入程序运行,两位数码管上循环显示数字00~99。下面是74LS164串进并出程序运行仿真的情况:2、在165并串转换实验中,P1.0~P1.7接D7~D0,P3.0接Q7,P3.1接CP,P3.2接S/L。调入程序165.ASM,编译、装载、运行。检查CPU内部存储器50H~59H中的数据是否为01H~0AH(注意刷新存储器)。下面是165并串转换程序仿真运行的情况:程序1、74LS164串进并出实验程序ORG0000HLJMPMAINORG0100HMAIN:MOV30H,#00H;给显示缓冲区赋初值MOV31H,#00HL0:SETBP1.0;164清零端‘CLR’置1(低电平有效)INC30HMOVA,30HCJNEA,#0AH,AAMOV30H,#00HINC31HMOVA,31HCJNEA,#0AH,AAMOV30H,#00HMOV31H,#00H;使31H,30H单元内容在00~99循环变化AA:MOVSCON,#00H;设置串行口MOVR7,#02H;设置要发送的字节个数MOVR0,#30H;设置地址指针MOVDPTR,#TABLOOP:MOVA,@R0MOVCA,@A+DPTR;取出字型码MOVSBUF,A;发送WAIT:JNBTI,WAIT;等待一帧发关完毕CLRTIINCR0;指向下一个字形码DJNZR7,LOOPMOVR2,#30H;调用延时子程序LCALLDELYACLRP1.0;164清零端‘CLR’置0(低电平有效)SJMPL0TAB:DB3FH,06H,5BH,04FH,66H,6DH,7DH,07H,7FH,6FH;七段LED段选码(共阴极)DB77H,7CH,39H,5EH,86H,8EH,0FFH,0F1H,0C6H,092H,0BFHDELYA:PUSH02H;延时子程序DELYB:PUSH02HDELYC:PUSH02HDELYD:DJNZR2,DELYDPOP02HDJNZR2,DELYCPOP02HDJNZR2,DELYBPOP02HDJNZR2,DELYARETEND2、165并串转换实验程序ORG0000HLJMPMAINORG0500HMAIN:MOVR7,#10;设置并行读入数据个数为10个MOVR0,#50H;设置内部RAM数据区首址,接收外部并行输入数据MOV40H,#00HSTART:INC40HMOVP1,40H;将P1口输出的数据作为74LS165的并行输入CLRP3.2;并行置入数据,S/L=0SETBP3.2;允许串行移位,S/L=0RXDATA:MOVSCON,#10H;设串行口方式0,允许接收,启动接收过程WAIT:JNBRI,WAIT;未接收完一帧,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论