第8章-串行数据通信

上传人:cl****1 文档编号:586463196 上传时间:2024-09-04 格式:PPT 页数:31 大小:618KB
返回 下载 相关 举报
第8章-串行数据通信_第1页
第1页 / 共31页
第8章-串行数据通信_第2页
第2页 / 共31页
第8章-串行数据通信_第3页
第3页 / 共31页
第8章-串行数据通信_第4页
第4页 / 共31页
第8章-串行数据通信_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《第8章-串行数据通信》由会员分享,可在线阅读,更多相关《第8章-串行数据通信(31页珍藏版)》请在金锄头文库上搜索。

1、8-1 8-1 串行通信基础知识串行通信基础知识8-2 8-2 串行口及控制寄存器串行口及控制寄存器8-3 8-3 串行通信工作方式串行通信工作方式8-4 8-4 串行口的应用串行口的应用第第8章章 串行数据通信串行数据通信8-1 8-1 串行通信基础知识串行通信基础知识一、串行通信基本原理:一、串行通信基本原理: 并行并行数据传送数据传送 同步同步 串行串行 异步(用于单片机中)异步(用于单片机中)并并 行行 数数 据据 传传 送送串串 行行 数数 据据 传传 送送原原 理理各数据位同时传送各数据位同时传送数据位按位顺序进行数据位按位顺序进行优优 点点传送速度快、效率高传送速度快、效率高最少

2、只需一根传输线即可完成:成本低最少只需一根传输线即可完成:成本低缺缺 点点数据位数数据位数传输线根数:成本高传输线根数:成本高速度慢速度慢应应 用用传送距离传送距离30米,用于计算机内部米,用于计算机内部几米几千公里,用于计算机与外设之间几米几千公里,用于计算机与外设之间异步通信的双方需要两项约定:异步通信的双方需要两项约定:1.1.字符格式:字符格式:一帧字符位数的规定:数据位,校验位,起始位和停止位。一帧字符位数的规定:数据位,校验位,起始位和停止位。2.2.波特率波特率( (位位/ /秒秒) )和传送速率的规定:和传送速率的规定:例:例:要求每秒传送要求每秒传送120120个字符,每帧为

3、个字符,每帧为1010位。位。解:解: B=12010=1200B=12010=1200波特波特 每位每位0.83ms0.83ms 数据位数据位传送输率传送输率=1208=960=1208=960位位/ /秒秒( (二二) )同步通信:同步通信: 以一串字符为一个传送单位,字符间不加标识位,在一串字符开始以一串字符为一个传送单位,字符间不加标识位,在一串字符开始 用用同步字符同步字符标识,硬件要求高,通讯双方须标识,硬件要求高,通讯双方须严格同步严格同步。二、串行通信的基本方式:二、串行通信的基本方式:( (一一) )异步通信:异步通信: 以字符为传送单位用以字符为传送单位用起始位起始位和和停

4、止位停止位标识每个字符的开始和结束字标识每个字符的开始和结束字 符,间隔不固定,只需字符传送时同步即可符,间隔不固定,只需字符传送时同步即可。 异步通讯常用格式:一个字符帧异步通讯常用格式:一个字符帧D0D1D2D3D4D5D6D7停止位停止位起始位起始位三、串行接口功能:三、串行接口功能:(1 1)发送器:并)发送器:并串数据格式转换,添加标识位和校验位,串数据格式转换,添加标识位和校验位,一帧发送结束,设置结束标志,申请中断。一帧发送结束,设置结束标志,申请中断。(2 2)接收器:串)接收器:串并数据格式转换,检查错误,去掉标识位,并数据格式转换,检查错误,去掉标识位,保存有效数据,设置接

5、收结束标志,申请中断。保存有效数据,设置接收结束标志,申请中断。(3 3)控制器:接收编程命令和控制参数,设置工作方式:同)控制器:接收编程命令和控制参数,设置工作方式:同步步/ /异步、字符格式、波特率、校验方式、数据位与同步时钟比异步、字符格式、波特率、校验方式、数据位与同步时钟比例等。例等。四、串行数据传送方向:四、串行数据传送方向:1 1、单工通讯:单工通讯:数据单向传送。(数据单向传送。(1 1条数据线,单向)条数据线,单向)2 2、半双工通讯:半双工通讯:数据可数据可分时分时双向传送。(双向传送。(2 2条数据线,双向)条数据线,双向)3 3、全双工通讯:全双工通讯:可可同时同时进

