单片机
返回首页

MCS-51系列单片机C语言编程定时计数器程序模板

2025-09-26 来源:bilibili

/*********************************************************************************************

函数名:定时/计数器初始化函数

调  用:T_C_init();

参  数:无

返回值:无

结  果:设置SFR中T/C1和(或)T/C0相关参数

备  注:本函数控制T/C1和T/C0,不需要使用的部分可用//屏蔽

/**********************************************************************************************/

void T_C_init (void){

TMOD = 0x11; //高4位控制T/C1 [ GATE,C/T,M1,M0,GATE,C/T,M1,M0 ]

EA = 1; //中断总开关

TH1 = 0xFF; //16位计数寄存器T1高8位(写入初值)

TL1 = 0xFF; //16位计数寄存器T1低8位

ET1 = 1; //T/C1中断开关

TR1 = 1; //T/C1启动开关

//TH0 = 0x3C; //16位计数寄存器T0高8位

//TL0 = 0xB0; //16位计数寄存器T0低8位(0x3CB0 = 50mS延时)

//ET0 = 1; //T/C0中断开关

//TR0 = 1; //T/C0启动开关

}

/**********************************************************************************************/

/*********************************************************************************************

函数名:定时/计数器1中断处理函数

调  用:[T/C1溢出后中断处理]

参  数:无

返回值:无

结  果:重新写入16位计数寄存器初始值,处理用户程序

备  注:必须允许中断并启动T/C本函数方可有效,重新写入初值需和T_C_init函数一致

/**********************************************************************************************/

void T_C1 (void) interrupt 3  using 3{ //切换寄存器组到3

TH1 = 0x3C; //16位计数寄存器T1高8位(重新写入初值)

TL1 = 0xB0; //16位计数寄存器T1低8位(0x3CB0 = 50mS延时)

//函数内容

}

/**********************************************************************************************/

/*********************************************************************************************

函数名:定时/计数器0中断处理函数

调  用:[T/C0溢出后中断处理]

参  数:无

返回值:无

结  果:重新写入16位计数寄存器初始值,处理用户程序

备  注:必须允许中断并启动T/C本函数方可有效,重新写入初值需和T_C_init函数一致

/**********************************************************************************************/

void T_C0 (void) interrupt 1  using 1{ //切换寄存器组到1

TH0 = 0x3C; //16位计数寄存器T0高8位(重新写入初值)

TL0 = 0xB0; //16位计数寄存器T0低8位(0x3CB0 = 50mS延时)

//函数内容

}

/**********************************************************************************************/


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 红外开关

  • LM317过压保护

  • 0-30V/20A 大功率稳压电源(采用LM338)

    相关电子头条文章