打印
[其它应用]

sh79f166a的定时器用不了

[复制链接]
2862|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bqyj|  楼主 | 2022-10-8 19:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
sh79f166a的定时器用不了

使用特权

评论回复
沙发
xxrs| | 2022-10-8 19:31 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
bqyj|  楼主 | 2022-10-8 19:34 | 只看该作者

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

#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;        
}

使用特权

评论回复
地板
huangchui| | 2022-10-8 19:37 | 只看该作者
有什么现象没?

使用特权

评论回复
5
jlyuan| | 2022-10-8 19:40 | 只看该作者
你的T2是16位自动重装载模式,重装载寄存器似乎没有初始化呢。

使用特权

评论回复
6
stly| | 2022-10-8 19:44 | 只看该作者
建议把数据手册中定时器部分仔细看一遍,看看哪些寄存器要初始化。你多等一会,只是时间很长而已。

使用特权

评论回复
7
renyaq| | 2022-10-8 19:47 | 只看该作者
sh79f166a的定时器T2中断标志不会自动清除,

需手动清除

使用特权

评论回复
8
wuhany| | 2022-10-8 19:49 | 只看该作者
哪儿啊?我怎么没有找到。。。

使用特权

评论回复
9
zhaoxqi| | 2022-10-8 19:51 | 只看该作者

在中断程序中加一条

TF2 = 0;      即可。

使用特权

评论回复
10
jlyuan| | 2022-10-8 19:55 | 只看该作者
哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
11
Stahan| | 2022-10-9 21:46 | 只看该作者
有没有什么现象啊

使用特权

评论回复
12
AloneKaven| | 2022-10-10 20:24 | 只看该作者
建议仔细看一下手册的定时器部分

使用特权

评论回复
13
tpgf| | 2022-11-1 11:42 | 只看该作者
楼主的定时周期会不会过短 导致视觉效果有误区呢

使用特权

评论回复
14
qcliu| | 2022-11-1 12:13 | 只看该作者
如果在仿真状态下 做断点 进行观察 应该有不一样的现象

使用特权

评论回复
15
drer| | 2022-11-1 13:12 | 只看该作者
为什么定时器T2中断标志不会自动清除呢,其他定时器是自动清除的吗

使用特权

评论回复
16
coshi| | 2022-11-1 13:44 | 只看该作者
观察就会发现有可能会一直不断的进入中断 而定时器的新一轮计时还没有到

使用特权

评论回复
17
kxsi| | 2022-11-1 14:12 | 只看该作者
这种是否需要手动清除标志位的操作 在手册上应该有相关说明吧

使用特权

评论回复
18
wiba| | 2022-11-1 14:25 | 只看该作者
他的定时器2是兼容8052芯片的16位定时器/计数器,需要手动清除中断标志位

使用特权

评论回复
19
黑心单片机| | 2023-7-26 15:30 | 只看该作者
没清除标志位

使用特权

评论回复
20
classroom| | 2024-9-26 11:39 | 只看该作者
更换新的芯片来测试。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