6、行发送和接收。进行发送和接收。 (1 1条或条或2 2条数据线,双向)条数据线,双向)发送器发送器接收器接收器地线地线数据线数据线发送接发送接收器收器接收发接收发送器送器地线地线数据线数据线发送接发送接收器收器接收发接收发送器送器地线地线数据线数据线五、异步串行通信的信号形式:五、异步串行通信的信号形式:1、远距离直接传输数字信号,信号会发生畸变,因此要、远距离直接传输数字信号,信号会发生畸变,因此要把数字信号转变为模拟信号再进行传送。可利用光缆、把数字信号转变为模拟信号再进行传送。可利用光缆、专用通信电缆或电话线。专用通信电缆或电话线。 方法:通常使用方法:通常使用频率调制法(频带传送方式)

7、频率调制法(频带传送方式)。通常:通常: “1”:1270Hz或或2225Hz; “0”:1070Hz或或2025Hz。2、因通信时(有干扰)信号要衰减,所以常采用、因通信时(有干扰)信号要衰减,所以常采用RS232电平负逻辑,拉开电平负逻辑,拉开“0”和和“1”的电压档的电压档次,以免信息出错:次,以免信息出错:RS232负逻辑(负逻辑(EIA电平):电平):“0”:+3V+25V;“1”: -3V -25V。最大传输信息的长度为最大传输信息的长度为15米。米。TTL正逻辑:正逻辑:“0”: 0 2.4V;“1”: 3.6V+5V;高高阻:阻:2.4V3.6V。TTL电平直接传输距电平直接传

8、输距离一般不超过离一般不超过1.5米。米。RS232负逻辑:负逻辑:“0”:+5V+15V;“1”: -5V -15V。最大传输信息的长度为最大传输信息的长度为15米。米。RS-232C(电平转换芯片为电平转换芯片为MAX232)RS-422RS-4858-28-2 串行口及控制寄存器串行口及控制寄存器串行接口输入串行接口输入/ /输出引脚:输出引脚:TXD(PTXD(P3.13.1) )、RXD(PRXD(P3.03.0) )数据格式:按不同方式,一帧数据位数数据格式:按不同方式,一帧数据位数 8/10/118/10/11 发送发送/ /接收时,数据皆接收时,数据皆低位在前低位在前。一帧字符

9、发送一帧字符发送/ /接收结束,接收结束,置位标志位置位标志位(TI/RI)(TI/RI),并申请串行中断。并申请串行中断。 中断控制:中断允许位中断控制:中断允许位ESES、总允许总允许EAEA; 中断入口:中断入口:0023H0023H。D0D1D2D3D4D5D6D7停止位停止位起始位起始位D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D8停止位停止位起始位起始位D71 1个全双工串行接口,可同时进行发送和接收。个全双工串行接口,可同时进行发送和接收。8-2-18-2-1 MCS-51串行接口串行接口一、串行接口控制:一、串行接口控制:1.1.数据缓冲器数据缓冲器SBUF:

10、发送发送SBUFSBUF和接收和接收SBUFSBUF共用一个地址共用一个地址99H99H。 1 1)发送发送SBUFSBUF存放待发送的存放待发送的8 8位数据,写入位数据,写入SBUFSBUF将同时将同时 启动发送。发送指令:启动发送。发送指令:M MOV VSBUFSBUF,A A2 2)接收接收SBUFSBUF存放已接收成功的存放已接收成功的8 8位数据,供位数据,供CPUCPU读取。读取。读取串行口接收数据指令:读取串行口接收数据指令:M MOV AV A,SBUFSBUF2.2.节电控制寄存器节电控制寄存器PCON: SMOD(PCON.7):波特率加倍控制位。):波特率加倍控制位。

