51单片机-定时器中断

1、使用定时器,该做哪些工作

初始化程序应完成如下工作:

  • 对TMOD赋值,以确定T0和T1的工作方式。
  • 计算初值,并将其写入TH0、TL0或TH1、TL1。
  • 中断方式时,则对EA赋值,开发定时器中断。
  • 使用TR0或TR1置为,启动定时/计数器定时或计数。
cpp 复制代码
#include "reg52.h"

typedef unsigned char u8;
typedef unsigned int u16;

sbit led = P2^0;
/**
   初始定时器
   定时1ms=1000us
   2^16-1000+1,0xFC18
  
*/
void Timer0Init()
{
   TMOD |= 0X01; // 0000 0001
   TH0=0XFC;
   TL0=0X18;
   ET0=1; // IE寄存器打开T0的中断
   EA=1; //打开总中断
   TR0=1; //开始定时器中断
}

void main()
{
 while(1)
 {
    Timer0Init();
    while(1)
    {
       
    }
 }
}


void Time0() interrupt 1
{
  static u16 i;
   // 方式一:需要重新装载,方式二:不需要
   TH0=0XFC;
   TL0=0X18;
  i++; //每次经过1ms,进行累加
  if(i==1000){  //1s
     i=0;  //就要清零,防止溢出
     led=~led;
  }
}
相关推荐
日更嵌入式的打工仔1 天前
单片机基础知识:内狗外狗/软狗硬狗
笔记·单片机
v先v关v住v获v取1 天前
12米折叠式高空作业车工作臂设计9张cad+三维图+设计说明书
科技·单片机·51单片机
单片机系统设计1 天前
基于STM32的水质检测系统
网络·stm32·单片机·嵌入式硬件·毕业设计·水质检测
唔好理总之好犀利1 天前
FreeRTOS中断内使用taskENTER_CRITICAL()进入临界区
单片机·嵌入式硬件
csg11071 天前
PIC单片机入门实战(一):PIC16F1824/PIC12F1822,从振荡器与Timer1开始
单片机·嵌入式硬件·物联网
清风6666661 天前
基于单片机的车辆超载报警系统设计及人数检测设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
QQ_21932764551 天前
基于单片机的自动售货机系统设计
单片机·嵌入式硬件
Y1rong1 天前
STM32之IIC
stm32·单片机
钿驰科技1 天前
TC-BL2840三相有感直流无刷电机驱动板在水泵的应用
单片机·嵌入式硬件
国科安芯1 天前
商业卫星多轴步进驱动系统的抗辐照MCU集成方案
运维·网络·单片机·嵌入式硬件·安全·安全威胁分析·risc-v