基于AT89C52控制的多功能电参数测试仪的设计(3)

2019-08-30 14:04

表3.2 AD678逻辑控制真值表 CE 0 X 1 1 1 1 1 CS R/C X X 0 0 1 1 1 12/8 X X X X 接+5V 接0V 接0V A0 X X 0 1 X 0 1 工作状态 禁止 禁止 启动12位转换 启动8位转换 12位并行输出有效 高8位并行输出有效 低4位并行输出有效 X 1 0 0 0 0 0 3.3定时器/计数器

由于在本课题的设计中会用到单片机的定时/计数功能,所以在这里将定时器/计数器的特点详细介绍。

定时和计数是计算机控制系统中两个重要的功能,在实际系统中应用极为普遍,89C52单片机内部有两个16位可编程定时/计数器,即定时器T0和定时器T1。89C52单片机内部还有两个专用寄存器TMOD、TCON,可通过编程来设定有关参数,如方式选择、定时计数选择、运行控制、溢出标志、触发方式等控制字。

(一)TMOD和TCNO寄存器

89C52单片机内部设置的两个16位可编程的定时器/计数器T0和T1,它们可以处于计数方式或定时方式。可通过设置特殊功能寄存器TMOD中都有一个控制位来选择T0或T1位定时器还是计数器。其状态字均在响应的特殊功能寄存器中,通过对控制寄存器的编程,用户可以方便地选择适当的4中工作模式中的一种。89C52单片机定时器/计数器的结构如图3.1所示。

图3.1 89C52单片机定时器/计数器的结构图

其中,特殊功能寄存器TMOD用于控制和确定个定时器/计数器的功能和工

作模式;特殊功能寄存器TCON用于控制定时器/计数器T0、T1的启动和停止计数,同时包含定时器/计数器的状态。它们的内容靠软件设置。系统复位时,寄存器的所有位都被清零。 1. 工作方式控制寄存器TMOD

TMOD用于设定定时器/计数器的工作方式及四种工作模式中的一种,其各位的定义如图3.2所示。

图3.2 TMOD寄存器个为定义

TMOD地址为89H,高4位位定时器T1的方式控制字段,低4位位定时器T0的方式控制字段。

(1)门控位GATE:当GATE=0时,定时器/计数器只有软件控制位TR0或TR1来控制启停。TRi位为1,定时器启动开始工作;位0时,定时器调整工作。当GATE=1时,定时器/计数器的启动要由外部中断引脚和TRi为共同控制。只有当中断引脚INT0和INT1为高时,TR0或TR1置1才能启动定时器工作。

(2)C/T: C/T=0为定时器方式,采用晶振脉冲的12分频信号作为计数器的计数脉冲,即对机器周期进行计数。若选择12MHz晶振,则定时器的计数脉冲为1MHz。从定时器的计数值便可求得技术时间,故称为定时器方式。

C/T=1为计数器方式,采用外部引脚(T0为P3.4,T1为P3.5)的输入

脉冲作为计数脉冲。当T0(或T1)输入发生高到低的负跳变时,计数器加1,最高计数频率为晶振频率的1/14。

M1 M0:定时器的工作方式由M1M0二位的状态确定,对应关系如下所示。

M1 M0 工作方式 功能描述

0 0 方式0 13位的计数器,TLi只用低5位 0 1 方式1 16位的计数器

1 0 方式2 8位的自动重装计数初值的计数器 1 1 方式3 T0分成2个独立的8位计数器

2. 定时器/计数器控制寄存器TCON

控制寄存器TCON的主要功能是用于定时器的启动、停止以及在溢出时设定标志位和外部中断触发方式。它的字节地址位88H,位地址位88H~8FH。其控制字各位的定义如图3.3所示。

图3.3 TCON寄存器个位定义

低4位与外部中断有关,高4位的功能如下:

(1) TF1位T1的溢出标志位

当定时器T1溢出时,由硬件将TF1置1,并申请中断。当进入中断服务程序时,硬件又自动将TF1清零(也可以用软件清零)。 (2) TR1位定时器T1的运行控制位 该位由软件置位和复位。当GATE(TMOD.7)为0时,TR1为1时允许T1计数,TR1为0时禁止T1计数;当GATE为1时,TR1为1时而且INT1输入高电平时,才允许T1计数,TR1为0或INT1输入为低电平时禁止T1计数。 (3) TF0为定时器T0的溢出标志位

当定时器T0溢出时,由硬件将TF0置1,并申请中断。当进入中断服务程序时,硬件又自动将TF0清零(也可以用软件清零)。 (4) TR0为定时器T0的运行控制位 该位由软件置位和复位。当GATE(TMOD.3)为0时,TR0为1时允许T0计数TR0为0时禁止T0计数;当GATE为1时,TR0为1而且INT0输入高电平时,才允许T0计数,TR0为0或INT0输入为低电平时,禁止T0计数。

(二)定时器/计数器的初始化

定时器的功能是由软件来设置的,所以一般在使用定时器/计数器前均要对其进行初始化。 初始化的步骤

1)确定工作模式(是计数还是定时)、工作方式、启动控制方式,将其写入TMOD寄存器。 2)设置定时或计数器的初值:可直接将初值写入TH0、TL0或TH1、TL1中。16位计数初值必须分两次写入对应的计数器。

