找回密码
 立即注册

QQ登录

只需一步,快速开始

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

定时器0中断好像进不去!

[复制链接]
跳转到指定楼层
楼主
ID:119071 发表于 2016-8-28 19:08 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
为什么进不去中断,定时器到时,P1没有按0x55显示,不知道怎么回事,希望各位大神帮忙,谢谢!

Screenshot_2016-08-28-19-03-48-648.png (49.06 KB, 下载次数: 84)

Screenshot_2016-08-28-19-03-48-648.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:137239 发表于 2016-8-29 07:00 | 只看该作者
建议楼主把while循环里面的语句写在中断服务函数里:
#include <reg52.h>
#define uchar unsigned char

uchar tt=0;
void main()
{
    TMOD=0x01;
    TL0=(65536-10000)%256;
    TH0=(65536-10000)/256;
    ET0=1;
    EA=0;
    TR0=1;
    while(1)
    {
         PCON|=0x01;  睡眠CPU,降低功耗
    }
}

void timer0() interrupt 1 using 1  
{
    TL0=(65536-10000)%256;
    TH0=(65536-10000)/256;
    tt++;
    if(tt>=24)
   {
      tt=0;
      P1=0x55;     
   }      
}

回复

使用道具 举报

板凳
ID:137261 发表于 2016-8-29 11:42 | 只看该作者
定时器1的中断后面用interrupt 3
回复

使用道具 举报

地板
ID:119071 发表于 2016-8-29 13:53 | 只看该作者
淡然若梦 发表于 2016-8-29 11:42
定时器1的中断后面用interrupt 3

这个是定时器0,应该是interrupt1,今天又试了一下,不知道为什么又好使了。谢谢喽!!!
回复

使用道具 举报

5#
ID:137239 发表于 2016-8-29 19:30 | 只看该作者
建议楼主把
if(tt==24)
{
   tt=0;
   P1=0x55;
}
写到中断服务函数里面去试试。
               
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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