第六章-MCS单片机的串行口优秀文档_第1页
第六章-MCS单片机的串行口优秀文档_第2页
第六章-MCS单片机的串行口优秀文档_第3页
第六章-MCS单片机的串行口优秀文档_第4页
第六章-MCS单片机的串行口优秀文档_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

定时/计数器的应用TMOD

M0

M1C/GATE

M0

M1C/GATETCONTF1TR1TF0TR0IE1IT1IE0IT0复习:例2、设fosc=6MHz,利用单片机内定时/计数器及口线输出1000个脉冲,脉冲周期为2ms,试编程。

8031P1.0T12ms

T=12×1/fosc=2us

选取T0定时;T1计数。

设T0采用中断方式产生周期为2ms方波,T1对该方波计数,当输出至第1000个脉冲时,使TF1置1。在主程序中用查询方法,检测到TF1变1时,关掉T0,停止输出方波。

T0、T1参数的确定:T0模式0、定时:脉宽为脉冲周期的一半所以,X=213-1ms/2us=0001111000001100BTH0=0F0H;TL0=0CHT1模式1、计数:N=1000

则X=65536-1000=64536=0FC18H

(若选模式0也可以,此时X=7192=1C18H)

程序:

ORG0000HLJMPMAINORG000BHLJMPTOSORG1000H

MAIN:MOVTMOD,#50H;T0定时,模式0;T1计数,模式1MOVTL0,#0CHMOVTH0,#0F0HMOVTL1,#18HMOVTH1,#0FCH

SETBTR1SETBTR0SETBET0SETBEAWAIT:JNBTF1,WAIT;查询1000个脉冲计够没有到?

CLREACLRET0ANLTCON,#0FH;停T0、T1SJMP$TOS:MOVTL0,#0CHMOVTH0,#0F0HCPLP10RETIENDP3.2P3.1例3、脉冲参数测量——GATE功能的使用。脉冲高电平(计数)长度值存于21H、20H中,脉冲低电平长度存于23H、22H中。电路连接如下图所示。解:复习GATE的用法:

GATE=0时,TRi=1,即可启动Ti定时/计数

GATE=1时,TRi=1,且=1,才启动定时/计数。被测信号1803121a3T0计数T1计数MOV21H,TL0REN=1,RI=0且SM2=0或SM2=1但是接收到的停止位为1。选取T0定时;MOV20H,TH0;MOVTL0,#0CH定时/计数器的应用LCALLDISP3,TEST3;例3、脉冲参数测量——GATE功能的使用。T0模式0、定时:脉宽为脉冲周期的一半而T1的定时时间t就是T1溢出一次所用的时间。T=12×1/fosc=2us解:(1+8+1)×240=2400b/s=2400波特。接收到有效数据完毕,置位RI的条件:T0模式0、定时:脉宽为脉冲周期的一半SCON——串行口控制寄存器

ORG0000HLJMPMAINORG2000HMAIN:MOVTMOD,#99H;T0、T1均工作在定时,;模式1,GATE=1MOVA,#00H;T0、T1赋计数初值00H,;定时最长时间为0000~65536

MOVTL0,A

MOVTH0,AMOVTL1,AMOVTH1,A

TEST0:JBP3.2,TEST0;检测是否到a点

SETBTR0;到a点,TR0=1,做好取计时值准备。TEST1:JNBP3.2,TEST1;检测是否到1点

SETBTR1;到1点T0计时;TR1=1,做好T1计时准备。TEST2:JBP3.2,TEST2;检测是否到2点

CLRTR0;到2点,停止T0计时,T1开始计时。

MOV20H,TH0;保存T0计时结果

MOV21H,TL0TEST3:JBP3.3,TEST3;检测是否到3点

CLRTR1;到3点,停止T1计数

MOV22H,TH1;保存T1计数结果

MOV23H,TL1LCALLDISPSJMP$

小结:1、定时/计数的四种方式是怎样的?2、如何计算计数初值?如何编程送入计数初值?3、GATE的用法是怎样的?

第六章MCS-51单片机串行接口一、串行通信概述1、什么叫串行通信?

在生活中同学们排横队行走——并行;排纵队行走——串行。计算机中在传输信息、数据时也有并行(按字节传送)、串行(按位传送)的问题。P1.0P1.1P1.2P1.3RXDTXD单片机外设1外设21001100011001110101000接收设备发送设备2、同步通信、异步通信同步——发送设备时钟与接收设备时钟严格一致,以数据块为单位传送。校验字符2校验字符1数据n………数据2数据1同步字符2同步字符1异步——发送时钟与接收时钟不一定相等,以字符为单位传送。空闲位停止位奇偶校验位5~8位数据起始位空闲位3、串行通信的方向单工

