找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教一个单片机定时器中断的问题

[复制链接]
跳转到指定楼层
楼主
ID:212545 发表于 2017-6-19 13:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下,在定时器T0完成5秒计时后启动T1定时器,spk为蜂鸣器,spk=~spk,蜂鸣器工作工作10秒定时器T1停止工作,那么蜂鸣器是怎么停止工作的呢?请教下各位大佬。
void time0(void) interrupt 1
{
    TH0=(65535-50000)/256;
    TL0=(65535-50000)%256;
    t0++;
    if(t0==100)
    {
        t0=0;
        TR0=0;
        TR1=1;
                t1=0;      
    }
}

void time1(void) interrupt 3
{
    TH1=(65535-1000)/256;
    TL1=(65535-1000)%256;
    t1++;
    spk=~spk;
    if(t1==10000)
    {
        t1=0;
        TR1=0;
    }

}

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

使用道具 举报

沙发
ID:164602 发表于 2017-6-19 14:49 | 只看该作者
从你的程序中,可以看出,你的蜂鸣器是无源的,所以要通过不停地通断电来实现发声音。
所以,当你的T1定时器中断关掉(TR1=0)时,蜂鸣器也就不会有不停通断电源的现像,蜂鸣器当然就不响了啊。
回复

使用道具 举报

板凳
ID:212545 发表于 2017-6-20 10:10 | 只看该作者
HC6800-ES-V2.0 发表于 2017-6-19 14:49
从你的程序中,可以看出,你的蜂鸣器是无源的,所以要通过不停地通断电来实现发声音。
所以,当你的T1定时 ...

明白了,谢谢大佬
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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