单片机串行口接收和发送数据的过程简述

合集下载

单片机串口通信的发送与接收

单片机串口通信的发送与接收

单片机串口通信的发送与接收51单片机的串口,是个全双工的串口,发送数据的同时,还可以接收数据。

当串行发送完毕后,将在标志位TI 置1,同样,当收到了数据后,也会在RI 置1。

无论RI 或TI 出现了1,只要串口中断处于开放状态,单片机都会进入串口中断处理程序。

在中断程序中,要区分出来究竟是发送引起的中断,还是接收引起的中断,然后分别进行处理。

看到过一些书籍和文章,在串口收、发数据的处理方法上,很多人都有不妥之处。

接收数据时,基本上都是使用“中断方式”,这是正确合理的。

即:每当收到一个新数据,就在中断函数中,把RI 清零,并用一个变量,通知主函数,收到了新数据。

发送数据时,很多的程序都是使用的“查询方式”,就是执行while(TI ==0); 这样的语句来等待发送完毕。

这时,处理不好的话,就可能带来问题。

看了一些网友编写的程序,发现有如下几条容易出错:1.有人在发送数据之前,先关闭了串口中断!等待发送完毕后,再打开串口中断。

这样,在发送数据的等待期间内,如果收到了数据,将不能进入中断函数,也就不会保存的这个新收到的数据。

这种处理方法,就会遗漏收到的数据。

2.有人在发送数据之前,并没有关闭串口中断,当TI = 1 时,是可以进入中断程序的。

但是,却在中断函数中,将TI 清零!这样,在主函数中的while(TI ==0);,将永远等不到发送结束的标志。

3.还有人在中断程序中,并没有区分中断的来源,反而让发送引起的中断,执行了接收中断的程序。

对此,做而论道发表自己常用的方法:接收数据时,使用“中断方式”,清除RI 后,用一个变量通知主函数,收到新数据。

发送数据时,也用“中断方式”,清除TI 后,用另一个变量通知主函数,数据发送完毕。

这样一来,收、发两者基本一致,编写程序也很规范、易懂。

更重要的是,主函数中,不用在那儿死等发送完毕,可以有更多的时间查看其它的标志。

实例:求一个PC与单片机串口通信的程序,要求如下:1、如果在电脑上发送以$开始的字符串,则将整个字符串原样返回(字符串长度不是固定的)。

单片机原理及接口技术课后答案第七章

单片机原理及接口技术课后答案第七章

第七章1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。

通信采用帧格式,无需同步字符。

存在空闲位也是异步通信的特征之一。

2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。

由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。

串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。

定时器T1产生串行通信所需的波特率。

3、简述串行口接收和发送数据的过程。

答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。

当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。

