以下是AT89C51单片机使用定时器/计数器T1工作于定时器方式的初始化程序,定时时间为50ms,工作在模式1:

#include <reg51.h>

void timer1_init()
{
    TMOD |= 0x10; // 设置T1为定时器模式
    TH1 = 0xFC; // 定时50ms
    TL1 = 0x18;
    ET1 = 1; // 使能T1中断
    EA = 1; // 使能总中断
    TR1 = 1; // 启动T1
}

其中,TMOD寄存器用于设置T1的工作模式,ET1用于使能T1中断,EA用于使能总中断,TR1用于启动T1。TH1和TL1分别存储T1的定时时间高8位和低8位。根据12MHz的外部晶振频率和定时时间50ms,可以计算出TH1和TL1的值。在模式1下,T1每隔50ms产生一次中断请求。

设AT89C51单片机外接晶振频率为12MHz用定时器计数器T1工作于定时器方式门控位不起作用且采用中断的方式定时时间为50ms令其工作在模式1写出其初始化程序。

原文地址: https://www.cveoy.top/t/topic/hxin 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录