51单片机T0
Posted clam-hao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51单片机T0相关的知识,希望对你有一定的参考价值。
1 /************************************************************************************** 2 * 定时器0实验 * 3 实现现象:下载程序后D1小灯循环点亮1秒,熄灭1秒。使用单片机内部定时器可以实现准确延时。 4 注意事项:无。 5 ***************************************************************************************/ 6 7 #include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 8 9 10 /******************************************************************************* 11 * 函 数 名 : main 12 * 函数功能 : 主函数 13 * 输 入 : 无 14 * 输 出 : 无 15 *******************************************************************************/ 16 void main() 17 { 18 Timer0Init(); //定时器0初始化 19 while(1); 20 } 21
1 #include "reg52.h" 2 #include "time0.h" 3 /******************************************************************************* 4 * 函 数 名 : Timer0Init 5 * 函数功能 : 定时器0初始化 6 * 输 入 : 无 7 * 输 出 : 无 8 *******************************************************************************/ 9 void Timer0Init() 10 { 11 TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。 12 13 TH0=0XFC; //给定时器赋初值,定时1ms 14 TL0=0X18; 15 ET0=1;//打开定时器0中断允许 16 EA=1;//打开总中断 17 TR0=1;//打开定时器 18 } 19 20 /******************************************************************************* 21 * 函 数 名 : void Timer0() interrupt 1 22 * 函数功能 : 定时器0中断函数 23 * 输 入 : 无 24 * 输 出 : 无 25 *******************************************************************************/ 26 void Timer0() interrupt 1 27 { 28 static u16 i; 29 TH0=0XFC; //给定时器赋初值,定时1ms 30 TL0=0X18; 31 i++; 32 if(i==1000) 33 { 34 i=0; 35 led=~led; 36 } 37 }
1 #ifndef __TIME0_H__ 2 #define __TIME0_H__ 3 4 typedef unsigned int u16; //对数据类型进行声明定义 5 typedef unsigned char u8; 6 7 sbit led=P2^0; //定义P20口是led 8 void Timer0Init(); 9 10 #endif
1.定时器0的初始化,定时1ms
以上是关于51单片机T0的主要内容,如果未能解决你的问题,请参考以下文章