单片机人门 (汇编)第13章 串行沟通_第1页
单片机人门 (汇编)第13章 串行沟通_第2页
单片机人门 (汇编)第13章 串行沟通_第3页
单片机人门 (汇编)第13章 串行沟通_第4页
单片机人门 (汇编)第13章 串行沟通_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实例解读51单片机完全学习与应用Allyouneedtoknowaboutthe8051microcontroller 杨欣YangX张延强ZhangY编著莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX主审电子工业出版社2011 2 1 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 第13章串行沟通 2 第13章串行沟通 U盘的串行通信口 3 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 串行通信是当前最为盛行的通信方式 它广泛应用在许多设备中 如一个普通的U盘 它像其他任何一种USB设备一样 都通过USB口与计算机进行数据交换 而交换的方式正是串行通信 第13章串行沟通 13 1 串行还是并行 13 1 1串行与并行的比喻 4 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 串行和并行通信比喻中有一个显著的特点 就是虽然后者需要更宽的桥面 但是小人们通过的速度明显比前者要快 因为8个人能一次全部通过 而前者需要一位一位地通过 这暗示了为什么并行通信的传输速率一般较串行通信更快 第13章串行沟通 13 1 2串行与并行器件 5 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX ADC0804是并行ADC器件而AD7705是串行ADC器件 很明显并行ADC占用单片机的I O口较多 而串行只占用了3个I O口 P2 0 P2 2 第13章串行沟通 13 2 单片机串行数据交换13 2 1AT89S51的串行口 6 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX AT89S51单片机的P3 0和P3 1除作为一般I O口外 还分别在串行通信中充当接收口RXD和发送口TXD 第13章串行沟通 13 2 1AT89S51的串行口 7 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 当单片机工作于异步通信时 由于异步传输每一次只传输1个字节的数据 所以衡量串行口传输速度的方法就是看它每秒传输多少个字节的数据 例如串行口1秒传输1024个字节 则数据传输率为1024Bps 即1KBps 单位Bps代表 字节 秒 Bytespersecond 更小的单位的是bps 即 位 秒 bitspersecond 除了以上两个单位外 另一个广泛使用的描述数据传输率的物理量是波特率 对应的单位为波特 baud 波特的定义是 传输数据中每秒信号的变化量 常常我们把波特与位 秒看成相等 即1波特 Bd 等于1位 秒 bps 1Bd 1bpsAT89S51单片机的UART在传输数据时 可被设置不同的波特率 以达到不同的传输速率 后面将会讨论如何通过指令设置波特率 第13章串行沟通 13 2 2串行流水灯 8 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 数据表中的数据按位逐一从单片机的串行口发送 例如原本的并行数据11111110被逐位地从串行口发送出去 第13章串行沟通 13 2 2串行流水灯 9 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 一位一位的数据可通过一个移位寄存器重新组合成并行数据后交给发光二极管显示 串入 并出移位寄存器74164可以把串行输入的数据 组装 成为并行的 第13章串行沟通 13 2 2串行流水灯 10 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 第13章串行沟通 13 2 2串行流水灯 11 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 第13章串行沟通 13 2 3串行接收数据 12 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 转换芯片8位并行装载移位寄存器74166把DIP开关S1产生的由8个不同电平信号构成的并行数据转换成串行数据 74166的S L端 15管脚 是移位 载入控制端 与单片机的P3 2口相连 当P3 2向其输入一个低电平时 74166就将DIP开关S1产生的并行数据读入并进行串行转换 类似的 串行数据由74166的QH 13管脚 送入单片机的串行口 同时单片机向CLK 7管脚 输入时钟信号 第13章串行沟通 13 2 3串行接收数据 13 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 第13章串行沟通 13 3 与串行通信有关的寄存器13 3 1串行口缓冲寄存器SBUF 14 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 程序13 1和程序13 2都涉及了串行口缓冲寄存器SBUF 这是一个1个字节长度的寄存器 属于特殊功能寄存器 在发送数据时 当设置好串行口工作模式和波特率后 只要把数据载入SBUF中 串行口就会自动将数据发送出去 类似地 在接收数据时 串行口接收下来的数据保存在SBUF中以供程序读取 第13章串行沟通 13 3 2串行口控制寄存器SCON 15 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 串行口控制寄存器SCON是一个1个字节长度的寄存器 SCON控制着单片机串行通信的工作模式 可以被位寻址 串行口有4种工作模式 由SM0 位7 和SM1 位6 决定 以模式1使用较多 该模式下的数据帧由8位数据 1个停止位 1个开始位组成 这种模式与计算机的串行口模式兼容 这就使得单片机的串行口可以和计算机的串行口进行数据交换 SM2位一般用于使能或屏蔽多个单片机之间通信的功能 REN位 接收使能位 当REN 1时 单片机可以从串行口接收数据 如果REN 0 则接收功能被关闭 TI位与RI位是串行通信的重要标志位 当单片机完成SBUF中的数据发送后 发送中断标志位TI被硬件置1 以利于程序判断数据发送的完成情况 当单片机接收数据完毕后 接收中断标志位RI会硬件置1 这样利于我们判断数据接收的完成情况 第13章串行沟通 13 4 串行口工作模式13 4 1模式0 16 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 在模式0下 串行口实际上是一个同步移位寄存器 该模式下只发送或接收8位数据 注意 模式0下数据由单片机的RXD端 10管脚 发送或接收 而TXD端 11管脚 发送或接收的移位脉冲 发送或接收数据时 低位数据在前 高位数据在后 模式0下串行口控制寄存器SCON的SM2位应设为0 且TB8位无用 该模式下串行口通信的波特率固定为晶振频率的1 12 第13章串行沟通 13 4 1模式0 17 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 发送 首先 通过指令 MOVSCON 00H 设置串行口工作在模式0下发送数据 将要发送的8位数据载入串行口缓冲寄存器SBUF 串行口就会自动将SBUF中的数据转换成8位串行数据 并以的波特率从RXD端发送出去 当数据发送完成后 SCON中的标志位TI会被硬件置1 这时 可用指令 JBCTI CHECK 来检测TI位并将其清0 第13章串行沟通 13 4 1模式0 18 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 接收 首先 通过指令 MOVSCON 10H 设置串行口工作在模式0下接收数据 RI位 0 REN位 1 串行口随即启动接收 此时RXD端为数据接收端 TXD端仍然为移位脉冲输出 当1个字节的数据接收完毕后保存在SBUF中 同时标志位RI被置1 可用指令 JBCRI LOOP 来检测RI位并清0 在模式1下 串行口每一帧发送或接收10位数据 这10个位分别是1个起始位 0 8个数据位 1个停止位 1 在该模式下 单片机的TXD端为数据发送端口 RXD端为数据接收端口 模式1下串行通信的波特率是可变的 由Timer1工作在模式2下 通过载入Timer寄存器TH1和TL1的计数初始值来设置波特率 在模式1下 单片机会自动根据Timer1的计数初始值得出波特率 这个计算基于以下的公式得出 TH1是Timer1寄存器 SMOD1是电源控制寄存器PCON中的位7 如果SMOD1 0为单倍波特率 如果SMOD1 1则为双倍波特率 第13章串行沟通 13 4 2模式1 19 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 第13章串行沟通 13 4 2模式1 20 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 假设使用单倍波特率 即SMOD1 0 晶振频率 11 0592MHz 向Timer1寄存器TH1 TL1 中载入F3H 即TH1 243 根据公式13 2得波特率 第13章串行沟通 13 4 3模式2 21 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 在模式2下 串行口是一个9位异步通信口 每一帧共发送或接收11位数据 这11位数据由1个起始位 0 8个数据位 第9位数据 TB8位 位于SCON内 1个停止位 1 组成 该模式下的波特率为晶振频率的1 32或1 64 这取决于PCON寄存器中的SMOD1的设置 计算公式为 模式2下发送数据时 数据由TXD端送出 数据中的第9位数据从串行口控制寄存器SCON中的TB8位取得 可用指令 MOVTB8 bit 向TB8位载入数据bit 与其他模式相同 向SBUF载入数据后即自动发送 发送完一帧数据后 发送中断标志位TI 1 所以可用指令 JBCTI CHECK 来检测TI并将其清0 模式2下接收数据时 需要将串行口控制寄存器SCON中的REN位置1 串行口就会启动接收过程 RXD端接收 数据中的第9位载入SCON寄存器的RB8位上 接收完1帧数据后 RI位被置1 可用指令 JBRI CHECK 来检测RI位以判断接收完成情况 第13章串行沟通 13 4 4模式3 22 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 模式3与模式2的串行口功能 发送 接收过程几乎相同 只是模式3的波特率可控 与模式1具有相同的计算公式 从上面对4种模式的分析知道 除模式0作为一个移位寄存器使用外 倾向用于扩展I O口 模式1和模式3具有灵活设置波特率的特点 所以在应用中可以 偏爱地 使用 第13章串行沟通 13 5 应用体验 双机通信13 5 1双机通信的应用 23 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 两个单片机通信可以把各自获得的信息进行沟通和传递 如地下有一个前端单片机系统 负责接收并处理从温度 压力传感器检测到的温度 压力信号 并控制勘探头等设备工作 在地面系统 另外有一个单片机系统接收用户的操作指令 通过通信统线路与前端单片机系统实时交换勘探状态信息 这样 用户通过地面的单片机系统就可以控制和观察前端单片机系统的工作 第13章串行沟通 13 5 2双机通信的通信链路 24 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 如果两个单片机之间的距离很近 比如小于10m 那两个单片机的通信线路连接就非常简单 可以使用两芯屏蔽线将两个单片机的RXD端和TXD端对绞相连 同时将屏蔽层接地以减小噪音即可 第13章串行沟通 13 5 3排队呼叫系统 25 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 我们去银行办理业务时 可在排队机上拿到一个排队号 大屏幕和广播会按排队号的顺序叫顾客到柜台办理业务 这里就可用所学的知识看看排队呼叫系统的组成 在柜台的业务员手上有一个数字小键盘 当业务员用小键盘输入下一个顾客的排队号时 排队号就显示在银行大厅里的大屏幕上 以提示手持该排队号的顾客到柜台办理业务 第13章串行沟通 13 5 应用体验 双机通信 26 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 第13章串行沟通 13 6 普通计算机的串行通信口13 6 1计算机串行口 27 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 第13章串行沟通 13 6 2本机串口实验 28 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 如果接收区的数据与发送区的数据是一致的 说明串口通信实验成功 数据链路和软件控制都是正确的 第13章串行沟通 13 7 实例解读 网络密码锁13 7 1串行口电平转换芯片 29 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 单片机串口使用的是TTL电平 即高 低电平的电压范围分别为 2V 5V和0V 0 8V 而计算机串口使用的是RS 232标准 高 低电平的电压范围分别为 25V 3V和 3V 25V 可见 单片机与计算机串口的电平不相同 不能直接接口 第13章串行沟通 13 7 1串行口电平转换芯片 30 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 为了跨越这个障碍 可使用一个电平转换芯片在单片机与计算机的串口之间作为桥梁实现数据交换 在单片机的RXD端和TXD端接一个电平转换芯片 电平转换芯片与计算机的串口相连 同时两个串口共地 第13章串行沟通 13 7 2单片机与计算机串行通信实验 31 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 单片机与计算机之间串行通信实验 单片机的P0口与8支发光二极管相连 P2口与DIP开关S1相连 U2是电平转换芯片MAX232 第13章串行沟通 13 7 2单片机与计算机串行通信实验 32 欢迎访问 电路飞翔网 获取更多信息 实例解读51单片机完全学习与应用 Allyouneedtoknowaboutthe8051microcontroller编著 杨欣YangX张延强ZhangY主审 莱 诺克斯NokesL王玉凤WangY刘湘黔LiuX 在单片机中运行程序13 6 接着在计算机上运行串口调试软件设置好相应的串口号 波特率为2400 打开串口 在数据发送区任意输入一个字母 然后发送 如果一切正常 就会看到发光二极管的状态发生改变 说明数据从计算机经过串行口发送到单片机系统 例如输入的是字母 A 则计算机从串口发送的数据是 A 的ASCII码01000001 参考附录G 单片机接收后从P0口输出 则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论