单片机原理及应用14 的项目五 串行口应用ppt课件_第1页
单片机原理及应用14 的项目五 串行口应用ppt课件_第2页
单片机原理及应用14 的项目五 串行口应用ppt课件_第3页
单片机原理及应用14 的项目五 串行口应用ppt课件_第4页
单片机原理及应用14 的项目五 串行口应用ppt课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工程五工程五 串行口运用串行口运用工程背景工程背景随着计算机网络化和微机分级分布式运用系统的开展,随着计算机网络化和微机分级分布式运用系统的开展,通讯的功能越来越重要。计算机通讯是一种以数据通通讯的功能越来越重要。计算机通讯是一种以数据通讯方式出现,在计算机与计算机之间或计算机与终端讯方式出现,在计算机与计算机之间或计算机与终端设备之间进展信息传送的方式,目的是实现信息交换设备之间进展信息传送的方式,目的是实现信息交换与共享。与共享。在通讯领域内,数据通讯中按每次传送的数据位数,在通讯领域内,数据通讯中按每次传送的数据位数,通讯方式可分为:并行通讯和串行通讯。通讯方式可分为:并行通讯和串行通讯

2、。所谓并行通讯,是指所谓并行通讯,是指8位数据同时经过并行线进展传位数据同时经过并行线进展传送,这样数据传送速度大大提高,但并行传送的线路送,这样数据传送速度大大提高,但并行传送的线路长度遭到限制,由于长度添加,干扰就会添加,容易长度遭到限制,由于长度添加,干扰就会添加,容易出错。出错。串行通讯不同于并行通讯之处在于它的数据和控制信串行通讯不同于并行通讯之处在于它的数据和控制信息是一位接一位串行地传送下去。这样,虽然速度会息是一位接一位串行地传送下去。这样,虽然速度会慢一些,但传送间隔较并行口更长,因此长间隔的通慢一些,但传送间隔较并行口更长,因此长间隔的通讯应运用串行口。讯应运用串行口。 工

3、程目的工程目的 掌握:串行通讯的接口规范、串行口的构造和任务原理,掌握:串行通讯的接口规范、串行口的构造和任务原理,串行口的任务方式、相关控制存放器作用及设置方法串行口的任务方式、相关控制存放器作用及设置方法 掌握:串行口的设置运用、波特率的设定与计算、点对掌握:串行口的设置运用、波特率的设定与计算、点对点通讯的运用和编程方法,多机通讯原理点通讯的运用和编程方法,多机通讯原理 工程义务工程义务 串行通讯的根底知识与接口规范的了解串行通讯的根底知识与接口规范的了解 串行口的构造和任务原理的学习串行口的构造和任务原理的学习 串行口的相关控制存放器作用及设置串行口的相关控制存放器作用及设置 串行口的

4、运用和编程。包括串行口的设置、定时器串行口的运用和编程。包括串行口的设置、定时器T1作作为波特率发生器运用、双机通讯、多机通讯原理及运用为波特率发生器运用、双机通讯、多机通讯原理及运用工程五工程五 串行口运用串行口运用学习义务学习义务 串行口运用与编程串行口运用与编程 学习内容学习内容 串行通讯的根本概念串行通讯的根本概念 51单片机串行口的构造和任务原理单片机串行口的构造和任务原理 51单片机串行口各种任务方式的运用单片机串行口各种任务方式的运用 学习目的学习目的 了解串行通讯的根本概念了解串行通讯的根本概念 掌握掌握51单片机串行口的构造和任务原理单片机串行口的构造和任务原理 掌握串行口各

5、种任务方式的运用原理与编程方掌握串行口各种任务方式的运用原理与编程方法法一、一、 串行通讯串行通讯 串行通讯:运用一条数据线,将数据一位串行通讯:运用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固一位地依次传输,每一位数据占据一个固定的时间长度。其只需求少数几条线就可定的时间长度。其只需求少数几条线就可以在系统间交换信息,特别适用于计算机以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远间隔通与计算机、计算机与外设之间的远间隔通讯。讯。 衡量串行通讯的速率单位是波特率,单位衡量串行通讯的速率单位是波特率,单位是是 b/s 或或bps 。它表示每秒钟传送二进制。它表示

