您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 74LS164串进并出实验及165并串转换实验
实验二74LS164串进并出实验及165并串转换实验一、实验目的1、了解74LS164芯片的工作原理,以及与单片机的接口方法。2、掌握单片机串行口的工作原理以及编程方法。3、了解74LS165芯片的工作原理。4、掌握74LS165芯片在单片机系统中的应用及编程。二、实验内容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引脚功能图管脚说明:SIA、SIB---SerialinputsQ0throughQ7----DataoutputsCLK----CLOCKCLR----Clearinput功能表:2、165并串转换实验。(1)74LS165芯片引脚图管脚说明:D0throughD7--ParallelinputsSI--SerialinputQ7,/Q7--DataoutputsCLK--ClockCKIN--ClockinhibitS/L--(高有效)Shift/Parallel-loadCLRSIASIBCLKQ0Q1Q2Q3Q4Q5Q6Q70XXX00000000111↑1Q0Q1Q2Q3Q4Q5Q610X↑0Q0Q1Q2Q3Q4Q5Q61X0↑0Q0Q1Q2Q3Q4Q5Q6control(低有效)(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;未接收完一帧,循环等待CLRRI;清RI标志,准备下次接收MOVA,SBUF;读入数据MOV@R0,A;送至RAM缓冲区INCR0;指向下一个地址DJNZR7,START;10个数据未读完重新并行置入SJMP$;10个数据读完,程序就地循环END;查看CPU内部存储区50H~59H数据是否为01~0AH七、实验总结通过本次实验使我对74LS164芯片及74LS165的工作原理有了一定得了解,以及对单片机的接口方法有了更深的认识,掌握了74LS164芯片及74LS165单片机串行口的工作原理以及编程方法。也明白了此次实验程序的基本结构及功能。在实验中我们必须对实验程序读懂,明白每一步所表达的意思,这样才能对我们起到更好的作用.
本文标题:74LS164串进并出实验及165并串转换实验
链接地址:https://www.777doc.com/doc-6154783 .html