11、 SMOD=1,波特率加倍;波特率加倍; SMOD=0,则不加倍。则不加倍。SM0SM0、SM1SM1:选择串行口选择串行口4 4种工作方式。种工作方式。SM2SM2:多机控制位,用于多机通讯。多机控制位,用于多机通讯。RENREN:允许接收控制位,允许接收控制位,REN=1REN=1,允许接收;允许接收; REN=0REN=0,禁止接收。禁止接收。TB8TB8:发送的第发送的第9 9位数据位,可用作校验位和地址位数据位,可用作校验位和地址/ /数据标识位。数据标识位。RB8RB8:接收的第接收的第9 9位数据位或停止位。位数据位或停止位。TI TI :发送中断标志,发送一帧结束,发送中断标志

12、,发送一帧结束,TI=1TI=1,必须必须软件清零软件清零;RI RI :接收中断标志,接收一帧结束,接收中断标志,接收一帧结束,RI=1RI=1,必须必须软件清零软件清零。3.3.串行口控制串行口控制/ /状态寄存器状态寄存器SCON(98H)(98H):请见请见P229P229!8-3 串行通信工作方式串行通信工作方式(1 1)方式)方式0 0:同步移位寄存器方式:同步移位寄存器方式 用于扩展并行用于扩展并行I/OI/O接口。接口。 1. 1. 一帧一帧8 8位,无起始位和停止位。位,无起始位和停止位。 2. RXD2. RXD:数据输入数据输入/ /输出端。输出端。 TXDTXD:同步脉

13、冲输出端,每个脉冲对应一个数据位。同步脉冲输出端,每个脉冲对应一个数据位。 3. 3. 波特率波特率B Bfosc/12fosc/12 如:如:foscfosc12MHz12MHz,B B1MHz1MHz,每位数据占每位数据占1 1 s s。 4. 4. 发送过程:写入发送过程:写入SBUFSBUF,启动发送,启动发送, 一帧发送结束,一帧发送结束,TITI1 1。 接收过程:接收过程:REN=1REN=1且且RI=0RI=0,启动接收,启动接收, 一帧接收完毕,一帧接收完毕,RIRI1 1。SM0SM0、SM1SM1选择四种工作方式。选择四种工作方式。发发送送时时序序写入写入SBUFRXD输

14、出输出TXDTID0D1D2D3D4D5D6D7写写REN=1RI=0RXD输入输入RI 接接收收时时序序(a)(b)时序图:时序图:(2) (2) 方式方式1 1:8 8位位数据异步通讯方式数据异步通讯方式1. 1. 一帧一帧1010位:位:8 8位数据位,位数据位,1 1个起始位个起始位(0)(0),1 1个停止位个停止位(1)(1)。 2. RXD2. RXD:接收数据端。接收数据端。 TXDTXD:发送数据端。发送数据端。3.3.波特率:波特率:用用T T1 1作为波特率发生器,作为波特率发生器, B=(2B=(2SMOD/32)T/32)T1 1溢出率。溢出率。4.4.发送:发送:写

15、入写入SBUFSBUF,同时启动发送,一帧发送结束,同时启动发送,一帧发送结束,TI=1TI=1。 接收:接收:REN=1REN=1,允许接收。允许接收。 接收完一帧,若接收完一帧,若RI=0RI=0且停止位为且停止位为1 (1 (或或SM2=0)SM2=0),将接将接 收数据装入收数据装入SBUFSBUF,停止位装入停止位装入RB8RB8,并使并使RI=1RI=1; 否则丢弃接收数据,不置位否则丢弃接收数据,不置位RIRI。 当当REN=1REN=1,CPUCPU开始采样开始采样RXDRXD引脚引脚负跳变负跳变信号,若出现负跳变,信号,若出现负跳变,才进入数据接收状态,先检测起始位,若第一位

