




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及接口技术单片机原理及接口技术华中科技大学出版社华中科技大学出版社2013-21单片机原理及接口技术单片机原理及接口技术第第6章章 单片机的串行接口单片机的串行接口 6.1 串行通信的概念串行通信的概念 6.2 51系列单片机的串行接口系列单片机的串行接口 6.3 多机通信多机通信 6.4 串行接口编程举例串行接口编程举例246第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术关键词:关键词:串行口串行口: Serial Port 串行口发送引脚:串行口发送引脚: TXD, Transmitter Data串行口接收引脚串行口接收引脚: RXD, Re
2、ceiver Data波特率波特率: Baud Rate 接收允许位:接收允许位: REN, Reception Enable发送数据位发送数据位8: TB8, Transmit Bit 8接收数据位接收数据位8: RB8, Receive Bit 8串行口控制寄存器串行口控制寄存器: SCON, Serial Control电源控制寄存器电源控制寄存器: PCON, Power Control 串行缓冲器:串行缓冲器: SBUF,Serial Buffer第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术6.1 串行通信基本概念串行通信基本概念计 算 机 1计
3、 算 机 2或 外 设GNDGND.计 算 机 1计 算 机 2或 外 设GNDGND发 送接 收(a) 并 行 通 信(b) 串 行 通 信通常把计算机与外界的数据交换称为通常把计算机与外界的数据交换称为通信通信通信的基本方式有通信的基本方式有2 2种种:并行通信、串行通信:并行通信、串行通信串行通信:数据一位一位顺序传送串行通信:数据一位一位顺序传送( (异步、同步异步、同步) )并行通信:数据各位同时传送并行通信:数据各位同时传送第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术异步通信对硬件要求较低,实现起来比较简单、灵异步通信对硬件要求较低,实现起来比
4、较简单、灵活,适用于数据的随机发送活,适用于数据的随机发送/接收,但因每个字节都要接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工建立一次同步,即每个字符都要额外附加两位,所以工作速度较低,在单片机中主要采用异步通信方式。作速度较低,在单片机中主要采用异步通信方式。1.1.串行数据传送方式:串行数据传送方式:异步通信和同步通信异步通信和同步通信串行通信按串行通信按同步方式同步方式可分为异步通信和同步通信可分为异步通信和同步通信(1) 异步通信异步通信异步通信依靠起始位、停止位保持通信同步异步通信依靠起始位、停止位保持通信同步 异步通信数据传送按帧传输,异步通信数据传送按帧
5、传输,一帧数据包含一帧数据包含起始起始 位、数据位、校验位和停止位。位、数据位、校验位和停止位。第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术(1)(1)USB串行串行并行并行串行串行第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术 同步通信传输速度较快,但要求有准确同步通信传输速度较快,但要求有准确的时钟来实现收发双方的严格同步,对硬件的时钟来实现收发双方的严格同步,对硬件要求较高,适用于成批数据传送。要求较高,适用于成批数据传送。(2) (2) 同步通信同步通信同步通信依靠同步字符保持通信同步同步通信依靠同步字符保持通信
6、同步 同步通信是同步通信是由由1 12 2个同步字符和多字节个同步字符和多字节数据位组成数据位组成,同步字符作为起始位以触发同,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。闲位需发送同步字符。2.串行通信的制式串行通信的制式单工:广播单工:广播双工:双工:电话电话半双工:对讲机半双工:对讲机第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术 单工制式单工制式是指甲乙双方通信时是指甲乙双方通信时只能单向传只能单向
7、传送数据送数据,发送方和接收方固定,发送方和接收方固定 (1)(1)单工制式(单工制式(SimplexSimplex)第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术 半双工制式是指通信双方都具有发送器和半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发收和发送,发送时不能接收,接收时不能发送。送。(2)(2)半双工制式(半双工制式(Half DuplexHalf Duplex)发发收收A站站发发收收B站站第六章第六章 单片机的串行口单片机的串行口单片机原理及接
8、口技术单片机原理及接口技术 全双工制式全双工制式是指通信双方均设有发送器和接是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方此全双工制式可实现甲乙双方同时发送和接收数同时发送和接收数据据,发送时能接收,接收时也能发送。,发送时能接收,接收时也能发送。(3)(3)全双工制式(全双工制式(Full DuplexFull Duplex)发发收收A A站站发发收收B B站站第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术3. 3. 波特率波特率(Baud Rate)(Baud R
9、ate)定义:定义:数据传送速率,表示每秒钟传送二进制代码的数据传送速率,表示每秒钟传送二进制代码的位数位数单位单位:位:位/ /秒秒(b/s), (b/s), 常用常用bpsbps表示表示(bits per second)(bits per second)含义:含义:波特率是异步通信的重要指标,表征波特率是异步通信的重要指标,表征数据传输的速数据传输的速度度,波特率越高,数据传输速度越快,波特率越高,数据传输速度越快, , 在数据传送方式确在数据传送方式确定后,以多大的速率发送定后,以多大的速率发送/ /接收数据,是实现串行通信必接收数据,是实现串行通信必须解决的问题。须解决的问题。例:例:
10、 假设字符传送速率是假设字符传送速率是120120字符字符/s, /s, 每个字符格式包含每个字符格式包含1010个代码位个代码位(1(1个起始位个起始位, 1, 1个停止位个停止位,8,8个数据位个数据位), ), 则通信则通信波特率为:波特率为: 120 120字符字符/s/s1010位位/ /字符字符1200b/s1200b/s 每一位的传输时间为波特率的倒数:每一位的传输时间为波特率的倒数: Td Td1/12001/12000.833ms0.833ms第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术4. MCS-51的的全双工异步全双工异步串行口串行
11、口l 一个可编程一个可编程全双工全双工串行通信接口串行通信接口(UART) (Universal Asynchronous Receiver/Transmitter )可可同时发送、接收数据同时发送、接收数据l 串行输入串行输入/输出管脚:输出管脚:RXD (P3.0),TXD (P3.1)l 有有四种工作方式四种工作方式,帧格式有,帧格式有8、10、11位位D0D1D2D3D4D5D6D7停止位停止位起始位起始位D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D8停止位停止位起始位起始位D7第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术l一帧字
12、符发送一帧字符发送/ /接收结束,接收结束,置位标志位置位标志位(TI/RI)(TI/RI),并申请串行中断,并申请串行中断l中断控制:中断允许位中断控制:中断允许位ESES、总允许、总允许EAEAl中断入口:中断入口:0023H0023H4. MCS-514. MCS-51的全双工异步串行口的全双工异步串行口第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术6.2 51系列单片机的串行接口系列单片机的串行接口 1.串行接口的结构串行接口的结构第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术发送时发送时, 只需将发送数据输入只需
13、将发送数据输入SBUF,CPU将自动启动和完将自动启动和完成串行数据的发送;成串行数据的发送;接收时接收时, CPU将自动把接收到的数据存入将自动把接收到的数据存入SBUF,用户只需,用户只需从从SBUF中读出接收数据。中读出接收数据。2.与串行口有关的寄存器与串行口有关的寄存器(1)(1)串行数据缓冲器串行数据缓冲器SBUFSBUF 在在逻辑上只有一个逻辑上只有一个,既表示发送寄存器,又表示接收,既表示发送寄存器,又表示接收寄存器寄存器, , 具有同一个单元地址具有同一个单元地址99H, 99H, 用同一寄存器名用同一寄存器名SBUFSBUF 在在物理上有两个物理上有两个, , 一个是发送缓
14、冲寄存器,另一个是一个是发送缓冲寄存器,另一个是接收缓冲寄存器接收缓冲寄存器MOV SBUF, A ;启动一次数据发送启动一次数据发送,可向可向SBUF 再发送下一个数再发送下一个数MOV A, SBUF ;完成一次数据接收完成一次数据接收,SBUF可再可再 接收下一个数接收下一个数(2) 串行控制寄存器串行控制寄存器SCON(98H)SCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功能工作方式选择多机通信控制接收 允许发送 第9位接收 第9位发送 中断接收 中断 SM0 SM1 SM0 SM1 串
15、行口工作方式选择位串行口工作方式选择位 SM2 SM2 多机通信控制位多机通信控制位 REN REN允许接收控制位允许接收控制位. REN=1. REN=1,允许接收,允许接收 TB8 TB8方式方式2 2和方式和方式3 3中要发送的第中要发送的第9 9位数据位数据 RB8 RB8方式方式2 2和方式和方式3 3中要接收的第中要接收的第9 9位数据位数据 TI TI 发送中断标志发送中断标志 RI RI 接收中断标志接收中断标志 SM0 SM1串行口工作方式选择位。其状态组合所对应串行口工作方式选择位。其状态组合所对应的工作模式如表的工作模式如表6.2所示所示(P95,NP99) SM0 SM
16、1 SM0 SM1工作方式工作方式 功能说明功能说明 0 0 0 0 0 0同步移位寄存器输入同步移位寄存器输入/ /输出输出, ,波特率固定为波特率固定为fosc/12fosc/12 0 1 0 1 1 18 8位位UARTUART;波特率可变;波特率可变(T1(T1溢出率溢出率/n/n,n=32n=32或或16)16) 1 0 1 0 2 29 9位位UARTUART,波特率固定为,波特率固定为fosc/nfosc/n,(n=64(n=64或或32)32) 1 1 1 1 3 39 9位位UARTUART,波特率可变,波特率可变(T1(T1溢出率溢出率/n/n,n=32n=32或或16)1
17、6) SM2 多机通信控制位。在方式多机通信控制位。在方式2和方式和方式3中,若中,若SM2=1,且且RB8(接收到的第接收到的第9位数据位数据)=1时,将接收到的前时,将接收到的前8位数据送入位数据送入SBUF,并置位,并置位RI产生中断请求;否则,将接收到的产生中断请求;否则,将接收到的8位数据丢弃。位数据丢弃。而当而当SM2=0时,则不论第时,则不论第9位数据为位数据为0还是为还是为1,都将前,都将前8位数据位数据装入装入SBUF中,并产生中断请求。中,并产生中断请求。 在方式在方式0时,时,SM2必须为必须为0。 第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理
18、及接口技术REN-允许接收控制位允许接收控制位。REN位用于对串行数据位用于对串行数据的接收进行控制:的接收进行控制:REN=0,禁止接收;,禁止接收;REN=1,允许,允许接收。该位由软件置位或复位。接收。该位由软件置位或复位。TB8-方式方式2和方式和方式3中要发送的第中要发送的第9位数据位数据。在方。在方式式2和方式和方式3时,时,TB8是发送的第是发送的第9位数据。在多机通信位数据。在多机通信中,以中,以TB8位的状态表示主机发送的是地址还是数据:位的状态表示主机发送的是地址还是数据:TB8=0表示数据,表示数据,TB8=1表示地址。该位由软件置位表示地址。该位由软件置位或复位。或复位
19、。 TB8还可用于奇偶校验位。还可用于奇偶校验位。RB8-方式方式2和方式和方式3中要接收的第中要接收的第9位数据位数据。在方。在方式式2或方式或方式3时,时,RB8存放接收到的第存放接收到的第9位数据。位数据。SCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术TI-发送中断标志。当方式发送中断标志。当方式0时,发送完第时,发送完第8位位数据后,该位由硬件置位。在其他方式下,遇发送数据后,该位由硬件置位。在其他方式下,遇发送停止位时,该位由硬件置位。因此停止位时,该位由硬件
20、置位。因此TI=1,表示帧,表示帧发送结束,可软件查询发送结束,可软件查询TI位标志,也可以请求中断。位标志,也可以请求中断。TI位必须由软件清位必须由软件清0。RI-接收中断标志。当方式接收中断标志。当方式0时,接收完第时,接收完第8位位数据后,该位由硬件置位。在其他方式下,当接收数据后,该位由硬件置位。在其他方式下,当接收到停止位时,该位由硬件置位。因此到停止位时,该位由硬件置位。因此RI=1,表示,表示帧接收结束,可软件查询帧接收结束,可软件查询RIRI位标志,也可以请求中位标志,也可以请求中断。断。RIRI位也必须由软件清位也必须由软件清0 0。1 111111SBUF1111 111
21、1RxD1RI=1接收接收/发送数据发送数据,无论是否采用中断方式工作无论是否采用中断方式工作,每接每接收收/发送一个数据都必须用指令对发送一个数据都必须用指令对 RI/TI 清清0,以以备下一次收备下一次收/发。发。第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术(3)(3)电源控制寄存器电源控制寄存器PCONPCONPCOND7D6D5D4D3D2D1D0位名称SMODGF1GF0PDIDLSMOD=1SMOD=1,串行口波特率加倍。串行口波特率加倍。PCONPCON寄存器不能进寄存器不能进行位寻址行位寻址 SMODSMOD:在串行口工作方式:在串行口工作
22、方式 1 1、2 2、3 3 中,是中,是波特波特率加倍位率加倍位 =1 =1 时,波特率加倍时,波特率加倍 =0 =0 时,波特率不加倍。时,波特率不加倍。 ( (在在PCONPCON中只有这一个位与串口有关中只有这一个位与串口有关) ) 1.1.方式方式0(0(同步移位寄存器输入输出方式同步移位寄存器输入输出方式) )(1) (1) 特点:特点: 一帧一帧8 8位位, , 无起始位和停止位无起始位和停止位 RXD(P3.0): RXD(P3.0): 数据的输入数据的输入/ /输出端输出端, , TXD(TXD(P3.1P3.1): ): 同步脉冲输出端同步脉冲输出端, ,每个脉冲对应一个数
23、据位每个脉冲对应一个数据位 波特率波特率B=fosc/12B=fosc/12如如:fosc=12MHz, B=1MHz,:fosc=12MHz, B=1MHz,每位数据占每位数据占1 1 s s 发送过程:写入发送过程:写入SBUF,SBUF,启动发送启动发送, ,一帧发送结束一帧发送结束, TI=1 , TI=1 接收过程:接收过程:REN=1REN=1且且RI=0, RI=0, 启动接收启动接收, , 一帧接收完毕一帧接收完毕, , RI=1 RI=1 (2) (2) 功能:功能:可将串行输入输出数据转换成并行输入输出数据可将串行输入输出数据转换成并行输入输出数据3 3 串行口的串行口的4
24、 4种工作方式种工作方式第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术 (3) (3) 数据发送数据发送 在移位时钟脉冲(在移位时钟脉冲(TXDTXD)的控制下,数据从串行口)的控制下,数据从串行口RXDRXD端逐位移入端逐位移入74HC164 A74HC164 A、B B端。当端。当8 8位数据全部移出后,位数据全部移出后,SCONSCON寄存器的寄存器的TITI位被自动置位被自动置1 1。其后。其后74HC16474HC164的内容即可并的内容即可并行输出。行输出。串行口作为并行输出口使用时,要有串行口作为并行输出口使用时,要有“串入并出串入并出”的移位
25、的移位寄存器配合。寄存器配合。(74HC164)(74HC164)第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术 (4) (4)数据接收数据接收 串行口作为并行输入口使用时,要有串行口作为并行输入口使用时,要有“并入串并入串出出”的移位寄存器配合。的移位寄存器配合。( (例如例如74HC165) ) 74HC165 S/L 74HC165 S/L端为移位端为移位/ /置入端,当置入端,当S/L=0S/L=0时,从时,从A AH H并行置入数据,当并行置入数据,当S/L=1S/L=1时,允许从时,允许从QHQH端移出数据。在端移出数据。在80C5180C51串
26、行控制寄存器串行控制寄存器SCONSCON中的中的REN=1REN=1时,时,TXDTXD端发出移位端发出移位时钟脉冲,从时钟脉冲,从RXDRXD端串行输入端串行输入8 8位数据。当接收到第位数据。当接收到第8 8位数位数据据D7D7后,置位中断标志后,置位中断标志RIRI,表示一帧数据接收完成,表示一帧数据接收完成第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术2. 2. 方式方式1 1:8 8位位数据异步通讯方式数据异步通讯方式一帧一帧10位:位:8位数据位位数据位, 1个起始位个起始位(0), 1个停止位个停止位(1) RXD:接收数据端接收数据端; T
27、XD:发送数据端发送数据端波特率:波特率:用用T1作为波特率发生器,作为波特率发生器, B=(2SMOD/32)T1溢出率溢出率发送:发送:写入写入SBUF, 同时启动发送同时启动发送, 一帧发送结束一帧发送结束, TI=1(1) (1) 特点:特点:D0D1D2D3D4D5D6D7停止位停止位起始位起始位第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术方式方式1特点:特点: 当当REN=1REN=1,CPUCPU开始采样开始采样RXDRXD引脚负跳变信号,若出现负跳引脚负跳变信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位为变,才进入数据接收状
28、态,先检测起始位,若第一位为0 0,继,继续接收其余位;否则,停止接收,重新采样负跳变。续接收其余位;否则,停止接收,重新采样负跳变。 数据采样速率为波特率数据采样速率为波特率1616倍频倍频, ,在数据位中间在数据位中间, ,用第用第7 7、8 8、9 9个脉冲采样个脉冲采样3 3次数据位次数据位, ,并并3 3中取中取2 2保留采样值。保留采样值。 接收:接收:REN=1REN=1,允许接收。,允许接收。 接收完一帧,若接收完一帧,若RI=0RI=0且停止位为且停止位为1 (1 (或或SM2=0)SM2=0),将接收数据装入将接收数据装入SBUF, SBUF, 停止位装入停止位装入RB8,
29、 RB8, 并使并使RI=1, RI=1, 向向CPUCPU发申请中断请求;否则丢弃接收数据,不置发申请中断请求;否则丢弃接收数据,不置位位RIRI3. 方式方式2和方式和方式3: 9位数据位数据异步通讯方式异步通讯方式(1) 一帧为一帧为11位:位:9位数据位,位数据位,1个起始位个起始位(0),1个停止个停止位位(1),第第9位数据位在位数据位在TB8/RB8中,常用作校验位和多机中,常用作校验位和多机通讯标识位通讯标识位(2) RXD:接收数据端接收数据端; TXD:发送数据端发送数据端(3) 波特率:波特率:方式方式2:B=(2SMOD/64)fosc 方式方式3:B=(2SMOD/3
30、2)T1溢出率溢出率(4) 发送:发送:先装入先装入TB8, 写入写入SBUF并启动发送并启动发送, 发送结发送结束束, TI=1 接收:接收:REN=1,允许接收接收完一帧,若,允许接收接收完一帧,若RI=0且第且第9位为位为1 (或或SM2=0),将接收数据装入接收,将接收数据装入接收SBUF,第,第9位位装入装入RB8,使,使RI=1;否则丢弃接收数据不置位;否则丢弃接收数据不置位RI第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术3. 方式方式2和方式和方式3: 9位数据位数据异步通讯方式异步通讯方式(5)方式方式2与与3 只有一点不同,方式只有一点不
31、同,方式2的波特率相对固定,的波特率相对固定,方式方式3的波特率则不定的波特率则不定(6) 工作原理与方式工作原理与方式1的不同:多一个第的不同:多一个第9位数据位数据TB8(发发送送)和和RB8(接收接收)第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术4 波特率设计波特率设计(1).方式方式0: 每个机器周期接收或发送一位数据,每个机器周期接收或发送一位数据,波特率由时钟频率波特率由时钟频率fosc决定:决定: B = fosc/12(2).方式方式2: 波特率由时钟频率波特率由时钟频率fosc和和SMOD位位(PCON.7)共同决定:共同决定: B=(2
32、SMOD/64)fosc 当当SMOD=0 时:时: B=fosc/64 当当SMOD=1 时:时: B=fosc/32第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术(3). 方式方式1和方式和方式3的波特率的波特率1) 方式方式1和方式和方式3的波特率可变,由定时器的波特率可变,由定时器T1的溢出率和的溢出率和SMOD位决定:位决定:B=(2SMOD/32)T1溢出率溢出率2) T1用作波特率发生器时,通常选用方式用作波特率发生器时,通常选用方式2,溢出率取决于计数速率和定时器的预置值溢出率取决于计数速率和定时器的预置值3) T1选用方式选用方式2时,溢出
33、周期为时,溢出周期为 = (28 -X)TM = (256 -X)12/ fosc第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术3. 方式方式1和方式和方式3的波特率的波特率(4) 溢出率为溢出周期的倒数溢出率为溢出周期的倒数(5) 波特率公式为:波特率公式为:B=(2SMOD/32)fosc/12(256-X)(6) 定时初值为定时初值为 X = 256 - fosc/122SMOD/(32B) = 256 - 2SMODfosc/(384B) =TH1第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术例:假设例:假设某某M
34、CS-51单片机系统单片机系统, 串行口工作于模式串行口工作于模式3, 要要求传送波特率为求传送波特率为1200 Hz, 作为波特率发生器的定时器作为波特率发生器的定时器T1工作在方式工作在方式2 时时, 请求出计数初值请求出计数初值X (TH)为多少?设为多少?设单片机的振荡频率为单片机的振荡频率为6MHz 因为因为串行口工作于模式串行口工作于模式 3 时的波特率为时的波特率为 ) 1256(123223THfOSCSMOD的波特率模式)2/32(122561SMODOSCfTH波特率第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术当当SMOD=0 时时,
35、初值初值 TH1= 256-6106/(1 2001232/1) =242.979243=0F3H当当SMOD=1 时时, 初值初值 TH1=256-6106/(12001232/2) =229.958 230=0E6H 串串行行口口的的波波特特率率C/T工作方式波特率/bpsfosc/MHZ定时器T1SMOD模式定时器初值方式01M12方式2375K121187.5K120方式1方式362.5K12102FFH19.2K11.059102FDH9.6K11.059002FDH4.8K11.059002FAH2.4K11.059002F4H1.2K11.059002E8H137.511.059
36、0021DH11012001FEEBH方式00.5M6方式2187.5K61方式1方式319.2K6102FEH9.6K6102FDH4.8K6002FDH2.4K6002FAH1.2K6002F3H0.6K6002E6H110600272H556001FEEBH第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术表表6.2 串行口操作模式选择串行口操作模式选择 SM0 SM1 模式 功 能 波特率 0 00 11 01 10101同步移位寄存器 8位UART 9位UART 9位UART fOSC/12 可变(T1溢出率) fOSC/64 或fOSC/32 可变(
37、T1溢出率) 第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术6.3 多机通信多机通信图图 6-10 多机通信多机通信 SM2=1SM2=1SM2=1SM2=1SM2=1SM2=1SM2=1SM2=1TB8=0, DATA=9TB8=0, DATA=9TB8=1, ADDR=2SM2=0SM2=08051主 机RXDTXDTXDRXD80511#从 机TXDRXD80512#从 机TXDRXD80513#从 机8031803180318031TXD RXDTXD RXDTXD RXDTXD RXD1#2#3#第六章第六章 单片机的串行口单片机的串行口单片机原理
38、及接口技术单片机原理及接口技术 多机通信时主、从之间可双向通信,但多机通信时主、从之间可双向通信,但从机之间只能通过主机通信从机之间只能通过主机通信, 不能直接通不能直接通信信 在主机传送给从机的信息中,若在主机传送给从机的信息中,若TB8=1表示传送是地址帧表示传送是地址帧, 当当TB8=0时,表示传时,表示传送的是数据帧送的是数据帧 多机通信时主、从机串行口均工作在方多机通信时主、从机串行口均工作在方式式2或方式或方式3,SM2作为多机通信的控制位。作为多机通信的控制位。(SOCN中的中的SM2设置为设置为1)第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技
39、术 收到地址帧后收到地址帧后, 所有从机都进入各自的中所有从机都进入各自的中断服务程序断服务程序,每个从机在自己的中断服务子程每个从机在自己的中断服务子程序中进行识别:主机发出的地址号序中进行识别:主机发出的地址号=?本从机本从机地址号相同地址号相同. 相同的从机将相同的从机将SCON中中SM2置为置为0,不同的从机,不同的从机SM2=1保持不变保持不变 当主机发出数据帧当主机发出数据帧(TB8=0)时:对于时:对于SM2=0的从机的从机, 由于基地址号与主机发出的由于基地址号与主机发出的地址号相同地址号相同, 所以不管接收到第九位所以不管接收到第九位RB8为为何值,都能激活何值,都能激活RI
40、,使接到的数据有效,使接到的数据有效,完成主机与从机之间一对一的通信完成主机与从机之间一对一的通信第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术串行接口编程举例串行接口编程举例1、串行口的初始化串行口的初始化(1) 按选定串行口的操作模式设定按选定串行口的操作模式设定SCON的的SM0、SM1两位两位二进制编码二进制编码(2) 对于操作模式对于操作模式2或或3, 应根据需要在应根据需要在TB8中写入待发送的第中写入待发送的第9位数据位数据(3) 若选定的操作模式不是模式若选定的操作模式不是模式0, 还需设定接收还需设定接收/发送的波特发送的波特率率 设定设定
41、SMOD的状态的状态, 以控制波特率是否加倍以控制波特率是否加倍 若选定操作模式若选定操作模式1或或3, 则应对定时器则应对定时器 T1进行初始化以设进行初始化以设定其溢出率定其溢出率第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术串行口初始化编程格式:串行口初始化编程格式:SIO: MOV SCON,#data ;写方式字且写方式字且TI=RI=0MOV PCON,#80H ;波特率加倍波特率加倍MOV TMOD,#20H ;T1作波特率发生器作波特率发生器MOV TH1,#X ;选定波特率选定波特率MOV TL1,#X SETB TR1SETB EA ;开
42、串行口中断开串行口中断SETB ES第六章第六章 单片机的串行口单片机的串行口单片机原理及接口技术单片机原理及接口技术2、 串行口的应用串行口的应用 例例6.1用用8051单片机串行口外接串入单片机串行口外接串入并出移位寄存器并出移位寄存器74HC164扩展扩展8位并行口。位并行口。8位并行口的每位都接一个发位并行口的每位都接一个发光二极管(图中仅画光二极管(图中仅画3个),要求发光二极管从右到左每个),要求发光二极管从右到左每间隔间隔1秒轮流显示,并不断循环。设发光二极管为共阴极秒轮流显示,并不断循环。设发光二极管为共阴极接法,接法,12MHz晶振。电路示意图如图晶振。电路示意图如图6-11
43、所示所示CLR9CLK8A1B2QA3QB4QC5QD6QE10QF11QG12QH1374HC164RXDTXD8051VCCLEDLEDLED解:设数据串行发送采用中断方式,显示的延迟通过调用延迟程序解:设数据串行发送采用中断方式,显示的延迟通过调用延迟程序DL1S来实现。来实现。完整程序清单如下:完整程序清单如下:ORG 0023H ;串行口中断入口串行口中断入口 AJMP SHIFT_L ;转入串行口中断服务程序转入串行口中断服务程序 ORG 100H ;主程序起始地址主程序起始地址MAIN:MOV SCON ,#00H ;串行口方式串行口方式0初始化初始化 MOV A ,#01H ;最右边一位发光二极管先亮最右边一位发光二极管先亮 SETB P1.0 ;允许并行输出允许并行输出SETB ES ;允许串行口中断允许串行口中断SETB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年重型破碎机项目商业计划书
- 2025-2030年荞麦壳枕芯项目投资价值分析报告
- 2025-2030年美姿带项目投资价值分析报告
- 2025-2030年真空喷射器项目商业计划书
- 2025-2030年燃料电池用预加工碳板项目投资价值分析报告
- 2025-2030年洗洁擦项目商业计划书
- 2025-2030年木棉枕芯项目商业计划书
- 2025-2030年PVC多层吸音地板项目商业计划书
- 《电学基础知识培训》课件
- 2025企业合同管理中的风险及防控措施
- 2025年山东地区光明电力服务公司招聘笔试参考题库含答案解析
- (中等生篇)2025年高考备考高中历史个性化分层教辅之宋元时期
- Unit 6 Beautiful landscapes Integration 说课稿 -2024-2025学年译林版英语七年级下册001
- 上海市八校2025届高考数学三模试卷含解析
- 医务人员手卫生规范课件
- 【MOOC】太极功夫-西南交通大学 中国大学慕课MOOC答案
- 知不足而后进 望远山而力行-期中家长会【课件】
- 氟化工艺作业安全培训
- 数字减影血管造影(DSA)X射线设备质量控制检测规范
- 化工设施设备维护保养方案
- 2024-2030年中国食品辐照行业市场发展趋势与前景展望战略分析报告
评论
0/150
提交评论