第8章单片机串行通信
- 格式:ppt
- 大小:2.29 MB
- 文档页数:47
《嵌入式系统原理与实验》实验指导实验三调度器设计基础一、实验目的和要求1.熟练使用Keil C51 IDE集成开发环境,熟练使用Proteus软件。
2.掌握Keil与Proteus的联调技巧。
3.掌握串行通信在单片机系统中的使用。
4.掌握调度器设计的基础知识:函数指针。
二、实验设备1.PC机一套2.Keil C51开发系统一套3.Proteus 仿真系统一套三、实验容1.甲机通过串口控制乙机LED闪烁(1)要求a.甲单片机的K1按键可通过串口分别控制乙单片机的LED1闪烁,LED2闪烁,LED1和LED2同时闪烁,关闭所有的LED。
b.两片8051的串口都工作在模式1,甲机对乙机完成以下4项控制。
i.甲机发送“A”,控制乙机LED1闪烁。
ii.甲机发送“B”,控制乙机LED2闪烁。
iii.甲机发送“C”,控制乙机LED1,LED2闪烁。
iv.甲机发送“C”,控制乙机LED1,LED2停止闪烁。
c.甲机负责发送和停止控制命令,乙机负责接收控制命令并完成控制LED的动作。
两机的程序要分别编写。
d.两个单片机都工作在串口模式1下,程序要先进行初始化,具体步骤如下:i.设置串口模式(SCON)ii.设置定时器1的工作模式(TMOD)iii.计算定时器1的初值iv.启动定时器v.如果串口工作在中断方式,还必须设置IE和ES,并编写中断服务程序。
(2)电路原理图Figure 1 甲机通过串口控制乙机LED闪烁的原理图(3)程序设计提示a.模式1下波特率由定时器控制,波特率计算公式参考:b.可以不用使用中断方式,使用查询方式实现发送与接收,通过查询TI和RI标志位完成。
2.单片机与PC串口通讯及函数指针的使用(1)要求:a.编写用单片机求取整数平方的函数。
b.单片机把计算结果向PC机发送字符串。
c.PC机接收计算结果并显示出来。
d.可以调用Keil C51 stdio.h 中的printf来实现字符串的发送。
✧─数据存储器:多达1K字节真正的数据EEPROM;可达30万次擦写✧RAM:多达2K字节时钟、复位和电源管理✧ 3.0~5.5V工作电压,内核电压1.8V✧灵活的时钟控制,4个主时钟源✧–低功率晶体振荡器✧–外部时钟输入✧–用户可调整的内部16MHz RC✧–内部低功耗128kHz RC✧带有时钟监控的时钟安全保障系统电源管理:✧–低功耗模式(等待、活跃停机、停机)✧–外设的时钟可单独关闭✧永远打开的低功耗上电和掉电复位中断管理✧带有32个中断的嵌套中断控制器✧ 6个外部中断向量,最多37个外部中断定时器✧2个16位通用定时器,带有2+3个CAPCOM通道(IC、OC 或PWM)✧高级控制定时器:16位,4个CAPCOM✧通道,3个互补输出,死区插入和灵活的自动唤醒定时器✧2个看门狗定时器:窗口看门狗和独立看门狗通信接口✧带有同步时钟输出的UART ,智能卡,红外IrDA,LIN接口✧SPI接口最高到8Mbit/s✧I2C接口最高到400Kbit/s2.2 STM8S系列MCU内部结构 P222.2.1 STM8内核CPU P24PC为24位,可寻址224=16Mb累加器(A) ,堆栈指针(SP),索引寄存器(X和Y),条件码寄存器(CC):2.2.2 STM8S封装与引脚排列2.3掌握通用I/O口GPIO初始化P31●可选择的输入模式:悬空输入(缺省状态)和带上拉输入●可选择的输出模式:推挽式输出和开漏输出PB_DDR,PB_CR1,PB_CR22.3.1 I/O引脚结构2.3.2 I/O端口数据寄存器与控制寄存器2.3.3输入模式2.3.4输出模式每一个端口都有一个输出数据寄存器 (ODR),一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR) 总是同相关的。
控制寄存器1(CR1)和控制寄存器2(CR2)用于对输入/输出进行配置。
任何一个I/O引脚可以通过对DDR,ODR,CR1和CR2寄存器的相应位进行编程来配置。
单片机串行口的工作原理一、引言单片机串行口是单片机与外部设备进行通信的一种重要方式。
它通过串行通信协议将数据从单片机发送到外部设备或从外部设备接收数据并传输到单片机。
本文将详细介绍单片机串行口的工作原理。
二、串行通信协议1. 串行通信概述串行通信是指在同一时间内,只有一个比特(bit)被传输的通信方式。
与之相对的是并行通信,它可以同时传输多个比特。
由于现代计算机系统中各种设备间需要大量数据交换,因此串行通信成为了广泛应用的一种通讯方式。
2. 常见的串行通信协议常见的串行通信协议有RS232、RS485、I2C和SPI等。
其中,RS232是最早广泛使用的标准,用于在计算机和调制解调器之间进行数据传输。
RS485则是一种多点连接的标准,适用于在远距离范围内进行数据传输。
I2C和SPI则主要用于芯片级别的短距离数据传输。
三、单片机串口硬件结构1. 串口芯片在单片机系统中,使用专门的UART(Universal Asynchronous Receiver/Transmitter)芯片来实现串口通信。
UART芯片包括发送和接收两个模块,可以将单片机的并行数据转换为串行数据进行传输,并将接收到的串行数据转换为单片机可以处理的并行数据。
2. 串口引脚在单片机中,通常有两个引脚用于串口通信,分别为TX(发送)和RX(接收)。
这些引脚通过芯片内部的寄存器进行控制,以实现对串口的配置和控制。
3. 波特率发生器波特率是指在单位时间内传输的比特数。
在单片机中,使用波特率发生器来控制UART芯片的工作频率,从而实现不同波特率下的数据传输。
四、单片机串口软件实现1. 串口初始化在使用单片机进行串口通信之前,需要先对串口进行初始化。
这包括设置波特率、校验位、停止位等参数,并启动UART芯片以使其准备好接收或发送数据。
2. 串口发送当需要向外部设备发送数据时,在单片机中可以通过向TX引脚写入相应的比特序列来实现。
在发送前需要检查TX缓冲区是否为空,并等待直到缓冲区为空后再进行下一次传输。
第八章串行通信技术§8。
1串行通信的概述及RS-232C总线教学方法:讲授法教学目的:1、了解单片机串行通信的基本方法。
2、掌握单片机串行通信的相关概念。
3、了解RS-232C总线。
4、了解RS-232C总线电平及计算机信号电平教学重点:串行通信的方式教学难点:波特率的理解和信号电平的理解教学过程:组织教学:授课课时:(2课时)扳书课题:§8。
1串行通信的概述及RS-232C总线引入新课:一、串行通信概述1、什么叫串行通信?并行、串行举生活中的例子(排横队行走,排纵队行走)说明;引出并行通信,串行通信的概念。
P00P01 外设1P02P0389C51RXD外设2TXD串行通信就是使计算机中的数据一位一位地按先后顺序在一根传输线上传送。
通常有两种基本的通信方式:异步通信和同步通信。
2、异步通信和同步通信回顾在数字电路中所学的移位寄存器工作原理。
可提问学生。
异步通信:异步——发送时钟不一定等于接收时钟。
如下图:数据传送是帧的形式传送,每一帧数据包括起始位、数据位、奇偶校验位、停止位四部分。
其中数据位可以是5位、6位、7位、8位。
在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。
用这种格式表示字符,则字符可以一个接一个地传送。
特点:不同速度的外设可相互传送,但传送数据比实际数据位数多(加起始位、停止位等),占用CPU时间,传送速度较慢。
同步通信同步——发送设备时钟等于接收设备时钟。
在同步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间;所以在数据块传递时,为了提高速度,常去掉这些标志,采用同步传送。
由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。
发送方和接收方时钟完全一样,只要双方同时准备好(同步),可直接传送数据,无需附加多余的控制位,传送数据效率高,但设备要求高。
第八章 8051单片机的异步串行通信技术第一节概述计算机与外界的信息交换称为通信。
常用通信方式有两种:并行通信与串行通信,简称并行传送和串行传送。
并行传送具有传送速度快,效率高等优点,但传送多少数据位就需要多少根数据线,传送成本高;串行传送是按位顺序进行数据传送,最少仅需要一根传输线即可完成,传送距离远,但传送速度慢。
串行通信又分同步和异步两种方式。
同步通信中,在数据传送开始时先用同步字符来指示(常约定1—2个),并由同时传送的时钟信号来实现发送端和接收端同步,即检测到规定的同步字符后,接着就连续按顺序传送数据。
这种传送方式对硬件结构要求较高。
在单片机异步通信中,数据分为一帧一帧地传送,即异步串行通信一次传送一个完整字符,字符格式如图8—1所示:图8—1 异步串行通信的字符格式一个字符应包括以下信息:1. 起始位:对应逻辑0(space)状态。
发送器通过发送起始位开始一帧字符的传送。
2. 数据位:起始位之后传送数据位。
数据位中低位在前,高位在后。
数据位可以是5、6、7、8位。
1673. 奇偶校验位:奇偶校验位实际上是传送的附加位,若该位用于用于奇偶校验,可校检串行传送的正确性。
奇偶校验位的设置与否及校验方式(奇校验还是偶校验)由用户需要确定。
4. 停止位:用逻辑1(mark)表示。
停止位标志一个字符传送的结束。
停止位可以是1、1.5或2位。
串行通信中用每秒传送二进制数据位的数量表示传送速率,称为波特率。
1波特=1bps(位/秒)例如数据传送速率是240帧/秒,每帧由一位起始位、八位数据位和一位停止位组成,则传送速率为:10×240=2400位/ 秒=2400波特单片机的串行通信主要采用异步通信传送方式。
在串行通信中,按不同的通信方向有单工传送和双工传送之分,如图8—2所示:(a)单工传送(b)双工传送(c)全双工传送图8—2 单片机串行通信方向示意图8—2(a)中,甲.乙两机只能单方向发送或接收数据;图8—2(b)中,甲机和乙机能分时进行双向发送和接收数据;图8—2(c)中,甲,乙两机能同时双向发送和接收数据。
第8章思考题及习题8参考答案一、填空1、AT89S51的串行异步通信口为(单工/半双工/全双工)。
答:全双工。
2. 串行通信波特率的单位是。
答:bit/s3. AT89S51的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。
答:fosc/125.AT89S51单片机的通讯接口有和两种型式。
在串行通讯中,发送时要把数据转换成数据。
接收时又需把数据转换成数据。
答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz。
答:11.05927.AT89S51单片机串行口的4种工作方式中,和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
9.在串行通信中,收发双方对波特率的设定应该是的。
答:相同的。
10.串行口工作方式1的波特率是。
答:方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S51的串行口扩展并行I/O口时,串行接口工作方式选择。
A. 方式0B.方式1C. 方式2D.方式3答:A2. 控制串行口工作方式的寄存器是。
A.TCON B.PCON C. TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义。
对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。
错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对6. 串行口工作方式1的波特率是固定的,为fosc/32。
错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。
单⽚机原理与应⽤(盛珣华)习题和思考题答案习题和思考题答案第⼀章单⽚机概述1. 第⼀台电⼦数字计算机发明的年代和名称。
1946年、ENIAC。
2. 根据冯·诺依曼提出的经典结构,计算机由哪⼏部分组成?运算器、控制器、存储器、输⼊设备和输出设备组成。
3. 微型计算机机从20世纪70年代初问世以来,经历了哪四代的变化?经历了4位、8位、16位、32位四代的变化。
4. 微型计算机有哪些应⽤形式?系统机、单板机、单⽚机。
5. 什么叫单⽚机?其主要特点有哪些?单⽚机就是在⼀⽚半导体硅⽚上,集成了中央处理单元(CPU)、存储器(RAM、ROM)、并⾏I/O、串⾏I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的⽤于测控领域的微型计算机,简称单⽚机。
单⽚机技术易于掌握和普及、功能齐全,应⽤⼴泛、发展迅速,前景⼴阔、嵌⼊容易,可靠性⾼。
6. 举例说明单⽚机的应⽤?略7. 当前单⽚机的主要产品有哪些?各⾃有何特点?MCS是Intel公司⽣产的单⽚机的系列符号,MCS-51系列单⽚机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进⼊我国,并在我国应⽤最为⼴泛的单⽚机机型之⼀,也是单⽚机应⽤的主流品种。
其它型号的单⽚机:PIC单⽚机、TI公司单⽚机、A VR系列单⽚机。
8. 简述单⽚机应⽤系统的开发过程。
(1)根据应⽤系统的要求进⾏总体设计总体设计的⽬标是明确任务、需求分析和拟定设计⽅案,确定软硬件各⾃完成的任务等。
总体设计对应⽤系统是否能顺利完成起着重要的作⽤。
(2)硬件设计根据总体设计要求设计并制作硬件电路板(即⽬标系统),制作前可先⽤仿真软件(如Proteus软件)进⾏仿真,仿真通过后再⽤硬件实现并进⾏功能检测。
(3)软件设计软件编程并调试,⽬前⼀般⽤keil软件进⾏设计调试。
调试成功后将程序写⼊⽬标单⽚机芯⽚中。
(4)综合调试进⾏硬软件综合调试,检测应⽤系统是否达到设计的功能。
1.单片机串行通信的概述在通信领域内,有两种数据通信方式:并行通信和串行通信。
随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。
通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输。
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。
在串行通信中,把通信接口只能发送或接收的单向传送办法叫单工传送;而把数据在甲乙两机之间的双向传递,称之为双工传送。
在双工传送方式中又分为半双工传送和全双工传送。
半双工传送是两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。
51系列单片机有一个可编程的全双工串行通信接口,它可作异步接收发送器用,也可做同步移位寄存器用,其帧格式可有8位、10位或11位,并能设置各种波特率,给使用带来很大的灵活性。
51系列单片机有两个物理上独立的接收、发送缓冲器SBUF,它们只占用同一地址99H,可同时发送、接送数据。
发送缓冲器只能写入,不能读出,接收缓冲器只能读出、不能写入。
串行发送接收的速率与波特率发生器产生的移位脉冲同频。
51系列单片机用定时器T1或直接用CPU时钟作为通信波特率发生器的输入,在串行接口的不同工作方式中,波特率发生器从两个输入信号中选择一个分频,产生移位脉冲来同步串口的接收和发送,移位脉冲的速率即是波特率。
接收器是双缓冲结构,在前一个字节被从接收缓冲器SBUF读出之前,第二字节即开始被接收。
但是,若在第二个字节接收完毕后,前一个字节还未被CPU 读取的话,第二个字就会覆盖第一个字节,造成第一个字节的丢失。
接收器是双缓冲结构,串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。
第8章思考题及习题8参考答案一、填空1、AT89S52的串行异步通信口为(单工/半双工/全双工)。
答:全双工。
2. 串行通信波特率的单位是。
答:bit/s3. AT89S52的串行通信口若传送速率为每秒120帧,每帧10位,则波特率为答:12004.串行口的方式0的波特率为。
答:fosc/125.AT89S52单片机的通讯接口有和两种型式。
在串行通讯中,发送时要把数据转换成数据。
接收时又需把数据转换成数据。
答:并行,串行,并行,串行,串行,并行6.当用串行口进行串行通信时,为减小波特率误差,使用的时钟频率为 MHz。
答:11.05927.AT89S52单片机串行口的4种工作方式中,和的波特率是可调的,与定时器/计数器T1的溢出率有关,另外两种方式的波特率是固定的。
答:方式1,方式38.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
9.在串行通信中,收发双方对波特率的设定应该是的。
答:相同的。
10.串行口工作方式1的波特率是。
答:方式1波特率=(2SMOD/32)×定时器T1的溢出率二、单选1.AT89S52的串行口扩展并行I/O口时,串行接口工作方式选择。
A. 方式0B.方式1C. 方式2D.方式3答:A2. 控制串行口工作方式的寄存器是。
A.TCON B.PCON C. TMOD D.SCON答:D三、判断对错1.串行口通信的第9数据位的功能可由用户定义。
对2.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对3.串行通信方式2或方式3发送时,指令把TB8位的状态送入发送SBUF中。
错4.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对5.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对6. 串行口工作方式1的波特率是固定的,为fosc/32。
错7. AT89S51单片机进行串行通信时,一定要占用一个定时器作为波特率发生器。
8. 结构实例6:单片机串口通信虽然那个流水灯游戏的可玩性和按键手感问题还值得再好好提升一下,但小月更希望调剂一下,转而开始了对手头烧写板上关于RS-232转换部分的学习。
小月的做法并不难以理解,毕竟与RS-232转换的相关电路在原理图中还是相当显眼的,甚至于他手头编程器的别名就是RS-232转换器。
图8.1 单片机中负责RS-232通讯的电路在烧写器一端与电脑连接的两个接头中,9针的RS-232接口就是串口通信线,而另一个USB口仅接通了+5V和GND,只有给烧写器供电的作用。
这样就可以知道,电脑可以通过RS-232对单片机的内部程序进行改写。
那么,这就意味着单片机与电脑间必然可以进行数据的交换,这种交换,就叫做通信。
所谓串口通信,就是指这种基于RS-232串口的通信方式。
RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。
最早是为使电脑通过电话线系统相互通信的调制解调器上而是设计的。
后来发展到连接鼠标或打印机上,目前已经被支持设备的即插即用和热插拔功能的USB所替代,但仍广泛的用于工业仪器仪表中,同时也是单片机最基础和最常见的通信方式。
不过要把“最基础和最常见”这两个最拆开来说,就要在后面加上“之一”了。
虽然目前的通信技术日新月异,但这种说法在今后很长一段时期内都是成立的,也正因为这样的特点,STC的51系列单片机都是默认通过RS-232方式进行烧写的。
作为两台设备之间进行的通信,必然需要共同遵守某种规定或规则,包括交流什么、怎样交流及何时交流。
这个规则就是通信协议。
RS-232通信中通信协议的原则就是串口按位(bit)发送和接收数据。
线路上,RS-232通信使用3根线完成,分别是地线、发送、接收。
端口能够在一根线上发送数据的同时在另一根线上接收数据,即全双工传输。
全双工传输是传输制式的一种分类方式中的一类,除此还有单工传输和半双工传输。
单工传输,是指消息只能单方向传输的工作方式。