16、为才进入数据接收状态,先检测起始位,若第一位为0 0,继续接收,继续接收其余位;否则,停止接收,重新采样负跳变。其余位;否则,停止接收,重新采样负跳变。 数据采样速率为波特率数据采样速率为波特率1616倍频,在数据位中间,用第倍频,在数据位中间,用第7 7、8 8、9 9个脉冲采样个脉冲采样3 3次数据位,并次数据位,并3 3中取中取2 2保留采样值。保留采样值。写入写入SBUF采样采样(a) 发送时序图发送时序图TXD数据输出数据输出TID0D1D2D3D4D5D6D7停止位停止位起始位起始位RXD输入数据输入数据(b) 接收时序图接收时序图D0D1D2D3D4D5D6D7停止位停止位起始位

17、起始位RI检测检测负跳变负跳变时序图:时序图:(3)(3) 方式方式2 2和方式和方式3 3: 9 9位数据异步通讯方式位数据异步通讯方式1.1.一帧为一帧为1111位:位:9 9位数据位,位数据位,1 1个起始位个起始位(0)(0),1 1个停止位个停止位(1)(1)。 第第9 9位数据位在位数据位在TB8/RB8TB8/RB8中,常用作校验位和多机通讯中,常用作校验位和多机通讯 标识位。标识位。2. RXD2. RXD:接收数据端,接收数据端, TXDTXD:发送数据端。发送数据端。3.3.波特率:波特率:方式方式2 2:B=(2B=(2SMOD/64)fosc /64)fosc 。 方式

18、方式3 3:B=(2B=(2SMOD/32)T/32)T1 1溢出率溢出率 。4.4.发送:发送:先装入先装入TB8TB8,写入写入SBUFSBUF并启动发送,发送结束,并启动发送,发送结束,TI=1TI=1。 接收:接收:REN=1REN=1,允许接收。允许接收。 接收完一帧,若接收完一帧,若RI=0RI=0且第且第9 9位为位为1 (1 (或或SM2=0)SM2=0),将接收数据将接收数据装入接收装入接收SBUFSBUF,第第9 9位装入位装入RB8RB8,使,使RI=1RI=1;否则丢弃接收数据,否则丢弃接收数据,不置位不置位RIRI。(a) 发送时序图发送时序图写入写入SBUFTXD输

19、出输出TIRXD输入输入(b) 接收时序图接收时序图RID0D1D2D3D4D5D6TB8停止位停止位起始位起始位D7D0D1D2D3D4D5D6RB8停止位停止位起始位起始位D7检测检测负跳变负跳变时序图:时序图:(4 4)计算波特率:)计算波特率:方式方式0 0为固定波特率:为固定波特率:B=fosc/12B=fosc/12方式方式2 2可选两种波特率:可选两种波特率: B=(2B=(2SMOD /64)fosc /64)fosc 方式方式1 1、3 3为可变波特率,用为可变波特率,用T T1 1作波特率发生器。作波特率发生器。B=(2B=(2SMOD/32)T/32)T1 1溢出率溢出率

