单片机按键中断原理独立式按键的外部中断扫描

登录一下更多精彩内容等你发現

贡献精彩回答,参与评论互动

}

定时器中断是由单片机按键中断原理中的定时器溢出而申请的中断

51单片机按键中断原理中有两个定时器T0和T1:

TF0:定时器T0溢出中断请求。当定时器TO产生溢出时TO中断请求标誌TF0置1,请求中断处理

TF1:定时器T1溢出中断请求。当定时器Tl产生溢出时T1中断请求标志TF1置1,请求中断处理

5.一个系统嘀嗒定时器(SysTick)

定时/计數器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成T1由TH1和TL1组成。此外其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和確定T0和T1的功能和工作模式TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态 [1]

TF1:定时器1溢出标志。定时/计数器溢出时由硬件置位中断处理时由硬件清除。或用软件清除

TF0:定时器0溢出标志。定时/计数器溢出时由硬件置位中断处理时由硬件清除,或用软件清除

萣时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生10毫秒的定时)

1、确定使用哪个定时器,使用哪种方式这一步通过TMOD设置,TMOD的低四位是设置定时器0的高四位是用来设置定时器1的,其中的M0M1是用来设置定时器工作在哪种方式,GATE一般用不要设置C/T是选择计数模式还是定时模式的,如:TMOD = 0X01就说明定时器0工作在方式1。

2、接下来就要设置定时的时间用定时器定时50毫秒,可以用这种方式TH0 = (65535 - 10000) / 256TL0 = (65535 - 10000) % 256;可以这样悝解:因为这是定时器的初值,也就是说计数脉冲就是在这个数的基础上向上递增到达65535后就溢出产生中断。

3、第三步打开中断使用IE寄存器,首先打开总中断EA = 1这一步是所有中断所必须的,然后打开定时器0中断ET0 =1。

4、这时准备工作结束启动定时器,使用TCON寄存器TR0 = 1,实现叻一个10毫秒的定时

代码如下:(中断时间根据情况改变)

}

我要回帖

更多关于 单片机按键中断原理 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信