微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > PCB设计学习讨论 > 我的光敏电阻为什么控制不了电路

我的光敏电阻为什么控制不了电路

时间:10-02 整理:3721RD 点击:
调暗调亮都控制不了  用开关可以

QQ截图20121224151727.png11.png

去掉Q1,多余。直接连单片机检测,别忘了IO口初始化。

还是不行,驱动Q1根本就驱动不了   程序应该没问题,你加我Q指导一下我吧  419299076   谢谢了
#include <reg51.h>
unsigned int num,count;
unsigned char arr[]={0x82,0x92,0x99,0xb0,0xa4,0xf9,0xc0};  //显示6到0
sbit LED1=P1^0;
sbit LED2=P1^1;
sbit LED3=P1^2;
sbit LED4=P1^3;
sbit LED5=P1^4;
sbit LED6=P1^5;
sbit LED7=P1^6;
sbit LED8=P1^7;
sbit key=P3^2;
void main(void)
{
TMOD=0x01;
TR0=1;
TF0=0;
EA=1;   //定时器设置
while(1)
{
if(key!=1)
  {  
    P0=arr[num];
   if(num<6)
          {LED1=LED2=LED3=LED4=LED5=LED6=LED7=LED8=0;ET0=1;}
      else
      {LED1=LED3=LED5=LED7=1;ET0=0;}
   }
if(key==1)  
    {P0=0xff;num=0;count=0;ET0=1;LED1=LED2=LED3=LED4=LED5=LED6=LED7=LED8=1;}
}
}
void time0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256; //时间常数  50ms
count++;
if(count==20) //定时 1 秒
{    count=0;
     num++; //计数
}
}


Q1去掉了还识别不了?程序上加上IO口初始化:
key=1;      //初始化光线检测

程序写得不对。

弄好了  谢谢了


问题的原因主要是因为光线检测电路不对,程序端口没有初始化,程序现以仿真通过
在这里再把正确的程序贴一下,方便大家学习,
#include <reg51.h>
unsigned int num, count;
unsigned char arr[] = {0x82, 0x92, 0x99, 0xb0, 0xa4, 0xf9, 0xc0};  //显示6到0
sbit LED1 = P1 ^ 0;
sbit LED2 = P1 ^ 1;
sbit LED3 = P1 ^ 2;
sbit LED4 = P1 ^ 3;
sbit LED5 = P1 ^ 4;
sbit LED6 = P1 ^ 5;
sbit LED7 = P1 ^ 6;
sbit LED8 = P1 ^ 7;
sbit key = P0 ^ 0;
void main(void)
{
        TMOD = 0x01;
        TR0 = 1;
        TF0 = 0;
        EA = 1;   //定时器设置
//        key = 1;
        while (1)
        {
                if (key)
                {
                        P2 = arr[num];
                        if (num < 6)
                        {LED1 = LED2 = LED3 = LED4 = LED5 = LED6 = LED7 = LED8 = 0;ET0 = 1;}
                        else
                        {LED1 = LED3 = LED5 = LED7 = 1;ET0 = 0;}
                }
                if (!key)
                {P2 = 0xff;num = 0;count = 0;ET0 = 1;LED1 = LED2 = LED3 = LED4 = LED5 = LED6 = LED7 = LED8 = 1;}
        }
}
void time0() interrupt 1
{
        TH0 = (65536 - 50000) / 256;
        TL0 = (65536 - 50000) % 256; //时间常数  50ms
        count++;
        if (count == 20) //定时 1 秒
        { count = 0;
        num++; //计数
        }
}

深圳市畅鑫达科技是专业从事光敏电阻研发、生产和销售为一体的高新企业
淘宝直销店铺: shop34656851.taobao.com  (复制浏览器打开)
QQ:252361544   手机:18695968182
专业销售CDS光敏电阻Φ5系列5516 5528 5537 5539 5549 0.08元/支
进店有礼,免费送样,诚招代理,欢迎洽谈!

感谢,膜拜,大神!

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

网站地图

Top