开发板连接个光敏电阻传感器模块后出现了问题

2019-07-15 13:08发布

我想实现这样一个功能:希望单片机控制小led和蜂鸣器,没有光的时候小led会亮,蜂鸣器响。有光小led就灭,蜂鸣器不响。但是点下载后却一直说在检测单片机,烧不进去。COM口,单片机型号(STC89C52)都是对的。然后我把光敏电阻传感器模块和杜邦线拔了之后再下载了个流水灯程序,又下载进去了而且能正常工作。硬件应该没有问题。
我是这样连光敏电阻传感器模块的,(第一次连,可能有错):传感器VCC接开发板VCC,传感器GND接开发板GND,传感器DO(数字量输出)接板子P3.0。
这是我的程序:
#include<reg52.h>sbit RL1=P3^0;                //传感器与单片机接口I/O口                  //RL1是无光输出高电平1,有光输出低电平0sbit led=P1^0;                //led灯I/O 口sbit sb1=P2^3;                //sb1是蜂鸣器I/O口void Delay()                                                        //延时函数{        unsigned int Delaytime=20000;        while(DelayTime--);}                                                                                        void main(){        led=0;                          //开led,但还没亮        sb1=0;                          //开蜂鸣器,但不响        while(1)                                                    //一直重复        {                if(RL1==0)                                  //如果有光                {                                sb1=!sb1;                          //蜂鸣器不响                        led=!led;                          //led灭                                 Delay();                          //延时时led不亮,蜂鸣器不响                }                else                                          //如果没光                {                        sb1=0;                                  //蜂鸣器响                        led=0;                                  //led亮                        Delay();                          //延时时led亮,蜂鸣器响                }        }}


下面是传感器的原理
屏幕截图(47).png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
wufa1986
1楼-- · 2019-07-15 15:48
你把传感器接到下载通信引脚了当然不能下载,写程序前不看pdf的吗? 最佳答案
275849752
2楼-- · 2019-07-15 18:07
现在程序可以下载进去了,但是还有一个问题,就是:我得把传感器先拔下来,才能把程序下载进去,然后连上传感器,然后可以正常工作。要是先连传感器的话程序下不进去,是为什么呢?
#include<reg52.h>
sbit RL1=P3^0;                //传感器与单片机接口I/O口                  //RL1是无光输出高电平1,有光输出低电平0
sbit led=P1^0;                //led灯I/O

void delay(unsigned int z)                                                        //延时函数
{
        unsigned int x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
                                                                                       
void main()
{

        while(1)                                                    //一直重复
        {
                if(RL1==0)                                  //如果有光
                {       

                        led=1;                          //led灭         
                        delay(0.5);                          //延时时led不亮,蜂鸣器不响
                }
                else                                          //如果没光
                {

                        led=0;                                  //led亮
                        delay(0.5);                          //延时时led亮,蜂鸣器响   //当把延时调得太大的时候,灭时看起来亮灭比较明显,就像电压不稳,所以延时药少一点,但也不能趋近于0
                }                                                 
        }
}
哭泣的眼泪
3楼-- · 2019-07-15 19:36
 精彩回答 2  元偷偷看……
275849752
4楼-- · 2019-07-15 20:21
哭泣的眼泪 发表于 2016-9-2 09:19
貌似51系列的 好像都这样吧

你的意思是51的都得先拔下来,才能把程序下载进去?那哪些可以连上直接下载呢?
liangyuhc
5楼-- · 2019-07-16 00:43
把传感器io口换到其他的io口应该就没问题了

评分

参与人数 1积分 +1 收起 理由 275849752 + 1 您的付出是论坛的动力,感谢您一直支持!.

查看全部评分

275849752
6楼-- · 2019-07-16 01:44
wufa1986 发表于 2016-9-2 20:31
你把传感器接到下载通信引脚了当然不能下载,写程序前不看pdf的吗?

嗯,谢谢。刚刚学到键盘检测原理,想先做个小东西试一下,你说的应该是在串口通讯里面?马上就学到。。

一周热门 更多>