6、每秒钟传送二进制代码的位数。单位是代码的位数。单位是b/s。1串行通讯的分类串行通讯的分类 串行通讯可以分为同步通讯和异步通讯两类。串行通讯可以分为同步通讯和异步通讯两类。 1) 同步通讯:一种延续的串行传送数据的通讯方同步通讯:一种延续的串行传送数据的通讯方式,一次通讯只传送一帧信息。信息帧由同步字式,一次通讯只传送一帧信息。信息帧由同步字符、数据字符和校验字符符、数据字符和校验字符3部分组成。同步通讯部分组成。同步通讯是按照软件识别同步字符来实现数据的发送和接是按照软件识别同步字符来实现数据的发送和接纳,要求发送时钟和接纳时钟坚持严厉的同步。纳,要求发送时钟和接纳时钟坚持严厉的同步。 2异

7、步通讯:一帧数据均低位在前,高位在后。异步通讯:一帧数据均低位在前,高位在后。发送端和接纳端由各自独立的时钟来控制数据的发送端和接纳端由各自独立的时钟来控制数据的发送和接纳,互不同步。其根本特征是每个字符发送和接纳,互不同步。其根本特征是每个字符必需用起始位和停顿位作为字符开场和终了的标必需用起始位和停顿位作为字符开场和终了的标志志, 它是以字符或字节为单位一个个地发送和接它是以字符或字节为单位一个个地发送和接纳的。纳的。1串行通讯的分类串行通讯的分类 接纳端检测到传输线上发送过来的低电平逻辑接纳端检测到传输线上发送过来的低电平逻辑0即字符帧起始位时,确定发送端已开场发送即字符帧起始位时,确定

8、发送端已开场发送数据,每当接纳端收到字符帧中的停顿位时,就数据,每当接纳端收到字符帧中的停顿位时,就知道一帧字符曾经发送终了。知道一帧字符曾经发送终了。 异步通讯中,在异步通行中有两个比较重要的目异步通讯中,在异步通行中有两个比较重要的目的:字符帧格式和波特率。的:字符帧格式和波特率。 如:串行传输一帧信息,如:串行传输一帧信息,1个起始位、个起始位、8个数据位、个数据位、1个停顿位,传输速率为个停顿位,传输速率为240个字符。其波特率为个字符。其波特率为 181240 = 2400 b/s = 2400波特。波特。2串行通讯的规范接口串行通讯的规范接口 1) RS-232接口接口 RS-23

9、2-C:也称规范串口,是目前最常用的一种串行通:也称规范串口,是目前最常用的一种串行通讯接口。它是在讯接口。它是在1970年由美国电子工业协会年由美国电子工业协会EIA结合结合贝尔系统、贝尔系统、 调制解调器厂家及计算机终端消费厂家共同调制解调器厂家及计算机终端消费厂家共同制定的用于串行通讯的规范。它的全名是制定的用于串行通讯的规范。它的全名是“数据终端设备数据终端设备DTE和数据通讯设备和数据通讯设备DCE之间串行二进制数据交之间串行二进制数据交换接口技术规范。换接口技术规范。 通讯间隔通讯间隔:不大于不大于15米米 传输速率传输速率:最大最大19.2Kbps 电气特性电气特性:负逻辑电压传

10、输负逻辑电压传输 0表示表示+ 5 +15V 1表示表示-5-15V 电平转换电路电平转换电路:MC1488与与MC14892串行通讯的规范接口串行通讯的规范接口 2) RS-422接口接口 RS-422:为改良:为改良RS-232通讯间隔短、速率低的通讯间隔短、速率低的缺陷,缺陷,RS-422定义了一种平衡通讯接口,将传输定义了一种平衡通讯接口,将传输速率提高到速率提高到 10Mb/s,传输间隔延伸到,传输间隔延伸到4000英尺英尺速率低于速率低于100kb/s时,并允许在一条平衡总时,并允许在一条平衡总线上衔接最多线上衔接最多10个接纳器。个接纳器。RS- 422是一种单机是一种单机发送、

