定时器的使用

2019-03-24 18:16发布

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit D1=P1^0;
uchar temp,tt;
uint num;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92};
void delay(uint z);
void main()
{

        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
        D1=0;
                        if(tt==20)
        {       
                        for(num=0;num<6;num++)
                {
       
                P0=table[num];
                        delay(100);
                }
        }}
        void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
        for(y=110;y>0;y--);
}
        void timer() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        tt++;

}
请问一下,为什么加上tt==20之后,数码管都不亮了?望大家指教一下! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
sint27
1楼-- · 2019-03-24 22:33
 精彩回答 2  元偷偷看……
liufengjing9
2楼-- · 2019-03-24 22:42
哦哦,谢谢!
liufengjing9
3楼-- · 2019-03-25 03:09
sint27 发表于 2014-7-9 08:45
你这个思路有问题,主函数并不是死循环,所以程序运行一遍就没了,
这样就像是中断计数和主函数在赛跑,主 ...

太厉害啦,一下子成功了,太感谢了!

一周热门 更多>