20、T T1 1为方式为方式2 2的时间常数:的时间常数: X = 2X = 28 8 - t/T - t/T (请见(请见P153P153)溢出时间:溢出时间: t= (2t= (28 8 -X)T = (2-X)T = (28 8 -X)12/ fosc-X)12/ foscT T1 1溢出率溢出率=1/t= fosc /12(2=1/t= fosc /12(2n n -X)-X) 波特率波特率B=(2B=(2SMOD /32)fosc/12(2/32)fosc/12(28 8-X)-X)串行口方式串行口方式1 1、3 3,根据波特率选择,根据波特率选择T T1 1工作方式,计算时间常数工作方

21、式,计算时间常数。T T1 1选方式选方式2 2: THTH1 1= X = 2= X = 28 8 - fosc/122- fosc/122SMOD/(32B)/(32B)T T1 1选方式选方式1 1用于低波特率,需考虑用于低波特率,需考虑T T1 1重装时间常数时间。重装时间常数时间。也可选工作方式也可选工作方式3 3(请见(请见P156P156)。4种方式比较:种方式比较:方方式式波波 特特 率率传传 送送 位位 数数发送发送端端接收接收端端用用 途途01/12 fosc(固定不变)固定不变)8(数据)(数据)RXDRXD接移位寄存器,接移位寄存器,扩充并口扩充并口12SMOD/32

22、T1溢出率溢出率10(起始位、(起始位、8位数据位、位数据位、 停止位)停止位)TXDRXD单机通讯单机通讯22SMOD/64 fosc11(第(第9位为位为1:地址;:地址; 为为0:数据):数据)TXDRXD多机通讯多机通讯32SMOD/32 T1溢出率溢出率11位位(同方式(同方式2)TXDRXD多机通讯多机通讯8-4 8-4 串行口的应用串行口的应用 串行口初始化编程格式:串行口初始化编程格式:SIO:MOV SCON,#控制状态字控制状态字 ;写方式字且;写方式字且TI=RI=0 ( MOV PCON,#80H ) ;波特率加倍波特率加倍 ( MOV TMOD,#20H ) ;T T

23、1 1作波特率发生器作波特率发生器 ( MOV TH1,#X ) ;选定波特率选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断开串行口中断 ( SETB ES)发送程序:发送程序:发送程序:发送程序:1、查询方式:查询方式:TRAM:MOV A,R0 ;取数据取数据 MOVSBUF,A ;发送一个字符发送一个字符WAIT:JBCTI,NEXT ;等待发送结束等待发送结束SJMPWAITNEXT:CLR TI INC R0 ;准备下一次发送准备下一次发送SJMPTRAM2、中断方式:、中断方式: ORG 0023H ;串行口中断入口串行口中断

24、入口 AJMP SINTMAIN: ;初始化编程初始化编程TRAM: MOV A, R0 ;取数据取数据MOV SBUF,A ;发送第一个字符发送第一个字符 H:SJMP H ;其它工作其它工作 SINT:CLR TI ;中断服务程序中断服务程序INC R0MOV A, R0 ;取数据取数据MOV SBUF,A ;发送下一个字符发送下一个字符RETI先发送一个字符,等待先发送一个字符,等待TI=1TI=1后再发送下一个字符。后再发送下一个字符。接收程序:接收程序:接收程序:接收程序:1.1.查询方式:查询方式: WAIT:JBC RI,NEXT;查询等待查询等待SJMP WAITNEXT:MO

25、V A,SBUF ;读取接收数据读取接收数据MOV R0,A;保存数据保存数据CLR RIINC R0 ;准备下一次接收准备下一次接收SJMP WAIT2.2.中断方式:中断方式:ORG0023HAJMPRINTMAIN: ;初始化编程初始化编程 H:SJMPH ;其它任务其它任务 RINT:CLRRI ;清中断标志清中断标志MOVA,SBUF ;读取接收数据读取接收数据MOVR0,A;保存数据保存数据INCR0RETIREN=1REN=1、RI=0RI=0等待接收,当等待接收,当RI=1RI=1,从,从SBUFSBUF读取数据。读取数据。(一)串行口(一)串行口方式方式0 0:串行口通过接口

26、串行口通过接口74LS16474LS164实现:串行实现:串行并行的数据转换并行的数据转换( (显示器接口显示器接口);); 通过接口通过接口74LS16574LS165实现:并行实现:并行串行的数据转换。串行的数据转换。 用于接移位寄存器扩充并口。用于接移位寄存器扩充并口。程序:程序:MOVR7,#20;送入;送入20个字节个字节MOVR0,#20H;送首地址为送首地址为20HSETBF0;置置1,F0=1(设置读入字节奇偶数标志)设置读入字节奇偶数标志)RCV0:CLRP1.0;P1.0=0(并行置入数据)并行置入数据)SETBP1.0;P1.0=1(允许串行移位)允许串行移位)RCV1:

27、MOVSCON,#10H;允许方式允许方式0接收接收JNBRI,;等待等待RI=1,顺序执行顺序执行CLRRI;RI=0为下一帧数据的接收准备为下一帧数据的接收准备MOVA,SBUF;取数取数MOVR0,AINCR0CPLF0;取反,取反,F0=0JBF0,RCV2;F0=1则转移,则转移,F0=0顺序执行顺序执行DECR7 判是否接收完偶数帧,接收完则重新并行置入判是否接收完偶数帧,接收完则重新并行置入SJMPRCV1;否则再接收一帧否则再接收一帧RCV2:DJNZR7,RCV0;R71=0? 0跳(判是否已读入预定字节数)跳(判是否已读入预定字节数) .;对读入数据进行处理;对读入数据进行

28、处理MAINT: MOV SCON,#80H ;串行口初始化串行口初始化MOV PCON,#80H ;波特率波特率SETB EASETB ES ;开串行口中断;开串行口中断MOV R0,#50H ;设数据指针;设数据指针MOV R7,#10H ;数据长度;数据长度LOOP: MOV A,R0 ;取一个字符;取一个字符MOV C,P ;加奇偶校验;加奇偶校验MOV TB8,CMOV SBUF,A ;启动一次发送启动一次发送HERE:SJMP HERE ;CPU执行其它任务执行其它任务(二)异步通讯程序举例:(二)异步通讯程序举例:1.1.发送程序:发送程序:将片内将片内RAM 50HRAM 50

29、H起始单元的起始单元的1616个数由串行口个数由串行口 发送。发送。要求发送波特率为系统时钟的要求发送波特率为系统时钟的32分分 频,并进行奇偶校验。频,并进行奇偶校验。ORG 0023H ;串行口中断入口;串行口中断入口AJMP TRANI TRANI:PUSH A;保护现场保护现场PUSH PSWCLR TI ;清发送结束标志清发送结束标志DJNZ R7,NEXT;是否发送完?是否发送完? CLR ES;发送完,关闭串行口中断发送完,关闭串行口中断 SJMP TENDNEXT: INC R0 ;未发送完,修改指针未发送完,修改指针MOV A,R0 ;取下一个字符取下一个字符MOV C,P

30、;加奇偶校验加奇偶校验MOV TB8,CMOV SBUF,A ;发送一个字符发送一个字符POP PSW ;恢复现场恢复现场POP ATEND:RETI ;中断返回中断返回2. 接收程序:接收程序:RECS: MOV SCON,#50H ;串行口方式;串行口方式1允许接收允许接收MOV TMOD,#20H ; T T1 1方式方式2定时定时MOV TL1,#0F4H ;写入;写入T T1 1时间常数时间常数MOV TH1,#0F4HSETB TR1 ;启动启动T T1 1MOV R0,#50H ;设数据指针设数据指针MOV R7,#10H ;接收数据长度接收数据长度 WAIT: JBC RI,N

31、EXT ;等待串行口接收等待串行口接收SJMP WAITNEXT:MOV A,SBUF ;读取接收字符读取接收字符MOV R0,A ;保存一个字符保存一个字符CLRRIINC R0 ;修改指针修改指针DJNZ R7,WAIT ;全部字符接收完全部字符接收完?RET串行输入串行输入16个字符,存入片内个字符,存入片内RAM的的50H起始单起始单元,串行口波特率为元,串行口波特率为2400(设晶振为设晶振为11.0592MHz)。3. 接收程序:接收程序:RECS: MOV SCON,#0D0H ;串行口方式;串行口方式3允许接收允许接收MOV TMOD,#20H ; T T1 1方式方式2定时定

32、时MOV TL1,#0F4H ;写入;写入T T1 1 时间常数时间常数MOV TH1,#0F4HSETB TR1 ;启动启动T T1 1 MOV R0,#50H ;设数据指针设数据指针MOV R7,#10H ;接收数据长度接收数据长度 WAIT: JBC RI,NEXT ;等待串行口接收等待串行口接收SJMP WAITNEXT:MOV A,SBUF ;取一个接收字符取一个接收字符JNB P,COMP ;奇偶校验奇偶校验JNB RB8,ERR ;PRB8,数据出错数据出错SJMP RIGHT ;P=RB8,数据正确数据正确COMP: JB RB8,ERRRIGHT: MOV R0,A ;保存一

33、个字符保存一个字符CLRRIINC R0 ;修改指针修改指针DJNZ R7,WAIT ;全部字符接收完全部字符接收完?CLR F0 ;F0 =0,接收数据全部正确接收数据全部正确 RETERR: SETB F0 ;F0 =1,接收数据出错接收数据出错RET串行输入串行输入16个字符,进行奇偶校验。个字符,进行奇偶校验。4. 主从分布式微机系统:主从分布式微机系统:也叫也叫集散控制系统:从机(单片机)作数据采集或实时控制,集散控制系统:从机(单片机)作数据采集或实时控制, 主机(主机(PC机)作数据处理、中央管理等。机)作数据处理、中央管理等。应用:过程控制、仪器仪表、生产自动化和企业管理等方面

34、。应用:过程控制、仪器仪表、生产自动化和企业管理等方面。直接传送串行通信接法直接传送串行通信接法PC机调用的中断指令为:机调用的中断指令为:INT 14H单机通信:单机通信:单机通信:单机通信:多机通信系统:多机通信系统:PC机要对某一指定了地址编号的单片机通讯,就必须作好联络。机要对某一指定了地址编号的单片机通讯,就必须作好联络。PC机处于发送状态,各单片机的串行口均处于接收状态并使其机处于发送状态,各单片机的串行口均处于接收状态并使其SM2=1,作好接收地址作好接收地址信息的准备。信息的准备。PC机发出要通讯的那台单片机的地址编号,然后发送通讯数据,发地址时必须使第机发出要通讯的那台单片机

35、的地址编号,然后发送通讯数据,发地址时必须使第9位信息为位信息为1,发数据时必须使第,发数据时必须使第9位数据为位数据为0。各单片机收到各单片机收到PC机发来的地址信息后,因此此时各机发来的地址信息后,因此此时各SM2=1,所以将引起各单片机的中所以将引起各单片机的中断。在中断服务程序中,判断断。在中断服务程序中,判断PC机发来的地址是否是自身的地址编号,仅有符合地机发来的地址是否是自身的地址编号,仅有符合地址编号的那台才使其址编号的那台才使其SM2=0,其它不符合者仍是其它不符合者仍是SM2=1。随着随着PC机信息的发出(第机信息的发出(第9位信息为位信息为0),因为符合地址编号的那台单片机

36、此时已是),因为符合地址编号的那台单片机此时已是SM2=0,所以这台单片机将再次进入中断,并在中断服务程序中接收所以这台单片机将再次进入中断,并在中断服务程序中接收PC机发来的数机发来的数据。那些地址不符者,不能进入中断(因据。那些地址不符者,不能进入中断(因SM2=1),),也就不能接收串行来的数据。也就不能接收串行来的数据。接收机的中断服务程序:接收机的中断服务程序: ORG 0023H;串行中断入口串行中断入口 JNB RB8,NEXT;判断是地址还是数据判断是地址还是数据 MOV A,SBUF;读入地址;读入地址 XRL A,#05H;判断地址是否相符;判断地址是否相符 JNZ EXI

37、T;不符则出中断不符则出中断 CLR SM2;地址相符则清地址相符则清SM2 SJMP EXITNEXT:MOV A,SBUF;读入数据读入数据 MOV R0,A;数据存入片内;数据存入片内RAM INC R0;增地址;增地址 CLR RI;清接收中断标志;清接收中断标志EXIT: RETI已知该机的地址编号为已知该机的地址编号为05H号,在主程序初始化中号,在主程序初始化中已设置了波特率,打开了串行中断,并使已设置了波特率,打开了串行中断,并使SM2=1。1、串行通信的基本原理和基本方式(同步和异步)、串行通信的基本原理和基本方式(同步和异步)。2、串行数据的传送方向(单工、半双工和全双工)串行数据的传送方向(单工、半双工和全双工) 及信号形式。及信号形式。3、串行口控制、串行口控制/ /状态控制字状态控制字SCON和和 节电控制字节电控制字PCON。4、串行通信的串行通信的4种工作方式及其对应的波特率、传送种工作方式及其对应的波特率、传送位数位数(8位、位、10位、位、11位、位、11位位) 、时序和应用、时序和应用。5、串行通信的应用:、串行通信的应用: 发送和接收程序(查询方式和中断方式)。发送和接收程序(查询方式和中断方式)。小小 结结

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号