11、多机接纳的单向、平衡传输规范,被命名发送、多机接纳的单向、平衡传输规范,被命名为为TIA/EIA-422-A规范。规范。2串行通讯的规范接口串行通讯的规范接口 3) RS-485接口接口 RS-485:为扩展运用范围,:为扩展运用范围,EIA又于又于1983年在年在RS-422根底上制定了根底上制定了RS-485 规范,添加了多点、规范,添加了多点、双向通讯才干,即允许多个发送器衔接到同一条双向通讯才干,即允许多个发送器衔接到同一条总线上,同时添加了发送器的驱动才干和冲突维总线上,同时添加了发送器的驱动才干和冲突维护特性,扩展了总线共模范围,后命名为护特性,扩展了总线共模范围,后命名为 TIA

12、/EIA-485-A规范。规范。 电气特性:电气特性:1表示表示+2+6V、0表示表示-2-6 最高传输速率最高传输速率:10Mbps 最大传输间隔最大传输间隔:3000m 2串行通讯的规范接口串行通讯的规范接口 3串行通讯方向串行通讯方向 按按通讯双方的分工及数据传输方向分类。按按通讯双方的分工及数据传输方向分类。 对于点对点之间的通讯,按音讯传送的方向,通讯方式可对于点对点之间的通讯,按音讯传送的方向,通讯方式可分为单工通讯、半双工通讯及全双工通讯三种。分为单工通讯、半双工通讯及全双工通讯三种。 单工通讯,是指音讯只能一方向进展传输的一种通讯任务单工通讯,是指音讯只能一方向进展传输的一种通

13、讯任务方式。单工通讯的例子很多,如广播、遥控、无线寻呼等。方式。单工通讯的例子很多,如广播、遥控、无线寻呼等。 半双工通讯方式,是指通讯双方都能收发音讯,但不能同半双工通讯方式,是指通讯双方都能收发音讯,但不能同时进展收和发的任务方式。对讲机、收发报机等都是这种时进展收和发的任务方式。对讲机、收发报机等都是这种通讯方式。通讯方式。 全双工通讯,是指通讯双方可同时进展双向传输音讯的任全双工通讯,是指通讯双方可同时进展双向传输音讯的任务方式。在这种方式下,双方都可同时进展收发音讯。很务方式。在这种方式下,双方都可同时进展收发音讯。很明显,全双工通讯的信道必需是双向信道。生活中全双工明显,全双工通讯

14、的信道必需是双向信道。生活中全双工通讯的例子非常多,如普通、手机等。通讯的例子非常多,如普通、手机等。二、串行口的构造和任务原理二、串行口的构造和任务原理1串行口的构造串行口的构造51单片机内部有一个可编程的双向全双工串行通讯接口,其构造如图单片机内部有一个可编程的双向全双工串行通讯接口,其构造如图图图5-1所示。所示。发送SBUF(99H)门发送控制器接收控制器1输入移位寄存器串行控制寄存器(98H)定时器1接收SBUF(99H)888TIRI内部总线TXD(P3.1)RXD(P3.0)串行口中断1串行口的构造串行口的构造 串行口构造上由接纳、发送缓冲器两个存放器串行口构造上由接纳、发送缓冲

15、器两个存放器SBUF、发送接纳控制器、移位存放器和门电路、发送接纳控制器、移位存放器和门电路构成。构成。 接纳、发送缓冲器接纳、发送缓冲器SBUF个物理上相互独立,可个物理上相互独立,可以同时接纳和发送数据;发送缓冲器只能写入而以同时接纳和发送数据;发送缓冲器只能写入而不能读出,接纳缓冲器只能读出而不能写入;两不能读出,接纳缓冲器只能读出而不能写入;两个缓冲器占用同一个地址个缓冲器占用同一个地址(99H);控制串行口任务;控制串行口任务的存放器是的存放器是SCON和和PCON;串行口有;串行口有4种任务方种任务方式,以适用于不同场所;其波特率由单片机内部式,以适用于不同场所;其波特率由单片机内

