您的位置 首页 观点

MCS-51单片机定时器和计数器的4种工作方式解析

MCS-51单片机定时器和计数器的4种工作方式解析-MCS-51单片机含有2个定时器/计数器,具有4种工作方式。具有两种工作模式(计数器模式和定时器模式)

MCS-51单片机含有1个全双工串行口,具有4种工作方式。

MCS-51单片机含有2个定时器/计数器,具有4种作业方法。具有两种作业形式(计数器形式和定时器形式)

MCS-51单片机含有1个全双工串行口,具有4种作业方法。

TMOD-》定时器/计数器方法操控寄存器

TCON-》定时器/计数器操控寄存器

SMOD-》串行口波特率系数挑选位

SCON-》串行口操控寄存器

SBUF -》串行口数据缓冲器

TH0 -》定时器/计数器0(高字节)

TL0 -》定时器/计数器0(低字节)

TH1 -》定时器/计数器1(高字节)

TL1 -》定时器/计数器1(低字节)

MCS-51单片机定时器和计数器的4种作业方法解析

一、定时器/计数器

定时器/计数器T0由特别功用寄存器TH0、TL0构成

定时器/计数器T1由特别功用寄存器TH1、TL1构成

特别功用寄存器TMOD用于操控和确认 定时器/计数器 T0、T1的作业形式和作业方法。

特别功用寄存器TCON用于操控T0、T1的发动和中止计数,一起包含了T0、T1的状况。

作业方法操控寄存器TMOD

TMOD用于操控定时器/计数器的作业形式及作业方法,它的字节地址为89H。

D7 D6 D5D4|D3 D2 D1D0

GATE C/TM1M0 | GATE C/TM1M0

T1 | T0

8位分为2组,高4位操控T1,低4位操控T0。

GATE:门操控位。若GATE=0,定时器/计数器的运转不受外部输入引脚INT0或INT1的操控。

C/T:计数器形式和定时器形式的挑选位。 C/T=0 为定时器形式。 C/T=1为计数器形式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数。

M1、M0位:4种作业方法挑选位。

M1 M0 作业方法

0 0 方法0TLX(x=0,1)中低5位与THX的8位构成13位计数器

0 1 方法1TLX与THX构成16位计数器

1 0 方法2常数主动重装载的8位计数器,每逢计数器TLX溢出时,THX中的内容装载到TLX

1 1 方法3仅适用于T0,分红2个8位计数器,T1中止计数

定时器/计数器操控寄存器TCONTCON的字节地址为88H

D7 D6 D5 D4D3 D2 D1D0

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

低4位与外部中止有关,高4位功用如下:

TF1:T1计数溢出标志位。当T1计数溢出时,由硬件置1,请求中止。进入中止服务程序后被硬件主动清0

TR1:T1计数运转操控位。由软件置1或清0.当GATE位(TMOD第7位)=0,TR1=1时答应T1计数。当TR1=0时制止计数

TF0:T0计数溢出标志位。当T0计数溢出时,由硬件置1,请求中止。进入中止服务程序后被硬件主动清0

TR0:T0计数运转操控位。由软件置1或清0.当GATE位(TMOD第3位)=0,TR0=1时答应T0计数。当TR1=0时制止计数

二、串行口

串行口有4种作业方法。波特率可用软件设置,由片内的定时器/计数器发生。

MCS-51单片机内部的串行口有2个物理上独立的接纳、发送缓冲器SBUF,可一起发送、接纳数据。发送缓冲器只能写入不能读出,接纳缓冲器只能读出不能写入,两个缓冲器共用一个字节地址(99H)。

操控MCS-51单片机串行口的操控寄存器共有两个:特别功用寄存器SCON和PCON

串行口操控寄存器SCON(地址98H)

D7 D6 D5 D4 D3 D2 D1D0

SM0SM1SM2RENTB8RB8TI RI

SM0、SM1:串行口4种作业方法的挑选位

SM2:答应方法2和3的多机通讯操控位。 在方法2或3中,假如SM2置为1,则接纳到的第9位数据(RB8)为0时不激活RI。在方法1时,假如SM2=1,则只要收到有用的中止位时才会激活RI。在方法0时SM2有必要清0。

