C52单片机--知识概述
单片机定时器\计数器模块:
TMOD的标志位:

1.定时模式GATE=0
- TMOD=0X01(T0工作方式 1)
- TMOD=0X02(T0工作方式 2)
- TMOD=0X10(T1工作方式 1)
- TMOD=0X20(T1工作方式 2)
2.计数模式GATE=0
- TMOD=0X05(T0工作方式1)
- TMOD=0X06(T0工作方式2)
- TMOD=0X50(T1工作方式1)
- TMOD=0X60(T1工作方式2)
实验代码演示:
#include "reg52.h"typedef unsigned int u16;
typedef unsigned char u8;sbit LED1=P2^0;void delay_10us(u16 ten_us)
{while(ten_us--);
}void time0_init(void)
{TMOD|=0X01;TH0=0XFC;TL0=0X18; ET0=1;EA=1;TR0=1;
}void main()
{ time0_init();while(1){ }
}void time0() interrupt 1
{static u16 i;TH0=0XFC;TL0=0X18;i++;if(i==1000){i=0;LED1=!LED1; }
}
#include "reg52.h"typedef unsigned int u16;
typedef unsigned char u8;sbit LED1=P2^0;void delay_10us(u16 ten_us)
{while(ten_us--);
}void time1_init(void)
{TMOD|=0X10;TH1=0XFC;TL1=0X18; ET1=1;EA=1;TR1=1;
}void main()
{ time1_init();while(1){ }
}void time1() interrupt 3
{static u16 i;TH1=0XFC;TL1=0X18;i++;if(i==1000){i=0;LED1=!LED1; }
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