16、部的定时器的定时器/计数器计数器T1产生,可由软件设置;接纳和产生,可由软件设置;接纳和发送均可任务在查询方式和中断方式。发送均可任务在查询方式和中断方式。2串行口的任务原理串行口的任务原理 串行口的接纳和发送在定时电路和串行口控制存放器的控串行口的接纳和发送在定时电路和串行口控制存放器的控制下任务。制下任务。 当向当向SBUF发发“写命令时,执行写命令时,执行MOV SBUF,A指指令,即向发送缓冲器令,即向发送缓冲器SBUF装载并开场由装载并开场由TXD引脚向外引脚向外发送一帧数据,发送终了那么使发送中断标志发送一帧数据,发送终了那么使发送中断标志TI=1,从而,从而产生中断恳求。产生中断

17、恳求。 在串行口接纳中断标志在串行口接纳中断标志RISCON.0=0的条件下,置允的条件下,置允许接纳位许接纳位REN(SCON.4)=1就会启动接纳,一帧数据进入就会启动接纳,一帧数据进入输入移位存放器,并装载到接纳输入移位存放器,并装载到接纳SBUF中,同时使中,同时使RI=1,产生中断恳求。当执行读产生中断恳求。当执行读SBUF的命令时执行的命令时执行MOV A,SBUF指令,即是由接纳缓冲器指令,即是由接纳缓冲器SBUF取出信息经过内取出信息经过内部总线送部总线送A存放器。存放器。3串行口控制存放器串行口控制存放器 SCON是是MCS-51单片机的串行口控制存放器,用于串行单片机的串行

18、口控制存放器,用于串行口任务的控制。口任务的控制。SCON单元地址为单元地址为98H,可位寻址,位地,可位寻址,位地址为址为98H9FH。其各位定义表示如下:。其各位定义表示如下:下面对其各位进展阐明:下面对其各位进展阐明: SM0,SM1 :串行口任务方式选择位。:串行口任务方式选择位。SM2 :多机通讯方式控制位。:多机通讯方式控制位。REN:接纳允许:接纳允许/制止控制位。由软件置位或清零。制止控制位。由软件置位或清零。REN0 制止制止接纳数据;接纳数据;REN1 允许接纳数据允许接纳数据TB8 :在方式:在方式2、3时,时,TB8的内容是要发送的第的内容是要发送的第9位数据,其值由位

19、数据,其值由用户经过软件置位或复位。用户经过软件置位或复位。 RB8 :是方式:是方式2和和3中接纳到的第中接纳到的第9位数据。在方式位数据。在方式1中,假设中,假设SM2=0,RB8是接纳到的停顿位。在方式是接纳到的停顿位。在方式0中,不运用中,不运用RB8位。位。TI :发送中断恳求标志。要求由软件清:发送中断恳求标志。要求由软件清0。 RI :接纳中断恳求标志。要求由软件清:接纳中断恳求标志。要求由软件清0。 4串行口的任务方式串行口的任务方式 SM0 SM1 决议串行口的任务方式决议串行口的任务方式5波特率的计算波特率的计算 1方式方式0:波特率:波特率=fosc/12 2方式方式2:

20、波特率:波特率=2SMOD /64*fosc =fosc/32 或或 波波特率特率=fosc/64 式中式中SMOD是电源控制存放器是电源控制存放器PCON中的第中的第7位,上电为位,上电为0,可选为可选为1或或0。 方式方式1,方式,方式3的波特率由人为设置。的波特率由人为设置。 启动定时器启动定时器T1任务使其作为波特率发生器,需对其计数初任务使其作为波特率发生器,需对其计数初值进展计算。通常设置使其任务在方式值进展计算。通常设置使其任务在方式2,最大计数值为,最大计数值为28。 计算公式:波特率计算公式:波特率=2SMOD/ 32 T1的溢出率的溢出率 式中式中T1溢出率是定时器溢出率是

