第9章串口通信.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从机主程序框图 保存本机地址 初始化 串口方式3 波特率9600Kb/s 多机通讯(SM2=1) 开串口中断 待机 P1口的高4位 从机串口中断程序框图 肯定是接收中断,也肯定地址帧 准备接收数据帧 本次通讯接收准备接收数据帧,并开中断等待再次呼叫 P1口的低4位 接收数据并显示 否 返回 指令=0x55? 否 是 是本机? 是 SM2=0 等待接收指令 发送数据 关中断 SM2=1,开中断 关中断,使用查询方式接收 约定:0x55位采集从机数据 呼叫的不是本机,直接返回 因为从机不能主动发送数据只能等待呼叫,所以肯定是接收中断。因为从机初始化为接收地址帧(SM2=1),主机呼叫时,肯定是发送地址(TB8=1),所以从机串口中断也肯定收到的地址帧,收到的肯定是地址,直接判断是不是在呼叫“自己”就是了。 ? 主机初始化 主机通讯程序 返回 接收数据并显示 发送数据 发送呼叫地址 发送指令 采集数据? 是 否 主机中断程序 主机主程序 真好,没事干了!当领导真好啊,不过初始化时,还是很“操心”的啊! 从机串口初始化程序 * 第9章 串口通信 9.1概述 多位数据逐位依次传输 传送速度较慢 适合长距离通信 节省传输线路 串行通信 线路位数多 不便长距离传送 多位数据同时传输 传送速度快 并行通信 缺点 优点 通信方式 讲话——聆听的过程。 9.1.1 串行通信 1、同步通信 主要时用于I/O口的扩展。需要两个信号: (1)同步脉冲, (2)串行数据输入/输出 运动员入场式的引导员…… 2、异步通信 主要是和具有异步通信功能的模块/产品/设备进行数据交换。 不需要同步,但需约定数据的传输速度——波特率。 数据按帧传输,一帧数据包含起始位、数据位、校验位和停止位。 异步通信凭借传输信息中设置的起始位、停止位来保持通信同步。 军训时,教官喊口令?——同步 针对单片机而言 9.1.3 串行通信的制式 1、单工:只能从发送方单方向传送数据给接收方。 “单向工作”我说,你只能听,不准讲 和对讲机类似 2、半双工:双方均能收发,但不能同进行。 3、全双工:双方可同时收发。 单片机知识:串口缓冲器SBUF 两个串口缓冲器:接收、发送缓冲器,所以,数据的发送和接收可以同时进行(即双工)。 例如: 发送send的第i个元素(数据)第i个数据 SBUF=send[i];//写到(赋值)给了“发送”缓冲器 将接受接收到数据存到buffer[i](第i个元素) buffer[i]=SBUF;//读的是“接收”缓冲器 但两个串口缓冲器使用了一个名字SBUF :单片机会根据读(接收)、写(发送)自动区别开来。 你到50路西固医院车站接/送朋友时,是在同一个地点吗? 单片机知识:串行口配置(初始化) 配置内容:同步/异步,波特率,中断、多机通讯等 与串行口有关的寄存器:串行口控制寄存器SCON、电源控制器PCON。 如果使用中断,还要配置中断允许寄存器IE、中断优先级寄存器IP、定时器方式寄存器TMOD、定时器控制TCON。 接收中断标志位,接收结束时,由硬件置1。必须由软件来清0。 RI 0 发送中断标志位,发送结束时,由硬件置1。必须由软件来清0 TI 1 接收到的第9位数据。 RB8 2 发送的第9位数据。奇偶校验位或多机通信中的地址帧标志。 TB8 3 接收允许位 ,1_使能,0_禁止 REN 4 多机通信(一主多从)使能位,1_使能,0_禁止 SM2 5 SM1 6 串行口操作方式选择位 SM0 7 意义 名称 位 (1)串行口控制寄存器SCON 复位后为0x00 可编程 同方式2 3 1 1 fosc/64或 fosc/32 11位UART(其中1位起始位,9位数据位,1位停止位) 2 1 0 可编程 10位UART(其中1位起始位,8位数据位,1位停止位) 1 0 1 fosc/12 移位方式,8位全部是数据 0 0 0 波 特 率 功 能 说 明 方 式 SM0 SM1 在串口通信中,只用到8位中SMOD这一位(第7位)。对可编程波特率(方式1、2、3),该位是波特率选择位,若SMOD=1,则波特率提高一倍。 不能位操作!! IDL PD GF0 GF1 / / / SMOD 名称 0 1 2 3 4 5 6 7 位 (2)电源控制器PCON,复位后:SMOD值为0 (3)中断允许寄存器IE 名称 位 EX0 ET0 EX1 ET1 ES / / EA 0 1 2 3 4 5 6 7 中断允许 1-允许,0-禁止 总中断允许 1-允许,0-禁止 PX0 PT0 PX1 PT1 PS - - - 名称 0 1 2 3 4 5 6 7 位 (4)中

文档评论(0)

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

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

1亿VIP精品文档

相关文档