《单片机汇编》期末考试、考研常见考题、习题,题型汇总(十七)、单片机串口内部结构、寄存器讲解,51单片机串口通信程序

小知识点补充17:
51单片机有一个可编程全双工串行通信接口。由串行数据缓冲器(SBUF)、波特率发生器、控制寄存器及相关控制电路组成

1,SBUF:包括发送寄存器和接收寄存器。
2,波特率发生器:由定时器T1、时钟信号、分频电路组成。
3,控制寄存器:特殊功能寄存器SCON、PCON
(1)串行口控制寄存器SCON:
在这里插入图片描述

SM0        SM1        :串行口方式选择位
SM0 SM1       工作方式       说 明
0   0           0        同步移位寄存器输入/输出。波特率固定为fosc/12
0   1           1        10位UART,波特率可变(由定时T1溢出率控制)
1   0           2        11位UART,波特率为fosc/64或fosc/32 
1   1           3        11位UART ,波特率可变(由定时T1溢出率控制)
备注:UART:通用异步收发传输器,方式0常常用于扩展并行IO口,此处的10/11位包含起始位、停止位等

SM2:     方式2和方式3的多机通信控制位,在方式0中SM2必须置0。
REN:     允许串行接收位,由软件置1时,允许接收,清0时。禁止接收
TB8:     方式2和方式3中,发送的第9位数据,需要时由软件置位或复位
在多机通信中,此位=1:表示主机发送的是地址,=0:表示数据
RB8:     方式2和方式3,接收到的第9位数据,在方式1时,RB 是接收到停止位,在方式0,未使用
TI:      接收中断标志,由硬件置1,在方式0时,串行发送到第8位结束时置1;在其他方式,串行口发送停止位时置1。TI 必须由软件清0
RI:      接收中断标志,由硬件置1。在方式0时( SM2 应置 0),接收到第8位结束时置 1,当SM2=0的其他方式(方式 013)时,接收到停止位置位“ 1”,当 SM2=1时,若串口工作在方式23,接收到的第9位数据(RB8)为1时才激活RI 。在方式1时,只有接收到有效的停止位时才会激活RI。RI必须由软件清0

(2)电源控制寄存器PCON:
在这里插入图片描述

DL:   空闲方式控制位,置1后单片机进入空闲方式,电流为 1.75mA 
PD:	  掉电方式控制位,置1后单片机时钟信号停止,单片机停止工作,掉电方式
GF0:  通用标志位
GF1:  通用标志位
SMOD: 串行口波特率倍率控制位,=1时,波特率加倍

SBUF: 地址:99H,串行通信数据缓冲器

串行口内部结构图:

在这里插入图片描述
异步模式格式:
在这里插入图片描述

串行口工作方式

1,工作方式0
在这里插入图片描述
波特率固定,=fosc/12

2,工作方式1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3,工作方式2/3
在这里插入图片描述
备注:工作方式2或3,第九位数据的装入由以下指令完成:
SETB TB8
CLR TB8

常用波特率表:
在这里插入图片描述
(上图中11.05892全部替换成11.0592)

补充知识点:
TTL电平信号规定,+5V等价于逻辑“1”,0V等价于逻辑“0”(采用二进制来表示数据时)。这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。这是计算机处理器控制的设备内部各部分之间通信的标准技术。
标准TTL输入高电平最小2V,输出高电平最小2.4V,典型值3.4V,输入低电平最大0.8V,输出低电平最大0.4V典型值0.2V

题49

根据下图编程使得LED(共阳极接法)从上到下以某个速度轮流显示。(设晶振12MHz)
在这里插入图片描述
解析:
串口工作在方式0,串行口将8位数据(需要8个脉冲)以fosc/12的波特率从RXD引脚输出(低位先出),同步移位脉冲由TXD引脚输出,使得RXD引脚输出的数据移入外部移位寄存器,发送完后置TI。

由晶振12MHz可知,串行口数据将以1MHz的波特率从RXD输出(即TXD输出周期为1us的波形)。

74LS164芯片介绍:
在这里插入图片描述

符号       引脚            说明
DSA        1              数据输入
DSB        2              数据输入
Q0~Q7     3~6/10-13       输出
GND        7(0 V)
CP         8              时钟输入(低电平到高电平边沿触发)
MR         9              中央复位输入(低电平有效)
VCC        14             正电源
备注:主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,非同步地清除寄存器,强制所有的输出为低电平