21、定时器T1每秒钟的溢出次数。每秒钟的溢出次数。 溢出率溢出率 = 1 /定时时间定时时间= 1/t = fosc /12*28X 所以,波特率所以,波特率 =2SMOD / 32*1/t 故,波特率故,波特率 =2SMOD / 32 * fosc /12*256X 假设知波特率,那么可求出假设知波特率,那么可求出T1的计数初值:的计数初值: X = 2562SMODfosc /波特率波特率3212例例5-1:假设:假设fosc =6MHz,波特率为,波特率为2400波特,设波特,设SMOD = 1,计算定时,计算定时器器T1的初值为多少?并进展初始化编程。的初值为多少?并进展初始化编程。解:运

22、用定时器解:运用定时器T1,任务于方式,任务于方式2,由波特率计算公式,得,由波特率计算公式,得 2400=21/32 fosc/12256-X初值初值X = 25621fosc /24003212= 242.98243 汇编言语初始化编程:汇编言语初始化编程: MOV TMOD,#20H MOV PCON,#80H ;SMOD是电源控制存放器的最高位是电源控制存放器的最高位 MOV TH1,#243 ;定时器;定时器T1任务于方式任务于方式2,初值同时赋给,初值同时赋给TH和和TL MOV TL1,#243 SETB TR1 ;方式;方式2不用开中断不用开中断C言语初始化编程:言语初始化编程

23、: TMOD=0 x20; PCON=0 x80; TH1=243; TL1=243; TR1=1;5波特率的计算波特率的计算三、三、 方式方式0运用运用 串行口任务在方式串行口任务在方式0时,作为同步移位存放器运用。以时,作为同步移位存放器运用。以RXDP3.0端作为数据的输入或输出端,而端作为数据的输入或输出端,而TXDP3.1提供移位的时钟脉冲。外接移位存放器,实现数提供移位的时钟脉冲。外接移位存放器,实现数据并行输入或输出,用途是扩展据并行输入或输出,用途是扩展I/O口,如图口,如图5-2所示。该所示。该方式时数据传输的波特率为方式时数据传输的波特率为fosc/12。1输入口扩展输入口

24、扩展 在串行口外接并入串出移位存放器在串行口外接并入串出移位存放器74LS165,实现输入口,实现输入口扩展,图扩展,图5-2b。 首先把首先把SCON中的允许接纳位中的允许接纳位REN设置为设置为1。当。当REN设置设置为为1时,并行数据就在移位脉冲的控制下,逐位移入时,并行数据就在移位脉冲的控制下,逐位移入74LS165,并由,并由74LS165完成数据的并入串出转换,从完成数据的并入串出转换,从RXD端输入单片机。当单片机接纳到端输入单片机。当单片机接纳到8位数据时,置位接位数据时,置位接纳中断标志位纳中断标志位RI,产生中断恳求。,产生中断恳求。2输出口扩展输出口扩展 在串行口外接串入

25、并出移位存放器在串行口外接串入并出移位存放器74LS164,实现输出口,实现输出口扩展,图扩展,图5-2a。 当把数据写入当把数据写入SBUF后,数据在后,数据在TXD端输出的时钟信号控端输出的时钟信号控制下按先低后高位的顺序由制下按先低后高位的顺序由RXD端送到端送到74LS164的串行输的串行输入端,入端,8个脉冲后数据输出在个脉冲后数据输出在74LS164的并行输出端,实的并行输出端,实现了串入并出的转换。现了串入并出的转换。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD43

26、5P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRG8RC1/-&1D1324561081112913U274164SRG8RC1/-&1D1324561081112913U

27、374164R1220R2220R3220R4220R5220R6220R7220R8220R9220R10220R11220R12220R13220R142202输出口扩展输出口扩展51单片机串行口方式单片机串行口方式0为移位存放器方式,外接为移位存放器方式,外接2片片74LS164作为作为2位位数码显示器的静态显示接口,数码显示器的静态显示接口,RXD作为数据输出线,作为数据输出线,TXD输出移位时输出移位时钟脉冲。钟脉冲。74LS164为为TTL单向单向8位移位存放器,可实现串行输入,并位移位存放器,可实现串行输入,并行输出。其中行输出。其中1、2脚为串行数据输入端,脚为串行数据输入端,

