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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1151|回復: 0
收起左側

單片機BH1750光強控燈程序

[復制鏈接]
ID:1015204 發表于 2022-4-11 14:57 | 顯示全部樓層 |閱讀模式
#include <reg51. h>
#include <intrins. h>
#include <LCD1602.h>
#include "BH1750. h"
#include "keys. h"
/*Declare SFR associated with the PCA */
sfr CCON=0xD8;  //PCA control register
sbit CCF0=CCON^0;  //PCA module-0 interrupt flag
sbit CCF1=CCON^1;  //PCA module- 1 interrupt flag
sbit CR=CCON^6;  //PCA timer run control bit
sbit CF=CCON^7;  //PCA timer overflow flag
sfr CMOD=0xD9;  //PCA mode register
sfr CL=0xE9;  //PCA base timer LOW
sfr CH=0xF9;  //PCA base timer HIGH
sfr CCAPMO=0xDA;  //PCA module-0 mode regi ster
sfr CCAPOL=0xEA;  //PCA module-0 capture register LOW
sfr CCAPOH=0xFA;  //PCA module 0 capture register HIGH
sfr CCAPM1=0xDB;  //PCA module-1 mode register
sfr CCAP1L=0xEB;  //PCA module-1 capture register LOW
sfr CCAP1H=0xFB;  //PCA module-1 capture register HIGH
sfr PCAPWMO=0xf2;
sfr PCAPWM1=0xf3;
uchar BH1750_ Con=0;
uchar BH1750_ Change=0;
uchar View_ Change=0;
void InitTimer0 (void)
{
TMOD = 0x01;
THO = 0xD8;
TL0 = 0xF0;
EA=1;
ETO = 1;
TRO=1;
}
void PWM_ Init()
{
CCON = 0;  //Initial PCA control register
CL= 0;  //Reset PCA base timer
CH=0;
CMOD = 0x02;  //Set PCA timer clock source as Fosc/2
CCAPOH = CCAPOL = 128;  //PWMO port output 50% duty cycle square
wave
CCAPMO = 0x42;  //PCA module-0 work in 8-bit PWM mode
and no PCA interrupt
CR=1;  //PCA timer start run
//PCA timer start run
}
uint Light_ Set=2000;
uchar Set_ Value_ View[7];
uint Bijiao_ Num_ Collect=0;
uint Bijiao_ Num_ Set=0;
void main()
{
PWM_ Init(); //PWM ???
InitLcd() ;  //?????
Init_BH1750();//??????????
InitTimer0();  //??????
Lcd_ 1602_ word(0x80, 6, "Light:");
Lcd_ 1602_ _word(0xc0, 16, "L_ Set:2000XL");
while(1)
{
if(Key_ Change) //? ?????
Key_ _Change=0;
if(Key_ Value==1) //?? ?+
{
if (Light_ _Set<60000)
Light_ Set=Light_ Set+100;
}
else
{
if(Light_ Set>1000) //?? ?-
Light_ Set=Light_ Set-100;
Set_ _Value_ View[O]=Light_ Set/10000+0x30;
Set_ Value_ View[1]=Light_ Set%10000/ 1000+0x30;
Set_ Value_ View[2]=Light_ Set%1000/ 100+0x30;
Set_ Value_ View[3]=Light_ Set%100/ 10+0x30;
Set_ Value_ View[4]=Light_ Set%10+0x30;
Set_ Value_ View[5]='X';
Set_ Value_ View[6]=' L' ;
if(Set_ _Value_ View[0]==0x30)
{
Set_ Value_ View[0]='' ;
if (Set_Value_ View[1]==0x30)
{
Set_ Value_ View[1]='' ;
if (Set_Value_ View[2]==0x30)
{
        Set_ Value_ View[2]='' ;
if (Set_Value_ View[3]==0x30)
{
        Set_ Value_ View[3]='' ;
if (Set_Value_ View[4]==0x30)
        Set_ Value_ View[4]='' ;
}
}
}
}
Lcd_ 1602_ word(0xc9, 7, Set_Value_View) ;
}
if (BH1750_Change) //? ???????
{
BH1750_ Change=0;
Read_ LightValue();
Lcd_ 1602_ _word(0x89, 7, Light_ Value_ View);
Bi jiao_ Num_ Collect=BH1750_ Data;
Bijiao_ Num_ Set=Light_ Set;
Bijiao_ Num_ Collect=Bijiao_ Num_ _Collect/100;
Bijiao_ _Num_ Set=Bijiao_ Num_ Set/100; .
if((Bijiao_ _Num_ _Collect<(Bijiao_ Num_ Set-1))|| (Bijiao_ _Num_ _Collect<10))
//????
{
if (CCAPOH>2)
{
CCAPOH=CCAP0H-2;
}
else
CCAPOH=0;
}
if(Bijiao_ _Num_ Collect>(Bijiao_ Num_ Set+1))//????
{
if (CCAPOH<253)
{
CCAPOH=CCAPOH+2;
CCAP0H=CCAP0H+2;
}
else
CCAPOH=0xff;
}
}
}
}
void Timer0Interrupt (void) interrupt 1
{
THO = 0xD8;
TL0 = 0xF0;
Key_ Acquisition(); //????
BH1750_ _Con++;
if (BH1750_ _Con==10)
{
BH1750_ Con=0;
BH1750_ Change=1;
}
}

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区中文字幕乱码 | 五月香婷婷 | 日日骚视频 | 国产网站在线免费观看 | 欧美极品在线观看 | 色综合一区二区三区 | 精品国产一区二区三区久久狼黑人 | 日韩靠逼 | 免费黄色录像视频 | 狠狠草视频 | 日韩天堂av | 久久99精品久久久久婷婷 | 日韩一区二区三区在线 | 不卡一区二区在线观看 | 欧美精品一区二区三区四区 在线 | 懂色中文一区二区在线播放 | 国产一级毛片精品完整视频版 | 成人在线免费看 | 免费久久99精品国产婷婷六月 | 日韩欧美在线一区 | 激情网站在线 | 中文字幕欧美一区 | 蜜桃官网 | 在线久草| 久久天天躁狠狠躁夜夜躁2014 | 欧美一级毛片免费观看 | 夜夜干夜夜操 | 羞羞视频在线网站观看 | 国产精品中文 | 亚洲女人的天堂 | 国内自拍真实伦在线观看 | 人人干人人干人人 | 亚洲欧洲精品成人久久奇米网 | 久久一区二区免费视频 | 午夜免费av | 久久精品免费 | 久久久精品 | 中文字幕在线免费观看 | 天堂一区二区三区四区 | 国产成人免费 | 久久成人精品 |