REN:答应串行接纳位。由软件置1或清0.REN=1答应接纳,REN=0则制止接纳。

TB8:是作业方法2和3时,要发送的第9位数据。需求时由软件置1或清0。在多机通讯中用来表明是地址帧仍是数据帧。TB8=1为地址帧,TB8=0为数据帧

RB8:当作业在方法2和3时,为接纳到的第9位数据。在多机通讯中为地址帧或数据帧的标识位。在方法1假如SM2=0,RB8是接纳到的中止位。在方法0不运用RB8.

TI:发送中止标志位,在方法0串行发送第8位数据结束时由硬件置1,或在其它方法串行发送中止位的开端时置1.TI=1时请求中止,CPU呼应中止后,发送下一帧数据。TI有必要由软件清0.

RI:接纳中止标志位。在方法0串行接纳到第8位数据结束时,由硬件置1.在其它方法中,串行接纳到中止位的中心点时置1.RI=1时请求中止,要求CPU取走数据。但在方法1中,SM2=1时,若未收到有用的中止位,不会对RI置1.RI有必要由软件清0.

特别功用寄存器PCON(地址87H)

D7 。..。..D0

SMOD 。..。..。.

SMOD波特率系数挑选位。

串行口的作业方法

SM0 SM1 方法 功用阐明

0 1 1 8位UART,波特率可变(T1溢出率/n)

1 0 2 9位UART,波特率为 Fosc/64 或Fosc/32

1 1 3 9位UART,波特率可变(T1溢出率/n)

方法0:为移位寄存器输入输出方法,可外接移位寄存器,以扩展I/O口,也可外接同步输入输出的设备

方法1:方法1的波特率由以下公式确认:

方法1波特率= 2SMOD/32 * 定时器1的溢出率 式中SMOD为PCON寄存器的最高位的值(0或1)

方法1输出: 数据位由TXD端输出,发送一帧信息为10位,1开端位,8位数据位,和1位中止位。

CPU履行一条数据写发送缓冲器SBUF的指令,就发动发送。 当发送完数据位,置“1”中止标志位TI。

方法1输入REN=1,SM0=0,SM1=1), 以所选波特率的16倍的速率收集RXD引脚状况,当收集到RXD端从1到0的跳变时就发动定时器,接纳的值是3次选用中至少两次相同的值,以确保牢靠无 误。 当检测到开端位有用时,开端接纳一帧其他的信息。一帧信息为10位,1位开端位,8位数据位(先低位),1位中止位。当满意以下2个条件时1)RI=0 (2)收到的中止位=1 或SM2=0时,中止位进入RB8,且置1中止标志RI.若这2个条件不满意,信息将丢掉。因而中止标志有必要由用户的中止服务程序(或查询程序)清0。

方法2:

方法2输出:发送数据由TXD端输出,发送一帧信息为11位,1位开端位0,8位数据位(先低位),一位可编程为1或 0的第9位数据,1位中止位。 附加中的第9位数据即SCON中的TB8的值,TB8由软件置1或清0.能够做为多机通讯中的地址或数据的标志位,也能够做为数据的奇偶查验位。

方法2输入:SM0=1 SM1=0,且REN=1时,答应串行口以方法2接纳数据。数据由RXD端输入,接纳11位信息。1位开端位0,8位数据位,1位附加的第9位数据,1位 中止位1。当接纳器采样到RXD端从1到0的跳变,并判别开端位有用后,便开端接纳一帧信息。 在接纳器接纳到第9位数据后,当RI=0且SM2=0或接纳到的第9位数据位为1时,接纳的数据送入SBUF(接纳缓冲区),第9位数据送入RB8,并 置“1”RI.若不满意这2个条件,接纳到的信息被丢掉。

方法3:

方法3:除了波特率外,方法3和方法2相同。

三、多机通讯

串行口操控寄存器SCON中的SM2为方法2或方法3的多机通讯操控位,当串行口以方法2或方法3作业时,若SM2程序操控为1,此刻只要当串行口的第9 位数据RB8=1时才置1中止标志RI,若接纳到的RB8=0,则不发生中止,信息被丢掉。使用MCS-51串行口的这个特性,便可完成多机通讯。
来历;21ic

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/343905.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部