10级单片机第七章1
- 格式:ppt
- 大小:497.50 KB
- 文档页数:28
第七章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,则允许多机通信。
第九讲课题:MCS-51单片机控制与C语言一教学目的:掌握C51的语法和编程方法学习C51程序设计教学难点、重点:C51程序设计I、课程复习、引入C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的某些特点,用C语言进行程序设计已经成为软件开发的一个主流。
单片机开发也适应了这个潮流。
II、本课内容第七章MCS-51单片机控制与C语言7.1 C语言与MCS-51用C语言开发单片机的优点:●优于汇编语言的开发速度。
●软件的可读性和维护性显著改善。
●提供的库函数包含许多标准子程序,具有较强的数据处理能力。
●关键字及控制转移方式更接近于人的思维方式。
●方便地进行多人联合开发,进行模块化软件设计。
●方便进行同一硬件平台的软件设计和移植●方便跨硬件平台软件移植。
●适合运行嵌入式实时操作系统。
本章是针对这种被广泛运用的MCS-51的C语言编译器Keil C51,介绍MCS-51单片机C语言程序设计。
7.1.1C语言提要1)C语言的注释(1)//(双斜杠)注释,表示从双斜杠开始到本行结尾是注释,不参加编释,多见于C++。
(2)/**/(斜杠星号对)之间是注释,可以允许多行。
Keil C51同时可上面两种注释。
2)C的数据类型数据类型基本类型:整型、字符型、枚举类型、实型:单精度型和双精度型构造类型括数组类型、结构体类型、共用体类型。
指针类型空类型Bit sbit3)C的运算符算术运算符+、-、*、/、%(整除求余)、++(自加)、--(自减)关系运算符> 、< 、== 、>=、<=、!=逻辑运算符! 、&&、||位运算符< <(左移)、>>(右移)、~、| 、^ 、&赋值运算符=及其扩展赋值运算符条件运算符?;逗号运算符,指针运算符* &求字节数运算符sizeof强制类型转换运算符类型分量运算符.→下标运算符[ ]其他如函数调用运算符( )C语言可以分为以下五类:①控制语句完成一定的控制功能。
第七章89C51单片机的串行口7.1 串行通讯基本知识在计算机技术中,数据传输方式有两大类:并行传输和串行传输。
一般来说,在计算机内部,CPU和并行存储器与并行I/O接口之间采用并行数据传输方式。
通常CPU的位数与并行数据宽度对应,比如89C51的CPU是8位的,其数据总线宽度为8,即有8条数据线。
在数据传送时,8位二进制数据同时进行输入或输出。
这种方式逻辑清晰,接口方便,工作速度快、效率高。
但是,如果计算机和其他计算机或终端设备距离很远时,并行方式不仅不经济,而且还存在长线电容耦合和线反射等技术问题,这时就可以采用串行传输方式。
另外,有时为了节省线缆数量,即使在计算机内部,CPU和某些外设之间也可以采用非并行的传输方式,如I2C、SPI、USB等标准传输方式,但它们与这里所述的串行通讯有明显不同。
要而言之,串行通讯是以微处理器为核心的系统之间的数据交换方式,而I2C、SPI、USB等标准接口是微处理器系统与非微处理器型外部设备之间的数据交换方式。
前者可以是对等通讯,而后者只能采用主从方式。
计算机运行过程中,CPU、存储器和I/O接口之间要进行大量的数据传送,在计算机系统之间也可能需要远距离传输数据。
数据的传送有两种基本的方式,并行和串行。
并行传输是多数据位同时进行,如CPU和并行存储器之间、CPU和并行I/O接口之间都采用并行传送。
并行传送方法速度快,但距离近。
反之,串行传送方法速度慢,但距离可以比较远。
并行传送好比8人站成一列横队,肩并肩向前走;而串行传送如同8人一路纵队,一个跟在一个后面依次前行。
如果设置一个观察点,则并行传送时,8人一起同时通过观察点;而串行传送时,这8个人要顺次通过观察点,每次通过一个人,要分8次才能全部通过。
图7.1表示了这两种传送方法。
图7.1 两种数据传送方法的比较两者之间的性质比较如下:89C51单片机上有一个全双工的串行口UART(Universal Asynchronous receiver/Transmitter),即通用异步收发器,全双工是指可以同时发送和接收。