28、2个引脚按逻辑与运算规律个引脚按逻辑与运算规律输入信号,只一个输入信号时可并接。输入信号,只一个输入信号时可并接。CLK为时钟输入端,衔接到串为时钟输入端,衔接到串行口的行口的TXD端。端。R为复位端,当为复位端,当R=0时,移位存放器各位复时,移位存放器各位复0,只需当,只需当R=1时,时钟脉冲才起作用图中空接,相当于接高电平。时,时钟脉冲才起作用图中空接,相当于接高电平。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD7

29、32P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRG8RC1/-&1D1324561081112913U274164SRG8RC1/-&1D1324561081112913U374164R1220R2220R3220R4220R52

30、20R6220R7220R8220R9220R10220R11220R12220R13220R142202输出口扩展输出口扩展 Q1Q8并行输出端分别接数码显示器的并行输出端分别接数码显示器的a-g各段对应的各段对应的引脚上。引脚上。2片片74LS164首尾相串,而时钟端那么接在一同,首尾相串,而时钟端那么接在一同,这样,当输入这样,当输入8个脉冲时,从单片机个脉冲时,从单片机RXD端输出的数据就端输出的数据就进入到了第一片进入到了第一片74LS164中了,而当第二组中了,而当第二组8个脉冲到来个脉冲到来后,这个数据就进入了第二片后,这个数据就进入了第二片74LS164,而新的数据那么,而新的

31、数据那么进入了第一片进入了第一片74LS164。这样,初次送出的数据被送到了。这样,初次送出的数据被送到了最远的最远的164中。实际上外接中。实际上外接164芯片没有数量限制,可按芯片没有数量限制,可按需求衔接。需求衔接。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/

32、INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51SRG8RC1/-&1D1324561081112913U274164SRG8RC1/-&1D1324561081112913U374164R1220R2220R3220R4220R5220R6220R7220R8220R9220R10220R11220R12220R13220R14220例例5-2:如图:如图5-3,用串行口方式,用串行口

33、方式0扩展输出口,在每个数码管上输出扩展输出口,在每个数码管上输出0-9的数字,并有向右移位的效果。的数字,并有向右移位的效果。1汇编言语程序:汇编言语程序:MOV SCON,#00H ;置串行口控制字置串行口控制字,方式方式0CC: MOV A,#0H ;输出的第一个数输出的第一个数MM: JMOV SBUF,A ;启动发送启动发送JNB TI,MM ;测试发送中断标志测试发送中断标志,看能否发完看能否发完CLR TI ; TI清清0LCALL YS INC A ;调整要发的数调整要发的数,为下一个做预备为下一个做预备CJNE A,#10,MM ;比较比较,看能否发完看能否发完 LJMP C

34、C ;反复反复YS: MOV R7,#05HSS: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,SS RETTAB:C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H END2输出口扩展输出口扩展2C言语程序:言语程序: /*声明区声明区*/#include unsigned char tab=0 xC0,0 xF9,0 xA4,0 xB0, 0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90 ;void delay(unsigned int i);/*主程序主程序*/void main()unsigned char i;SCO

35、N=0 x00; /串行口设置,方式串行口设置,方式0while(1)for(i=0;i10;i+)SBUF=tabi; /数据送入数据送入SBUF,启动发送,启动发送TI=0;while(!TI); /等待发完等待发完 delay(2000); /*延时函数延时函数*/void delay(int i)unsigned char k;unsigned int j;for (j=0;ji;j+)for(k=0;k255;k+);2输出口扩展输出口扩展四、四、 方式方式1运用运用 10位帧格式:位帧格式:1起始位起始位+8数据位数据位+1停顿位,波特率可变,停顿位,波特率可变,用于双机通讯。用于

36、双机通讯。一条写一条写SBUF指令就可启动数据发送过程。在发送移位时钟指令就可启动数据发送过程。在发送移位时钟(由波特率确定由波特率确定)的同步控制下,从的同步控制下,从TXD先送出起始位,然后是先送出起始位,然后是8位数据位,最后是停顿位。这样的一帧位数据位,最后是停顿位。这样的一帧10位数据发送完后,位数据发送完后,中断标志中断标志TI置位。置位。在允许接纳的条件下在允许接纳的条件下(REN1),当,当RXD出现由出现由1到到0的负跳的负跳变时,即被当成是串行发送来的一帧数据的起始位,从而启变时,即被当成是串行发送来的一帧数据的起始位,从而启动一次接纳过程。当动一次接纳过程。当8位数据接纳

