| 欢迎光临MCUWAY! 本站网名:单片机之路 永久域名:www.mcuway.com |
|
|
小谈C8051F020定时器中断使用 C8051F020内部有5 个计数器/定时器:其中三个16 位计数器/定时器与标准8051 中的计数器/定时器兼容,还有两个16 位自动重装载定时器可用于ADC、SMBus、UART1 或作为通用定时器使用。这些计数器/定时器可以用于测量时间间隔,对外部事件计数或产生周期性的中断请求。 下面我将利用可装载的计数器中断程序编写流程总结如下: 一:定时器初始化 1:停止定时器,清中断溢出位。 通过设置SFR中TMRnCN,停止将TMRnCN^2置0,清中断溢出位TMRnCN^7。 2:计数值和装载值的设置 通过SFR中TMRnL,TMRnH,TMRnRLL, TMRnRLH设置。 3:打开中断系统允许位 通过SFR中的IE,EIE1,EIE2实现,将对应定时中断位置1即可允许。 4:打开定时器 通过TMRnCN^2置1启动。 二:中断部分 1:打开全局中断 将IE^7置1。一般将该部分写在定时器初始化前面。 2:中断服务程序(ISR) 以C语言为例 void ADD (void) interrupt N { 具体程序 } 其中ADD位程序名,N为中断优先级(具体详见相应MCU说明书) 注意:由于定时器溢出位不能硬件清零,需要在中断程序编写清零程序,如所使用定时器为非重载,可以在中断程序中编写计数值的初始化。 |
|
|
|
|
|
|
|
学习单片机的必经之路——单片机之路,永久域名:www.mcuway.com |