‘壹’ 求一个基于51单片机的光敏电阻控制led灯亮灭的程序,实现有光的时候灯灭,没光的时候灯亮,急……
超简单:
#include <reg51.h>
sbit in=P0^0;
sbit led=P1^0;
void main()
{
while(1)
{
if(in==1)led=0;
else led=1;
}
}
‘贰’ 51单片机红外感应开关代码怎么写
RE200B红外热释电处理芯片BISS0001,BISS0001是一款具有较高性能的传感信号处理集成电路,它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道走廊等敏感区域,或用于安全区域的自动灯光、照明和报警系统[6]。该处理芯片具有CMOS工艺,数模混合,具有独立的高输入阻抗运算放大器;内部的双向鉴幅器可有效抑制干扰,内设延迟时间定时器和封锁时间定时器,采用16脚DIP封装等特点。红外传感器接收到人体红外信号经BISS0001处理后输出输给单片机P1.0口,TEL0表示接STC89C52是的P1.0口,通过对P1.0电平的判断,实现对单片机外围电路的控制.具体去看我的网络文库“基于单片机的红外淋浴器的设计”。
‘叁’ IAR使用单片机CC2530开发板加点对点通信传输光敏电阻值代码
图三第一处警告:由于前面有while(1){;}死循环,所以从这里开始的后续所有代码都将无法得到执行。
图三第一处错误:pTxData未定义过。
图四第一处警告:这个临时变量value未被使用过。
图四第二处警告:这个临时变量Rvalue没有进行过赋值,就当做返回值返回了。
慢慢改错吧……
‘肆’ 跪求单片机通过光敏电阻控制蜂鸣器的C语言代码!!
你好!
这是常见的一种
‘伍’ 求大神用51单片机和光敏电阻设计自动门控制系统的c语言程序代码及原理图
用数字光强度传感器比较稳定
‘陆’ 跪求用光敏电阻和单片机根据亮度控制灯的开关程序
哦?偶试试
传感器使用一个LM358运放和光敏电阻组成。运放接两个电位器。可以调节感应程度的。两个运放的输出端接到单片机除P0口的任意口线。在程序中检测运放的输出状态。有光的时候,两个运放都是输出为高电平。这时候,单片机继续等待。光线强度下降的时候,其中一个运放就会输出低电平了。这时,单片机检测到后就会打开其中一个灯。当光线强度继续下降,这时,两个运放就会都输出低电平。这时,单片机检测到都为低电平的时候,打开两个灯就可以啦。到了快天亮的时候,光线强度上升。这时候,其中一个运放又会输出高电平,单片机就会关闭其中一个灯了。天完全亮后,关闭所有的灯。
硬件连接:P1.0口接第一个运放的输出端。P1.1口接第二个运放的输出端。P2.0口接第一个控制继电器的三极管,P2.1口接第二个控制继电器的三极管。输出为低电平有效。
实现功能:白天的时候,继电器都释放。光线下降后,其中一个继电器吸合。光线很弱的时候,两个继电器都吸合。循环。
偶使用了最笨的法子,蹲点守候!嘿嘿嘿 程序中引入延时判断,防止误触发。
org 0
ajmp start
org 30h
start:mov a,p1
cjne a,#0feh,next
lcall dely
mov a,p1
cjne a,#0feh,next
clr p2.0
ajmp start
next: cjne a,#0fch,next1
lcall dely
mov a,p1
cjne a,#0fch,next1
clr p2.0
clr p2.1
ajmp start
next1:cjne a,#0ffh,start
lcall dely
mov a,p1
cjne a,#0ffh,start
setb p2.0
setb p2.1
ajmp start
dely: mov r7,#100
dl1: mov r6,#100
dl2: mov r5,#50
djnz r5,$
djnz r6,dl2
djnz r7,dl1
ret
end
程序不好用就找偶!
‘柒’ 求,光敏电阻和adc0832用单片机控制的c语言程序
//******************adc0832****************************// sbit CS=P1^0; //使能。 sbit CLK=P1^1;//时钟 sbit Do=P1^2; // 数据输出 sbit Di=P1^2;//数据输入 unsigned char CH=0x02;
//通道的选择:0x02就是单通道0;0x03就是单通道1; //0x00就是双通道ch0=“+”; ch0=“-” //0x01就是双通道ch0=“-”; ch0=“+”
//*****************************************************// unsigned char ADconv(void) {unsigned char i;
unsigned int data_f=0,data_c=0; Di=1; CS=1; _nop_(); CS=0;
Di=1; //芯片使能之前的初始化。第一个下降沿 CLK=1; _nop_(); _nop_();
/****************************************/ CLK=0; // 确定通道模式、第2个下降沿 _nop_(); _nop_(); CLK=1;
Di=(bit)(0x02&CH); //设定通道初始化 _nop_(); CLK=0; _nop_(); _nop_(); CLK=1;
Di=(bit)(0x01&CH); //设定通道初始化 .第3个下降沿 _nop_();
_nop_();
CLK=0; //AD转化的初始化完成。 Di=1; CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); CLK=1;
for(i=8;i>0;i--)//得到一个正常排序的8位数据 {
data_f|=Do; data_f<<=1; CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); }
for(i=8;i>0;i--)//得到一个反序排列的8位数据 {
data_c<<=1; data_c|=Do; _nop_(); CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); } CLK=0; _nop_();
_nop_(); CLK=1; _nop_(); _nop_(); CLK=0; _nop_(); _nop_(); CLK=1; _nop_(); CS=1; _nop_(); _nop_(); return data_f; }
‘捌’ 求一单片机程序(用光敏电阻,PWM输出控制LED亮度)
ORG 0000H
L0000: LJMP MIN00 ; 主程序
; / *** *** *** *** / 初始化 PWM
PCA00: MOV CMOD, #82H ; (fSYS/2)
MOV CCON, #00H
MOV CL, #00H
MOV CH, #00H
MOV CCAPM0, #00H ; PWM0 输出
MOV PCA_PWM0, #00H
SETB CR ; 开 PWM
RET
; / *** *** *** *** / 主程序
P1M0 EQU 91H
P1M1 EQU 92H
P3M0 EQU 0B1H
P3M1 EQU 0B2H
ADC_CONTR EQU 0C5H ; A/D 转换寄存器
ADC_DATA EQU 0C6H ; A/D 结果寄存器
MIN00: MOV P1M0, #08H ; 设置 P1.3 为高阻状态
MOV P1M1, #08H
MOV ADC_CONTR, #0E3H ; 开A/D 转换电源 P1.3
LCALL PCA00 ; 初始化 PWM
MIN10: NOP ; 主程序 入口
LCALL ADC00 ; 测光敏电阻电压
MOV CCAP0H, A ; 写入PWM 控制 发光亮度
LJMP MIN10
RET
; / *** *** *** *** / A/D 转换通道 测电压
ADC00: MOV ADC_DATA, #00H
ORL ADC_CONTR, #08H ; 启动 AD 转换
MOV A, #10H ; 判断 AD 转换是否完成
ANL A, ADC_CONTR
JZ ADC32 ; AD 转换尚未完成, 继续等待
ANL ADC_CONTR, #0E7H ; 清0 ADC_FLAG, ADC_START 位, 停止A/D 转换
MOV A, ADC_DATA ; A = AD 转换结果
RET
END
‘玖’ 请问您会写单片机通过光敏电阻控制蜂鸣器的C语言代码吗
很容易,光敏电阻是模拟信号,用ACD0804电路芯片将模拟信号转换成数字信号,这样可以被IO口识别,读取IO口,就可以读取到相应的明暗信号,编写个蜂鸣器强度子函数,判断明暗信号以控制蜂鸣器强与弱,或者叫与不叫,代码别叫我写,自己想想,很容易的,不过很烦。
‘拾’ 各位好,我想问一下我想采用一个光敏电阻来做开关用,就是检测有无光,然后高低电平给单片机IO口判断,
好,你要个电路比较简单的。
我告诉你一个最简单的电路。
你只需将光敏电阻的任意一端直接接在P1、P2、P3口的任一引脚,另一端接地就可以了。
当在普通的白天光照时,光敏电阻与单片机的上拉电阻相比小1至2个数量级,
光敏电阻相当于接地。
编个小程序就可以驱动单片机的另一个IO口动作。