网站大量收购独家精品文档,联系QQ:2885784924

贵州民族学院单片机原理及应用课件 第七章.ppt

贵州民族学院单片机原理及应用课件 第七章.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 串行口 串行通信:数据一位接一位顺序传送,可只用一根数据线传送多位信息。 串行通信有两种基本方式。 同步通信SYNC(Synchronous Data Communication):严格同步,发送同步码,数据连续,信息量大,速度较高 异步通信ASYNC(Asynchronous Data Communication):帧格式传送,信息量不大 串行接口结构图 串行接口有单工、半双工和全双工3种。 MCS51串行接口 MCS-51单片机片内有一个串行接口,可提供同步或全双工异步串行通信方式. 与串行口有关的特殊功能寄存器有: SCON:串行口控制寄存器 SBUF :缓冲寄存器 PCON:功耗控制寄存器(D7:SMOD为波特率系数选择位) MCS-51串行通信的数据格式 MCS51串行通信接口 设有二个互相独立的接收\发送缓冲器,可同时发送和接受数据 发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入 两个缓冲器可共用一个地址码99H MOV SBUF,A MOV A,SBUF MCS51串行通信接口方式 串行通讯设有4种工作方式,波特率由内部定时器产生,用软件设置不同的波特率和选择不同的工作方式,主机可通过查询或中断方式对接收、发送进行程序处理。除用于数据通讯外,还可方便地构成一个或多个并行口作串并转换,或用于扩展串行外设。 串行口控制寄存器SCON(98H) SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM1:确定4种工作方式 SM2:多机使能端 REN:允许串行接收位 TB8:待发送的第9位数据 RB8:接受到的第9位数据 TI和RI:发送和接收中断标志位(注:软件清零) 串行口工作方式 工作方式0 工作方式1 工作方式2、3 发送数据TXD端输出,发送11位数据,第9位为可程控的数据,附加的第9位数据在SCON的TB8中。TB8由软件值1或清零。可作为多机通讯中的地址或数据的标志位,也常作为奇偶校验位。 工作方式2、3 数据由RXD端输入,接收11位信息,当接收器采样到RXD端从1到0的跳变,并判断启始有效后,开始接收一帧信息。当RI=0且SM2=0或接受到的第9位数据位为1时,接受到的数据送入SBUF,第9位数据入RB8,并置RI=1,否则,信息丢失。 波特率的选择 串行口方式0的波特率是固定的,为系统时钟的12分频(fosc/12),即每个机器周期传送一位数据位。 串行口用方式2工作时,波特率为(2SMOD/64)×fosc 。 串行口方式1和方式3用定时器T1作为波特率发生器,其波特率有多种选择,与T1的溢出率有关 波特率的选择 串行口方式1、3的波特率= (2SMOD/32)×T1溢出率 T1的溢出率即T1溢出时间的倒数,它与T1选择的功能、工作方式和预置初值等有关 波特率的选择 若定时器T1设定为自动重装方式,T1的溢出率及串行口波特率算式如下: 当单片机与PC机通讯,假定波特率为9600波特,当单片机的FOSC=11.0592MHZ,SMOD=1时,可计算X=250=0FAH 将X写入TH1和TL1时,波特率发生器产生的实际传输率为波特率=9599.84波特 波特率相对误差 =(9600—9599.84)/9600=0.00177% 实验内容 1、利用74LS164扩展并行口,编制程序使L0~L7以计数方式点亮。 2、数码管八段码ABCDEFGP分别接74LS164的输出口Q7~Q0,左移位显示0~F。(提示:将数码管段码控制线的跳线器取下,位码控制线的跳线器要取下)。 ? 实验内容 1、利用8031串行口实现单机的自发自收。将内部RAM 40H~4FH单元的内容传送到外部RAM 1000H~100FH单元。 2、实验连线:P3.0接P3.1,P1.0~P1.3接发光二极管L0~L3,P1.4~P1.7接K0~K3 编制程序:利用8031串行口实现单机的自发自收。从P1.4~P1.7读入开关的状态,并从P1.0~P1.3输出到发光二极管上面显示出来。 要求:发送、接收都用中断功能来实现,主程序一旦启动了发送之后即进入原地踏步状态。 * *

文档评论(0)

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

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

1亿VIP精品文档

相关文档