版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用技术项目式教程—基于Proteus和KeilCSINGLE-CHIP
COMPUTER
APPLICATION
TECHNOLOGY
串行通信技术串行通信基础知识01STC15W4K32S4单片机串行口控制寄存器02STC15W4K32S4单片机串行口的工作方式03STC15W4K32S4单片机串行口通信技术应用04知识要点
串行通信技术STC15W4K32S4单片机串行口控制寄存器的设置01串口通信波特率的选择与设计02掌握简单流水灯的设计和编程03掌握开关量指示电路的设计04学习要求掌握主从多级通信系统的设计05教学内容走近科学北斗卫星导航系统由空间段、地面段和用户段三部分组成,可在全球范围内全天候、全天时为各类用户提供高精度、高可靠定位、导航、授时服务,并且具备短报文通信能力,已经初步具备区域导航、定位和授时能力,定位精度为分米、厘米级别,测速精度0.2米/秒,授时精度10纳秒。2020年7月31日上午,北斗三号全球卫星导航系统正式开通。中国北斗卫星导航系统是中国自行研制的全球卫星导航系统,也是继GPS、GLONASS之后的第三个成熟的卫星导航系统。北斗卫星导航系统(BDS)和美国GPS、俄罗斯GLONASS、欧盟GALILEO,是联合国卫星导航委员会已认定的供应商。北斗卫星走近科学
第一步,建设北斗一号系统。1994年,启动北斗一号系统工程建设;2000年,发射2颗地球静止轨道卫星,建成系统并投入使用,采用有源定位体制,为中国用户提供定位、授时、广域差分和短报文通信服务;2003年发射第3颗地球静止轨道卫星,进一步增强系统性能。
第二步,建设北斗二号系统。2004年,启动北斗二号系统工程建设;2012年年底,完成14颗卫星(5颗地球静止轨道卫星、5颗倾斜地球同步轨道卫星和4颗中圆地球轨道卫星)发射组网。北斗二号系统在兼容北斗一号系统技术体制基础上,增加无源定位体制,为亚太地区用户提供定位、测速、授时和短报文通信服务。
第三步,建设北斗三号系统。2009年,启动北斗三号系统建设;2018年年底,完成19颗卫星发射组网,完成基本系统建设,向全球提供服务;计划2020年年底前,完成30颗卫星发射组网,全面建成北斗三号系统。北斗三号系统继承北斗有源服务和无源服务两种技术体制,能够为全球用户提供基本导航(定位、测速、授时)、全球短报文通信、国际搜救服务,中国及周边地区用户还可享有区域短报文通信、星基增强、精密单点定位等服务。发展历程走近科学
2012-2021年,我国卫星导航与位置服务产业总产值从810亿元上升至4690亿元,年均复合增长率达到了21.55%。北斗系统广泛应用于重点运输过程监控、公路基础设施安全监控、港口高精度实时定位调度监控等领域。
2021年国内卫星导航定位终端产品总销量超5.1亿台,其中具有卫星导航定位功能的智能手机出货量达到3.43亿台,汽车导航后装市场终端销量达到477万台,汽车导航前装市场终端销量达到681万台,各类监控终端销量达到317万台。在交通领域,目前全国超过780万道路营运车辆、4万多辆邮政快递干线车辆、47000多艘船舶应用北斗系统;长江干线北斗增强系统基准站和水上助导航设施数量超过13106座;近500架通用航空器应用北斗系统,建成全球最大的营运车辆动态监管系统,有效提升了监控管理效率和道路运输安全水平。行业及区域应用5.1串行口的结构并行通信通常是将数据字节的各位用多条数据线同时进行传送。并行通信的特点:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。1.并行通信图1并行通信方式5.1串行口的结构串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传送。串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。2.串行通信图2
串行通信方式5.1串行口的结构1)串行通信的分类5.1串行口的结构同步通信是要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。①同步时钟②同步字符SYN(1)同步通信图3同步通信方式5.1串行口的结构异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。异步通信方式的一帧信息由四部分组成:起始位、数据位、校验位和停止位。异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。(2)异步通信图4
异步通信方式图5异步通信数据帧格式5.1串行口的结构波特率,即数据传送率,表示每秒传送二进制数码的位数,它的单位是波特(位/秒)。在串行通信中,波特率是一个很重要的指标,它反映了串行通信的速率,波特率越高,数据传输速率越快,假如在异步传送方式中,数据的传送率是240字符/秒,每个字符由一个起始位、八个数据位和一个停止位组成,则传送波特率为:10×240=2400位/秒=2400波特一般异步通信的波特率在50~9600波特之间;一般同步通信可达56K波特或更高。(3)波特率5.1串行口的结构2)串行通信的制式在单工制式下,通信线的一端接发送器,一端接接收器,只允许一个方向传输数据,不能实现反向传输。单工(simpleduplex)在半双工制式下,系统的每个通信设备都由一个发送器和一个接收器组成,使用一条(或一对)传输线。半双工(halfduplex)全双工制式通信系统的每端都有发送器和接收器,使用两条(或两对)传输线,允许两个方向同时进行数据传输。全双工(fullduplex)5.1串行口的结构3)串行口的结构图6UART串行口的结构5.1.1串行口控制寄存器1.串行口1表1
串行口1相关的特殊功能寄存器地址B7B6B5B4B3B2BlB0复位值
98HSM0/FESM1SM2RENTB8RB8TIRI00000000SCON99H串行口1数据缓冲器xxxxxxxxSBUF87HSMODSMOD0LVDFPOFGF1GF0PDIDL00110000PCON8EHT0x12T1x12UART_M0x6T2RT2_C/T2x12EXTRAMS1ST200000000AUXR8AHT1的低8位00000000TL18BHT1的高8位00000000TH1D7HT2的低8位00000000T2LD6T2的高8位00000000T2H89HGATEC/MlM0GATEC/M1M000000000TMOD88HTF1TR1TF0TR0IE1IT1IE0IT000000000TCONA8HEAELVDEADCESET1EXIET0EX000000000IEB8HPPCAPLVDPADCPSPT1PX1PT0PX000000000IPA2HS1_S1S1_S0CCP_S1CCP_S0SPI_S1SPI_S00DPS00000000P_SW1(AUXR1)与串行口1有关的特殊功能寄存器包括:串行口1的控制寄存器、与波特率设置有关的定时器/计数器(T1/T2)相关寄存器以及与中断控制相关的寄存器。5.1.1串行口控制寄存器1)串行口1控制寄存器SCON表1
串行口1相关的特殊功能寄存器串行口1控制寄存器SCON用于设定串行口1的工作方式、允许接收控制以及设置状态标志。字节地址为98H,可进行位寻址。单片机复位时,所有位全为“0”。如表1。地址B7B6B5B4B3B2B1B0复位值SCON98HSM0/FESM1SM2RENTB8RB8TIRI000000005.1.1串行口控制寄存器1)串行口1控制寄存器SCONSM0SM1工作方式功 能波特率00方式08位同步移位寄存器fsys/12或fsys/201方式110位UART可变,取决于T1或T2的溢出率10方式211位UARTfsys/64或fsys/3211方式311位UART可变,取决于T1或T2的溢出率表2串行口1方式选择位SM0/FE、SM1:PCON寄存器中的SMOD0位为“1”时,SM0/FE用于帧错误检测。当检测到一个无效停止位时,通过UART接收器设置该位,它由软件清零。PCON寄存器中的SMOD0为“0”时,SM0/FE和SM1一起指定串行通信的工作方式。如表2。地址B7B6B5B4B3B2B1B0复位值SCON98HSM0/FESM1SM2RENTB8RB8TIRI000000005.1.1串行口控制寄存器1)串行口1控制寄存器SCONSM2:多机通信控制位,用于方式2和方式3。在方式2和方式3处于接收状态时,若SM2=1,且接收到的第9位数据RB8为“0”时,不激活RI;若SM2=1,且RB8=1,置位RI标志。在方式2、方式3处于接收状态时,若SM2=0,不论接收到的第9位RB8为“0”还是为“1”,RI都以正常方式被激活。REN:允许串行接收控制位。由软件置位或清零。REN=1时,启动接收;REN=0时,禁止接收。TB8:在方式2和方式3中,串行发送数据的第9位,由软件置位或复位,可作为奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位。一般约定,作为地址帧时,TB8为“1”;作为数据帧时,TB8为“0”。RB8:在方式2和方式3中,是串行接收到的第9位数据,作为奇偶校验位或地址帧、数据帧的标识位。地址B7B6B5B4B3B2B1B0复位值SCON98HSM0/FESM1SM2RENTB8RB8TIRI000000005.1.1串行口控制寄存器1)串行口1控制寄存器SCONTI:发送中断标志位。在方式0中,发送完8位数据后,由硬件置位;在其他方式中,在发送停止位之初由硬件置位。TI是发送完一帧数据的标志,既可以用查询的方法,也可以用中断的方法来响应该标志;然后,在相应的査询服务程序或中断服务程序中,由软件清除。RI:接收中断标志位。在方式0中,接收完8位数据后,由硬件置位;在其他方式中,在接收停止位的中间由硬件置位。RI是接收完一帧数据的标志,同TI一样,既可以用查询的方法,也可以用中断的方法来响应该标志;然后,在相应的查询服务程序或中断服务程序中,由软件清除。地址B7B6B5B4B3B2B1B0复位值SCON98HSM0/FESM1SM2RENTB8RB8TIRI000000005.1.1串行口控制寄存器2)辅助寄存器AUXR表3辅助寄存器AUXR的格式UART_M0x6:串行口1方式0通信速率设置位。UART_M0x6=0,串行口方式0的通信速率与传统8051单片机一致,波特率为系统时钟频率的12分频,即fSYS/12;UART_M0x6=1,串行口1方式0的通信速率是传统8051单片机通信速率的6倍,波特率为系统时钟频率的2分频,即fSYS/2。S1ST2:当串行口1工作在方式1、方式3时,S1ST2为串行口1波特率发生器选择控制位。S1ST2=0时,选择定时器T1为波特率发生器;S1ST2=1,选择定时器T2为波特率发生器。T1x12、T2R、T2_C/
、T2x12:与定时器T1、T2有关的控制位。地址B7B6B5B4B3B2BlBO复位值AUXR8EHT0xl2T1xl2UART_.M0x6T2RT2_C/T2xl2EXTRAMS1ST2000000005.1.1串行口控制寄存器2.串行口2表4串行口2相关的特殊功能寄存器串行口2默认对应的发送、接收引脚是TxD2/P1.1、RxD2/P1.0,通过P_SW2设置S2_S控制位,串行口2的TxD2、RxD2硬件引脚可切换为P4.7、P4.6。与单片机串行口2有关的特殊功能寄存器有:单片机串行口2控制寄存器、与波特率设置有关的定时器/计数器T2的相关寄存器、与中断控制相关的寄存器。地址B7B6B5B4B3B2BlBO复位值
9AHS2SM0—S2SM2S2RENS2TB8S2RB8S2TIS2RI0x000000S2CON9BH串行口2数据缓冲器xxxxxxxxS2BUFD7HT2的低8位00000000T2LD6HT2的高8位00000000T2H8EHT0x12Tlx12UART_M0x6T2RT2_C/`TT2x12EXTRAMS1ST200000000AUXRAFH一ET4ET3ES4ES3ET2ESPIES2x0000000IE2B5H一一一一PPWMFDPPWMPSPIPS2xxxx0000IP2BAH一一———S4_SS3_SS2_Sxxxxx000P_SW25.1.1串行口控制寄存器1)串行口2控制寄存器S2CON串行控制寄存器S2CON用于设定串行口2的工作方式、串行接收控制以及设置状态标志。字节地址为9AH,其格式为:S2SM0:用于指定串行口2的工作方式,如表5.4所示,串行口2的波特率为T2定时器溢出率的四分之一。S2SM0工作方式功能波特率0方式08位UARTT2溢出率/41方式19位UART表5S2SM0说明地址B7B6B5B4B3B2BlB0复位值S2CON9AHS2SM0—S2SM2S2RENS2TB8S2RB8S2TTS2RI0x0000005.1.1串行口控制寄存器1)串行口2控制寄存器S2CONS2SM2:串行口2多机通信控制位,用于方式1。在方式1处于接收时,若S2SM2=1,且接收到的第9位数据S2RB8为“0”,不激活S2RI;若S2SM2=1,且S2RB8=1,置位S2RI标志。在方式1处于接收方式,若S2SM2=0,不论接收到的第9位S2RB8为“0”还是为“1”,S2RI都以正常方式被激活。S2REN:允许串行口2接收控制位。由软件置位或清零。S2REN=1时,启动接收;S2REN=0时,禁止接收。S2TB8:串行口2发送数据的第9位。在方式1中,由软件置位或复位,可做奇偶校验位。在多机通信中,可作为区别地址帧或数据帧的标识位。一般约定,作为地址帧时,S2TB8为“1”;作为数据帧时,S2TB8为“0”。地址B7B6B5B4B3B2BlB0复位值S2CON9AHS2SM0—S2SM2S2RENS2TB8S2RB8S2TTS2RI0x0000005.1.1串行口控制寄存器1)串行口2控制寄存器S2CONS2RB8:在方式1中,是串行口2接收到的第9位数据,作为奇偶校验位或地址帧、数据帧的标识位。S2TI:串行口2发送中断标志位。在发送停止位之初,由硬件置位。S2TI是发送完一帧数据的标志,既可以用查询的方法,也可以用中断的方法来响应该标志。然后,在相应的查询服务程序或中断服务程序中,由软件清除。S2RI:串行口2接收中断标志位。在接收停止位的中间,由硬件置位。S2RI是接收完一帧数据的标志,同S2TI一样,既可以用查询的方法,也可以用中断的方法来响应该标志。然后,在相应的査询服务程序或中断服务程序中,由软件清除。地址B7B6B5B4B3B2BlB0复位值S2CON9AHS2SM0—S2SM2S2RENS2TB8S2RB8S2TTS2RI0x0000005.1.1串行口控制寄存器2)串行口2数据缓冲器S2BUFS2BUF是串行口2的数据缓冲器,同SBUF一样,一个地址对应两个物理上的缓冲器。当对S2BUF写操作时,对应的是串行口2的发送缓冲器,同时写缓冲器操作串行口2的启动发送命令;当对S2BUF读操作时,对应的是串行口2的接收缓冲器,用于读取串行口2串行接收进来的数据。3)串行口2的中断控制IE2、IP2IE2的ES2位是串行口2的中断允许位,“1”表示允许,“0”表示禁止。IP2的PS2位是串行口2的中断优先级的设置位,“1”表示高级,“0”表示低级。串行口2的中断向量地址是0043H,其中断号是8。5.1.1串行口控制寄存器3.串行口3表6串行口3相关的特殊功能寄存器串行口3默认对应的发送、接收引脚是TxD3/P0.l、RxD3/P0.0,通过设置P_SW2的S3_S控制位,串行口3的TxD3、RxD3硬件引脚可切换为P5.1、P5.0。与单片机串行口3有关的特殊功能寄存器有:单片机串行口3控制寄存器,与波特率设置有关的定时器/计数器T2、T3的相关寄存器,与中断控制相关的寄存器地址B7B6B5B4B3B2BlBO复位值
ACHS3SM0S3ST3S3SM2S3RENS3TB8S3RB8S3TIS3RI00000000S3CONADH串行口3数据缓冲器ADH串行口3数据缓冲器xxxxxxxxS3BUFD7HT2的低8位D7HT2的低8位00000000T2LD6HT2的高8位D6HT2的高8位00000000T2H8EHT0x12T1x12UARTM0x6T2RT2_C/`TT2x12EXTRAMS1ST200000000AUXRD4HT3的低8位00000000T3LD5HT3的高8位00000000T3HD1HT4RT4_C/`TT4xl2T4CLKOT3RT3_C/`TT3x12T3CLKO00000000T4T3MAFH一ET4ET3ES4ES3ET2ESPIES2x0000000IE2BAH一一一一一S4_SS3_SS2_Sxxxxx000P_SW25.1.1串行口控制寄存器1)串行口3控制寄存器S3CON串行口3控制寄存器S3CON用于设定串行口3的工作方式、串行接收控制以及设置状态标志。字节地址为ACH,单片机复位时,所有位全为0,其格式为:地址B7B6B5B4B3B2BlB0复位值S3CONACHS3SM0S3ST3S3SM2S3RENS3TB8S3RB8S3TIS3RI00000000S3SM0:用于指定串行口3的工作方式,如下表所示。S3SM0工作方式功能波特率0方式08位UARTT2溢出率/4,或T3溢出率/41方式19位UART表7S3SM0说明5.1.1串行口控制寄存器1)串行口3控制寄存器S3CON地址B7B6B5B4B3B2BlB0复位值S3CONACHS3SM0S3ST3S3SM2S3RENS3TB8S3RB8S3TIS3RI00000000S3ST3:串行口3选择波特率发生器控制位。0:选择定时器T2为波特率发生器,其波特率为T2溢出率的1/4。1:选择定时器T3为波特率发生器,其波特率为T3溢出率的1/4。S3SM2:串行口3多机通信控制位,用于方式l。在方式1处于接收状态时,若S3SM2=1,且接收到的第9位数据S3RB8为“0”时,不激活S3RI;若S3SM2=1,且S3RB8=1,置位S3RI标志。在方式1处于接收方式时,若S3SM2=0,不论接收到第9位数据S3RB8为“0”还是为“1”,S3RI都以正常方式被激活。5.1.1串行口控制寄存器1)串行口3控制寄存器S3CON地址B7B6B5B4B3B2BlB0复位值S3CONACHS3SM0S3ST3S3SM2S3RENS3TB8S3RB8S3TIS3RI00000000S3REN:允许串行口3串行接收控制位。由软件置位或清零。S3REN=1时,启动接收;S3REN=0时,禁止接收。S3TB8:串行口3发送数据的第9位。在方式1中,由软件置位或复位,可做奇偶校验位;在多机通信中,可作为区别地址帧或数据帧的标识位,一般约定地址帧时S3TB8为1,数据帧时S3TB8为0。S3RB8:在方式1中,是串行口3接收到的第9位数据,作为奇偶校验位或地址帧、数据帧的标识位。5.1.1串行口控制寄存器1)串行口3控制寄存器S3CON地址B7B6B5B4B3B2BlB0复位值S3CONACHS3SM0S3ST3S3SM2S3RENS3TB8S3RB8S3TIS3RI00000000S3TI:串行口3发送中断标志位。在发送停止位之初由硬件置位。S3TI是发送完一帧数据的标志,既可以用査询的方法,也可以用中断的方法来响应该标志。然后,在相应的査询服务程序或中断服务程序中,由软件清除。S3RI:串行口3接收中断标志位。在接收停止位的中间由硬件置位。S3RI是接收完一帧数据的标志,同S3TI一样,既可以用查询的方法,也可以用中断的方法来响应该标志,然后,在相应的查询服务程序或中断服务程序中,由软件清除。5.1.1串行口控制寄存器2)串行口3数据缓冲器S3BUFS3BUF是串行口3的数据缓冲器,同SBUF一样,一个地址对应两个物理上的缓冲器。当对S3BUF写操作时,对应的是串行口3的发送缓冲器,同时写缓冲器操作是串行口3的启动发送命令;当对S3BUF读操作时,对应的是串行口3的接收缓冲器,用于读取串行口3串行接收的数据。3)串行口3的中断控制IE2IE2的ES3位是串行口3的中断允许位,“1”表示允许,“0”表示禁止。串行口3的中断向量地址是008BH,其中断号是17;串行口3的中断优先级固定为低级。5.1.1串行口控制寄存器4.串行口4表8串行口4相关的特殊功能寄存器串行口4默认对应的发送、接收引脚是TxD4/P0.3、RxD4/P0.2,通过设置P_SW2的S4_S控制位,串行口4的TxD4、RxD4硬件引脚可切换为P5.3、P5.2。与单片机串行口4有关的特殊功能寄存器有:单片机串行口4控制寄存器,与波特率设置有关的定时器/计数器T2、T4的相关寄存器,以及与中断控制相关的寄存器地址B7B6B5B4B3B2BlBO复位值
84HS4SM0S4ST4S4SM2S4RENS4TB8S4RB8S4TIS4RI00000000S4CON85H串行口3数据缓冲器ADH串行口3数据缓冲器xxxxxxxxS4BUFD7HT2的低8位D7HT2的低8位00000000T2LD6HT2的高8位D6HT2的高8位00000000T2H8EHT0x12T1x12UARTM0x6T2RT2_C/`TT2x12EXTRAMS1ST200000000AUXRD2HT4的低8位00000000T4LD3HT4的高8位00000000T4HD1HT4RT4_C/`TT4xl2T4CLKOT3RT3_C/`TT3x12T3CLKO00000000T4T3MAFH一ET4ET3ES4ES3ET2ESPIES2x0000000IE2BAH一一一一一S4_SS3_SS2_Sxxxxx000P_SW25.1.1串行口控制寄存器1)串行口4控制寄存器S4CON串行口4控制寄存器S4CON用于设定串行口4的工作方式、串行接收控制以及设置状态标志。字节地址为84H。单片机复位时,所有位全为“0”,其格式如下所示。S4SM0:用于指定串行口4的工作方式,如下表所示。表9S4SM0说明地址B7B6B5B4B3B2BlB0复位值S4CON84HS4SM0S4ST3S4SM2S4RENS4TB8S4RB8S4TIS4RI00000000S4SM0工作方式功能波特率0方式08位UARTT2溢出率/4,或T4溢出率/41方式19位UART5.1.1串行口控制寄存器1)串行口4控制寄存器S4CONS4ST3:串行口4选择波特率发生器控制位。0:选择定时器T2为波特率发生器,其波特率为T2溢出率的1/4。1:选择定时器T4为波特率发生器,其波特率为T4溢出率的1/4。S4SM2:串行口4多机通信控制位,用于方式l。在方式1处于接收时,若S4SM2=1,且接收到的第9位数据S4RB8为“0”,不激活S4RI;若S4SM2=1,且S4RB8=1,置位S4RI标志。在方式1处于接收状态下,若S4SM2=0,不论接收到第9位数据S4RB8为“0”还是为“1”,S4RI都以正常方式被激活。地址B7B6B5B4B3B2BlB0复位值S4CON84HS4SM0S4ST3S4SM2S4RENS4TB8S4RB8S4TIS4RI000000005.1.1串行口控制寄存器1)串行口4控制寄存器S4CONS4REN:允许串行口4接收控制位。由软件置位或清零。S4REN=1时,启动接收;S4REN=0时,禁止接收。S4TB8:串行口4发送数据的第9位。在方式1中,由软件置位或复位,可做奇偶校验位;在多机通信中,可作为区别地址帧或数据帧的标识位。一般约定,作为地址帧时,S4TB8为“1”;作为数据帧时,S4TB8为“0”。S4RB8:在方式1中,是串行口4接收到的第9位数据,作为奇偶校验位或地址帧、数据帧的标识位。地址B7B6B5B4B3B2BlB0复位值S4CON84HS4SM0S4ST3S4SM2S4RENS4TB8S4RB8S4TIS4RI000000005.1.1串行口控制寄存器1)串行口4控制寄存器S4CONS4TI:串行口4发送中断标志位。在发送停止位之初由硬件置位。S4TI是发送完一帧数据的标志,既可以用查询的方法,也可以用中断的方法来响应该标志。然后,在相应的查询服务程序或中断服务程序中,由软件清除。S4RI:串行口4接收中断标志位。在接收停止位的中间由硬件置位。S4RI是接收完一帧数据的标志,同S4TI一样,既可以用查询的方法,也可以用中断的方法来响应该标志。然后,在相应的查询服务程序或中断服务程序中,由软件清除。地址B7B6B5B4B3B2BlB0复位值S4CON84HS4SM0S4ST3S4SM2S4RENS4TB8S4RB8S4TIS4RI000000005.1.1串行口控制寄存器2)串行口4数据缓冲器S4BUFS4BUF是串行口4的数据缓冲器,同SBUF一样,一个地址对应两个物理上的缓冲器。当对S4BUF写操作时,对应的是串行口4的发送缓冲器,同时写缓冲器操作是串行口4的启动发送命令;当对S4BUF读操作时,对应的是串行口4的接收缓冲器,用于读取串行口4串行接收的数据。3)串行口4的中断控制IE2IE2的ES4位是串行口4的中断允许位,“1”表示允许,“0”表示禁止。串行口4的中断向量地址是0093H,其中断号是18;串行口4的中断优先级固定为低级。5.1.2特殊功能寄存器PCONPCON主要是为单片机的电源控制而设置的专用寄存器,不可以位寻址,字节地址为87H,复位值为30H。其中,SMOD、SMOD0与串口控制有关,其格式与说明如下所示。SMOD:SMOD为波特率倍增系数选择位。在方式1、方式2和方式3时,串行通信的波特率与SMOD有关。当SMOD=0时,通信速度为基本波特率;当SMOD=1时,通信速度为基本波特率的2倍。SMOD0:帧错误检测有效控制位。SMOD0=1,SCON寄存器中的SM0/FE用于帧错误检测;SMOD0=0,SCON寄存器中的SM0/FE用于SM0功能,与SM1一起指定串行口1的工作方式。地址B7B6B5B4B3B2BlB0复位值PCON87HSMODSMOD0LVDFPOFGF1GF0PDIDL001100005.2串行口工作方式1.串行口1的工作方式STC15W4K32S4单片机串行通信有4种工作方式。当SMOD0=0时,通过设置SCON中的SM0、SM1位来选择。1)方式0在方式0下,串行口用作同步移位寄存器,其波特率为fSYS/12(UART_M0x6为“0”时)或fSYS/2(UART_M0x6为“1”时)。串行数据从RxD(P3.0)端输入或输出,同步移位脉冲由TxD(P3.1)送出。这种方式常用于扩展I/O口。5.2串行口工作方式1.串行口1的工作方式STC15W4K32S4单片机串行通信有4种工作方式。当SMOD0=0时,通过设置SCON中的SM0、SM1位来选择。2)方式1串行口工作在方式1下时,串行口为波特率可调的10位通用异步UART,—帧信息包括1位起始位(0)、8位数据位和1位停止位(1)。5.2串行口工作方式1.串行口1的工作方式STC15W4K32S4单片机串行通信有4种工作方式。当SMOD0=0时,通过设置SCON中的SM0、SM1位来选择。3)方式2串行口工作在方式2,串行口为11位UART。一帧数据包括1位起始位(0)、8位数据位、1位可编程位(TB8)和1位停止位(1)。5.2串行口工作方式1.串行口1的工作方式STC15W4K32S4单片机串行通信有4种工作方式。当SMOD0=0时,通过设置SCON中的SM0、SM1位来选择。4)方式3串行口工作在方式3,串行口同方式2—样为11位UART。方式2与方式3的区别在于波特率的设置方法不同,方式2的波特率为fSYS/64(SMOD为“0”)或fSYS/32(SMOD为“1”);方式3数据传输的波特率同方式1一样,取决于定时器T1的溢出率或T2的溢出率。对于以方式3发送的过程与接收过程,除发送、接收速率不同以外,其他过程和方式2完全一致。因方式2和方式3在接收过程中,只有当SM2=0或SM2=1且接收到的RB8为“1”时,才会置位RI,向CPU申请中断请求接收数据;否则,不会置位RI标志,接收数据丢失,因此,方式2和方式3常用于多机通信中。5.2串行口工作方式2.串行口的波特率
5.2串行口工作方式2.串行口的波特率
5.3串行口通信技术应用流水灯开关量指示主从多级通信系统5.3.1应用串行口控制流水灯例1:利用串行口工作在方式0,外扩74LS164点亮8位LED,完成流水灯功能。图7流水灯电路连接图5.3.1应用串行口控制流水灯例1:利用串行口工作在方式0,外扩74LS164点亮8位LED,完成流水灯功能。程序:#include<system.h>#include<intrins.h>sbitLED=P1^0;unsignedchari=0;voiddelay_ms(unsignedintz){unsignedintx,y,mid;
mid=(unsignedint)((float)fosc*z/Fre_Div);
for(x=mid;x>0;x--)
for(y=123;y>0;y--);}
main(){unsignedchari=0,j=0x7f;
CLK_DIV&=~0x07;
SCON=0x00;
P1M1=0x00;
P1M0=0x00;
while(1)
{SBUF=j;while(!TI);TI=0;LED=~LED;j=_cror_(j,1);delay_ms(500);}}5.3.1应用串行口控制流水灯例1:利用串行口工作在方式0,外扩74LS164点亮8位LED,完成流水灯功能。延时程序:#include"system.h"voiddelay_ms(unsignedintz){unsignedintx,y,mid;mid=(unsignedint)((float)fosc*z/Fre_Div);for(x=mid;x>0;x--) for(y=123;y>0;y--);} 5.3.2开关量指示电路的设计例2:有U1和U2两个STC15W4K32S4单片机,U2单片机读入其P1口的开关状态后通过串行口发送到U1单片机,U1单片机将接收到的数据送其P1口,通过发光二极管显示。图8开关量指示电路连接图5.3.2开关量指示电路的设计分析:1.方式1发送串行口以方式1发送时,数据由TXD引脚输出。在发送中断标志TI=0时,任何一次“写入SBUF”的操作,都可启动一次发送,串行口自动在数据前插入一个起始位(0)向TXD引脚输出,然后在移位脉冲作用下,数据依次由TXD引脚发出,在数据全部发送完毕后,置TXD=1(作为停止位)、置TI=1(用以通知CPU数据已发送完毕)。2.方式1接收串行口以方式1接收时,数据从RXD引脚输入。在允许接收的条件下(REN=1),当检测到RXD端出现由“1”到“0”的跳变时,即启动一次接收。当8位数据接收完,并满足下列条件:1)RI=02)SM2=0或接收到的停止位为1则将接收到的8位数据装入SBUF、停止位装入RB8,并置位RI。如果不满足上述两个条件,就会丢失已接收到的一帧信息。5.3.2开关量指示电路的设计分析:3.串行口中断初始化设置在串行口工作在方式1时,需要进行一些设置,主要是设置产生波特率的定时器T1、串行口控制和中断控制。具体操作的步骤如下:1)确定T1的工作方式(设置TMOD寄存器);2)计算T1的初值,送入TH1、TL1;3)启动T1计时(置TR1=1);4)设置串行口为工作方式1(设置SCON寄存器);5)串行口工作采用中断方式时,要进行中断设置(IE、IP寄存器)。5.3.2开关量指示电路的设计U1单片机通信接收程序:#include<system.h>#include<intrins.h>sbitLED=P1^0;unsignedchari=0;main(){unsignedchari=0;CLK_DIV&=~0x07;SCON=0x50; AUXR|=0x01; AUXR&=0xFB; T2L=0xE8; T2H=0xFF; AUXR|=0x10; ES=1;EA=1;while(1){}}voidser(void)interrupt4{if(RI){
RI=0; P1=SBUF;} if(TI) TI=0;} 5.3.2开关量指示电路的设计U2单片机通信发送程序:#include<system.h>#include<intrins.h>sbitLED=P1^0;unsignedchari=0;main(){unsignedchari=0; CLK_DIV&=~0x07; SCON=0x50; AUXR|=0x01; AUXR&=0xFB;
T2L=0xE8; T2H=0xFF; AUXR|=0x10; while(1) {SBUF=P1;
while(!TI);
TI=0;
delay_ms(50);
}}延时程序:#include"system.h"voiddelay_ms(unsignedintz){unsignedintx,y,mid;mid=(unsignedint)((float)fosc*z/Fre_Div);for(x=mid;x>0;x--) for(y=123;y>0;y--);} 5.3.3主从多级通信系统的构建例3:主从式多机通信系统有一个主机和两个从机,主机根据控制开关的状态,向要访问的从机发送地址,地址相符的从机和主机进行通信,然后主机根据开关状态向从机发送数据,从机将接收到的数据通过点亮发光二极管的方式显示。图9主从式多机通信系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ABS无毒玩具漆项目可行性研究报告
- 2024至2030年电热汀项目投资价值分析报告
- 2024至2030年气源机项目投资价值分析报告
- 2024年竹寿司卷项目可行性研究报告
- 2024年度不锈钢栏杆行业深度调研报告合同3篇
- GB/T 11067.7-2024银化学分析方法第7部分:金、钯量的测定电感耦合等离子体发射光谱法
- 买卖合同范本格式格式格式例子3篇
- 买卖合同的合同变更3篇
- 买卖合同的索赔谈判3篇
- 临时建筑施工合同签订的法律诉讼2篇
- 小学三年级上册音乐(湘教版)试题
- 杭州市物业服务等级划分
- 毕业论文台虎钳的设计和加工
- 解除劳动合同通知书(仅用于失业金领取-单位保留)、(仅用于失业金领取-个人版)、(协商解除)、离职证明
- 宠物外用抗微生物药物药效评价试验指导原则
- 安全生产控制程序
- 国家开发银行生源地信用助学贷款申请表续贷
- 科创板知识测评20个题目的答案
- 去分母解一元一次方程专项练习(有答案)-ok
- 收款收据格式1页
- 强化QHSE体系加强石油企业安全管理的具体措施
评论
0/150
提交评论