标题: 本人是菜鸟,编了一个程序但又不能运行,求大神帮我看看这程序哪里出错! [打印本页]

作者: 631623632    时间: 2015-10-28 16:48
标题: 本人是菜鸟,编了一个程序但又不能运行,求大神帮我看看这程序哪里出错!
本人是菜鸟,编了一个程序但又不能运行,请各位大神帮我看看哪里出问题!谢谢!
#include<reg51.h>
sbit ledred=P1^0;
sbit ledgreen=P1^1;
sbit k1=P0^0;
sbit k2=P0^1;
sbit k3=P0^2;
sbit sound=P1^2;
unsigned char count=0;
unsigned char miao=60;
void delay(unsigned char i)
{
    unsigned char a;
        for(a=0;i>a;a++);
}
void disp(unsigned char i)
{
        unsigned char led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
        P2=led[i/10];
        P3=led[i%10];
}
void timer1() interrupt 3
{
        TH1=(65536-50000)/256;
        TL1=(65536-50000)%256;
        count++;
        if(count==20)
        {
         count=0;
         miao--;
        }

}

void main()
{
    ledred=1;
        ledgreen=0;
        sound=0;
        TMOD=0x10;
        TH1=(65536-50000)/256;
        TL1=(65536-50000)%256;
        ET1=1;
        EA=1;
        TR1=1;
                while(1);
        disp(miao);
                if(miao==0)
        {ledred=0;ledgreen=1;sound=1;}
        if(k1==0)
        {
                delay(1000);
                if(k1==0){ledred=0;ledgreen=1;sound=1;}
        
        }
                if(k3==0)
        {
                delay(1000);
                if(k3==0){ledred=0;ledgreen=1;sound=1;}
        
        }
                if(k2==0)
        {
                delay(1000);
                if(k2==0){P2=0xff;P3=0xff;}
        
        }
}



作者: 木木de    时间: 2015-10-28 22:58
while(1)  后面的程序出问题了    把那个分号去掉   后面所有的程序用花括号括起来
作者: 631623632    时间: 2015-10-29 09:41
905377346 发表于 2015-10-28 22:58
while(1)  后面的程序出问题了    把那个分号去掉   后面所有的程序用花括号括起来

谢谢!
作者: jasonlee    时间: 2015-10-30 11:59
void main() {     ledred=1;         ledgreen=0;         sound=0;         TMOD=0x10;         TH1=(65536-50000)/256;         TL1=(65536-50000)%256;         ET1=1;         EA=1;         TR1=1;                 while(1);         disp(miao);                 if(miao==0)         {ledred=0;ledgreen=1;sound=1;}         if(k1==0)
作者: jasonlee    时间: 2015-10-30 12:00
while1括号后的分号删掉
作者: danpianji0211    时间: 2015-10-31 16:57
while 1 后面的;去掉
作者: chenguangyou    时间: 2015-10-31 17:38
在main函数中while(1);语句已经死了,程序下不去,肯定不对啦。
作者: mm494408445    时间: 2015-11-1 10:53
while(1)  后面, 把分号去掉, 后面所有用{}括起来
作者: 滔滔猫    时间: 2015-11-1 13:51
看完之后,我觉得你应该是想完成一个60秒倒计时吧?没明白你要用k1;k2来控制什么?
作者: 689396    时间: 2015-11-1 22:11
你的while语句构成了一个死循环
作者: kaifeng    时间: 2015-11-1 22:12
while(1)后面的“;”去掉然后用{}把后面的全括起来
作者: yang726685    时间: 2015-11-1 23:40
while(1)  后面的程序出问题了    把那个分号去掉   后面所有的程序用花括号括起来
作者: 电小生    时间: 2015-11-2 10:06
我来路过
作者: 飞刀问情    时间: 2015-11-2 21:52
解决好了可以教练我谢谢
作者: Angelwwq    时间: 2015-11-4 15:51
while(1)  后面的程序出问题了    把那个分号去掉   后面所有的程序用花括号括起来
作者: 631623632    时间: 2015-11-17 16:52
jasonlee 发表于 2015-10-30 11:59
void main() {     ledred=1;         ledgreen=0;         sound=0;         TMOD=0x10;         TH1=(655 ...

谢谢!
作者: zhangleiat185    时间: 2015-11-21 09:56
while(1); 死这里出不来了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1