教学课件单片机创新开发教程ch12 使用串口.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《教学课件单片机创新开发教程ch12 使用串口.pptx》由会员分享,可在线阅读,更多相关《教学课件单片机创新开发教程ch12 使用串口.pptx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机创新开发教程-基于STC8吴险峰第12章 使用串口单片机通过串口与外部设备通信。串口类型有很多,单片机中主要是UART,I2C、SPI和单总线等。本章主要介绍UART和串口助手工具的应用。1.情境导入2.学习目标3.相关知识4.项目设计5.项目实现6.知识拓展7.强化练习12.1情境导入小白:“单片机GPIO口感觉学得差不多了。输入有按键、ADC器件,输出有LED灯、数码管、PWM器件。再配合中断定时控制就能做很多项目了。”小牛:“单片机还要必须和外部设备进行信息交换。比如你知道单片机的程序需要通过计算机编译后下载到单片机运行。单片机很多控制信号需要通过计算机发出。这些都需要用到单片机串
2、口通信。现在是物联网时代,不能对外通信的单片机项目价值很低。”小白:“好的,我来学习串口。”12.2 学习目标【知识目标】1.学习基本的串口概念。2.掌握UART的方式和种类。3.掌握STC8串口的结构。【能力目标】1.能使用串口助手工具。2.能进行串口编程。3.会使用Proteus串口终端。4.能设置Proteus仿真日志级别。12.3 相关知识l12.3.1.串口概念l12.3.2.UARTl12.3.3.STC8单片机串口结构l12.3.4.串口1的功能l12.3.5.串口编程步骤l12.3.6.图形化指令l12.3.7.串口打印函数printfl12.3.8.串口工具12.3 相关知识
3、12.3.1.串口概念单片机通信是单片机与外部设备或其他计算机之间的信息交换,可以分为并行通信与串行通信。并行通信通常是将数据字节的各位用多条数据线同时进行传送。串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。并行通信控制简单、传输速度快,但是端口占用多。串行通信端口占用少,但数据的传送控制比并行通信复杂。串口就是采用串行通信方式的扩展接口。串口类型有很多,单片机中主要是UART,I2C、SPI和单总线等几类,本章主要介绍UART。其他串口通信方式将在后面的章节论述。12.3 相关知识12.3.2.UART通用异步收发传输器(UniversalAsynchronousRecei
4、ver/Transmitter,UART),是一种异步收发传输器,是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx和Tx)就可以完成通信过程,因此也称为异步通信。异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,然而在同一个字符中的两个相邻位间的时间间隔是固定的。12.3 相关知识12.3.2.UART1.帧格式帧格式 UART的帧格式包含起始位、数据位、校验位和停止位,如图12-1所示。其中各位的意义如下。起始位:先发出一个逻
5、辑“0”信号,表示传输字符的开始。数据位:可以是58位逻辑“0”或“1”。如ASCII码(7位),扩展BCD码(8位)。校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。12.3 相关知识12.3.2.UART2.波特率波特率(BaudRate)表示数据传送速率,即每秒钟传送的二进制位数。波特率通常单位是bit/s,例如数据传送速率为120字符/秒,而每一个字符为10位(1个起始位,7个数据位,1个校验位,1个结束位),则其传送的波特率为1
6、01201200字符/秒1200波特。为提高通信速率,可以在1200基础上倍频,所以形成了2400、4800、9600、19200等标准波特率。3.TTL单片机上的UART采用的电平标准是TTL(双极型三极管逻辑电路),不过实际也不一定是TTL电平,只是沿用了TTL的说法。因为现在大部分数字逻辑都是CMOS工艺做的,用MOS管取代了三极管。除了TTL,还有RS232和RS485本质上也属于UART类型。TTL电平:全双工(逻辑1:2.4V5V,逻辑0:0V0.5V)RS-232电平:全双工(逻辑1:-15V-3V,逻辑0:+3V+15V)RS-485:半双工(逻辑1:+2V+6V,逻辑0:-6
7、V-2V)这里的电平指电压差。RS232和RS485主要用于计算机和工控机。UART一般就是指的一般就是指的TTL,和计算机通信时,需要用到逻辑电平转换。12.3 相关知识12.3.3.STC8单片机串口结构STC8H系列单片机具有4个全双工异步串行通信接口。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。串口2/串口3/串口4都只有两种工作方式,这两种方式的波特率都是可变的。用户可用软件设置不同的波特率和选择不同的工作方式。主机可通过查询或中断方式对接收/发送进行程序处
8、理,使用十分灵活。串口1、串口2、串口3、串口4的通信口均可以通过功能管脚的切换功能切换到多组端口,从而可以将一个通信口分时复用为多个通信口。12.3 相关知识12.3.4.串口1的功能由于串口内部结构都一致,我们以串口1为例介绍其功能。串口结构如图12-2所示。12.3 相关知识12.3.4.串口1的功能1.串口串口1控制寄存器(控制寄存器(SCON)SCON是STC8的串口1控制寄存器,也是经典51的唯一串口控制器。符号地址B7B6B5B4B3B2B1B0SCON98HSM0/FESM1SM2RENTB8RB8TIRI(1)SM0/FE:当PCON寄存器中的SMOD0位为1时,该位为帧错误
9、检测标志位。当UART在接收过程中检测到一个无效停止位时,通过UART接收器将该位置1,必须由软件清零。当PCON寄存器中的SMOD0位为0时,该位和SM1一起指定串口1的通信工作模式,SM0SM1串口1工作模式功能说明00模式0同步移位串行方式01模式1可变波特率8位数据方式10模式2固定波特率9位数据方式11模式3可变波特率9位数据方式(2)0SM2:允许模式2或模式3多机通信控制位。当串口1使用模式2或模式3时,如果SM2位为1且REN位为1,则接收机处于地址帧筛选状态。此时可以利用接收到的第9位(即RB8)来筛选地址帧,若RB8=1,说明该帧是地址帧,地址信息可以进入SBUF,并使RI
10、为1,进而在中断服务程序中再进行地址号比较;若RB8=0,说明该帧不是地址帧,应丢掉且保持RI=0。在模式2或模式3中,如果SM2位为0且REN位为1,接收机处于地址帧筛选被禁止状态,不论收到的RB8为0或1,均可使接收到的信息进入SBUF,并使RI=1,此时RB8通常为校验位。模式1和模式0为非多机通信方式,在这两种方式时,SM2应设置为0。(3)REN:允许/禁止串口接收控制位0:禁止串口接收数据1:允许串口接收数据(4)TB8:当串口1使用模式2或模式3时,TB8为要发送的第9位数据,按需要由软件置位或清0。在模式0和模式1中,该位不用。(5)RB8:当串口1使用模式2或模式3时,RB8
11、为接收到的第9位数据,一般用作校验位或者地址帧/数据帧标志位。在模式0和1中,该位不用。(6)TI:串口1发送中断请求标志位。在模式0中,当串口发送数据第8位结束时,由硬件自动将TI置1,向主机请求中断,响应中断后TI必须用软件清零。在其他模式中,则在停止位开始发送时由硬件自动将TI置1,向CPU发请求中断,响应中断后TI必须用软件清零。(7)RI:串口1接收中断请求标志位。在模式0中,当串口接收第8位数据结束时,由硬件自动将RI置1,向主机请求中断,响应中断后RI必须用软件清零。在其他模式中,串行接收到停止位的中间时刻由硬件自动将RI置1,向CPU发中断申请,响应中断后RI必须由软件清零。1
12、2.3 相关知识12.3.4.串口1的功能2.串口1数据寄存器(SBUF)SBUF实际是2个缓冲器,读缓冲器和写缓冲器,两个操作分别对应两个不同的寄存器,1个是只写寄存器(写缓冲器),1个是只读寄存器(读缓冲器)。对SBUF进行读操作,实际是读取串口接收缓冲区,对SBUF进行写操作则是触发串口开始发送数据。3.电源管理寄存器(PCON)PCON是除了电源管理外,还能控制串口波特率加倍。如表12-3所示。(1)SMOD:串口1波特率控制位。0:串口1的各个模式的波特率都不加倍1:串口1模式1、模式2、模式3的波特率加倍(2)SMOD0:帧错误检测控制位。0:无帧错检测功能1:使能帧错误检测功能。
13、此时SCON的SM0/FE为FE功能,即为帧错误检测标志位。其他的位数和单片机电源管理相关,我们在后面的低功耗章节中再详细介绍。符号地址B7B6B5B4B3B2B1B0PCON87HSMODSMOD0LVDFPOFGF1GF0PDIDL12.3 相关知识12.3.4.串口1的功能4.辅助寄存器1(AUXR)AUXR能控制串口1在模式0下波特率加倍。如表12-4所示。(1)UART_M0 x6:串口1模式0的通信速度控制0:串口1模式0的波特率不加倍,固定为fosc/121:串口1模式0的波特率6倍速,即固定为fosc/12*6fosc/2(2)S1ST2:串口1波特率发射器选择位0:选择定时器
14、1作为波特率发射器1:选择定时器2作为波特率发射器符号地址B7B6B5B4B3B2B1B0AUXR8EHT0 x12T1x12UART_M0 x6T2RT2_C/TT2x12EXTRAMS1ST212.3 相关知识12.3.5.串口编程步骤STC8单片机的串口编程步骤如下。(1)设置定时器T1为波特率发生器(TMOD设置).(2)给定时器T1赋初值。(3)设置串口1工作方式(SCON设置)。(4)打开相应的中断和总中断。(5)打开定时器T1,开始产生波特率。(6)设置串口1处理程序。天问Block图形化模块默认初始化串口为模式1可变波特率8位数据方式。(1)串口1,波特率采用定时器1来控制。(
15、2)串口2,波特率采用定时器2来控制。(3)串口3,波特率采用定时器3来控制。(4)串口4,波特率采用定时器4来控制。使用的时候要注意不要和定时器冲突了。使用的时候要注意不要和定时器冲突了。12.3 相关知识12.3.6.图形化指令常用指令图形化指令实例串口引脚和波特率设置。波特率尽可能选用常用的1200、2400、4800、9600、19200、38400、57600、115200,和外部晶振有关,特殊波特率如果不能被整除,会导致波特率不准。图形化模块下拉框没有需要的波特率,可以自己添加数字模块后修改 uart_init(UART_1,UART1_RX_P30,UART1_TX_P31,96
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件单片机创新开发教程ch12 使用串口 教学 课件 单片机 创新 开发 教程 ch12 使用 串口
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内