[国产单片机] 新手求助~51单片机数码管静态显示

[复制链接]
1237|10
 楼主| zhmmok 发表于 2014-10-11 21:59 | 显示全部楼层 |阅读模式
用T0定时器可以正常显示,中断用T0定时器可以,T1就不行了,数码管停在0不动,只是把定时器T0换成T1就不行额,到底为什么?

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={0x3f , 0x06 , 0x5b , 0x4f,
                                        0x66 , 0x6d , 0x7d , 0x07,
                                        0x7f , 0x6f , 0x77 , 0x7c,
                                         0x39 , 0x5e , 0x79 , 0x71 };
uchar num,a;
void main()
{
        wela=1;
        P0=0xc0;
        wela=0;
        dula=1;
        P0=table[num];
        dula=0;
        EA=1;
        ET1=1;
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        TMOD=0x10;
        TR1=1;       
        while(1);       
}
void T1_time() interrupt 1
{       
       
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        a++;
        if(a==20)
        {
                a=0;
                num++;
                P0=table[num];
                if(num==15)
                num=0;
        }
}
lyjian 发表于 2014-10-11 22:52 来自手机 | 显示全部楼层
interrupt 1不是T1中断
 楼主| zhmmok 发表于 2014-10-11 23:43 | 显示全部楼层
lyjian 发表于 2014-10-11 22:52
interrupt 1不是T1中断

知道原因啦,感谢
airwill 发表于 2014-10-11 23:48 | 显示全部楼层
呵呵,一个低级错误啦。
发现象这样的问题,还真的得请别人比较容易看出来。
wujh 发表于 2014-11-10 01:04 | 显示全部楼层
旁观者清
hw37395549 发表于 2014-11-14 08:40 | 显示全部楼层
是啊,LZ自己都说换为T1不行。是啊犯错也是一种成长。
huarana 发表于 2014-11-14 09:17 | 显示全部楼层
囧,这种问题 很容易失误。还是细心点好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部