久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6783|回復: 1
打印 上一主題 下一主題
收起左側

C51單片機 C語言問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:7114 發表于 2009-4-10 16:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我 想用單片機設計一個日關燈控制電路 根據光線和人數控制燈的個數 其中人數計數通過兩個紅外線判斷 根據紅外線高低電平的先后順序判斷是加還是減;光敏點阻輸入高低電平,當計數變量在0-5并且 光敏電阻是高電平時 允許一個燈亮 低電平時 都不亮;6-10 高 倆亮 11-15 高 仨亮。。。
我設計的程序如下  但是 不能如期工作  怎么回事 請高手指點!!

#include<AT89X51.H>
#include<stdio.h>
sbit L1=P1^0;
sbit L2=P1^1;
sbit K1=P1^2;
sbit K2=P1^3;
sbit M1=P1^4;
sbit M2=P1^5;
sbit M3=P1^6;
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ;
unsigned char Count;

unsigned char rebuild(void)     //重置人數限數,通過P38位并口輸入預置數給j
{unsigned char j;
 j=P3;
 return(j);
}

       
unsigned char initial(void)    //光控輸入信號判斷電路產生的信號只有01,10狀態
{
 if(K1==1)
  {
   if(K2==0)
     return(1);
   }
 if(K1==0)
   {
   if(K2==1)
     return(0);
 }
}

    
void delay10ms(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
  {for(j=20;j>0;j--)
     {for(k=248;k>0;k--);
  }
   }
}


void main(void)
{
Count=0;
P0=table[Count/10];
P2=table[Count%10];
while(1)
{
if(L1==1)
{delay10ms();
if(L2==1)
Count++;
if(Count<=rebuild())
  {if(initial()==1)
     {
   M1=1;
   M2=0;
   M3=0;
   }
 else
   {
    M1=0;
    M2=0;
    M3=0;
    }
 }
if(Count<=2*rebuild())
   {if(initial()==1)
       {
    M1=1;
    M2=1;
    M3=0;
    }
  else
    {
      M1=0;
    M2=0;
    M3=0;
    }
   }
if(Count>2*rebuild())
   {if(initial()==1)
       {
    M1=1;
    M2=1;
    M3=1;
    }
  else
    {
      M1=0;
    M2=0;
    M3=0;
    }
   }
}
if(L2==1)
{delay10ms();
if(L1==1)
Count--;
if(Count<=rebuild())
  {if(initial()==1)
     {
   M1=1;
   M2=0;
   M3=0;
   }
 else
   {
    M1=0;
    M2=0;
    M3=0;
    }
 }
if(Count<=2*rebuild())
   {if(initial()==1)
       {
    M1=1;
    M2=1;
    M3=0;
    }
  else
    {
      M1=0;
    M2=0;
    M3=0;
    }
   }
if(Count>2*rebuild())
   {if(initial()==1)
       {
    M1=1;
    M2=1;
    M3=1;
    }
  else
    {
      M1=0;
    M2=0;
    M3=0;
    }
   }
}
P0=table[Count/10];
P2=table[Count%10];
}
}

 

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:11046 發表于 2009-4-11 20:56 | 只看該作者

我建議你還是用紅外接收頭來做,這個光敏不好掌握

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 8x国产精品视频一区二区 | 中文字幕一区二区三区四区五区 | 97久久超碰 | 国产精品99一区二区 | 天堂一区二区三区 | 国产精品av久久久久久久久久 | 成人亚洲综合 | 草久在线视频 | 国产三区精品 | 国产精品精品视频一区二区三区 | 久久国产精品色av免费观看 | 日韩伦理一区二区 | 一级黄色片日本 | 国产欧美二区 | 欧美aaa一级片 | 久久久久网站 | 亚州av在线 | 国产传媒| 一级网站 | 免费视频一区 | 中文精品视频 | 日韩一级 | 人人天天操 | 色网站在线| 日本不卡高字幕在线2019 | 一区二区三区四区免费在线观看 | 一级片网站视频 | 欧美日韩一区二区视频在线观看 | 国产一区二区在线免费观看 | 久热国产在线 | 欧美区在线观看 | 日韩精品一区二区三区在线播放 | 国产免费av网 | 古装人性做爰av网站 | 国产成人99av超碰超爽 | 精精国产视频 | 一区二区三区精品视频 | 久久精品国产一区二区 | 亚洲精品一区二区三区蜜桃久 | 日韩精品在线看 | 毛片综合 |