找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

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

查看数: 3875 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-8-28 19:08

正文摘要:

为什么进不去中断,定时器到时,P1没有按0x55显示,不知道怎么回事,希望各位大神帮忙,谢谢!

回复

ID:137239 发表于 2016-8-29 19:30
建议楼主把
if(tt==24)
{
   tt=0;
   P1=0x55;
}
写到中断服务函数里面去试试。
               
ID:119071 发表于 2016-8-29 13:53
淡然若梦 发表于 2016-8-29 11:42
定时器1的中断后面用interrupt 3

这个是定时器0,应该是interrupt1,今天又试了一下,不知道为什么又好使了。谢谢喽!!!
ID:137261 发表于 2016-8-29 11:42
定时器1的中断后面用interrupt 3
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;     
   }      
}

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

Powered by 单片机教程网

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