打印

我想通过改变d的大小来定电机的运行时间,但串口输数进去没有变,程序哪里错了吗?

[复制链接]
556|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
朱古力|  楼主 | 2017-2-12 21:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit D1=P1^0;
unsigned int a,t,D;
//uchar t;
void delay();
void main()
{
        a=1;
        TMOD=0X01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
       
        REN=1;
        SM0=0;
        SM1=1;
        TMOD=0X20;
        TH1=0xfd;
        TL1=0xfd;
        TR1=1;
//        EA=1;
//        ES=1;
        while(1)
        {       
                if(a==1)
                {       
                                D1=0;
                                delay();
                                D1=1;
                                delay();
                }
               
                                if(RI==1)
        {
                RI=0;
                D=SBUF;
       
               
                if(t>=D)
                {
                        a=0;
                        D1=1;
                }
        }       
                       
        }
}       
void timer0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        t++;
//        a=10;
}
void delay()
{
        uint x,y;
        for(x=1;x>0;x--)
                for(y=80;y>0;y--);
}

//void ser() interrupt 4
//{
//        RI=0;
//        D=SBUF;
//}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

26

帖子

1

粉丝