3)根据要求是否采用中断方式:直接对IE为赋值。开放中断时,对应位置位;采用程序查询方式IE位应清0进行中断屏蔽。 4)启动定时器工作:可使用SETB TRi启动。

若第一步设置为软启动,即GATE设置为0时,以上指令执行后,定时器即可开始工作。

若GATE设置为1时,还必须由外部中断引脚INTi(其中i为0或1)共同控制,只有当INTi引脚电平为高时,以上指令执行后定时器方可启动工作。定时器一旦启动就按规定的方式定时或计数。

3.4中断系统

(一)中断系统概述

当CPU正在处理某事件时外界发生了更为紧急的请求,要求CPU暂停当前的工作,转而去处理这个紧急事件。处理完成后,再回到原来被中断的地方继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,请示CPU中断的请求源称为中断源。中断系统是使处理机对外界异步事件具有处理能力而设置的。功能越强的中断系统,其对外界异步事件的处理能力越强。

89C52单片机有6个中断源,当中断源同时向CPU请求中断时,就存在CPU优先响应哪个中断源的问题。

通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别,CPU总是最先响应级别最高的中断。它可分为两个中断优先级,即高级优先级和低级优先级;可实现两级中断嵌套。用户可以用关中断指令(或复位)来屏蔽所有的中断请求,也可以用开中断指令使CPU接受中断申请。即每一个中断源的优先级都可以由程序来设定。 (二) 中断源

IT1在89C52单片机中,有6个中断源:两个外部INT0(P3.2)和N(P3.3)

输入的中断源、两个定时器T0和T1的溢出中断和一个串行发送/接收中断。

1)外部中断源:INT0和INT1 89C52外部中断0和外部中断1的中断请求信号分别有P3.2和P3.3引脚输入。并允许外部中断源以低电平活负边沿两种中断取法方式来输入中断请求信号。请求信号的有效电平可由定时器控制寄存器TCON的IT0和IT1设置,如图3.4所示。

图3.4 定时器控制寄存器TCON各位的定义

89C52会在每个机器周期的S5P2时对INT0和INT1线上中断请求信号进行一次检测,检测方式和中断触发方式的选取有关。若89C52设定为电平触发方式(即IT0=0或IT1=0),则CPU检测到INT0/INT1上低电平时就可认定其上中断请求有效;若设定为边沿触发方式(即IT0=1或IT1=1时),则CPU会在相继的两个周期内两次检测INT0/INT1线上电平才能确定其上的中断请求是否有效,即前一次检测为高电平和后一次检测到为低电平时INT0/INT1上中断请求才有效。

由于外部中断信号每个机器周期被采样一次,有引脚INT0和INT1输入的信号应至少保持一个机器周期,即12个振荡周期。如果外部为边沿触发方式,则引脚出输入的信号的搞电平个低电平至少各保持一个周期,才能确保CPU检测到电平的调变;而如果采用电平触发方式,外部中断源应一直保持中断请求

有效,直到得到响应为止。

(三)中断控制

CPU对中断源的开放和屏蔽,以及每个中断源是否被允许中断,都受中断允许寄存器IE控制。每个中断源优先级的设定,则由中断优先级寄存器IP控制。寄存器状态可通过程序由软件设定。 中断的开放和屏蔽

89C52没有专门的开中断和关中断指令,中断的开放和关闭是通过中断允许寄存器IE进行两级控制的。

所谓两级控制是指有一个中断允许总控制位EA,配合各中断源的中断允许控制位共同实现对中断请求的控制。这些中断允许控制位集成在中断允许寄存器IE中,如图3.5所示为中断允许寄存器各位的定义。

图3.5 中断允许寄存器IE

现对IE各位的说明如下:

EA(IE.7) 为CPU中断走允许位,EA=0,CPU关中断,禁止一切中断。EA=1,CPU开放中断,而每个中断源是否开放还是屏蔽分别由各自的允许位确定。

×(IE.6) 保留位。 ET2(IE.5) 为定时器2中断允许位,仅用于52子系列单片机中,ET2=1允许定时器2中断,否则禁止中断。

ES(IE.4) 为串行口中断允许位。ES=1,允许串行口的接收和发送中断;ES=0禁止串行口中断。

ET1(IE.3) 为定时器1(T1溢出中断)中断允许位。ET1=1,允许T1中断,否则禁止中断。

EX1(IE.2) 为外部中断1(INT1)的中断允许位。EX1=1允许外部中断1中断;否则禁止中断。

ET0(IE.1) 为定时器0(T0溢出中断)的中断允许位。ET0=1允许T0中断,否则禁止中断。

EX0(IE.0) 为外部中断0(INT0)的中断允许位。EX0=1允许外部中断0中断,否则禁止中断。

中断允许寄存器IE的单元地址是A8H,个控制位(位地址为A8H~AFH)也可位寻址,可以进行字节寻址也可位寻址。所以既可以用字节传送指令又可以用位操作指令来对各个中断请求加以控制。


基于AT89C52控制的多功能电参数测试仪的设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:CH376命令和系统子程序

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: