第8章单片机串行通信及其接口.ppt_第1页
第8章单片机串行通信及其接口.ppt_第2页
第8章单片机串行通信及其接口.ppt_第3页
第8章单片机串行通信及其接口.ppt_第4页
第8章单片机串行通信及其接口.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第8章串行通信及其接口 8 1概述8 2MCS 51的串行口8 3串行口的控制 8 1概述 串行通信 数据一位接一位顺序传送 可只用一根数据线传送多位信息 返回本章首页 8 1概述 串行通信有两种基本方式 同步通信SYNC SynchronousDataCommunication 严格同步 发送同步码 数据连续 信息量大 速度较高异步通信ASYNC AsynchronousDataCommunication 帧格式传送 信息量不大 返回本章首页 异步通信一幀字符信息的结构 异步串行通信数据格式 同步通信数据格式幀结构 8 1概述 串行通信从传输方式分为 串行接口有单工 半双工和全双工3种 返回本章首页 8 1概述 RS 232C总线I2C PHILIPS公司推出的I2C总线 INTELICBUS SPI SerialPeripheralInterface 串行外设接口 返回本章首页 串行接口的连接的三种方法1三线连接2RS 232接口连接3modem方式连接 三线链接 RS232接口连接 串行通信的传送速率传送速率用于描述数据传送的快慢 在串行通信中 数据是按位进行传送的 因此传送速率用每秒钟传送格式位的数目来表示 称之为波特率 baudrate 每秒传送一个格式位就是1波特 即 1波特 1bps 位 秒 在串行通信中 格式位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制 时钟频率高 则波特率也高 通信速度就快 反之 时钟频率低 则波特率也低 通信速度也慢 RS232C总线上传输的异步通信典型数据格式 RS232C信号线及其在DB 25的针脚号 8 1概述 串行接口结构图 返回本章首页 8 2MCS 51的串行口 8 2 1串行口的结构8 2 2串行口的工作方式8 2 3波特率的计算 返回本章首页 中断请求 8 2 1串行口的结构 MCS 51单片机片内有一个串行接口 可提供同步或全双工异步串行通信方式 设有二个互相独立的接收 发送缓冲器 可分别接受和发送数据发送缓冲器只能写入 接收缓冲器只能读出两个缓冲器可共用一个地址码99H发送 MOVSBUF A接收 MOVA SBUF 中断请求 8 2 1串行口的结构 与串行口有关的特殊功能寄存器有 SCON 串行口控制寄存器SBUF 缓冲寄存器PCON 功耗控制寄存器 D7 SMOD为波特率系数选择位 8 2 1串行口的结构 1 串行口控制寄存器SCON 98H 可位寻址SM0SM1 确定4种工作方式SM2 多机通信控制位REN 允许串行接收位TB8 待发送的第9位数据RB8 接受到的第9位数据TI和RI 发送和接收中断标志位 注 软件清零 2 特殊功能寄存器PCON其字节地址为87H 没有位寻址功能 PCON的格式如图7 7所示 其中与串行接口有关的只有D7位 D7D6D5D4D3D2D1D0 返回本节 8 2 2串行口的工作方式 1 方式0 移位寄存器方式 发送 接收时序 发送 接收 2 方式1 8位UART 发送 接收时序 发送 接收 3 方式2 9位UART 发送 接收时序 发送 发送数据TXD端输出 发送11位数据 第9位为可程控的数据 在SCON的TB8中 TB8由软件值1或清零 多机通讯 作为发送地址 1 或数据 0 的标志位 双机通讯 作为奇偶校验位 接收 数据由RXD端输入 接收11位信息 当接收器采样到RXD端从1到0的跳变 开始接收一帧信息 当SM2 1 仅接受地址信号 地址匹配 SM2 0 SM2 0 接受数据及地址信号 RB8 1为地址信号 RB8 0为有效数据位 4 方式3 9位UART 当SM0SM1 11时 串行口工作在方式3 方式3为波特率可变的9位异步通信方式 除了波特率外 方式3和方式2相同 返回本节 8 2 3波特率的计算 串行口方式0的波特率是固定的 为系统时钟的12分频 fosc 12 即每个机器周期传送一位数据位 串行口用方式2工作时 波特率为 2SMOD 64 fosc 串行口方式1和方式3用定时器T1作为波特率发生器 其波特率有多种选择 与T1的溢出率有关串行口方式1 3的波特率 2SMOD 32 T1溢出率T1的溢出率即T1溢出时间的倒数 它与T1选择的功能 工作方式和预置初值等有关 8 2 3波特率的计算 若定时器T1设定为自动重装方式 T1的溢出率及串行口波特率算式如下 当单片机与PC机通讯 工作于串行工作方式1 假定波特率为9600波特 当单片机的fOSC 11 0592MHZ 波特率 2SMOD 32 T1溢出率 T1溢出率 28 X fOSC 12SMOD 1时 X 256 fOSC 2 384 9600 250 0FAH将X写入TH1和TL1时 若波特率发生器产生的实际传输率为波特率 9599 84波特波特率相对误差 9600 9599 84 9600 0 00177 表8 3常用的波特率及计算器初值 返回本节 8 3串行口的控制 一 利用串行口扩展I O二 主从机间的通信三 多机通信接口 返回本章首页 一 利用串行口扩展I O l单片机串行工作方式0 8位同步移位寄存器利用74LS164扩展并行口 编制程序使L0 L7以计数方式点亮 2 共阴数码管八段码ABCDEFGP分别接74LS164的输出口Q7 Q0 左移位显示0 9 串并转换 发光二极管显示程序设计 ORG0000HLJMPMAINORG000BHLJMPINT T0MAIN MOVSP 53HMOVTMOD 01HMOVTH0 3CHMOVTL0 0B0HMOVIE 82HSETBTR0MOVR0 30HMOVR1 0AHMOVSCON 00HCLRTINEXT MOVA R0SETBP1 0MOVSBUF AJNBTI CLRTICLRP1 0INCR0CLRF0JNBF0 CLRF0LJMPNEXTEND 初始化 串口方式0定时器方式1 等待1S 串口发送数据 查询发送完否 TI 1 TI 0 显示数据指针 1 Y N 1秒定时程序 1秒钟F0 1 INT T0 PUSHACCPUSHPSWCLREAMOVTL0 3CHMOVTH0 0B0HDJNZR1 EXITMOVR1 0AHSETBF0EXIT SETBEAPOPPSWPOPACCRETI 定时初值 中断允许 串口方式0 定时1S 串行发送 关闭并行输出 开启并行输出 串并转换 LED显示程序设计 ORG0000HLJMPMAINORG000BHLJMPINT T0OGR0030HMAIN MOVSP 53HMOVTMOD 01HMOVTH0 3CHMOVTL0 0B0HMOVIE 82HSETBTR0MOVR0 30HMOVR1 0AHMOVSCON 00HCLRTINEXT MOVA R0MOVDPTR CDATAMOVCA A DPTR 初始化 串口方式0定时器方式1 等待1S 串口发送LED字型码 查询发送完否 TI 1 TI 0 显示数据指针 1 Y N SETBP1 0MOVSBUF AJNBTI CLRP1 0CLRTIINCR0CLRF0JNBF0 CLRF0LJMPNEXTENDCDATA DB0FCH 60HDB0DAH 0F2HDB66H 0B6HDB0BEH 0E0HDB0FEH 0F6H abcdefgh 二 主从机间的通信 1 双机串行异步通信l单片机与单片机间的串行异步通信接口设计 如图8 14 8 16所示 l单片机与PC系列微机间的异步串行通信接口设计 如图8 17所示 图8 14两台8031直接通信 图8 15两台8031采用RS232C总线通信 图8 16两台8751互传数据 图8 178031单片机和PC机通过RS232C总线通信接口图 程序设计 1 假定甲 乙机进行串行数据通信 其波特率为1200 甲机将内部RAM40H 4FH单元的内容传送到乙机外部RAM1000H 100FH单元 请编程实现 ORG0000HLJMPMAINORG0023HLJMPT PGORG0030HMAIN MOVSP 60HMOVTMOD 20HMOVTH1 0F3HMOVTL1 0F3HMOVPCON 00HMOVSCON 40HMOVR0 40HMOVR1 10HSETBEASETBES 假设fsoc 6MHz 串行工作方式1 smod 0 则计数初值为 X 256 6 106 20 384 1200 256 13 FFH 1 13 0F3H SETBTR1MOVA R0CLRTIMOVSBUF ASJMP T PG DJNZR1 NEXTCLRESCLRTR1LJMPBACKNEXT INCR0MOVA R0CLRTIMOVSBUF ABACK RETI smod 0 方式1 REN 0 中断允许 取数 发送 甲机发送程序 程序设计 1 假定甲 乙机进行串行数据通信 其波特率为1200 甲机将内部RAM40H 4FH单元的内容传送到乙机外部RAM1000H 100FH单元 编程实现 ORG0000HLJMPMAINORG0023HLJMPR PGORG0030HMAIN MOVSP 60HMOVTMOD 20HMOVTH1 0F3HMOVTL1 0F3HMOVPCON 00HMOVSCON 50HMOVDPTR 1000HMOVR1 10HSETBEASETBESSETBTR1CLRRISJMP R PG MOVA SBUFMOV DPTR ACLRRIINCDPTRDJNZR1 BACKCLRESCLRTR1BACK RETI smod 0 方式1 REN 1 中断允许 接受 送外存 乙机接受程序 8 3 2多机通信接口 1 多机通信原理串行口控制寄存器SCON中的SM2为多机通信接口控制位 RB8 1为地址信号 RB8 0为有效数据位串行口以方式2或3接收时 SM2 1 则仅当接收到的第9位数据RB8为1时 数据才装入SBUF 置位RI 请求CPU对数据进行处理 地址匹配 SM2 0 当SM2 0时 则接收到一个数据后 不管第9位数据RB8是0还是1 都将数据装入接收缓冲器SBUF并置位中断标志RI 请求CPU处理 2 多机通信程序设计lMCS 51多机通信程序设计以典型的PC机和MCS 51构成的主从式多机系统为例 如图7 23所示 阐述多机通信的程序设计 l多机通信示意 图7 23PC机与MCS 51单片机多机通信 实验内容 1 利用74LS164扩展并行口 编制程序使L0 L7以计数方式点亮 2 数码管八段码ABCDEFGP分别接74LS164的输出口Q7 Q

温馨提示

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

评论

0/150

提交评论