《第9章 CPU外围功能单元与IO接口技术[3].ppt》由会员分享,可在线阅读,更多相关《第9章 CPU外围功能单元与IO接口技术[3].ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、福州大学物理与信息工程学院7/16/20231福州大学物理与信息工程学院第九章 CPUCPU外围功能单元与IOIO接口技术 9.29.2 80C5180C51单片机串行接口单片机串行接口7/16/20232福州大学物理与信息工程学院一、基本概念一、基本概念1、并行通信和串行通信、并行通信和串行通信n并行通信:并行通信:并行通信:并行通信:数据的各位同时进行传递的通信方式。数据的各位同时进行传递的通信方式。数据的各位同时进行传递的通信方式。数据的各位同时进行传递的通信方式。优点:优点:优点:优点:传递速度快,效率高;传递速度快,效率高;传递速度快,效率高;传递速度快,效率高;缺点:缺点:缺点:缺
2、点:有多少位就要多少根数据线,传递成本高。有多少位就要多少根数据线,传递成本高。有多少位就要多少根数据线,传递成本高。有多少位就要多少根数据线,传递成本高。一般用于电路芯片内部,同一个插板上各部一般用于电路芯片内部,同一个插板上各部一般用于电路芯片内部,同一个插板上各部一般用于电路芯片内部,同一个插板上各部件之间的通信,距离小于件之间的通信,距离小于件之间的通信,距离小于件之间的通信,距离小于30m30m。7/16/20233福州大学物理与信息工程学院n串行通信:串行通信:串行通信:串行通信:数据一位一位按顺序传递的通信方式。数据一位一位按顺序传递的通信方式。优点:优点:最少只需一根传递线即可
3、完成,成本低。最少只需一根传递线即可完成,成本低。缺点:缺点:传递速度慢。传递速度慢。7/16/20234福州大学物理与信息工程学院2、串行通信的波特率、串行通信的波特率n串行通信的数据是按位进行传送的,每秒钟传送串行通信的数据是按位进行传送的,每秒钟传送的二进制数码的位数称之为波特率(也称比特数)的二进制数码的位数称之为波特率(也称比特数)。n单位是单位是bps(bit per second),即位即位/秒。秒。n波特率是串行通信的重要指标,用于衡量数据传波特率是串行通信的重要指标,用于衡量数据传输的速率。输的速率。7/16/20235福州大学物理与信息工程学院3、串行通信的两种基本方式、串
4、行通信的两种基本方式n异步通信异步通信异步通信异步通信 以字符为单位,数据是一帧一帧传送的。以字符为单位,数据是一帧一帧传送的。以字符为单位,数据是一帧一帧传送的。以字符为单位,数据是一帧一帧传送的。帧:帧:帧:帧:一串数。包括起始位、数据位、奇偶校验位、停一串数。包括起始位、数据位、奇偶校验位、停一串数。包括起始位、数据位、奇偶校验位、停一串数。包括起始位、数据位、奇偶校验位、停止位。止位。止位。止位。起始位:起始位:起始位:起始位:0 0,表示开始接受数据或用来调整时钟。,表示开始接受数据或用来调整时钟。,表示开始接受数据或用来调整时钟。,表示开始接受数据或用来调整时钟。数据位:数据位:数
5、据位:数据位:5 58 8位位位位 奇偶校验位:奇偶校验位:奇偶校验位:奇偶校验位:可省略,或代表数据的性质(地址或数可省略,或代表数据的性质(地址或数可省略,或代表数据的性质(地址或数可省略,或代表数据的性质(地址或数据)据)据)据)停止位:停止位:停止位:停止位:1 1,便于接收端辨识下一帧数据的起始位。,便于接收端辨识下一帧数据的起始位。,便于接收端辨识下一帧数据的起始位。,便于接收端辨识下一帧数据的起始位。D0D1D2D3D4D5D6D7停止位停止位起始位起始位7/16/20236福州大学物理与信息工程学院n同步通信同步通信 按数据块传送。即将需要传送的字符顺序连按数据块传送。即将需要
6、传送的字符顺序连按数据块传送。即将需要传送的字符顺序连按数据块传送。即将需要传送的字符顺序连接起来,组成一个数据块。接起来,组成一个数据块。接起来,组成一个数据块。接起来,组成一个数据块。在数据传送前用同步字符(在数据传送前用同步字符(在数据传送前用同步字符(在数据传送前用同步字符(1 12 2个)来指示,个)来指示,个)来指示,个)来指示,或用时钟实现发送端和接收端同步。或用时钟实现发送端和接收端同步。或用时钟实现发送端和接收端同步。或用时钟实现发送端和接收端同步。在数据块后面加上特殊的校验字符。在数据块后面加上特殊的校验字符。在数据块后面加上特殊的校验字符。在数据块后面加上特殊的校验字符。
7、同步通信中字符间无间隔,也不用起始位和同步通信中字符间无间隔,也不用起始位和同步通信中字符间无间隔,也不用起始位和同步通信中字符间无间隔,也不用起始位和停止位,因此传送速率高,但硬件复杂。停止位,因此传送速率高,但硬件复杂。停止位,因此传送速率高,但硬件复杂。停止位,因此传送速率高,但硬件复杂。7/16/20237福州大学物理与信息工程学院4、串行数据的通信类别、串行数据的通信类别n单工单工:单向传送数据,通信双方中一方固定为发:单向传送数据,通信双方中一方固定为发送端,另一端固定为接收端。只需要一条数据线。送端,另一端固定为接收端。只需要一条数据线。n半双工半双工:允许数据在两个方向的任一方
8、向传送,:允许数据在两个方向的任一方向传送,但每次只能有一端发送。但每次只能有一端发送。n全双工全双工:数据双向传送,且可以同时发送和接收,:数据双向传送,且可以同时发送和接收,需要两条数据线。要求两端的通信设备具有完整需要两条数据线。要求两端的通信设备具有完整和独立的发送、接收功能。和独立的发送、接收功能。发送器发送器接收器接收器发送器发送器接收器接收器7/16/20238福州大学物理与信息工程学院二、二、80C5180C51单片机串行口的结构单片机串行口的结构 UARTUART串行口的结构如下图所示,可分串行口的结构如下图所示,可分串行口的结构如下图所示,可分串行口的结构如下图所示,可分为
9、两大部分:为两大部分:为两大部分:为两大部分:波特率发生器波特率发生器波特率发生器波特率发生器和和和和串行口串行口串行口串行口。7/16/20239福州大学物理与信息工程学院通过串行数据接收通过串行数据接收端引脚端引脚RXD(P3.0)RXD(P3.0)和和串行数据发送端引串行数据发送端引脚脚TXD(P3.1)TXD(P3.1)与外界与外界进行串行通信进行串行通信7/16/202310福州大学物理与信息工程学院指令指令指令指令MOV SBUF,XXMOV SBUF,XXMOV SBUF,XXMOV SBUF,XX把数据送入发把数据送入发把数据送入发把数据送入发送缓冲器送缓冲器送缓冲器送缓冲器S
10、BUFSBUFSBUFSBUF的同时,启动串行的同时,启动串行的同时,启动串行的同时,启动串行发送,数据以波特率右移,一帧发送,数据以波特率右移,一帧发送,数据以波特率右移,一帧发送,数据以波特率右移,一帧右移完毕后,右移完毕后,右移完毕后,右移完毕后,TITITITI置置置置1 1 1 1。1 0 0 1 1 1 0 11 0 0 1 1 1 0 10 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 0 0 1 1 1 0 1 0 0 1 1 1 01 1 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 0 0 1 1 1 1 0 0 1 1
11、10 1 0 1 0 0 1 1 1 1 1 1 1 1 1 10 0 00 0 0 1 0 0 1 1 1 0 0 1 11 0 1 1 0 1 0 0 1 1 1 1 1 1 1 10 0 0 0 0 00 0 1 0 0 1 1 0 0 11 1 0 1 1 1 0 1 0 0 1 1 1 1 1 10 0 0 0 0 00 0 0 0 1 0 0 1 0 01 1 1 0 1 1 1 1 0 1 0 0 1 1 1 10 0 0 0 0 0 0 00 0 0 0 1 1 0 00 1 1 1 0 10 1 1 1 0 1 0 0 1 10 0 0 0 0 0 0 0 0 00 0 0
12、0 1 1 0 0 1 1 1 0 10 0 1 1 1 0 1 0 00 0 00 0 0 0 0 0 0 0 00 0 0 0 1 0 0 1 1 1 0 11 0 0 1 1 1 0 1 1 0 0 1 1 1 0 11 0 0 1 1 1 0 1 0 00 01 11 17/16/202311福州大学物理与信息工程学院三、三、MCS51单片机的工作方式单片机的工作方式与串行口有关的与串行口有关的SFR有两个:有两个:n串行口控制寄存器串行口控制寄存器SCON(98H):):它用于它用于串行口的工作方式定义和工作状态标志。串行口的工作方式定义和工作状态标志。n特殊功能寄存器特殊功能寄存器
13、PCON(87H):):它只有最它只有最高位高位SMOD对串行通信有影响,用于波特率对串行通信有影响,用于波特率的选择。的选择。7/16/202312福州大学物理与信息工程学院串行口的控制寄存器串行口的控制寄存器SCONSCON格式:格式:SM0SM1SM2RENTB8RB8TIRI D7 D6 D5 D4 D3 D2 D1 D0接收中断标志接收中断标志接收中断标志接收中断标志发送中断标志发送中断标志发送中断标志发送中断标志方式方式方式方式2,32,32,32,3时,时,时,时,接收数据的第接收数据的第接收数据的第接收数据的第9 9 9 9位位位位方式方式方式方式2,32,32,32,3,发送
14、数据的第,发送数据的第,发送数据的第,发送数据的第9 9 9 9位位位位接收允许位接收允许位接收允许位接收允许位多机多机多机多机通信控制位通信控制位通信控制位通信控制位方式选择位方式选择位方式选择位方式选择位7/16/202313福州大学物理与信息工程学院专用寄存器专用寄存器专用寄存器专用寄存器PCONPCONPCONPCON格式:格式:格式:格式:PCON的最高位是串行口波特率系数控制的最高位是串行口波特率系数控制位位SMOD,当,当SMOD=1时,使波特率加倍。时,使波特率加倍。SMODSMODGF1GF1GF0GF0PDPDIDLIDL1 1,波特率加倍波特率加倍波特率加倍波特率加倍1
15、1,进入待机方式进入待机方式进入待机方式进入待机方式1 1,进入掉电方式进入掉电方式进入掉电方式进入掉电方式通用标志位通用标志位通用标志位通用标志位0 0通用标志位通用标志位通用标志位通用标志位1 17/16/202314福州大学物理与信息工程学院SM0,SM1 SM0,SM1 SM0,SM1 SM0,SM1 工作方式工作方式工作方式工作方式 功能描述功能描述功能描述功能描述 波特率波特率波特率波特率 0 0 0 0 0 0 0 0 方式方式方式方式0 0 0 0 8 8 8 8位同步移位寄存器位同步移位寄存器位同步移位寄存器位同步移位寄存器 fosc/12 fosc/12 fosc/12 f
16、osc/12 0 1 0 1 0 1 0 1 方式方式方式方式1 1 1 1 10101010位位位位UARTUART 可变可变可变可变 1 0 1 0 1 0 1 0 方式方式方式方式2 2 2 2 11111111位位位位UARTUART fosc/64fosc/64fosc/64fosc/64或或或或fosc/32 fosc/32 fosc/32 fosc/32 1 1 1 1 1 1 1 1 方式方式方式方式3 3 3 3 11111111位位位位UARTUART 可变可变可变可变 方式方式方式方式0 0 0 0:为移位寄存器为移位寄存器为移位寄存器为移位寄存器I/OI/O方式,数据从
17、方式,数据从方式,数据从方式,数据从RXDRXD端串行输入或输出,同步信号从端串行输入或输出,同步信号从端串行输入或输出,同步信号从端串行输入或输出,同步信号从TXDTXD端输出,端输出,端输出,端输出,波特率固定为波特率固定为波特率固定为波特率固定为f foscosc/12/12,数据以数据以数据以数据以8 8位为一帧,位为一帧,位为一帧,位为一帧,先低位后高位依次传送。先低位后高位依次传送。先低位后高位依次传送。先低位后高位依次传送。方式方式方式方式1 1 1 1:为为为为8 8位的异步通信接口,传送一帧信位的异步通信接口,传送一帧信位的异步通信接口,传送一帧信位的异步通信接口,传送一帧信
18、息为息为息为息为1010位,其中位,其中位,其中位,其中1 1位为起始位(位为起始位(位为起始位(位为起始位(0 0),),),),8 8位数位数位数位数据位(低位在前),据位(低位在前),据位(低位在前),据位(低位在前),1 1位停止位(位停止位(位停止位(位停止位(1 1)。这种)。这种)。这种)。这种场合一般用定时器场合一般用定时器场合一般用定时器场合一般用定时器T T1 1作为波特率发生器(这作为波特率发生器(这作为波特率发生器(这作为波特率发生器(这时时时时T T1 1应关中断)应关中断)应关中断)应关中断)方式方式方式方式2 2 2 2:为为为为9 9位的异步通信接口,传送一帧信
19、位的异步通信接口,传送一帧信位的异步通信接口,传送一帧信位的异步通信接口,传送一帧信息为息为息为息为1111位,其中位,其中位,其中位,其中1 1位为起始位(位为起始位(位为起始位(位为起始位(0 0)、)、)、)、1 1位停位停位停位停止位(止位(止位(止位(1 1)、)、)、)、9 9位数据位(位数据位(位数据位(位数据位(8 8位再加上位再加上位再加上位再加上1 1位附加位附加位附加位附加的可编程为的可编程为的可编程为的可编程为0 0或或或或1 1的第九位数据位的第九位数据位的第九位数据位的第九位数据位在在在在RBRB8 8或或或或TBTB8 8)。)。)。)。方式方式方式方式3 3 3
20、 3:与方式与方式与方式与方式2 2相比,区别在于波特率可变。相比,区别在于波特率可变。相比,区别在于波特率可变。相比,区别在于波特率可变。与方式相比,区别在于在一桢数据中,多与方式相比,区别在于在一桢数据中,多与方式相比,区别在于在一桢数据中,多与方式相比,区别在于在一桢数据中,多了一个附加位。附加位可做校验位或多机通了一个附加位。附加位可做校验位或多机通了一个附加位。附加位可做校验位或多机通了一个附加位。附加位可做校验位或多机通信用。信用。信用。信用。可变波特率:可变波特率:可变波特率:可变波特率:方式方式方式方式1 1与方式与方式与方式与方式2 2的设置方法一样的设置方法一样的设置方法一
21、样的设置方法一样7/16/202315福州大学物理与信息工程学院波特率波特率波特率波特率F Foseose(MHZ)(MHZ)SMODSMOD 定时器定时器定时器定时器T T1 1C/TC/T方式方式方式方式定时器初值定时器初值定时器初值定时器初值62.5K62.5K12121 10 02 2FFHFFH19.2K19.2K11.05911.0591 10 02 2FDHFDH9.6K9.6K11.05911.0590 00 02 2FDHFDH4.8K4.8K11.05911.0590 00 02 2FAHFAH2.4K2.4K11.05911.0590 00 02 2F4HF4H1.2K1
22、.2K11.05911.0590 00 02 2E8HE8H137.5K137.5K11.05911.0590 00 02 21DH1DH1101106 60 00 02 272H72H11011012120 00 01 1FEEBHFEEBH7/16/202316福州大学物理与信息工程学院四、串行口的发送和接收电路四、串行口的发送和接收电路 发送电路包括发送电路包括SBUF(发送),零发送),零检测器和发送控制器,发送过程可通过检测器和发送控制器,发送过程可通过MOV SBUF,A指令发出。指令发出。接收电路包括接收电路包括SBUF(接收)、接接收)、接收移位寄存器和接收控制器等。收移位寄存
23、器和接收控制器等。7/16/202317福州大学物理与信息工程学院1 1、方式、方式0 0发送时序发送时序 7/16/202318福州大学物理与信息工程学院1 1、方式、方式0 0接收时序接收时序 7/16/202319福州大学物理与信息工程学院2 2、方式、方式1发送时序发送时序 7/16/202320福州大学物理与信息工程学院2 2、方式、方式1接收时序接收时序 7/16/202321福州大学物理与信息工程学院2 2、方式、方式2和和3的的发送时序发送时序 7/16/202322福州大学物理与信息工程学院2 2、方式、方式2和和3的的接收时序接收时序 7/16/202323福州大学物理与信
24、息工程学院五、多五、多CPU通信通信n复杂的工作,需要相对独立地把一些工作分开处复杂的工作,需要相对独立地把一些工作分开处理和控制,形成分布式处理。理和控制,形成分布式处理。n分布式处理多采用多机主从结构。分布式处理多采用多机主从结构。7/16/202324福州大学物理与信息工程学院1 1)SM2SM2、TB8TB8、RB8RB8的用法说明:的用法说明:的用法说明:的用法说明:在在在在方式方式方式方式0 0,SM2SM2应为应为应为应为0 0,TB8TB8和和和和RB8RB8不用。不用。不用。不用。在在在在方式方式方式方式1 1,TB8TB8不用。不用。不用。不用。如果如果如果如果SM2=0S
25、M2=0,无条件接收无条件接收无条件接收无条件接收。当收到。当收到。当收到。当收到8 8位数位数位数位数据后,又收到停止位,则不论该停止位为据后,又收到停止位,则不论该停止位为据后,又收到停止位,则不论该停止位为据后,又收到停止位,则不论该停止位为0 0或或或或1 1都进入都进入都进入都进入RB8RB8,8 8位数据进入位数据进入位数据进入位数据进入SBUFSBUF,且置位且置位且置位且置位RI;RI;如果如果如果如果SM2=1SM2=1,有条件接收有条件接收有条件接收有条件接收。只有收到有效只有收到有效只有收到有效只有收到有效的停止位(为的停止位(为的停止位(为的停止位(为1 1)才进入)才
26、进入)才进入)才进入RB8RB8,8 8位数据才进入位数据才进入位数据才进入位数据才进入SBUFSBUF,并激活并激活并激活并激活RIRI,否则将丢失已收到的一帧数否则将丢失已收到的一帧数否则将丢失已收到的一帧数否则将丢失已收到的一帧数据。据。据。据。7/16/202325福州大学物理与信息工程学院在在在在方式方式方式方式2 2和方式和方式和方式和方式3 3,TB8TB8是要发送的第是要发送的第是要发送的第是要发送的第9 9位数位数位数位数据,可用软件置据,可用软件置据,可用软件置据,可用软件置“1”1”或或或或“0”0”,RB8RB8是接收到是接收到是接收到是接收到的第的第的第的第9 9位数
27、据。位数据。位数据。位数据。当当SM2=0时,时,无条件接收无条件接收无条件接收无条件接收。9位数据收齐位数据收齐后,则不论第后,则不论第9位数据为位数据为0或为或为1,都会把收到,都会把收到的数据装入的数据装入SBUF和和RB8,置位置位RI;当当SM2=1时,时,有条件接收有条件接收有条件接收有条件接收。收到的第收到的第 9位数位数据必须为据必须为1,才把收到的数据装入,才把收到的数据装入SBUF和和RB8,并置位并置位RI,否则将丢失已收到的一帧信息,也否则将丢失已收到的一帧信息,也不置位不置位RI。7/16/202326福州大学物理与信息工程学院2)实现主、从多机通信的方法)实现主、从
28、多机通信的方法 通信前,从机将通信前,从机将通信前,从机将通信前,从机将SMSM2 2置置置置“1”1”,处于,处于,处于,处于有条件接有条件接有条件接有条件接收中收中收中收中。当主机要发送一个数据给几个从机之一时,。当主机要发送一个数据给几个从机之一时,。当主机要发送一个数据给几个从机之一时,。当主机要发送一个数据给几个从机之一时,它先发一个目标从机的地址字节(它先发一个目标从机的地址字节(它先发一个目标从机的地址字节(它先发一个目标从机的地址字节(地址字节的第地址字节的第地址字节的第地址字节的第9 9位为位为位为位为1 1),它可以中断所有从机,每一台从机都),它可以中断所有从机,每一台从
29、机都),它可以中断所有从机,每一台从机都),它可以中断所有从机,每一台从机都接收该地址字节,并判断主机是否要寻址本机,接收该地址字节,并判断主机是否要寻址本机,接收该地址字节,并判断主机是否要寻址本机,接收该地址字节,并判断主机是否要寻址本机,若是则清若是则清若是则清若是则清“0”0”SMSM2 2位,转换为位,转换为位,转换为位,转换为无条件接收无条件接收无条件接收无条件接收,准备,准备,准备,准备接收数据字节(接收数据字节(接收数据字节(接收数据字节(数据字节第数据字节第数据字节第数据字节第9 9位为位为位为位为0 0 )。而未被)。而未被)。而未被)。而未被寻址的从机仍保持寻址的从机仍保
30、持寻址的从机仍保持寻址的从机仍保持SMSM2 2=1=1,故接收不了主机发出,故接收不了主机发出,故接收不了主机发出,故接收不了主机发出的数据字节。的数据字节。的数据字节。的数据字节。7/16/202327福州大学物理与信息工程学院六、六、MCS51单片机串行口单片机串行口的应用的应用7/16/202328福州大学物理与信息工程学院例例1:用:用8031串行口外接串行口外接CD4049扩展扩展8位并行位并行输出口如图所示;输出口如图所示;8位并行输出口的各位都位并行输出口的各位都接一个发光二极管要求发光二极管从左到右接一个发光二极管要求发光二极管从左到右以一定延时轮流显示,且不断循环发光二极以
31、一定延时轮流显示,且不断循环发光二极管为共阴极接法管为共阴极接法 设数据串行发送采用查询方式,显示的延时设数据串行发送采用查询方式,显示的延时设数据串行发送采用查询方式,显示的延时设数据串行发送采用查询方式,显示的延时依靠调用延时子程序依靠调用延时子程序依靠调用延时子程序依靠调用延时子程序DELAYDELAY来实现。来实现。来实现。来实现。ORG 2000HORG 2000H MOV SCON,#00H MOV SCON,#00H ;串行口方式初始化;串行口方式初始化;串行口方式初始化;串行口方式初始化 MOV A,#80HMOV A,#80H ;最左一位发光管先亮最左一位发光管先亮最左一位发
32、光管先亮最左一位发光管先亮 CLR PCLR P1.01.0 ;关闭并行输出关闭并行输出关闭并行输出关闭并行输出STARTSTART:MOV SBUF,A MOV SBUF,A ;开始串行输出;开始串行输出;开始串行输出;开始串行输出LOOPLOOP:JNB TI,LOOPJNB TI,LOOP ;查询;查询;查询;查询TI TI SETB P SETB P1.01.0 ;启动并行输出;启动并行输出;启动并行输出;启动并行输出 ACALL DELAY ACALL DELAY ;显示延时一段时间;显示延时一段时间;显示延时一段时间;显示延时一段时间 CLR TI CLR TI ;清发送中断标志;
33、清发送中断标志;清发送中断标志;清发送中断标志 RR ARR A ;准备右移一位显示;准备右移一位显示;准备右移一位显示;准备右移一位显示 CLR PCLR P1.01.0 ;关闭并行输出;关闭并行输出;关闭并行输出;关闭并行输出 SJMP START SJMP START ;再一次串行输出;再一次串行输出;再一次串行输出;再一次串行输出 7/16/202329福州大学物理与信息工程学院例例2设有甲、乙两台单片机,编出两台单片设有甲、乙两台单片机,编出两台单片机间实现如下串行通讯功能的程序:机间实现如下串行通讯功能的程序:甲机发送:甲机发送:将首址为将首址为ADDRT的的128个字节的个字节的
34、数据块顺序向乙机发送;数据块顺序向乙机发送;乙机接收:乙机接收:将接收的将接收的128个字节的数据块,顺个字节的数据块,顺序存放在以首址为序存放在以首址为ADDRR的数据缓冲区中。的数据缓冲区中。7/16/202330福州大学物理与信息工程学院串行口串行口初始化初始化定时器定时器1 1初始化初始化送送400bit/s400bit/s的时间常数的时间常数启动定时器启动定时器1 1开中断开中断置置初值初值取首址取首址数据数据启动串行发送启动串行发送等待中断等待中断清清中断标志中断标志数据块发送完否数据块发送完否修改指针修改指针取发送数据取发送数据启动串行发送启动串行发送中断返回中断返回关串行关串行
35、口中断口中断甲机发送之主程序甲机发送之主程序甲机发送之主程序甲机发送之主程序甲机发送数据中断服务程序甲机发送数据中断服务程序甲机发送数据中断服务程序甲机发送数据中断服务程序YN ORG 0000HORG 0000H LJMP LJMP MAINTMAINT ORG 0023HORG 0023H LJMP LJMP INTSE1INTSE1MAINTMAINT:MOV CON,#01000000BMOV CON,#01000000B MOV TMOD,#20H MOV TMOD,#20H MOV TH1,#0D9HMOV TH1,#0D9H MOV TL1,#0D9H MOV TL1,#0D9H
36、 SETB TCON.6SETB TCON.6 SETB EA SETB EA SETB ES SETB ES MOV DPTR,ADDRTMOV DPTR,ADDRT MOV R0,#00H MOV R0,#00H MOVX A,DPTR MOVX A,DPTR MOV SBUF,A MOV SBUF,A SJMP$SJMP$INTSE1:INTSE1:CLR SCON.1 CLR SCON.1 CJNE R0,#7FH,CJNE R0,#7FH,LOOPLOOP CLR ES CLR ES SJMP ENDT SJMP ENDTLOOP:LOOP:INC R0 INC R0 INC DPT
37、R INC DPTR MOVX A,DPTR MOVX A,DPTR MOV SUBF,A MOV SUBF,AENDT:ENDT:RETI RETI7/16/202331福州大学物理与信息工程学院乙机接收主程序流程乙机接收主程序流程乙机接收主程序流程乙机接收主程序流程串行口串行口初始化初始化定时器定时器1 1初始化初始化送送400bit/s400bit/s的时间常数的时间常数启动定时器启动定时器1 1开开中断中断置置初值初值等待中断等待中断禁止串行中断禁止串行中断乙机接收中断服务程序乙机接收中断服务程序乙机接收中断服务程序乙机接收中断服务程序清清中断标志中断标志取取接收数据接收数据数据送相应
38、缓冲区数据送相应缓冲区修改指针修改指针数据接收完否?数据接收完否?中断返回中断返回Y YN N ORG 0000HORG 0000H LJMP LJMP MAINR MAINR ORG 0023HORG 0023H LJMP LJMP INTSE2 INTSE2MAINRMAINR:MOV SCON,#01010000B:MOV SCON,#01010000B MOV TMOD,#20H MOV TMOD,#20H MOV TH1,#0D9H MOV TH1,#0D9H MOV TL1,#0D9H MOV TL1,#0D9H SETB TCON.6 SETB TCON.6 SETB EA SE
39、TB EA SETB ES SETB ES MOV DPTR,ADDRR MOV DPTR,ADDRR MOV R0,#00H MOV R0,#00H SJMP$SJMP$INTSE2:INTSE2:CPL SCON.0 CPL SCON.0 MOV A,SBUF MOV A,SBUF MOVX DPTR,A MOVX DPTR,A CJNE R0,#7FH,CJNE R0,#7FH,LOOPLOOP CLR ET1 CLR ET1 CLR ES CLR ES SJMP SJMP SENDSENDLOOP:LOOP:INC R0 INC R0 INC DPTR INC DPTRSEND:SEN
40、D:RETI RETI7/16/202332福州大学物理与信息工程学院例例例例3:3:3:3:设多机单设多机单设多机单设多机单工通讯如图所示。工通讯如图所示。工通讯如图所示。工通讯如图所示。通讯程序应实现如下功能:通讯程序应实现如下功能:通讯程序应实现如下功能:通讯程序应实现如下功能:主机:主机:主机:主机:先向从机发送一帧地址信先向从机发送一帧地址信先向从机发送一帧地址信先向从机发送一帧地址信息,然后再向从机发送息,然后再向从机发送息,然后再向从机发送息,然后再向从机发送1010个数据个数据个数据个数据信息。信息。信息。信息。从机:从机:从机:从机:接收主机发来的地址信息,接收主机发来的地址信息,接收主机发来的地址信息,接收主机发来的地址信息,并与本机的地址号相比较,若不并与本机的地址号相比较,若不并与本机的地址号相比较,若不并与本机的地址号相比较,若不符合,仍保持符合,仍保持符合,仍保持符合,仍保持SMSM2 2=1=1不变;若相不变;若相不变;若相不变;若相符,则使符,则使符,则使符,则使SMSM2 2清清清清零,准备接收后零,准备接收后零,准备接收后零,准备接收后续数据信息,直至接收完续数据信息,直至接收完续数据信息,直至接收完续数据信息,直至接收完1010个数个数个数个数据信息。据信息。据信息。据信息。7/16/202333福州大学物理与信息工程学院