《(高职)任务八 串口通信ppt课件.pptx》由会员分享,可在线阅读,更多相关《(高职)任务八 串口通信ppt课件.pptx(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理及应用第一篇 单片机应用入门 2020年5月20日任务八 “打电话”和别人交流串口通信一、任务内容利用图1-8-1所示的单片机与计算机串口通信原理图,通过串口向PC机发送“Hello STC15W4K32S4!”,上位计算机用串口接收。了解串口通信的原理、特点;理解STC15W4K32S4单片机串口控制原理;掌握STC15W4K32S4单片机串口与外围设备进行串口通信的编程方法。单片机与PC利用串口进行通信,利用串口连接线将单片机的串行通信口与PC的串行通信口连接起来,然后再利用一个在Windows平台下的串口调试小工具串口调试助手进行数据通信。利用串口调试助手,我们可以看到单片机发
2、过来的数据是什么,并在计算机的屏幕上显示出来。当然,也可以利用串口调试助手从PC机向单片机发送数据。任务八 “打电话”和别人交流串口通信图1-8-1 单片机与计算机串口通信原理图162738495JK1DB9/FEMAILC1+1VDD2C1-3C2+4C2-5VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16U3MAX232C60.1uFC70.1uF+5VGNDC50.1uFGNDP3.0P3.1C80.1uFT2OUTR2INGND任务八 “打电话”和别人交流串口通信二、实施条件1、电脑(安装有Keil 软件、I
3、SP下载软件)、串口下载线或专用程序烧写器,作为程序的开发调试以及下载工具、串口连接线作为单片机与PC机通信线路。2、由单片机最小系统图以及串口通信原理图中所需器件构成的电路板,用来存储和运行程序,并演示效果。三、安全提示1、焊接电路时注意规范操作电烙铁,防止因为操作不当导致受伤。2、上电前一定要进行电路检测,将桌面清理干净,防止桌面残留的焊锡、剪掉的元器件引脚引起电路板短路,特别是防止电源与地短路导致芯片损坏。3、上电后不能够用手随意触摸芯片,防止芯片受损。4、规范操作万用表、示波器等检测设备,防止因为操作不当损坏仪器。知识链接知识链接 单片机与外界信息的交换称为通信。通信的基本方式有两种,
4、并行通信和串行通信。前者传送数据的特点 是各位同时发送或接收,而后者传送数据的特点是各位按顺序一位一位地发送或接收。串行通信的特点如下:VS节省传输线,这是显而易见节省传输线,这是显而易见的。尤其是在远程通信时,的。尤其是在远程通信时,此特点尤为重要。此特点尤为重要。(1 1)主要优点:)主要优点:数据传送效率低。数据传送效率低。(2 2)主要缺点:)主要缺点:知识链接知识链接 1、异步通信 异步通信依靠起始位、停止位保持通信同步。数据传送形式为按帧传输,一帧数据包含起始位、数据位、校验位和停止位,每一帧的数据格式如图1-8-2所示。图1-8-2(a) 无空闲位字符帧一、串行通信概述知识链接知
5、识链接 异步通信的特点为对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送和接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低。在单片机系统中主要采用异步通信方式。图1-8-2(b) 有空闲位字符帧知识链接知识链接 同步通信依靠同步字符保持通信同步。数据传送形式为数据块,数据块是由12个同步字符和多字节数据位组成,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。同步通信的数据格式如图1-8-3所示。图1-8-3 同步通信数据格式2、同步通信知识链接知识链接 3、通信波特率波特率,即
6、数据传送速率,是异步通信中对数据传送速率的规定。其意义是每秒钟传送二进制代码的位数,它的单位是b/s或bps。 异步通信的传送速率在50b/s19200b/s之间,常用于计算机到终端机和打印机之间的通信、直通电报以及无线电通信的数据发送等。相互通信的甲乙双方必须设置成相同的波特率,否则无法成功地完成串行数据通信。假设数据传送速率是每秒钟10个字符,而每个字符格式的一帧为11位,这时,传送的波特率为:11b11b字符字符1010字符字符s s110b110bs s通信波特率知识链接知识链接 串行通信按照数据传送方向可分为三种制式。 (1)单工制式(Simplex)。 (2)半双工制式(Half
7、Duplex)。 (3)全双工制式(Full Duplex)。图1-8-4单工制式连接示意图图1-8-5 半双工制式连接示意图4、串行通信的制式知识链接知识链接 串行通信按照数据传送方向可分为三种制式。 (1)单工制式(Simplex)。 (2)半双工制式(Half Duplex)。 (3)全双工制式(Full Duplex)。 图1-8-6 全双工制式连接示意图4、串行通信的制式知识链接知识链接 5、串行通信接口种类 根据串行通信格式及约定(如同步方式、通信速率、数据块格式等)不同,形成了许多串行通信接口标准,如常见的:串行通信接口种类UART USBI2CSPI485总线CAN总线接口(串
8、行异步通信接口)(通用串行总线接口)(集成电路间的串行总线)(串行外设总线)知识链接知识链接 STC15W4K32S4单片机具有4个UART工作方式的全双工异步串行通信接口(串口1、串口2、串口3和串口4)。每个串行口都由2个数据缓冲器、1个移位寄存器、1个串口控制寄存器和1个波特率发生器等组成。每个串行口的数据缓冲器由2个独立的接收、发送缓冲器构成,可以同时发送和接收数据。发送缓冲器只能写入而不能读出,接收缓冲器只能读出而不能写入。因而两个缓冲器可以共用1个地址。串行口1的两个缓冲器共用的地址为99H,串口2的地址为9BH,串口3的地址为ADH, 串口4的地址为85H。二、 STC15W4K
9、32S4串行口及相关特殊功能寄存器1、串行通信接口种类知识链接知识链接 串行口1的2个收/发缓冲器统称为串行通信特殊功能寄存器SBUF,串行口2为S2BUF,串行口3为S3BUF,串行口4为S4BUF。串行口1默认对应的收/发引脚是P3.0和P3.1,串口2默认对应的收/发引脚是P1.0和P1.1,串口3默认对应的收/发引脚是P0.0和P0.1,串口4默认对应的收/发引脚是P0.2和P0.3,通过特殊功能寄存器AUXR1/P_SW1中的相关位设置,可以将串行口切换到其他引脚上。二、 STC15W4K32S4串行口及相关特殊功能寄存器1、串行通信接口种类知识链接知识链接 STC15W4K32S4
10、单片机的串行口1有4种工作方式,而串行口2、串行口3和串行口4都只有2种工作方式,可通过查询或中断方式对接收、发送操作进行软件处理。 串行口发送数据过程:当向SBUF发“写”命令时,单片机会执行“SBUF=dat;”指令(其中dat是待发送的数据),表明单片机内部要向发送缓冲器SBUF装载数据,此时单片机的TXD引脚向外发送一帧数据,数据dat发送完成后硬件自动设置发送中断标志位TI为1。二、 STC15W4K32S4串行口及相关特殊功能寄存器1、串行通信接口种类知识链接知识链接 串行口接收数据过程:当串行口接收中断标志位RI(SCON.0)=0时,置位允许接收位,即REN(SCON.4)=1
11、,单片机就会自动接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时硬件自动设置接收中断标志位,即设置RI=1。此时执行 “dat =SBUF;”命令(其中dat为定义的一个变量),接收缓冲器SBUF的信息就会通过STC15W4K32S4内部总线送给CPU进行处理。 与STC15W4K32S4 单片机串行口1相关的控制寄存器有串口控制寄存器SCON、电源管理寄存器PCON、串口的辅助寄存器AUXR、中断允许控制寄存器IE、中断优先级控制寄存器IP。二、 STC15W4K32S4串行口及相关特殊功能寄存器1、串行通信接口种类知识链接知识链接 (1) 串行口1控制寄存器SCON 用于设定串行口
12、1的工作方式,允许接收控制以及设置状态标志。字节地址为98H,可进行位寻址,复位值为00H。SCON符号位如表1-8-1所示。二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器 表1-8-1 串行口1控制寄存器SCONSFR nameAddressbitB7B6B5B4B3B2BlB0SCON98HnameSM0/FESMISM2RENTB8RB8TIRISM0/FE、SM1: 当PCON寄存器中的SMOD0位为1时,SM0/FE用于帧错误检测,当检测到一个无效停止位时,通过UART接收器设置该位,它必须由软件清零。 当PCON寄存器中的SMOD0位为0
13、时,SM0/FE和SM1一起指定串行通信的工作方式,如表1-8-2所示(其中 为系统时钟)。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器SM0SM1工作方式功能说明波特率00方式08位同步移位寄存器或 01方式18位数据UART可变,取决于T1或T2溢出率10方式29位数据UART或 11方式39位数据UART可变,取决于T1或T2溢出率表1-8-2 串行口1工作方式设定知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(2)电源及波特率控制寄存器PCON PCON主要是为
14、单片机的电源控制而设置的专用寄存器,不可以位寻址,字节地址为87H,复位值为30H,其中,SMOD、SMOD0与串口控制有关,其格式与说明如表1-8-3所示。表1-8-3电源及波特率控制寄存器PCONSFR nameAddressbitB7B6B5B4B3B2BlB0PCON87HnameSMODSMOD0LVDFPOFGF1GF0PDIDL知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(2)电源及波特率控制寄存器PCON SMOD:SMOD为波特率倍增系数选择位。在方式1、方式2和方式3时,串行通信的波特率与SMOD有关。当SMO
15、D=0时,通信速度为基本波特率;当SMOD=1时,通信速度为基本波特率的2倍。 SMOD0: 帧错误检测有效控制位。SMOD0=1,SCON寄存器中的SM0/FE用于FE帧错误检测功能;当SMOD0=0,SCON寄存器中的SM0/FE用于SM0功能,与SM1一起指定串行口的工作方式。 PCON中的其他位都与串行口1无关,在此不作介绍。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(3)串口的辅助寄存器AUXR 串口的辅助寄存器AUXR用于串口通信速率配置选择,它的字节地址为8EH,不可位寻址,系统复位后初值为0 x01,其格式及各位
16、功能如表1-8-4所示。表1-8-4串口的辅助寄存器AUXRSFR nameAddressbitB7B6B5B4B3B2BlB0AUXR8EHnameT0 xl2Tlxl2UART_M0 x6T2RT2_C/TT2xl2EXTRAMS1ST2知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(3)串口的辅助寄存器AUXR 与串口有关的位是UART_M0 x6和S1ST2,其功能作用如下: UART_M0 x6: 串口工作在方式0时的通信速率配置位; 当UART_M0 x6=0,串口在方式0时,通信速率与传统的8051单片机相同,波特率=
17、 , 即为系统时钟频率的12分频。 当UART_M0 x6=1,串口在方式0时,通信速率是传统的8051单片机的6倍,波特率= , 即为系统时钟频率的2分频。12oscf2oscf知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(3)串口的辅助寄存器AUXR 与串口有关的位是UART_M0 x6和S1ST2,其功能作用如下: S1ST2:串口1工作在方式1和方式3时,串口1选择定时器1或定时器2作波特率发生器的控制位; 当S1ST2=0,选择定时器T1作为串口1的波特率发生器。 当S1ST2=1,选择定时器T2作为串口1的波特率发生器
18、,此时定时器T1得到释放,可以作为独立的定时器/计数器使用。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(4) 中断允许控制寄存器IE 串行口中断允许位ES位于中断允许寄存器IE中,中断允许寄存器的格式如表1-8-5所示。 表1-8-5中断允许控制寄存器IESFR nameAddressbitB7B6B5B4B3B2BlB0IEA8HnameEAELVDEADCESET1EXIET0EX0知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(4)中断允许控制寄存器IEEA:
19、CPU的总中断允许位。EA=1, CPU开放中断;EA=O, CPU屏蔽所有的中断申请。 EA的作用是使中断允许形成多级控制。即各中断源首先受EA控制;其次还受各中断源自己的中断允许位控制。ES: 串行口中断允许位。ES=1,允许串行口产生中断;ES=O,禁止串行口产生中断。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器2、与串行口1有关的特殊功能寄存器(5) 中断优先级控制寄存器IP中断优先级控制寄存器IP的格式如表1-8-6所示。表1-8-6中断优先级控制寄存器IPSFR nameAddressbitB7B6B5B4B3B2BlB0IPB8HnamePPCAPL
20、VDPADCPSPT1PX1PT0PX0PS: PS: 串行口 1中断优先级控制位。当PS=O时,串行口 1中断为最低优先级中断(优先级0);当PS=1时,串行口 1中断为最高优先级中断(优先级1)。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器3 3、串行口1工作方式 STC15W4K32S4单片机串行口1通信有4种工作方式,当SMOD0=0时,通过设置SCON中的SM0、SM1位来先择,具体设置见表1-8-2。 SM0SM0SM1SM1工作方式工作方式功能说明功能说明波特率波特率00方式08位同步移位寄存器或01方式18位数据UART可变,取决于T1或T2溢出率
21、10方式29位数据UART或11方式39位数据UART可变,取决于T1或T2溢出率 表1-8-2 串行口1工作方式设定知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器3 3、串行口1工作方式 (1)串行口1工作方式0 方式0为同步移位寄存器输入/输出方式,常用于外接移位寄存器扩展并行I/O口。这种方式不适于单片机之间的串行通信。 方式0以8位数据为一帧,不设起始位和停止位,发送和接收均以或的固定速率按照由低到高位的顺序进行,其帧格式如图1-8-7所示。 图1-8-7 工作方式0下发送时序图知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器3 3
22、、串行口1工作方式 方式0发送时,串行口可以外接串行输入并行输出的移位寄存器,如74HC164、CD4094、和74HC595等芯片,用来扩展并行输出口,其逻辑电路见图1-8-8所示。图1-8-8 工作方式0下发送电路图知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器 3 3、串行口1工作方式 在工作方式0下接收数据时,用软件设置SCON中的REN=1、RI=0,即开始从RXD引脚以fosc/12或fosc/2的固定波特率进行接收数据。当接收完第8位数据后,单片机内部自动将接收中断标志位RI置1,同时请求中断。再次接收数据之前,必须由软件将RI清0。串口1工作方式0下
23、接收数据时序图如图1-8-9所示。图1-8-9 工作方式0下接收时序图知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器3 3、串行口1工作方式 方式0接收时,串行口可以外接并行输入串行输出的移位寄存器,如74HC165,用来扩展并行输入口,其逻辑电路如图1-8-10所示。图1-8-10工作方式0下接收电路图知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(2)串行口1工作方式1 在工作方式1下,串行口1为波特率可调的10位通用异步URAT。收发一帧数据的格式为1个起始位(0)、8个数据位(低位在前)、1个停止位(1),共10位。工作方式1下的
24、串口10位帧格式如图1-8-11所示。 图1-8-11 工作方式1下10位的帧格式知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(2)串行口1工作方式1 在工作方式1下发送数据时,当TI=0时 ,执行数据写入发送缓冲器SBUF的命令时,就开始发送,欲发送的数据从TXD(P3.1)引脚输出。当发送完一帧数据后,单片机内部硬件自动将TI置1,同时向CPU申请串口中断。方式1数据传输的波特率取决于定时器T1的溢出率或T2的溢出率。串行口1工作方式1下的发送时序如图1-8-12所示。图1-8-12 工作方式1下发送时序图知识链接知识链接 二、 STC15W4K32S4串行口
25、及相关特殊功能寄存器(2)串行口1工作方式1 在工作方式1下接收数据时,当RI=0时 , 置位REN,启动串行口接收数据。当检测到RXD引脚输入电平发生负跳变时,接收器以所选择的波特率的16倍速率采样RXD引脚电平,取16个脉冲中的第7、8、9三个脉冲作为采样点,取两个或两个以上相同值为采样电平。若检测电平为低电平,说明起始位有效,并以同样的检测方法接收这一帧信息的其余位。接收过程中,8位数据装入接收缓冲器SBUF。接收到停止位时,置位RI,向CPU请求串口中断。工作方式1下接收时序见图1-8-13所示。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(2)串行口1工
26、作方式1图1-8-13 工作方式1下接收时序图知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(3)串行口1工作方式2 串行口1工作在方式2时,串行口1为11位UART。一帧数据包括1位起始位(0),8位数据位,1位可编程位(TB8)和1位停止位(1)。工作方式2下帧格式见图1-8-14所示。 图1-8-14工作方式2下帧格式知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(3)串行口1工作方式2 在工作方式1下发送数据时,发送前,先根据通信协议由软件设置好可编程位(TB8)。当TI=0时,用指令将要发送的数据写入SBUF ,则启动发送器的发
27、送过程。在发送移位时钟的同步下,从TXD引脚先送出起始位,依次是8位数据位和TB8,最后是停止位。一帧11位数据发送完毕后,置位发送中断标志TI,并向CPU发出中断请求。在发送下一帧信息之前,TI必须由中断服务程序或查询程序清0。工作方式2下发送时序见图1-8-15所示。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(3)串行口1工作方式2图1-8-15 工作方式2下发送时序图知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(3)串行口1工作方式2 在工作方式1下接收数据时,当RI=0,置位REN,启动串行口1接收过程。当检测到RXD引脚输
28、入电平发生负跳变时,接收器以所选择波特率的16倍速率采样RXD引脚电平,以16个脉冲中的7、8、9三个脉冲为采样点,取两个或两个以上相同值为采样电平中,若检测电平为低电平,则说明起始位有效,并以同样的检测方法接收这一帧信息的其余位。接收过程中,8位数据装入接收SBUF,第9位数据装入RB8,接收到停止位时,若SM2=0或SM2=1且接收到的RB8为1,则置位RI,向CPU请求中断;否则不置位RI标志,接收数据丢失。工作方式2下接收时序见图1-8-16所示。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(3)串行口1工作方式2 图1-8-16工作方式2下接收时序图知识
29、链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器(4)串行口1工作方式3 串行口1工作在方式3时,同方式2一样为11位UART。方式2与方式3的区别在于波特率的设置方法不同,方式2的波特率为fosc/64(SMOD为0)或fosc/32(SMOD为1);方式3数据传输的波特率同方式1一样取决于定时器T1的溢出率或定时器T2的溢出率。 方式3的发送和接收过程,除发送、接收速率不同以外,其他过程和方式2完全一致。因方式2和方式3在接收过程时,只有当SM2=0或SM2=1且接收到的RB8为1时,才会置位RI,向CPU申请中断请求接收数据;否则不会置位RI标志,接收数据丢失,因此
30、,方式2和方式3常用于多机通信中。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器4、串口1波特率计算 STC15W4K32S4单片机串口1的4种工作方式中,方式0和方式2的波特率是固定的,方式1和方式3的波特率是可变的,由定时器/计数器T1或T2的溢出速率(即每秒溢出的次数)来确定。(1)串口1方式0的波特率:波特率固定为fosc /12或者fosc /2,并与UART_M0 x6 位有关。若fosc =12MHz, 当UART_M0 x6=0,则波特率 = fosc /12 = 1Mbit/s 当UART_M0 x6=1,则波特率 = fosc /2 = 6Mbi
31、t/s(2)串口1方式2的波特率:方式2波特率=2SMODfosc/64 (8-1)若fosc =12MHz,当SMOD=0时,波特率为fosc/64 = 187.5kbit/s 当SMOD=1时,波特率为fosc/32 = 375kbit/s知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器4、串口1波特率计算(3)串口1方式1和方式3的波特率计算公式如表1-8-7所示。 表1-8-7串口1方式1和方式3的波特率计算方法知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器4、串口1波特率计算(3)串口1方式1和方式3的波特率计算公式如表1-8-7
32、所示。 表1-8-7串口1方式1和方式3的波特率计算方法知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器4、串口1波特率计算 在进行串口通信时,为减少波特率误差,单片机常选用11.0592MHz的时钟晶振。为了避免繁杂的初值计算,按照公式表1-8-7中描述的公式,可计算出常用时钟晶振频率fosc 波特率和初值x的数值见表1-8-8,用户可以在选定晶振频率fosc 和SMOD的值后,通过查表选择波特率对应的定时器T1的初值。知识链接知识链接 二、 STC15W4K32S4串行口及相关特殊功能寄存器4、串口1波特率计算串口串口1 1工作方式工作方式波特率波特率系统时钟系统
33、时钟/ /MHzMHzS M O DS M O D位位T1T1定时器,定时器,T1x12=0T1x12=0T1T1定时器,定时器,T1x12=1T1x12=1工作方式工作方式初值初值x x工作方式工作方式初值初值x x方式0M0 x6=01Mbit/s120.5Mbit/s6方式2375kbit/s121187.5kbit/s61方式1或方式362.5kbit/s12002FFH02FAH19.2kbit/s11.0592002FDH02EEH9.6kbit/s11.0592002FDH02DCH4.8kbit/s11.0592002FAH02B8H表1-8-8常用波特率对应定时器初值查找表知
34、识链接知识链接 三、串口通信电路分析 计算机中的串行通讯端口(Serial Communication Port)是计算机上的标准配备。通常有COM1和COM2两个通道,新一代的计算机一般都采用9Pin的DB9型接头,在计算机中均采用公头,所以在选用连接插头时,需选用母头,这样才能够匹配。表1-8-9为RS-232串口接头引脚说明。引脚序号引脚序号引脚名引脚名功能说明功能说明1DCD接收线路信号检测2RXD接收数据3TXD发送数据4DTR数据终端准备就绪5GND信号地6DSR数据设备(DCE)准备就绪7RTS请求发送8CTS允许发送9RI振铃指示 表1-8-9 RS-232串口接头引脚说明知识
35、链接知识链接 三、串口通信电路分析 MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5V单电源供电。MAX232芯片原理图封装图以及本任务实施过程中的具体应用电路如图1-8-1所示,MAX232芯片的典型应用电路在MAX232芯片手册中都会给出。 162738495JK1DB9/FEMAILC1+1VDD2C1-3C2+4C2-5VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC16U3MAX232C60.1uFC70.1uF+5VGNDC50.1uFGNDP3.0P3.1C80.1uFT2
36、OUTR2INGND图1-8-1 单片机与计算机串口通信原理图知识链接知识链接 四、串口调试助手使用方法 在单片机中编写数据发送程序,通过上位机的串行接收软件接收传送过来的数据,并通过计算机的显示器将接收的数据显示出来,最常用的的上位机接收软件是串口调试助手(读者可以通过网上下载获得)。 1、软件简介 串口调试助手是在Windows平台下开发的,工具是VC+6.0。串口调试助手支持常用的300bps115200bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送数据或字符(包括中文),能发送文本文件,可以任意设定自动发送周期,并能将接收数据保存成文本文件。是工程师调试
37、串口的助手工具。知识链接知识链接 四、串口调试助手使用方法2、软件特点 (1) 支持XP /Vista/Win7系统;(2) 绿色软件,不需安装。运行解压软件,将压缩包解压到指定目录即可,卸载时只需将程序目录删除; (3) 支持常用的300 115200bps波特率; (4) 端口范围是COM1COM4; (5) 能设置校验、数据位和停止位; (6) 能以字符或十六进制收发数据,支持中文字符的收发; (7) 支持文件数据的发送; (8) 数据发送端允许设置发送周期,自动发送数据; (9) 支持键盘输入,将键盘数据发送到串口; (10)支持自动清空(若设置了“自动清空”,则达到50行后,自动清空
38、接收编辑框中显示的数据)接收窗口数据;知识链接知识链接 四、串口调试助手使用方法3、软件界面串口通信软件界面如图1-8-17所示。图1-8-17串口调试助手V3.0界面知识链接知识链接 五、串行口通信程序分析 图1-8-1所示的串口通信原理图中,单片机的P3.0和P3.1串行通信端口通过MAX232芯片与计算机的RS-232端口相连。如果需要向计算机的串口发送(接收)数据,只需要用程序将要发送(接收)的数据通过SBUF寄存器进行发送(接收)即可。通过串行中断标志位TI(RI)的状态判断单片机发送(接收)数据是否成功。 了解了以上知识,我们就可以开始着手焊接硬件电路、上机编写串口通信程序了。 任
39、务任务实施实施: :图1-8-18 串口发送程序流程图u步骤一 硬件准备工作 准备好焊接所需的镊子、导线、电烙铁、相关电子元器件、焊接用的电路板,根据图1-8-1所示焊接电路,利用万用表、示波器等设备对焊接的电路板进行调试,确保电路板焊接准确无误。u步骤二 编写程序编写程序流程图 控制任务流程图如图1-8-18所示。任务任务实施实施: :#include unsigned char code s = Hello STC15W4K32S4!;/*= Name: Init Description: 初始化函数. =void Init()SCON = 0 x50;/8位数据,可变波特率AUXR |=
40、 0 x01;AUXR |= 0 x04;/定时器2时钟为Fosc,1T模式T2L = 0 xE0;/定时器2初值,内部时钟11.0592M,波特率9600T2H = 0 xFE;/定时器2初值AUXR |= 0 x10;/启动定时器2SM0=0; /SM0 SM1串口工作方式选择,01:8位异步收发, 波特率由定时器决定SM1=1;任务任务实施实施: :/*= Name: Send Description: 发送字符. =void Send(unsigned char dat)SBUF = dat;while(!TI);TI = 0;任务任务实施实施: :/*= Name: Cycle De
41、scription: 循环执行. =void Cycle()unsigned char i;for(i=0;i19;i+)Send(si);任务任务实施实施: :/*= Name: main Description: 主函数. =void main()Init();while(1) Cycle(); 任务任务实施实施: : 步骤三 调试程序 根据任务控制要求,对编写好的程序进行调试,直至无误。 步骤四 下载程序并运行 将编译好的.hex文件利用串口下载线或者是专用烧写器存储到单片机内部ROM中,用串口连接线将单片机串口接头与PC机串口接头连接好,在PC机中运行串口调试工具,将调试助手中的波特率
42、设置成与上述软件中的波特率一致。运行程序,观察现象是否跟预期一致。任务检查与评价: 一级一级指标指标比例比例二级指标二级指标比例比例得分得分电路板制作30%1.元器件布局的合理性5%2.布线的合理性、美观性2%3.焊点的焊接质量3%4.电路板的运行调试20%程序设计及调试40%1.开发软件的操作、参数的设置2%2.控制程序具体设计25%3.程序设计的规范性3%4.程序的具体调试10%通电实验20%1.程序的下载5%2.程序的运行情况,现象的正确性15%职业素养与职业规范10%1.材料利用效率,耗材的损耗2%2.工具、仪器、仪表使用情况,操作规范性5%3.团队分工协作情况3%总计100% 表1-8-10 任务完成情况的测评细则巩固与拓展:一、巩固自测1、串行通信的特点有哪些?应用场合有哪些?2、单片机系统中,相对于并行通信方式,使用串行通信有哪些优点?二、拓展任务串行口1中断方式实现单片机串口向PC机发送“Hello STC15W4K32S4!”。高等教育出版社Higher Education Press致谢