37、完,并检测到高电平停顿位位数据接纳完,并检测到高电平停顿位后,即把接纳到的后,即把接纳到的8位数据装入位数据装入SBUF,置位,置位RI,一帧数据的,一帧数据的接纳过程就完成了。接纳过程就完成了。四、四、 方式方式1运用运用 串行口运用设置步骤:串行口运用设置步骤: 1确定确定T1的任务方式,写的任务方式,写TMOD; 2计算计算T1的初值的初值,装载装载TH1、TL1; 3启动启动T1; 4确定串行口任务方式确定串行口任务方式,根据接纳或发送,设置根据接纳或发送,设置控制存放器控制存放器SCON; 5根据能否中断,确定开中断及优先级根据能否中断,确定开中断及优先级,设置设置IE、IP。 6启

38、动接纳或发送。启动接纳或发送。四、四、 方式方式1运用运用 例例5-3: 如图如图 5-4,单片机双机通讯,一方作为发送,另一,单片机双机通讯,一方作为发送,另一方作为接纳,分别编程调试。方作为接纳,分别编程调试。 功能:功能:A单片机的单片机的P1口接有四个开关,其开协作为编码,口接有四个开关,其开协作为编码,决议了传送给决议了传送给B机的数字,机的数字,A机取其形状并在本人的数码机取其形状并在本人的数码管上显示,同时发送给管上显示,同时发送给B机,机,B机接纳到后也显示在其数机接纳到后也显示在其数码管上,假设两机的数码管显示一致,阐明数据传送正确。码管上,假设两机的数码管显示一致,阐明数据

39、传送正确。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A

40、1326P2.6/A1427U1AT89C51XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A11

41、24P2.4/A1225P2.5/A1326P2.6/A1427U2AT89C51R110kR210kR310kR410kR5220R6220R7220R8220R9220R10220R11220R12220R13220R14220R15220R16220R17220R18220 四、四、 方式方式1运用运用1汇编言语程序汇编言语程序A机发送:机发送:ORG 0000H LJMP 0030H ORG 0030H MOV DPTR,#TAB FASO: MOV TMOD,#20 ;设置定时器设置定时器T1方式方式2 MOV TH1,#243 ;装入计数初值装入计数初值 MOV TL1,#243

42、SETB TR1 ;启动定时器任务启动定时器任务 MOV SCON,#40H ;设置串行口方式设置串行口方式1ZCCS: MOV P1,#0FFH ;P1作输入先输出高电平作输入先输出高电平 MOV A,P1 ;输入输入P1口形状口形状 ANL A,#0FH ;屏蔽高屏蔽高4位位 MOVC A,A+DPTR ;查相应的字型代码查相应的字型代码 MOV P2,A ;送送P2口显示口显示 MOV SBUF,A ;将字型送串口启动发送将字型送串口启动发送WAIT: JNB TI,WAIT ;运用查询方式,等待发送终了运用查询方式,等待发送终了 CLR TI ;TI程序清程序清0 SJMP ZCCST

43、AB: C0H, F9H,A4H, B0H, 99H, 92H, 82H, F8H, 80H, 90H, 88H, 83H, C6H, A1H, 86H, 8EH END四、四、 方式方式1运用运用B机接纳:机接纳:ORG 0000H LJMP 0030H ORG 0023H LJMP ZHOD ORG 0030HJIESO:MOV TMOD,#20H ;设置定时器设置定时器T1方式方式2 MOV TH1,#243 MOV TL1,#243 SETB TR1 MOV SCON,#50H ;设置串行口方式设置串行口方式1,允许接纳允许接纳 MOV IE,#90H ;运用串口中断运用串口中断 MO

