第8讲:第七章--机器人中UART的应用.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8讲:第七章--机器人中UART的应用

DEPUSH 机器人中UART的应用 本讲摘要 串口简介 串口缓冲寄存器SBUF 串口控制寄存器SCON 串口控制寄存器SCON 波特率的计算 RS232电平与TTL电平 RS232电平与TTL电平 例程:uart.h 例程:uart.h 例程:uart.h 例程:uart.h 例程:uart.h 例程:uart.h 例程:uart.h 串口工作流程 本章小结 Slide * * Slide * 机器人中UART的应用 第七章 1.串口简介 串口控制及波特率计算 2.RS232电平与TTL电平 3.头文件uart.h的实现 4.串口工作流程 串口通讯UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种能够把二进制数据按位(bit)传送的通信方式。 单片机AT89S52拥有1个串行通信接口:在输出数据时,把数据进行并-串转换;在输入数据时,把数据进行串-并转换。 端口P3.0(RXD,第10号引脚)用来串口接收; 端口P3.1(TXD,第11号引脚)用来串口发送。 AT89S52提供了两个特殊功能寄存器SBUF和SCON供软件访问串口。 SBUF实际上是2个寄存器。写SBUF的操作把待发送的数据送入,读SBUF的操作把接收到的数据取出。两个操作分别对应于两个不同的寄存器。 SCON包含串口的状态位和控制位,可位操作。控制位决定串口的工作模式,状态位代表字符发送和接收的结束。可用软件来查询状态位,也可编程使其触发中断。 串口的工作频率,即波特率(每秒钟传送的bit的个数),可以是固定的,也可以是变化的。 如果使用可变的波特率,波特率的时钟信号由定时器1提供,必须对其作相应的编程。 接收中断标志。字符接收结束时被置1,由软件清除 RI SCON.0 发送中断标志。字符发送结束时被置1,由软件清除 TI SCON.1 接收数据的第9位 RB8 SCON.2 发送数据的第9位。在模式2和3下,此位存放发送数据的第9位,利用软件置位或清除 TB8 SCON.3 接收使能位。必须置REN为1才能接收数据 REN SCON.4 串口模式位2。允许在模式2和模式3下进行多机通信;如果接收到的第9位数据为0,则RI不会被置1 SM2 SCON.5 串口模式位1 SM1 SCON.6 串口模式位0 SM0 SCON.7 描述 符号 位 可变(由定时器1决定) 9位UART 3 1 1 1/64(1/32) fosc 9位UART 2 0 1 可变(由定时器1决定) 8位UART 1 1 0 1/12 fosc 移位寄存器 0 0 0 波特率 描述 模式 SM1 SM0 串口工作模式选择 可变(由定时器1决定) 9位UART 3 1 1 1/64(1/32) fosc 9位UART 2 0 1 可变(由定时器1决定) 8位UART 1 1 0 1/12 fosc 移位寄存器 0 0 0 波特率 描述 模式 SM1 SM0 在模式0下,波特率是固定的,它的值为单片机的晶振频率(fosc)的1/12。 在模式2下,SMOD=0时,波特率为1/64 fosc;SMOD=1时,波特率为1/32 fosc。其中,SMOD是电源控制寄存器PCON的第7位——波特率倍增位。 在模式1和模式3下,波特率按如下公式计算: 波特率= (2SMON/32)?(fosc/12)?[1/(2K-初值)] 在模式1下,K=8;在模式3下,K=9。初值的计算见上章定时/计数器初值计算。 在数字电路中,只存在“1”和“0”两种逻辑状态,也就是“高电平”和“低电平”。但是,多高的电压为高,多低的电压又是低呢? TTL(Tansistor-Transistor Logic),是指三极管-三极管逻辑电路。很多单片机,包括AT89S52都是用的这种标准。它的逻辑“1”电平是5V,逻辑“0”电平是0V。 RS232标准是1969年由美国电子工业协会(EIA)联合其他厂家共同制定的用于串行通讯的标准。它的逻辑“1”电平是-5V--15V,逻辑“0”电平是+5V-+15V。 应使两种电平相互转换以满足通信要求。 PC机 AT89S52 RXD(2) TXD TXD(3) RXD GND(5) GND 电平转换可用转换芯片,如MAX232 设置定时器工作方式 设置串口工作方式 设置波特率 启动定时器 开串口中断 开总中断 头文件 uart.h 的实现过程(串口的初始化): TMOD |=0x20; //设置定时器1工作在方式2,自动重载模式 SCON = 0x50; /

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档