- /**
- * 功能:定时中断2
- * 说明:
- * 时间:2012-5-21 Lzy
- */
- #include <pic.h>
- unsigned char num = 0;
- void init()
- {
- TRISD &= ~0x01 ; /* 设置第0脚为输出方式 */
- RD0 = 0;
- INTCON |= 1 << 7; /* 开启总中断 */
- INTCON |= (1 << 6);
- PIE1 = 1<<1; /* 充许定时中断 */
-
- /*初值*/
- TMR2 = 6;
- T2CON = 0x01; /* 前分频为1:4*/
- T2CON |= 10<<3; /* 设定分频 */
- T2CON |= 1<<2; /* 设Timer2 is on */
- }
- void main()
- {
- init();
- while(1)
- {
- if(num >100)
- {
- num = 0; /* 计数值归0 */
- RD0 = !RD0; /* 引脚电平变换 */
- }
-
- }
- }
- /* 中断处理函数 */
- void interrupt time0()
- {
- if(1 == TMR2IF) /* 判断定时器1 产生中断*/
- {
- TMR2IF = 0; /* 中断标志位需软件清0 */
- TMR2 = 6;
- ++num; /* 计数值加一 */
- }
- }
源码+仿真图:
temp.rar