微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 开发板连接个光敏电阻传感器模块后出现了问题

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

时间:10-02 整理:3721RD 点击:
我想实现这样一个功能:希望单片机控制小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亮,蜂鸣器响                }        }}

下面是传感器的原理


你把传感器接到下载通信引脚了当然不能下载,写程序前不看pdf的吗?

现在程序可以下载进去了,但是还有一个问题,就是:我得把传感器先拔下来,才能把程序下载进去,然后连上传感器,然后可以正常工作。要是先连传感器的话程序下不进去,是为什么呢?
#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
                }                                                 
        }
}

貌似51系列的 好像都这样吧

你的意思是51的都得先拔下来,才能把程序下载进去?那哪些可以连上直接下载呢?

把传感器io口换到其他的io口应该就没问题了

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top