51单片机定时器

什么是定时器

2. 定时器原理

定时器的工作模式如下:

可以将其分为三部分,时钟部分,计数器部分和中断部分,如下图所示

#include <REGX52.H>
#include <INTRINS.H>

unsigned int cnt = 0;

void Delay(unsigned char n)		//@11.0592MHz
{
	while(1)
	{
		if(cnt >= n)
		{
			cnt = 0;
			break;
		}

	}

}


void main()
{

	//1.外部晶振11.0592
	//2.使用定时器0,模式1
	TMOD  = 0x01;
	//3.设置TH0,TL0初始值
	TH0 = 0xFC;
	TL0 = 0x66;
	TCON |= 1 << 4;   //定时器开始计数  TR0 = 1;
	
	TF0 = 0;   //清楚中断标志位
	ET0 = 1;  //使能定时器0中断
	EA = 1;		//使能总中断
	
	
	while(1)
	{

		P2_0 = 0;
		Delay(1000);
		P2_0 = 1;
		Delay(1000);
	}


}


void timer(void) interrupt 1
{

	TH0 = 0xFC;
	TL0 = 0x66;
	cnt++;
	
}

相关推荐

  1. 51单片机基础(C语言):定时器时钟

    2024-01-22 13:36:02       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-22 13:36:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-22 13:36:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-22 13:36:02       82 阅读
  4. Python语言-面向对象

    2024-01-22 13:36:02       91 阅读

热门阅读

  1. 计算机通信:HTTP协议

    2024-01-22 13:36:02       55 阅读
  2. 编程笔记 html5&css&js 050 CSS表格2-1

    2024-01-22 13:36:02       50 阅读
  3. Golang爬虫技术

    2024-01-22 13:36:02       54 阅读
  4. 用go语言删除重复文件

    2024-01-22 13:36:02       58 阅读
  5. Vue.js:构建用户界面的渐进式框架

    2024-01-22 13:36:02       42 阅读
  6. 华为网络设备常用命令大全

    2024-01-22 13:36:02       71 阅读
  7. Vue 批量注册全局组件

    2024-01-22 13:36:02       56 阅读
  8. props传值

    2024-01-22 13:36:02       57 阅读
  9. Spring与Spring Boot:区别与Spring Boot的实战示例

    2024-01-22 13:36:02       48 阅读
  10. MySQL的MVCC

    2024-01-22 13:36:02       46 阅读