52单片机Timer2的中断应用

来源:本站
导读:目前正在解读《52单片机Timer2的中断应用》的相关信息,《52单片机Timer2的中断应用》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《52单片机Timer2的中断应用》的详细说明。
简介:52单片机Timer2的中断应用

/* This file is an example to use timer2 in mode 0 此程序用于定时器2模式0*/

#define MSB_reload_value 0x36

/* msb reload value exemple 高位重载值:延时60ms*/

#define LSB_reload_value 0x36

/* lsb reload value exemple 低位重载值*/

#include "reg_c51.h" //当前文件夹内的文件

/*

* FUNCTION_PURPOSE: This file set up timer 2 in mode 0 (16 bits auto-reload up/down counting timer).

* 用于模式0: 16位自动重载 向上/下计时

* The 16-bits register consist of all 8 bits of TH2 and all 8 bits of TL2.

* 16位寄存器由8位的TH2 和8位的TL2组成

* The EXF2 bit toggles when timer2 overflow or underflow occurs.

* 当timer2向上/下溢出时,置位EXF2位

* EXF2 does not generate interrupt. This bit can be used to provide 17-bit resolution

* FUNCTION_INPUTS: P1.1(T2EX)=0 for down counting or 1 for up counting.

* EXF2位并不引起中断。此位可以用来提供17位输入功能:向上/下计数功能

* FUNCTION_OUTPUTS: void

*/

void main(void)

{

T2MOD &= 0xFC; /* T2OE=0;定时器2输出不允许 */

T2MOD |= 0x01; /* DCEN=1;可以设置为向上/下计数:此程序中为向上达到0xff时溢出*/

EXF2 = 0; /* reset flag 定时器2外部标志位清除*/

TCLK = 0; RCLK = 0; /* disable baud rate generator 不用于波特率发生器*/

EXEN2 = 0; /* ignore events on T2EX 视T2EX(P1.1)端信号无效*/

TH2 = MSB_reload_value; /* Init msb_value 填入初始化值*/

TL2 = LSB_reload_value; /* Init lsb_value */

RCAP2H = MSB_reload_value; /* reload msb_value重载值 */

RCAP2L = LSB_reload_value; /* reload lsb_value */

C_T2 = 0; /* timer mode 定时模式*/

CP_RL2 = 0; /* reload mode 重载模式*/

EA = 1; /* interupt enable 中断允许*/

ET2 = 1; /* enable timer2 interrupt 允许T2中断*/

TR2 = 1; /* timer2 run 开始计时*/

while(1); /* endless */

}

/*

* FUNCTION_PURPOSE: timer2 interrupt

* FUNCTION_INPUTS: void

* FUNCTION_OUTPUTS: P1.2 toggle period = 2

* (65536-reload_value) cycles

*/

void it_timer2(void) interrupt 5

/* interrupt address is 0x002b 定时器2中断向量入口*/

{

P0_2 = ~P0_2; /* P1.2 toggle when interrupt. 中断时取反*/

TF2 = 0; /* reset interrupt flag 复位中断标志位*/

}

提醒:《52单片机Timer2的中断应用》最后刷新时间 2024-03-14 01:10:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《52单片机Timer2的中断应用》该内容的真实性请自行鉴别。