44、V A,#0FFH ;设置显示初始形状设置显示初始形状XIAN: MOV P2,A ;显示显示 LJMP XIANZHOD: CLR RI ;串行口中断串行口中断,清清RI MOV A,SBUF ;取接纳到的数据取接纳到的数据 RETI END四、四、 方式方式1运用运用2C言语程序言语程序A机发送:机发送:/*声明区声明区*/#includeunsigned char a; unsigned char b16=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0

45、x8e;/*主程序主程序*/void main(void)SCON = 0 x40; / 串行口任务方式串行口任务方式1PCON = 0 x00; / 波特率不倍增波特率不倍增 TMOD = 0 x20; / 定时器定时器1任务于任务于8位自动重载方式位自动重载方式, 用于产生波特率用于产生波特率TH1 =0 xf4 ; TL1 =0 xf4; / T1赋初值赋初值,11.0592M晶振,波特率晶振,波特率2400TR1 = 1; / 启动定时器启动定时器1 EA=1;ES=1;while1P1=0 xff;a=P1&0 x0f;SBUF=a;P2=ba;/*中断处置中断处置*/void zd

46、() interrupt 4 /当进入中断,要么当进入中断,要么RI=1,要么,要么TI=1TI=0; / TI软件清软件清0B机接纳:机接纳:/*声明区声明区*/#include unsigned char a; /*主程序主程序*/void main(void)SCON = 0 x50; / 串行口任务方式串行口任务方式1,允许接纳允许接纳 PCON = 0 x00; / 波特率不倍增波特率不倍增 TMOD = 0 x20; / 定时器定时器1任务于任务于8位自动重载方式位自动重载方式, 用于产生波特率用于产生波特率 TH1 =0 xf4 ;TL1 =0 xf4; / T1赋初值赋初值,波

47、特率波特率2400TR1 = 1; / 启动定时器启动定时器1EA=1;ES=1;while(1)P2=ba;/*中断处置中断处置*/void zd() interrupt 4RI=0; / RI软件清软件清0a=SBUF; /取接纳到的数据取接纳到的数据四、四、 方式方式1运用运用五、五、 方式方式2、3 运用运用 方式方式2、3为为11位为一帧的异步串行通讯方式,此位为一帧的异步串行通讯方式,此种方式可用于多机通讯。种方式可用于多机通讯。 其帧格式为其帧格式为1个起始位、个起始位、9个数据位和个数据位和1个停顿位。个停顿位。如下图。如下图。 字符还是字符还是8个数据位个数据位D0D7,只不

48、过添加了一个,只不过添加了一个可编程的第可编程的第9位数据位数据D8,其功能由用户确定。其功能由用户确定。 1多机通讯多机通讯 目前单片机的一个重要运用领域是构成分布式测控系统。目前单片机的一个重要运用领域是构成分布式测控系统。这种控制系统多是采用多机通讯来实现主机与从机的控制这种控制系统多是采用多机通讯来实现主机与从机的控制和数据信息传送,如图和数据信息传送,如图5-5所示。所示。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7

49、/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51PROGRAM=123.HEXXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P

50、0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U2AT89C51XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.

51、2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U3AT89C51XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/

52、AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U4AT89C51XTAL218XTAL119ALE30E

53、A31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U5AT89C51主机

54、主机分机分机分机分机分机分机分机分机2多机通讯的条件多机通讯的条件 SM2:多机通讯控制位。:多机通讯控制位。51单片机串行口在方式单片机串行口在方式2或方式或方式3时,如时,如SM2=1,那么只需接纳到的,那么只需接纳到的第九位数据第九位数据RB8=1时,时,RI才置才置1。也就是说此时。也就是说此时只能接纳第九位数据为只能接纳第九位数据为1的数据。的数据。3硬件衔接硬件衔接 见图见图5-5,单片机构成的多机系统多采用主从式分布构造,单片机构成的多机系统多采用主从式分布构造或串行总线式构造。所谓主从式,即在数个单片机中,有或串行总线式构造。所谓主从式,即在数个单片机中,有一个是主机,其他的是

55、从机,从机要服从主机的调度、支一个是主机,其他的是从机,从机要服从主机的调度、支配。配。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51PROGRAM=123.HEXXTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论