❶ 基于单片机设计智能台灯,需要哪些元器件,详细一点的。
1、测人体的话可以选择人体红外传感器,当光束被挡时输出高电平,这种传感器有一种半成品,输出也是脉冲的,当有人时输出3。5V高电平维持3秒,如人没有离开就继续输出,人离开后就变成低电平。
2、测光源基本上用光敏电阻就可以了,将光敏电阻附加三极管等元件做成一个光敏传感器,一旦光强低于某个值就向单片机返回一个高/低电平信号,由单片机处理。
3、单片机用51即可,输出引脚上连一个7407,然后连到继电器上即可。
4、其实也可以不用单片机的,只要一个逻辑芯片就可以了,比如如果高电平时有人,高电平时光弱,那么只要将这两个信号送到一个与门就可以了,与门输出一个高电平,然后驱动继电器即可!
希望能帮到你,对于这个东西你可以分成几个模块,一个模块一个模块搞定再综合,多在网上搜索一下,网上有大量的资料可以借鉴,加油!
❷ 用单片机做交通灯,这么做
基于单片机的交通灯设计
时间:2010-12-08 21:43:12 来源: 作者:
一、 系统功能要求:
1. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制。
时间方向 控制要求
白天 东西 绿灯 黄灯 红灯 南北 红灯 绿灯 黄灯
晚上 东西 黄灯 南北 红灯
2.总体设计方案现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方向)的路口,即主干道的通行时间为从干道的2倍。在正常情况下,两干道的交通灯按图1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED上;另发挥部分为当出现紧急情况时,路口的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。
二、 总体设计方案提示:
1.假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态。
2.东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态。
3.南北绿灯通车,东西红灯。过一段时间转状态。
4.南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。
三.硬件设计
电路原理图如下:
四、软件设计
1、 流程图
2、程序设计
ORG 0000H
MOV P0,#00H ;确保P0为低电位
lJMP MAIN0
ORG 0030H
MAIN0: MOV 30H,#08H
MOV R6,#00H
MOV R7,#00H
MOV DPTR,#TABLE ;取数码管的译码
MOV TMOD,#01H ;设计定时方式及时间
MOV TL0,#0CDH
MOV TH0,#0BH
SETB TR0
MOV IE,#00H
MAIN: MOV P1,#0F3H ;南北绿灯,东西红灯
MOV R6,#1EH ;红灯30s倒计时
MOV R7,#19H ;绿灯25s倒计时
MAIN1:CALL DELAY ;1S延时子程序
JB P0.1,REL1 ;判断是否有东西方向按钮按下
CJNE R7,#00H,MAIN1 ;判断绿灯25s是否倒计完
MOV P1,#0F5H ;南北黄灯,东西红灯
MAIN2:CALL DELAY
MOV R7,#00H ;红灯继续倒计时,黄灯闪烁,保持0s
CPL P1.1 ;黄灯闪烁
CJNE R6,#00H,MAIN2 ;判断红灯是否倒计时完
MOV P1,#0DEH ;南北红灯,东西绿灯
MOV R7,#1EH
MOV R6,#19H
MAIN3:CALL DELAY
JB P0.0,REL2
CJNE R6,#00H,MAIN3
MOV P1,#0EEH
MAIN4:CALL DELAY
MOV R6,#00H
CPL P1.4
CJNE R7,#00H,MAIN4
JMP MAIN
REL1:MOV P1,#0F5H ;东西方向按钮按下,南北方向强制由绿灯变成黄灯警告
MOV R6,#05H
MOV R7,#00H
JMP MAIN2
REL2:MOV P1,#0EEH ;南北方向按钮按下,东西方向强制由绿灯变成黄灯警告
MOV R7,#05H
MOV R6,#00H
JMP MAIN4
;1s延时子程序
DELAY:MOV A,R6 ;进行南北方向倒计时时间的十进制调整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR ;找寻相应的数码管代码
MOV P2,#01H
MOV P3,A ;输出个位
MOV R4,#4 ;降低动态显示频率
LOOP2:MOV R3,#125
LOOP3:DJNZ R3,LOOP3
DJNZ R4,LOOP2
MOV A,B
MOVC A,@A+DPTR
MOV P2,#02H ;输出十位
MOV P3,A
MOV R4,#4
LOOP4:MOV R3,#125
LOOP5:DJNZ R3,LOOP5
DJNZ R4,LOOP4
MOV A,R7 ;进行东西方向倒计时时间的十进制调整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR
MOV P2,#04H
MOV P3,A
MOV R4,#4
LOOP6:MOV R3,#125
LOOP7:DJNZ R3,LOOP7
DJNZ R4,LOOP6
MOV A,B
MOVC A,@A+DPTR
MOV P2,#08H
MOV P3,A
MOV R4,#4
LOOP8:MOV R3,#125
LOOP9:DJNZ R3,LOOP9
DJNZ R4,LOOP8
JBC TF0,LOOP ;判断是否计满125ms
AJMP DELAY
LOOP:MOV TL0,#0CDH ;计满125ms重新给定时器赋值
MOV TH0,#0BH
MOV A,30H
DEC A
MOV 30H,A
JNZ DELAY ;判断是否计满8次125ms,即1s
DEC R6 ;计满1s,东西倒计时减1,南北倒计时减1
DEC R7
MOV 30H,#08H ;重新1s次数,重新计时
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;相应数值的数码管代码
DB 92H,82H,0F8H,80H,90H
END
❸ 以AT89C51单片机为控制器的智能交通灯控制系统,基于51单片机的交通信号灯模拟系统控制的仿真图及C程序
你好!
这样的效果可以吗
❹ 基于单片机的智能台灯难做吗
这个简单,使用单片机的PWM功能控制MOS管就可以控制的灯的亮暗,如果想用外红开关,就买个红外模块,想用手机控制开关就买个wifi模块,或者买个蓝牙模块,即可
❺ 基于51单片机的led彩灯设计。 9个灯(红绿蓝三色)。按键控制 c语言程序
#include<reg52.h>
#define uint unsigned int
sbit S1=P1^0;
sbit S2=P1^1;
sbit S3=P1^2;
sbit S4=P1^3;
sbit LED1=P1^4;
void delay(uint);
main()
{
S1 = 1;
S2 = 1;
S3 = 1;
S4 = 1;
while(1)
{
if(S1==0)
{
P2 = 0X00;
LED1 = 0;
delay(500);
P2 = ~P2;
LED1 = ~LED1;
delay(500);
};
if(S2==0)
{
P2 = 0Xc0;
delay(500);
P2 = 0xff;
LED1 = 1;
delay(500);
};
if(S3==0)
{
P2 = 0X07;
LED1 = 0;
delay(500);
P2 = 0XFF;
LED1 = 1;
delay(500);
};
if(S4==0)
{
P2 = 0X38;
LED1 = 0;
delay(500);
P2 = 0xff;
LED1 =1;
delay(500);
};
};
}
void delay(uint z)
{
uint x, y;
for(x=85; x>0; x--)
for(y=z; y>0; y--);
}
具体还要看你单片机和LED引脚的连线,原理大概就是上面那样了,可以下载到机子验证。
❻ 基于51单片机的交通灯控制设计
这个设计完了 可以在proteus下仿真的啊
可以交流
❼ 跪求 单片机课设: 基于单片机的简易彩灯控制器设计
电路图很简单,P1口接8个开关,P2口接8个LED用来显示。
MAIN:
MOV
R0,#01
LOOP:
MOV
A,P1
;判断P1口的值
CJNE
A,#0,L1
;
JMP
LOOP
;值等于0,表示键盘没按下,继续循环
L1:CJNE
A,#1H,L2
;值不等于1,跳转
JMP
M1
;值等于1,跳到第1种显示方式
JMP
LOOP
L2:CJNE
A,#2H,L3
;值不等于2,跳转
JMP
M2
;值等于2,跳到第2种显示方式
JMP
LOOP
L3:CJNE
A,#4H,L4
JMP
M3
JMP
LOOP
L4:CJNE
A,#8H,L5
JMP
M4
JMP
LOOP
L5:CJNE
A,#10H,L6
JMP
M5
JMP
LOOP
L6:CJNE
A,#20H,L7
JMP
M6
JMP
LOOP
L7:CJNE
A,#40H,L8
JMP
M7
JMP
LOOP
L8:CJNE
A,#80,MAIN
JMP
M8
JMP
LOOP
M1:
;第一种显示方式
右流水灯
MOV
A,R0
MOV
P2,A
CALL
DELAY
RL
A
MOV
R0,A
RET
M2:MOV
A,R0
;第二种显示方式
左流水灯
MOV
P2,A
CALL
DELAY
RR
A
MOV
R0,A
RET
M3:
;第三种显示方式
自己随便定义
RET
M4:
;第4种显示方式
自己随便定义
RET
M5:
;第5种显示方式
自己随便定义
RET
M6:
;第6种显示方式
自己随便定义
RET
M7:
;第7种显示方式
自己随便定义雹或
RET
M8:
;第8种显示方式
自己随便定义
RET
DELAY:
;延时100MS
MOV
R7,#200
DEL:MOV
R6,#250
DJNZ
R6
$
DEL:DJNZ
R7,DEL
RET
懐念从偂
2008-07-01
17:21
检举
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦碰肆锋制作笑晌成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。
❽ 基于51单片机的led彩灯设计。 9个灯(红绿蓝三色)。按键控制 c语言程序
首先要查看电路的连接,看看输入连接到单片机的哪个引脚(比如p1.0),led灯连接到哪个引脚(比如p2.0)。然后看是高电平有效还是低电平有效(也就是高电平时led灯亮,还是低电平时led灯亮)。
如果是高电平灯亮的话,程序如下:
p2.0=p1.0;