找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1951|回复: 0
打印 上一主题 下一主题
收起左侧

MC51F003A4单片机T2定时器初始化

[复制链接]
跳转到指定楼层
楼主
ID:406986 发表于 2021-10-6 13:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*****************************************************
*函数名称:void Timer_Init(void)
*函数功能:T2初始化
*入口参数:void
*出口参数:void
*****************************************************/
void Timer2_Init(void)
{
        //demo使用,为清楚了解,分开写,实际操作整个寄存器更节约rom
        T2CON1 |= 0x01; //使能T2
        T2CON &= ~0x02; //内部时钟
       
        T2CON &= ~0x01;
        T2CON1 &= ~0x40;
        T2CON1 &= ~0x20; //000  方式0
       
        T2MOD |= 0x80; //自动重载
        T2MOD &= 0x8F;
        T2MOD |= 0x20;                        //FT2=Fsys/16
        T2MOD &= ~0x08; //IO不翻转
        TR2 = 0;
        //无论是读或者写 TL2/TH2(RCAPL2/RCAPH2)的值,必须先停止(TR2=0),否则 T2 将产生不可预知的情况。
        //写操作时:必须先写 TL2(RCAPL2),再写TH2(RCAPH2),否则TL2(RCAPL2)的值不能立即反映到内部counter上,
        //读操作时:必须先读 TL2(RCAPL2),再读TH2(RCAPH2),否则将读取到错误的值
        TL2 = (65536 - 2000) % 256;
        TH2 = (65536 - 2000) / 256;
        RCAPL2 = (65536 - 2000) % 256;
        RCAPH2 = (65536 - 2000) / 256; //2ms
        TR2 = 1;
        IE1 |= 0x01; //使能中断                       
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表