找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2896|回复: 6
打印 上一主题 下一主题
收起左侧

looing forward your answer!!

[复制链接]
跳转到指定楼层
楼主
ID:50469 发表于 2013-5-22 00:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
sbit D1=P0^0;
void main()
{
    for(i=2;i>0;i--)
   {
      d1=0;
     delay(500);
     d1=1;
     delay(500);
    }
}
下面是一个延时函数,为什么,这个发光二极管没有闪两下就不亮了呢??
就是因为单片机是写什么执行什么,然后如果不给它写挺值得程序是不会停的吗?
还有怎么实现上两次以后再也不亮了呢,除了用中断??
希望能尽快收到大家的答复,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2013-5-22 00:58 | 只看该作者
for(i=2;i>0;i--)
这是一个for循环 他决定了循环体只执行2次啊
回复

使用道具 举报

板凳
ID:50469 发表于 2013-5-22 19:09 | 只看该作者
但是它不是闪两次以后就不亮了,而是一直闪啊??
回复

使用道具 举报

地板
ID:50469 发表于 2013-5-22 19:09 | 只看该作者
admin 发表于 2013-5-22 00:58
for(i=2;i>0;i--)
这是一个for循环 他决定了循环体只执行2次啊

没有,它一直在闪啊,就没停止。。。
回复

使用道具 举报

5#
ID:50469 发表于 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);       
}
这样写可以,但不知道不用中断有办法实现没?
回复

使用道具 举报

6#
ID:76287 发表于 2015-4-7 18:56 | 只看该作者
想要画一个点火芯片的封装,可是一到pcb就出错。这个芯片的底部也作为一个焊盘。我的思路是,用一个多层的焊盘作为引脚11,然后上面加几个过孔从而可以从下面走线,可是这样在pcb中显示出错
回复

使用道具 举报

7#
ID:76287 发表于 2015-4-7 18:56 | 只看该作者
想要画一个点火芯片的封装,可是一到pcb就出错。这个芯片的底部也作为一个焊盘。我的思路是,用一个多层的焊盘作为引脚11,然后上面加几个过孔从而可以从下面走线,可是这样在pcb中显示出错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表