A

B发半双工

A

发收

B

收发例如:广播电台收音机例如:对讲机全双工

A

发收

B

收发例如:电话机4、波特率即串行通信速率。b/s、bps在异步通信中,单位时间内所传送的有效二进制位数——波特率。举例、设有一帧信息,1个起始位、8个数据位、1个停止位,传输速率为每秒240个字符。求波特率。解:(1+8+1)×240=2400b/s=2400波特。

5、串行通信接口发送:CPUD7D6D5D4D3D2D1D0发送寄存器SBUF01D0D1D2D3D4D5D6D7发送时钟:接收:D0D1D2D3D4D5D6D710D7D6D5D4D3D2D1D0CPU接收时钟接收数据寄存器SBUF二、MCS-51机串行接口单片机内有通用异步接收/发送器UART。全双工,4种工作方式,波特率可编程设置,可中断。1、串口的组成从编程角度讲来看主要由以下寄存器组成。SBUF——串行发送/接收数据缓冲器是两个物理单元,共用一个地址(99H)SMODPCON——电源管理寄存器SMOD位用于决定波特率的倍数。020=1倍121=2倍SCON——串行口控制寄存器SM0SM1SM2RENTB8RB8TI

RITI/RI:中断请求标志位(前面已讲过)RB8:接收的第九位数TB8:发送的第九位数REN:允许接收控制位SM2:多机通信控制位(常与RB8配合,决定是否激活RI)SM0、SM1:工作方式选择位(四种工作方式)2、串行口的工作方式(1)方式0:同步移位寄存器方式

波特率固定为fosc/12RXD——接收发送数据

TXD——产生同步移位脉冲接收/发送完,置位RI/TI,(要求SM2=0)

D7

D6

D5

D4

D3

D2

D1

D0

D0

D1

D2

D3

D4

D5

D6

D7发送接收无起始位,无停止位。可用于并口的扩展。SMOD位用于决定波特率的倍数。TB8:发送的第九位数3、单工、半双工、全双工?2,TEST0;CLREAEND此时,数据装载SBUF,RI置1,停止位进入RB8。RXD——接收发送数据MOV22H,TH1;3、单工、半双工、全双工?(若选模式0也可以,此时X=7192=1C18H)例3、脉冲参数测量——GATE功能的使用。CPLP10脉冲高电平(计数)长度值存于21H、20H中,脉冲低电平长度存于23H、22H中。REN:允许接收控制位3,TEST3;(2)方式1:8位UART波特率为(2SMOD×T1的溢出率)/32,可变。一帧信息10位。D0D1D2D3D4D5D6D7停止位起始位发送D7D6D5D4D3D2D1D0起始位停止位接收送RB8发送完置位TI。当接收到数据后,置位RI是有条件的。即:REN=1,RI=0且SM2=0或SM2=1但是接收到的停止位为1。此时,数据装载SBUF,RI置1,停止位进入RB8。

(3)方式2、方式3:9位UART

一般用于多机通信。一帧信息11位。

D0D1D2D3D4D5D6D7TB8停止位起始位发送发送完数据置位TI。

TB8D7D6D5D4D3D2D1D0起始位停止位接收接收到有效数据完毕,置位RI的条件:

REN=1,RI=0且SM2=0或接收到第9位数据为1,此时,数据装载SBUF,RI置1,第9位数据(TB8)RB8。

送RB8TI/RI:中断请求标志位(前面已讲过)若已知波特率,则可求出T1的计数初值:;定时最长时间为0000~65536二、MCS-51机串行接口小结:1、定时/计数的四种方式是怎样的?3、单工、半双工、全双工?3、单工、半双工、全双工?SETBTR1;LJMPMAINCLRET0fosc=11.ENDLCALLDISP方式2波特率:(固定)2SMOD/64×fosc3、波特率的设置方式0、方式2固定。方式1,方式3可变。波特率=2SMOD/32×(T1的溢出率)

T1溢出率=单位时间内溢出次数=1/(T1的定时时间)而T1的定时时间t就是T1溢出一次所用的时间。此情况下,一般设T1工作在模式2(8位自动重装初值)。

N=28-t/T,t=(28-N)T=(28-N)×12/fosc所以,T1溢出率=1/

温馨提示

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

评论

0/150

提交评论