在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN (SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。

当发读SBUF命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF 取出信息通过89C51内部总线送CPU。

4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:89C51串行口有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。

有2种帧格式:10位,11位方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)方式2:方式2波特率≌2SMOD/64×fosc方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)如果T1采用模式2则:5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则:波特率=(11b/字符)×(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。

单片机简答题(共2题,每题5分,共10分,建议从最后5题中选择)

单片机简答题(共2题,每题5分,共10分,建议从最后5题中选择)

简答题部分1、什么叫堆栈?答:堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以"后进先出"的结构方式处理的。

实质上,堆栈就是一个按照"后进先出"原则组织的一段内存区域。

2、进位和溢出?答:两数运算的结果若没有超出字长的表示范围,则由此产生的进位是自然进位;若两数的运算结果超出了字长的表示范围(即结果不合理),则称为溢出。

3、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系?答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一个机器周期包含6个状态周期(又称时钟周期,简称S周期),而一个状态周期又包含两个振荡周期(P1和P2,简称P周期)。

也就是说,指令执行周期有长有短,但一个机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P。

4、存储器中有几个保留特殊功能的单元用做入口地址?分别作什么作用?答:MCS-51系列单片机的存储器中有6个保留特殊功能单元,其中0000H为复位入口、0003H 为外部中断0入口、000BH为T0溢出中断入口、0013H为外部中断1入口、001BH为T1溢出中断入口、0023H为串行接口中断入口。

5、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项?答:MCS-51单片机的四个端口在结构上相同之处:P0~P3都是准双向I/O口,作输入时,必须先向相应端口的锁存器写入“1”。

不同之处;P0口的输出级与P1~P3口不相同,它无内部上拉电阻,不能提供拉电流输出,而P1~P3则带内部上拉电阻,可以提供拉电流输出。

当P0口作通用I/O口输出使用时,需外接上拉电阻才可输出高电平;但作地址/数据总线时,不需要外接上拉电阻。

P1~P3口I/O输出时,均无需外接上拉电阻。

6、MCS-51的时钟周期、机器周期、指令周期的如何分配的?当振荡频率为8MHz时,一个单片机时钟周期为多少微秒?答:MCS-51的时钟周期是最小的定时单位,也称为振荡周期或节拍。

51单片机基础知识试题题库(答案)

51单片机基础知识试题题库(答案)

第二章习题参考答案一、填空题:2、MCS-51的堆栈是软件填写堆栈指针临时在片内RAM数据存储器内开辟的区域。

INC DEC 都不影响 PSW堆宅操作只有一条寻址方式直接寻址方式17、使用8031芯片时,需将ROM 存7、单片机8031的ALE引脚是()。

A、输出高电平B、输出矩形脉冲,频率为fosc的1/6C、输出低电平D、输出矩形脉冲,频率为fosc的1/211、单片机上电复位后,堆栈区的最大允许范围是()个单元。

A、64B、 120C、128D、25612、单片机上电复位后,堆栈区的最大允许范围是内部RAM的()。

A、00H—FFHB、00H—07HC、07H—7FHD、08H—7FH13、对于8031单片机,其内部RAM()。

A、只能位寻址B、只能字节寻址C、既可位寻址又可字节寻址D、少部分能位寻址18、单片机8051的XTAL1和XTAL2引脚是()引脚。

A、外接定时器B、外接串行口C、外接中断D、外接晶振23、MCS—51的专用寄存器SFR中的堆栈指针SP是一个特殊的存贮区,用来(),它是按后进先出的原则存取数据的。

A、存放运算中间结果B、存放标志位C、暂存数据和地址D、存放待调试的程序三、判断题6、PC可以看成使程序存储器的地址指针。

(√)7、判断以下有关PC和DPTR的结论是否正确?A、DPTR是可以访问的,而PC不能访问。

(√)B、它们都是16位的存储器。

(√)C、它们都有自动加“1”的功能。

(×)PC有自动加“1”的功能,而DPTR的加“1”则需通过指令INC DPTR来完成。

D、DPTR可以分为两个8位的寄存器使用,但PC不能。

(√)8、程序计数器PC不能为用户编程时直接使用,因为它没有地址。

(√)13、8051的累加器ACC是一个8位的寄存器,简称为A,用来存一个操作数或中间结果。

(√)14、8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存程序运行中的各种状态信息。

单片机原理及应用习题 (带答案)

单片机原理及应用习题 (带答案)

《单片机原理及应用》习题一、填空1、MCS-51单片机访问外部存储器时,利用 ALE 信号锁存来自 P0 口的低8位地址信号。

2、MCS-51系统中,当PSEN 信号有效时,表示从P0口稳定地读入了 低8位地址 。

3、通常单片机上电复位时PC=0000H ,SP= 07H ;而工作寄存器则缺省采用第 00 组,这组寄存器的地址范围是从 00H~07H 开始。

4、MCS-51单片机的存储器从物理结构上可划分 4 个空间,从逻辑上分别可划分 3 个空间。

5、MCS-51单片机8031中有 2 个16位的定时/计数器,可以被设定的工作方式有 4 种。

6、MCS-51有 5 中断源,有 2 中断优先级,优先级由软件填写特殊功能寄存器 加以选择。

7、当/EA 接地时,MCS-51单片机将从_ 外部程序的存储器_____的地址0000H 开始执行程序。

8、中断请求信号有 电平 触发和 边沿 触发两种触发方式。

9、用串行口扩展并行口时,串行接口的工作方式应选为 0 。

10. MCS -51复位后·CPU 从 0000 H 单元开始执行程序。

·SP 的内容为 07 H , 第一个压入堆栈的数据将位于 片内 RAM 的 08 H 单元。

·SBUF 的内容为 不定 。

·ADDC A , #54H 指令执行后 , PSW 寄存器的内容将等于 01 H 。

11. 8051AH·片内设置有4KB 的ROM , 当EA 端保持高电平时 , PC (程序计数器)值超过 OFF H时 , 将自动转向执行外部程序存储器的程序。

·可做通用I/O 的至少有_P1_口的8条I/O 线。

_P0_口作地址/数据总线, 传送地址码的_低_8位 , _P2 口作地址总线 , 传送地址码的高__8位。

12.存储器组织·8051片内RAM 有 128 个字节 , 片外RAM 寻址范围为 64K 个字节。

单片机串行口工作方式

单片机串行口工作方式

单片机串行口工作方式
单片机串行口工作方式
单片机串行口是一种常用的通信接口,用于与其他设备进行数据传输。

串行口的工作方式通常分为同步方式和异步方式,其中异步方式更为
常见。

异步方式下,串行口通过发送和接收两个线路进行数据传输。

在发送
数据时,串行口首先发送一个起始位,然后按照约定的数据位数发送
具体数据,最后发送一个停止位。

在接收数据时,串行口通过检测起
始位和停止位确定接收的数据,并将其存储在接收缓冲区中。

在单片机中,串行口的时钟频率通常是由一个预分频器和一个计数器
共同决定的。

预分频器用于将主时钟分频,计数器则用于控制数据的
传输速率。

在实际应用中,串行口常常被用于与外部设备进行通信。

例如,与传
感器通信时,传感器将采集到的数据通过串行口发送到单片机,单片
机则对这些数据进行处理和分析。

总之,单片机串行口是一种极为常用的通信接口,其工作方式既包括
同步方式又包括异步方式。

在实际应用中,我们需要根据具体需求选择合适的串行口工作方式,并根据具体需求进行配置。

单片机习题答案

单片机习题答案

单片机习题答案第1章习题参考答案1-1什么是单片机?它与一般微型计算机在结构上何区别?微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。

单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。

1-2MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。

答:MCS-51系列单片机内部资源配置型号8031/80C318051/80C51程序存储器片内RAM定时/计数器并行I/O口串行口中断源/中断优先级无128B128B128B256B256B2某162某162某163某163某164某84某84某84某84某8111115/25/25/26/26/24KBROM无8751/87C514KBEPROM8032/80C328052/80C524KBROM8051与51兼容的单片机的异同厂商型号程序存储片内定时/并行串行中断源/优先级5/26/2直接驱动LED输出,片上模拟比较器256B3某163219/2SPI,WDT,2个数据指针其它特点器RAM计数器I/O口口IntelATMEL8051/80C514KBROM128BAT89C20512KBFlahROMAT89S5312KBFlah ROMAnalogADuC812DeviceW77E5832KB256B+3某1636212/2扩展了4位I/O 口,双数据指针,WDT。

19/2WDT,SPI,8通道12位ADC,2通道12位DAC,片上DMA控制器。

.飞利浦80C552无256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM83/87C5528KBEEPROM83/89CE55832KBEEPROM256B+3某16401024B115/4256B3某1648115/4CMOS型10位ADC,捕捉/比较单元,PWM8通道10位ADC,捕捉/比较单元,PWM,双数据指针,IC总线,PLL (32kHz)。

51单片机基础知识试题题库(考试用含答案)

51单片机基础知识试题题库(考试用含答案)

51单片机基础知识试题题库(考试用含答案)ﻭ第二章习题参考答案一、填空题:2、MCS-51的堆栈是软件填写堆栈指针临时在片内R AM 数据存储器内开辟的区域。

INC DEC 都不影响PSW 堆宅操作只有一条寻址方式直接寻址方式3、当使用8751且EA=1〃程序存储器地址小于1000H时〃访问的是片内ROM。

7、PSW中RS1 RS0=10时〃R2的地址为12H。

8、PSW中RS1 RS0=11时〃R2的地址为1AH。

14、内部RAM中〃位地址为30H的位〃该位所在字节的字节地址为。

17、使用8031芯片时〃需将/EA引脚接低电平〃因为其片内无ROM存22、但单片机的型号为8031/8032时〃其芯片引线EA一定要接di 电平。

7、单片机8031的ALE引脚是。

A、输出高电平B、输出矩形脉冲〃频率为fosc的1/6C、输出低电平D、输出矩形脉冲〃频率为fosc的1/2 111、单片机上电复位后〃堆栈区的最大允许范围是个单元。

A、64B、120C、128 D、256 12、单片机上电复位后〃堆栈区的最大允许范围是内部RAM的。

A、00H—FFH B、00H—07H C、07H—7FHD、08H—7FH13、对于8031单片机〃其内部RAM。

A、只能位寻址B、只能字节寻址C、既可位寻址又可字节寻址D、少部分能位寻址18、单片机8051的XTAL1和XTAL2引脚是引脚。

A、外接定时器B、外接串行口C、外接中断D、外接晶振23、MCS—51的专用寄存器SFR中的堆栈指针SP是一个特殊的存贮区〃用来〃它是按后进先出的原则存取数据的。

A、存放运算中间结果B、存放标志位C、暂存数据和地址D、存放待调试的程序三、判断题6、PC可以看成使程序存储器的地址指针。

7、判断以下有关PC和DPTR的结论是否正确?A、DPTR是可以访问的〃而PC不能访问。

B、它们都是16位的存储器。

C、它们都有自动加“1”的功能。

PC 有自动加“1”的功能〃而DPTR的加2 “1”则需通过指令INC DPTR 来完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机串行口接收和发送数据的过程简述
串行口接收和发送数据的过程简述
 答:在发送过程中,当执行一条将数据写入发送缓冲器SBUF(99H)的指令时,串行口把SBUF中8位数据以fosc/l2的波特率从RXD(P3.0)端输出,发送完毕置中断标志TI=1。

写SBUF指令在S6P1处产生一个正脉冲,在下一个机器周期的S6P2处,数据的最低位输出到RXD(P3.0)脚上;再在下一个机器周期的S3、S4和S5输出移位时钟为低电平时,在S6及下一个机器周期的Sl和S2为高电平,就这样将8位数据由低位至高位一位一位顺序通过RXD线输出。

并在TXD脚上输出fosc/12的移位时钟。

在写SBUF有效后的第10个机器周期的SlPl将发送中断标志TI置位。

 接收时,用软件置REN=1(同时,RI=0),即开始接收。

当使SCON中的REN=1(RI=0)时,产生一个正的脉冲,在下一个机器周期的S3P1~S5P2,从TXD(P3.1)脚上输出低电平的移位时钟,在此机器周期的S5P2对P3.0脚采样.并在本机器周期的S6P2通过串行口内的输入移位寄存器将采样值移位接收。

在同一个机器周期的S6P1到下一个机器周期的S2P2,输出移位时钟为高电平。

于是,将数据字节从低位至高位接收下来并装入SBUF。

在启动接收过程(即写SCON,清RI位),将SCON中的RI清0之后的第l0个机器周期的SlPl将RI置位。

这一帧数据接收完毕,可进行下一帧接收。

相关文档
最新文档