❶ 基於單片機設計智能台燈,需要哪些元器件,詳細一點的。
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;