单片机实验指导书(11)
发布时间:2021-06-06
发布时间:2021-06-06
单片机实验指导书
实验六 74LS164串转并实验
一、实验目的
1.掌握89C51串行口方式0工作方式及编程方法 2.掌握89C51的P1口的I/O功能输出
3.掌握利用串行口及I/O口,扩展I/O通道的方法 二、实验说明
本实验是用74LS164把输入的串行数转换成并行数输出,输入并行输出移位寄存器,其引脚图及功能如下:
A、B:串行输入端; QA~QH:并行输出端; CLR:清零端,低电平有效;
CLK:时钟脉冲输入端,上升沿有效。
实验采用单片机串行工作方式0和P1端口两种方式串行输出
74LS164为串行
74LS164
数据。串行口工
作方式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.打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着建立源程序,进行编译,直到编译无误。
4.全速运行程序,观察发光二极管亮灭情况,先右移动两次,再左移动两次,然后闪烁两次。 5.也可以把源程序编译成可执行文件,用ISP烧录器烧录到89S52/89S51芯片中。(ISP烧录器的使用查看附录二) 四、实验参考程序
;//**************************************************************** ;功能: 通过串口查表发送数据,通过164转化成并行数据! ;接线:RXD接A/B,TXD接CLK,CLR接INT0
;//**************************************************************** ORG 00H
MOV SCON,#00000000B ;设定UART 方式MODE0 SETB P3.2
START:MOV DPTR,#TABLE ;数据指针指到TABLE LOOP: CLR A ;清除ACC
MOVC A,@A+DPTR ;到TABLE 取数据
CJNE A,#03,A1 ;到结束码03了么?不是到A1 JMP START ;是则重新开始 A1: CPL A ;取到的数据反向 MOV 30H,A ;A存入30H
MOV SBUF,30H ;30H 的值存入SBUF LOOP1:
单片机实验指导书
JBC TI,LOOP2 ;监测TI=1?是则跳到 JMP LOOP1 ;否则继续监测 LOOP2:
CALL DELAY ;延时
INC DPTR ;数据指针加1 JMP LOOP
DELAY: ; 延时程序 MOV R5,#255 D3: MOV R2,#255 D4: DJNZ R2,D4 DJNZ R5,D3 RET TABLE:
DB 01H,02H,04H,08H ;左移 DB 10H,20H,40H,80H DB 01H,02H,04H,08H DB 10H,20H,40H,80H
DB 80H,40H,20H,10H ;右移 DB 08H,04H,02H,01H DB 80H,40H,20H,10H DB 08H,04H,02H,01H
DB 00H,0FFH,00H,0FFH ;闪烁 DB 03H END
LOOP2
五、电路图
单片机实验指导书
实验七 8255 I/O扩展实验
一、实验目的
1.了解8255芯片结构及接口方式 2.掌握8255输入、输出的编程方法 二、实验说明
了解用到的芯片引脚及功能:
74LS373的引脚图 8255的引脚图
8255是可编程的并行输入/输出接口芯片,通用性强且使用灵活。8255按功能可分为三个部分,即:总线接口电路,I/O口电路和控制逻辑电路。
1.I/O口电路:8255共有三个八位口,其中A口和B口是单纯的数据口,供数据I/O口使用。 2.总线接口电路:它用于实现8255和单片机芯片的信号连接。 (1)CS——片选信号。 (2)RD——读信号。 (3)WR——写信号。
(4)A0、A1——端口选择信号。8255共有四个可寻址的端口,用二位编码可以实现。 3.控制逻辑电路:它是控制寄存器,用于存放各口的工作方式控制字。
本实验是利用8255可编程并行口芯片,实现数据的输入、输出。可编程通用接口芯片8255A有三个八位的并行的I/O口,它有三种工作方式。本实验采用的方式为0:PA口输出,PB口输入。工作方式0是一种基本的输入输出方式。在这种方式下,三个端口都可以由程序设置为输入或输出,其基本功能可概括如下:
A、可具有两个八位端口(A、B)和两个4位端口(C口的上半部分和下半部)。
B、数据输出时可锁存,输入时没有锁存功能。
本实验中,8255的端口地址由单片机的P2.0、P2.1和P2.7决定。控制口的地址为7FFFH;A口的地址为7CFFH;B口的地址为7DFFH;C口的地址为7EFFH。 三、实验内容及步骤
参考电路源理图设计LED灯循环显示程序。
本实验需要用到单片机最小应用系统(F1区)、十六位逻辑电平显示(I4区)和8255(H4区)。 1.单片机最小应用系统的 P0口JD4F接8255的D0~D7口JD1H,8255的PA0~PA7口JD2H接十六位逻辑电平显示的JD2I。
2.单片机最小应用系统的P2.0、P2.1、P2.7、P3.7、P3.6分别接8255的A0、A1、CS、RD、WR,8255的RESET接最小系统上的RESET。
3.用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。打开模块电源,插上仿真器电源插头(USB线)。
4.打开Keil uVision2仿真软件,输入、调试源程序。