找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求高人帮忙看下单片机程序,关于定时器中断

[复制链接]
跳转到指定楼层
楼主
ID:227561 发表于 2018-1-22 20:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想问使用定时器中断,工作方式1:16位定时计数器,不是没有自动重装载的功能吗,所以要在中断函数里重新加载初始值。可是我把重加载的定时数注释掉了,还是在计时啊,不解啊,高人帮帮忙,程序如下

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^0;
uchar num;

void main()
{
    TMOD=0x01;
    TH0=(65536-45872)/256;
    TL0=(65536-45872)%256;
    EA=1;
    ET0=1;
    TR0=1;
    while(1);
}

void T0_time() interrupt 1
{
//    TH0=(65536-45872)/256;
//    TL0=(65536-45872)%256;
    num++;
    if(num==20)
    {
        num=0;
        led1=~led1;
    }

}

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

使用道具 举报

沙发
ID:7485 发表于 2018-1-22 21:11 | 只看该作者
T0和T1没有自动重装载功能。T2有(52单片机有T2)。

没有自动重装载,定时器溢出后就变成0,从0开始继续计时运行,计时满了以后再次产生中断。
回复

使用道具 举报

板凳
ID:227561 发表于 2018-1-22 21:19 | 只看该作者
非常感谢,明白了。还想请教一下,我看到定时/计数器的工作方式2是8位自动重装的啊,应该是T0,T1都可以的吧?
回复

使用道具 举报

地板
ID:237239 发表于 2018-1-23 09:37 | 只看该作者
s08c820 发表于 2018-1-22 21:19
非常感谢,明白了。还想请教一下,我看到定时/计数器的工作方式2是8位自动重装的啊,应该是T0,T1都可以的 ...

T0,T1都不可以自动重装
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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