标题: looing forward your answer!! [打印本页]

作者: liumin    时间: 2013-5-22 00:44
标题: looing forward your answer!!
#include<reg52.h>
sbit D1=P0^0;
void main()
{
    for(i=2;i>0;i--)
   {
      d1=0;
     delay(500);
     d1=1;
     delay(500);
    }
}
下面是一个延时函数,为什么,这个发光二极管没有闪两下就不亮了呢??
就是因为单片机是写什么执行什么,然后如果不给它写挺值得程序是不会停的吗?
还有怎么实现上两次以后再也不亮了呢,除了用中断??
希望能尽快收到大家的答复,谢谢!

作者: admin    时间: 2013-5-22 00:58
for(i=2;i>0;i--)
这是一个for循环 他决定了循环体只执行2次啊
作者: liumin    时间: 2013-5-22 19:09
但是它不是闪两次以后就不亮了,而是一直闪啊??
作者: liumin    时间: 2013-5-22 19:09
admin 发表于 2013-5-22 00:58
for(i=2;i>0;i--)
这是一个for循环 他决定了循环体只执行2次啊

没有,它一直在闪啊,就没停止。。。
作者: liumin    时间: 2013-5-22 20:01
#include<reg52.h>
#define uint unsigned int  
#define uchar unsigned char
sbit d1=P1^0;
sbit ex=P3^2;
void delay_ms(uint);
void main()
{
        uint a;
        EA=1;
        EX0=1;
        IT0=0;       
        for(a=2;a>0;a--)
        {
                d1=0;
                delay_ms(500);
                d1=1;
                delay_ms(500);
        }
         ex=0;
       
}
void delay_ms(uint x)
{
        uint i,j;
        for(i=x;i>0;i--)
                for(j=110;j>0;j--);
}
void extern0() interrupt 0
{
        d1=1;
//        delay_ms(500);       
}
这样写可以,但不知道不用中断有办法实现没?
作者: livingliving    时间: 2015-4-7 18:56
想要画一个点火芯片的封装,可是一到pcb就出错。这个芯片的底部也作为一个焊盘。我的思路是,用一个多层的焊盘作为引脚11,然后上面加几个过孔从而可以从下面走线,可是这样在pcb中显示出错
作者: livingliving    时间: 2015-4-7 18:56
想要画一个点火芯片的封装,可是一到pcb就出错。这个芯片的底部也作为一个焊盘。我的思路是,用一个多层的焊盘作为引脚11,然后上面加几个过孔从而可以从下面走线,可是这样在pcb中显示出错




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