




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与应用,.,上周教学内容回顾,大课CC2530电源的管理CC2530系统时钟的编程(难点)小课8路流水灯,会看原理图,会接线;GPIO口按键状态的获取,.,本周教学主要内容,串行通信基础知识串口控制器的原理与编程,相关SFR在控制器运行过程中所器的作用。CC2530串口控制器编程步骤,.,教学目标,了解串行通信的基础知识;掌握CC2530串口的编程步骤;重点理解相关SFR在控制器运行过程中所器的作用。,.,计算机与外界的信息交换称为通信。通信的基本方式可分为并行通信和串行通信两种。所谓并行通信是指数据的各位同时在多根数据线上发送或接收。串行通信是数据的各位在同一根数据线上依次逐位发送或接收。,一、串行通信基础知识,了解,.,目前串行通信在单片机双机、多机以及单片机与PC机之间的通信等方面得到了广泛应用。,了解,发送方,接收方,8位数据同时传送,8位顺次传送,.,1.1异步通信和同步通信,计算机通信按同步方式可分为异步通信和同步通信两种基本通信方式。,1.同步通信(SynchronousCommunication)同步通信是一种连续传送数据的通信方式,一次通信传送多个字符数据,称为一帧信息。数据传输速率较高,通常可达56000bps或更高。其缺点是要求发送时钟和接收时钟保持严格同步。,了解,.,2.异步通信(AsynchronousCommunication)在异步通信中,数据通常是以字符或字节为单位组成数据帧进行传送的。收、发端各有一套彼此独立,互不同步的通信机构,由于收发数据的帧格式相同,因此可以相互识别接收到的数据信息。,了解,.,2.异步通信(AsynchronousCommunication)异步通信信息帧格式如图4所示。,了解,.,(1)起始位:在没有数据传送时,通信线上处于逻辑“1”状态。当发送端要发送1个字符数据时,首先发送1个逻辑“0”信号,这个低电平便是帧格式的起始位。其作用是向接收端表示发送端开始发送一帧数据。接收端检测到这个低电平后,就准备接收数据信号。,(2)数据位:在起始位之后,发送端发出(或接收端接收)的是数据位,数据的位数没有严格的限制,58位均可。由低位到高位逐位传送。,了解,.,(3)奇偶校验位:数据位发送完(接收完)之后,可发送一位用来检验数据在传送过程中是否出错的奇偶校验位。奇偶校验是收发双方预先约定好的有限差错检验方式之一。有时也可不用奇偶校验。,(4)停止位:字符帧格式的最后部分是停止位,逻辑“1”电平有效,它可占1/2位、1位或2位。停止位表示传送一帧信息的结束,也为发送下一帧信息作好准备。,了解,.,1.2串行通信的波特率,波特率(BaudRate)是串行通信中一个重要概念,它是指传输码元/信号的速率。比特率的定义是每秒传输二进制数的位数。,比特率=波特率log2一个码元所携带的信息量,了解,.,1.3串行通信的制式,1.单工制式(Simplex),在串行通信中,数据是在两个站之间传送的。按照数据传送方向,分为三种。,2.半双工制式(Halfduplex),3.全双工制式(Fullduplex),了解,.,1.4PC机与单片机间的串行通信,串口:如RS-232C、RS-422、RS-423、RS-485等。,单片机内是TTL电平,2.45V:逻辑1,00.5V:逻辑0,只适用于通信距离很短的场合,远距离传输必然会使信号衰减和畸变。,PC机,其中RS-232C在异步串行通信中应用最广的总线标准,采用负逻辑标准:+3V+15V表示逻辑0;-3V-15V表示逻辑1,标准串行总线通信接口,单片机,单片机,单片机,.,图5微机9针D形串口连接器,1.4.1RS-232C总线标准,RS-232C实际上是串行通信的总线标准,定义了25条信号线,使用25个引脚的连接器,目前在PC机中使用9针的串口。标准数据传送速率有:50,75,110,150,300,600,1200,2400,4800,9600,19200bit/s。,工业控制的RS-232一般只使用RXD、TXD、GND三条线。,.,1.4.2RS-232C接口电路,由于RS-232C信号电平与TTL电平不一致,必须进行信号电平转换。实现这种电平转换的电路称为RS-232C接口电路。一般有两种形式:一种是采用运算放大器、晶体管、光电隔离器等器件组成的电路来实现;另一种是采用专门集成芯片(如MC1488、MC1489、MAX232等)来实现。下面介绍由专门集成芯片MAX232构成的接口电路。,1.MAX232接口电路,MAX232芯片是MAXIM公司生产的具有两路接收器和驱动器的IC芯片,其内部有一个电源电压变换器,可以将输入+5V的电压变换成RS-232C输出电平所需的12V电压。所以采用这种芯片来实现接口电路特别方便,只需单一的+5V电源即可。,.,图6用MAX232实现串行通信接口电路图,2.串行通信时使用MAX232进行电平转换,图中C1、C2、C3、C4用于电源电压变换,提高抗干扰能力,一般取1.0F/16V。C5的作用是对+5V电源的噪声干扰进行滤波,一般取0.1F。发送与接收的对应关系不能接错,否则将不能正常工作。,.,二、CC2530串口控制器,CC2530的串口控制器USART:universalsynchronous/asynchronousreceiverandtransmitter通用同步异步收发器USART0和USART1是串行通信接口,两个USART具有同样的功能,可以分别运行于在两种模式下:,异步UART模式同步SPI模式由于异步UART允许发送和接收的时钟不一致,容易实现,我们在讨论串口时经常采用异步UART。,.,2.1串口模式,异步UART模式:UART模式提供异步串行接口,在UART模式中,有2种接口选择方式:2线接口和4线接口。,2线接口:RXD(接收)、TXD(发送)。4线接口:RXD、TXD、RTS和CTS(硬件流控制),4线接口复杂点,教学上讲解2线接口,单片机,GND,GND,单片机,TXD,TXD,RXD,RXD,RTS,CTS,CTS,RTS,.,2.1串口模式,UART模式提供全双工传送,接收器中的位同步不影响发送功能。传送一个UART字节包含1个起始位,8个数据位,1个作为可选的第9位数据或者奇偶校验位,再加上1个或者2个停止位,.,1.控制和状态寄存器UxCSR(见手册P140),2.2串口控制器的特殊功能寄存器SFR,串口操作由控制和状态寄存器UxCSR以及控制寄存器UxUCR,U0CSR|=0 x80;/设置UART模式U0CSR|=0 x40;/允许接收,.,2.控制寄存器UxUCR,2.2串口控制器的特殊功能寄存器SFR,.,当收发数据缓冲器UxDBUF写入数据时,该字节发送到输出引脚TXD。UxDBUF寄存器是双缓冲的。,unsignedchartemp;/定义一个字符型变量temp=U0DBUF;/读出U0DBUF中的数据,3.收发数据缓冲器UxDBUF,2.2串口控制器的特殊功能寄存器SFR,.,4.UxGCR通用控制寄存器,2.2串口控制器的特殊功能寄存器SFR,.,5.波特率控制寄存器UxBAUD,2.2串口控制器的特殊功能寄存器SFR,.,2.3波特率产生,当运行UART模式时,内部的波特率发生器设置UART波特率。当运行在SPI模式时,内部的波特率发生器设置SPI主时钟频率。波特率由寄存器UxBAUD.BAUD7:0和UxGCR.BAUD_E4:0定义,该波特率用于UART传送,也用于SPI传送的串行时钟速率。,F是系统时钟频率,等于16MHzRCOSC或者32MHzXOSC,.,标准波特率所需的寄存器值,该表适用于典型的32MHz系统时钟,/设置波特率为57600U0GCR|=10;U0BAUD|=216;,.,2.4系统时钟设置,波特率发生器的时钟是从所选的主系统时钟源获得的,主系统时钟源可以是32MHzXOSC或16MHzRCOSC。通过CLKCONCMD.OSC位可选择主系统时钟源,CLKCONCMD,.,1.UART总线资源,数据手册P72表7-1外设I/O引脚映射,串口0同步模式:,串口0异步模式:,串口1同步模式:,串口1异步模式:,2.5UART资源,.,2.相关特殊功能寄存器(1)PERCFG:设置各设备IO口位置在P0还是P1;,在P0口,在P1口,.,(2)P2DIR:当PERCFG所设定的设备IO位置冲突时,由该sfr决定位置到底归属于单个控制器。,(3)PxSEL:置管脚功能为设备模式(4)UxCSR7:设置uart还是spi模式;以上4个sfr的正确设置可以完成我们的uart的总线初始化;,.,2.6中断标志位,1.UART发送当USART收/发数据缓冲器、寄存器UxDBUF写入数据时,该字节发送到输出引脚TX。当USART发送缓冲寄存器为空时,准备接收新的发送数据时,就会由硬件置对应的中断标志位UTXxIF为1。,如果我们要通过串口0发送字符h,则该如下操作:voiduart0_send_byte(chartmp)/发送字符tmpwhile(UTX0IF=0);UTX0IF=0;/可以省掉吗?U0DBUF=tmp;,.,UART接收当接收缓冲区UXDBUF接收到一个新的字符时,会由硬件把中断标志位URXxIF置1。,如果我们希望从串口0获取一个字符,代码如下:charuart0_receive_byte()/从串口接收一个字符while(URX0IF=0);URX0IF=0;/不可以省掉returnU0DBUF;,2.6中断标志位,.,1、总线初始化:PERCFGP2DIRPxSELUxCSR2、数据链路格式化(数据位、停止位、校验位、波特率)UxUCRUxGCRUxBAUD注意:设置波特率时,一定要清楚当前的时钟速度。3、读写串口收发寄存器UxDBUFUTXxIFURXxIF,三、CC2530串口控制器编程步骤,.,3.1UART发送过程,1.当字节传送开始时,UxCSR.ACTIVE位变为高电平,而当字节传送结束时为低电平。2.当传送接收结束时,UxCSR.TX_BYTE位设置为1。3.当USART收/发数据缓冲寄存器就绪,准备接收新的发送数据时,就产生了一个中断请求。该中断在传送开始之后立刻发生,因此,当字节正在发送时,新的字节能够装入数据缓存器。,.,1.当1写入UxCSR.RE位时,数据接收开始。2.UART在输入引脚RXDx中寻找有效起始位,并且设置UxCSR.ACTIVE位为1。3.当检测出有效起始位时,收到的字节就传入到接收寄存器,UxCSR.RX_BYTE位设置为1。该操作完成时,产生接收中断。同时UxCSR.ACTIVE变为低电平。通过寄存器UxBUF提供收到的数据字节。5.当UxBUF读出时,UxCSR_BYTE位由硬件清零。,3.2UART接收过程,.,3.3UART硬件流控制,当UxUCR.FLOW位设置为1,硬件流控制使能;硬件流控制适用于“4线接口”。发送数据时仅在RTS线为低电平时可以发送,当可以接收数据时把CTS线置为低电平。,了解,.,3.4UART特征格式,如果寄存器UxUCR中的BIT9和奇偶校验位设置为1,那么奇偶校验产生且使能。奇偶校验计算出来,作为第9位来传送。在接收期间,奇偶校验位计算出来而且与收到的第9位进行比较。如果奇偶校验位出错,则UxCSR.ERR位设置为1。当读取UxCSR时,UxCSR.ERR位清除。,.,voidinitUARTtest(void)InitClock();/初始化时钟PERCFG=0 x00;/使用串口备用位置1P0口P0SEL=0 x3c;/P0用作串口P2DIR/串口0发送中断标志清零,串口0初始化:,选择工作时钟。选择串口外设备用位置。初始化I/O口。设置波特率。,举例:,.,串口发送字符串函数,voidUartTX_Send_String(char*Data,intlen)intj;for(j=0;jlen;j+)U0DBUF=*Data+;while(UTX0IF=0);UTX0IF=0;,了解,.,主函数,/包含的头文件#include#include#defineuintunsignedint#defineucharunsignedchar/定义控制灯的端口#defineLED1P1_0#defineLED2P1_1/函数声明voidDelay(uint);voidinitUARTtest(void);voidUartTX_Send_String(char*Data,intlen);/*延时函数*/voidDelay(uintn)uinti;for(i=0;in;i+);for(i=0;in;i+);for(i=0;in;i+);for(i=0;in;i+);for(i=0;in;i+);,了解,.,主函数,/*main()函数*/voidmain(void)uchari;charTxdata30=QingdaoDongheXinxiJishu;/P1输出控制LEDP1DIR=0 x03;/开LED1LED1=0;/关LED2LED2=1;/串口初始化initUARTtest();/串口发送QingdaoDongheXinxiJishuUartTX_Send_String(Txdata,29);/清空Txdatafor(i=0;i30;i+)Txdatai=;/将UART0TXtest赋给Txdata;strcpy(T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省珠海市九洲中学中考三模道德与法治试题
- 福清消防安全知识培训课件
- 二手车买卖合同协议excel模板
- 延安知识竞赛试题及答案
- 福建复学防疫知识培训课件
- Hibarimicin-G-生命科学试剂-MCE
- tqm考试试题及答案
- smtSPI操作考试试题及答案
- Guanidinoethyl-sulfonate-Standard-生命科学试剂-MCE
- DB61T 576-2013 页岩气井取心及取样方法
- 范里安-微观经济学:现代观点
- 【江苏洋河股份内部控制环境现状、问题及对策12000字(论文)】
- 小学语文课外补充古诗词
- 人教版数学四年级上册教材课后习题参考答案(全)
- 人力资源员工旅游活动方案
- 《大卫科波菲尔》读书分享名著导读PPT
- 日照市东港区禹海红旗海水鱼工厂化循环水养殖与良种繁育示范项目海域使用论证报告书
- 北师大版四年级下册口算题大全(全册完整)
- 夜间专项施工专项方案
- 贵州建筑工程检测收费标准
- 研究性学习(高中研究性学习范例)吸烟对中学生的危害
评论
0/150
提交评论