[其它应用] sh79f166a的定时器用不了

[复制链接]
1354|10
 楼主| bqyj 发表于 2021-5-6 23:55 | 显示全部楼层 |阅读模式
sh79f166a的定时器用不了
wenfen 发表于 2021-5-6 23:57 | 显示全部楼层
楼主详细说说怎么回事啊,这么说太笼统了
 楼主| bqyj 发表于 2021-5-6 23:58 | 显示全部楼层

只是让灯一闪一闪而已。。。

#include<sh79f166a.h>

void init_2(void);

void main()
{
        P0SS        =        0x00;                               //IO的初始化
        P0CR        =        0xff;
        P0PCR        =        0xff;
        P0                =        0xff;

        CLKCON  =   0x60;                         // 1Mhz,12分频

        init_2();                                        //定时器2设置

        while(1);
}

void time2_(void) interrupt 8           //延时,P0取反
{
        static char i,k;

        i++;
        if(i == 100)
        {
                k++;
                i = 0;
                if(k == 100)
                {
                        k = 0;
                        P0 = ~P0;
                }
        }
}


void init_2(void)        
{
        T2CON        =         0x00;
        TL2                =        0x29;
        TH2                =        0xff;
        IEN0        |=        0xa0;
        TR2                =        1;        
}
weifeng90 发表于 2021-5-7 07:35 来自手机 | 显示全部楼层
有什么现象没?
llljh 发表于 2021-5-7 22:24 | 显示全部楼层
你的T2是16位自动重装载模式,重装载寄存器似乎没有初始化呢。
tian111 发表于 2021-5-7 22:26 | 显示全部楼层
建议把数据手册中定时器部分仔细看一遍,看看哪些寄存器要初始化。你多等一会,只是时间很长而已。
songqian17 发表于 2021-5-7 22:29 | 显示全部楼层

sh79f166a的定时器T2中断标志不会自动清除,

需手动清除
 楼主| bqyj 发表于 2021-5-7 22:31 | 显示全部楼层
哪儿啊?我怎么没有找到。。。
chenho 发表于 2021-5-7 22:33 | 显示全部楼层

在中断程序中加一条

TF2 = 0;      即可。
 楼主| bqyj 发表于 2021-5-7 22:35 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家
嵌入小菜菜 发表于 2021-5-7 23:18 | 显示全部楼层
没有遇到楼主的问题,不知道咋回事。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部