74LS164串进并出实验及165并串转换实验

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

74L S164串进并出实验及165并串转换实

-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

实验二 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 --- Serial inputs

Q0 through Q7 ---- Data

outputs

CLK ---- CLOCK

CLR ---- Clear input

功能表:

CLR SIA SIB CLK Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

0 X X X 0 0 0 0 0 0 0 0

1 1 1 ↑ 1 Q0 Q1 Q

2 Q

3 Q

4 Q

5 Q6

1 0 X ↑ 0 Q0 Q1 Q

2 Q

3 Q

4 Q

5 Q6

1 X 0↑ 0 Q0 Q1 Q

2 Q

3 Q

4 Q

5 Q6

2、165并串转换实验。

(1)74LS165芯片引脚图

管脚说明:

D0 through D7 --Parallel inputs

SI -- Serial input

Q7,/Q7 -- Data outputs

CLK -- Clock

CKIN -- Clock inhibit

S/L -- (高有效)Shift/Parallel-load control(低有效)

(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串进并出实验程序

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV 30H,#00H ;给显示缓冲区赋初值

MOV 31H,#00H

L0: SETB P1.0 ;164清零端‘CLR’置1(低电平有效)

INC 30H

MOV A,30H

CJNE A,#0AH,AA

MOV 30H,#00H

INC 31H

MOV A,31H

CJNE A,#0AH,AA

MOV 30H,#00H

MOV 31H,#00H ;使31H,30H单元内容在00~99循环变化AA: MOV SCON,#00H ;设置串行口

MOV R7,#02H ;设置要发送的字节个数

MOV R0,#30H ;设置地址指针

MOV DPTR,#TAB

LOOP: MOV A,@R0

MOVC A,@A+DPTR ;取出字型码

MOV SBUF,A ;发送

WAIT: JNB TI,WAIT ;等待一帧发关完毕

CLR TI

INC R0 ;指向下一个字形码

DJNZ R7,LOOP

MOV R2,#30H ;调用延时子程序

LCALL DELYA

CLR P1.0 ;164清零端'CLR'置0(低电平有效)

SJMP L0

TAB: DB 3FH,06H,5BH,04FH,66H,6DH,7DH,07H,7FH,6FH ;七段LED段选码(共阴极)

DB 77H,7CH,39H,5EH,86H,8EH,0FFH,0F1H,0C6H,092H,0BFH

DELYA: PUSH 02H ;延时子程序

DELYB: PUSH 02H

DELYC: PUSH 02H

DELYD: DJNZ R2,DELYD

POP 02H

DJNZ R2,DELYC

POP 02H

DJNZ R2,DELYB

POP 02H

DJNZ R2,DELYA

RET

END

2、165并串转换实验程序

ORG 0000H

相关文档
最新文档