74164功能表:
在这里插入图片描述

程序源码:

ENABLE EQU P2.6	
	ORG 0000H
	LJMP START
	ORG 000BH
	LJMP T0ADDR
	ORG 0030H
START:
	MOV SCON,#00H
	SETB  ENABLE
	MOV TL0,#0AFH
	MOV TH0,#3CH
	;50 MS   fosc=12MHz
	MOV TMOD,#01H
	SETB EA
	SETB ET0
	SETB PT0
	CLR F0
	MOV R7,#08H
	MOV A,#7FH
LOOP:
	MOV SBUF,A
	JNB TI,$
	SETB TR0
	CLR TI
	JBC F0,$
	RR A
	DJNZ R7,LOOP
	MOV A,#7FH
	AJMP LOOP
	SJMP $
T0ADDR:
	CLR TR0
	MOV TL0,#0AFH
	MOV TH0,#3CH
	;50 MS   fosc=12MHz
	SETB F0
	RETI
	END

仿真图:
通过程序,用定时器延时50ms,每隔50ms依次点亮一个LED。
在这里插入图片描述
仿真视频:
50ms有点快,所以视频中的LED轮流亮灭变化感觉不明显。

利用单片机串行口工作在方式0下的应用:扩展8位并行口

题50

两片单片机进行通信实验,电路如下:(设晶振11.0592MHz),波特率、工作方式自行设置,要求:A机发送0-9数字并在数码管上显示,B机接收到A机数据后进行筛选,如果接收的数据为数字6,则在数码管显示6,否则显示‘H’,同时A机的P1.0口产生100毫秒的方波信号。
电路图如下:
在这里插入图片描述

程序源码:
1,A机源码:
(波特率2400)

;A machine
	ORG 0000H
	LJMP START
	ORG 000BH
	LJMP T0ADDR
	ORG 0030H
START:
	MOV SP,#66H
	MOV A,#00H
	MOV R7,#0AH
	MOV SCON,#50H;0101 0000B
	MOV TMOD,#21H;0010 0000B
   	MOV PCON,#00H
	MOV TL1,#0F4H
	MOV TH1,#0F4H
	MOV TL0,#0AFH
	MOV TH0,#3CH
	SETB ET0
	SETB PT0
	SETB EA
	CLR P1.0
	SETB TR0	
	SETB TR1
	MOV DPTR,#TAB
LOOP:
	SETB TR1
	MOV SBUF,A
	PUSH ACC
	MOVC A,@A+DPTR
	MOV P0,A
	JNB TI,$
	CLR TR1
	CLR TI
	POP ACC
	INC A
	LCALL DELAY1S
	DJNZ R7,LOOP
	MOV A,#00H
	MOV R7,#0AH
	AJMP LOOP
	SJMP $
T0ADDR:
	CPL P1.0
	MOV TL0,#0AFH
	MOV TH0,#3CH
	RETI
DELAY1S:
	MOV R4,#10
D1: 
	MOV R5,#200
D2: 
	MOV R6,#250
	DJNZ R6,$
	DJNZ R5,D2
	DJNZ R4,D1
	RET
TAB:
	DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
	END

2,B机源码:

;B machine
	ORG 0000H
	LJMP START
	ORG 0023H
	LJMP UARTADDR
	ORG 0030H
START:
	MOV SP,#66H
	MOV SCON,#50H;0101 0000B
	MOV TMOD,#20H;0010 0000B
   	MOV PCON,#00H
	MOV TL1,#0F4H
	MOV TH1,#0F4H	
	SETB EA
	SETB ES
	SETB TR1
	MOV A,R7
	MOV P0,A
	MOV SBUF,A
	SJMP $
UARTADDR:
	MOV A,SBUF
	CJNE A,#06H,OUTPUT
	MOV A,#7DH
	MOV P0,A
	AJMP RETU
OUTPUT:
	MOV A,#76H
	MOV P0,A
RETU:
	CLR RI
	RETI
	END

仿真效果图:
1,A机发送数据等于6时
在这里插入图片描述

2,A机发送数据不等于6时
在这里插入图片描述
备注:示波器中蓝色为A机P1.0输出波形,黄色为A机发送端口波形

仿真视频:

51单片机串口通信

原创文章 59 获赞 52 访问量 1万+

猜你喜欢

转载自blog.csdn.net/liuxianfei0810/article/details/105790708