完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
中断和定时器是51中最为重要的部分,下面就来详细的讲一下中断以及定时器(计数器)的使用。 首先我们先来说一下中断,很多人都会把中断和定时器混淆,这里要强调的是,中断可以采用定时器(计数器)溢出的方式进行中断,这只是中断的一种方式,我们以89C52为例,可供选取的中断源一共有五个 INT0为外部中断,中断序号为0 T0为定时器(计时器)0中断,中断序号为1 INT1为外部中断,中断序号为2 T1为定时器(计时器)1中断,中断序号为3 TI /RI为串行口中断,中断序号为4 T2为定时器(计时器)2中断,中断序号为5 下面以外部中断0为例,介绍一下中断(一定要结合上图) EA=0; EX0=1; IT0=1; 其中EA为全局中断,控制各个中断的响应 EX0为外部中断申请 IT0为外部中断0触发方式选择位,若IT0=0,表示低电平触发;IT0=1,表示跳变沿触发 图中IE0由硬件自动置1或清0,不需人为操作 以上就是外部中断的设置 继续介绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下 我们还是以继续介继续介绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下 我们还是以定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。 定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例) 首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0. GATE为门控位 C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式 M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式 下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法 设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。 具体代码如下 TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程: GATE=0,取反变为1,经过或门电路(无论INT0为何值),最后都输出1,再经过或门电路,则需要TR0为1才能使电路导通,当定时器记满溢出则产生中断。 绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下 我们还是以定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。 定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例) 首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0. GATE为门控位 C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式 M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式 下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法 设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。 具体代码如下 TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程: GATE=0,取反变为1,经过或门电路(无论INT0为何值),最后都输出1,再经过或门电路,则需要TR0为1才能使电路导通,当定时器记满溢出则产生中断。 定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。 定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例) 首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0. GATE为门控位 C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式 M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式 下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法 设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。 具体代码如下 TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程: GATE=0,取反变为1,经过或门电路(无论INT0为何值),最后都输出1,再经过或门电路,则需要TR0为1才能使电路导通,当定时器记满溢出则产生中断。 |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1083浏览 2评论
700浏览 1评论
452浏览 0评论
193浏览 0评论
329浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:06 , Processed in 1.284831 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号