微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机刚刚学到定时器,半天都不知道如何让解决,求解!

单片机刚刚学到定时器,半天都不知道如何让解决,求解!

时间:10-02 整理:3721RD 点击:
解决每隔一秒亮一个流水灯,按顺序亮,现在却是都亮着,计时器完全不工作呢!
希望各位大神们帮帮忙。
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uint num,a;
void main()
{
        TMOD=0X10;
        TH1=0x3c;
        TL1=0xb0;
        EA=1;
        ET1=1;
        TR1=1;
        P1=0x00;
        while(1)
        {
                if(num==200)
                {
                        num=0;
                        P1=table[a++];
                        if(a==8)a=0;
                }
        }
               
}
void time() interrupt 3
{
        TH1=0x3c;
        TL0=0xb0;
        num++;
}

自己算一下定时时间,你的时间太长了。

void time() interrupt 3
{
        TH1=0x3c;
        TL0=0xb0;你这个地方写错了应该是TL1不是TL0.粗心大意
        num++;
}

首先查看你的LED是低电平点亮还是高电平点亮,还有二楼说的问题。

大哥,你长的真像我同学,吓了我一跳。
话说,楼上说的我也改了,还是不对,第一个灯很亮,可是其它的灯几乎是同时在闪,晕啊~~~
还有~0x92,这个前面的符号是神马意思,好多例程里面都有

恩恩,我就是粗心大头啊,哎~~~~

是20,对自己快无语了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top