本文主要是介绍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; }
}
这篇关于C52单片机--知识概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!