⑴ 51單片機繼電器自動下載原理
首先,先斷開,再上電,然後下載程序,這是STC的單片機,並不是傳統的51單片機。
其次,這種開發板上是自帶USB轉串口的晶元,PL2303,才能做到這一點。如果是用USB轉串口就沒有這個功能了。
最後,當在電腦上點擊下載程序,這也必須是STC-ISP軟體,點擊下載後,電腦就會發出一串的數據流,來查詢單片機,准備開始下載程序,也就是聯絡信號,當PL2303收到這一串的聯系信號後,就會在RTS_N引腳輸出一個低電平的聯系信號,加到三極體8550上,使三極體導通,繼電器吸合,斷開常閉觸點,則斷開VCC-VIN的電源電路,而VCC就是去單片機的電源,單片機被斷電。當聯系信號結束,三極體恢復截止,繼電器再度斷開,單片機恢復上電了。
⑵ 求51單片機控制繼電器程序
程序就免了,給你幾個建議。
你最好把按鍵的程序和邏輯控制分開寫,這樣比較清晰,按鍵驅動的結果就是消抖以後的按鍵狀態,處理完清除,最好用固定時鍾驅動少用延時,按鍵驅動看著容易做好了還是不容易的。
邏輯控制無非就是if else。。。用全局量記錄之前的狀態,最好有個簡單明了的邏輯狀態圖否則很容易亂套,然後操作繼電器就是兩個io口就是了。
你用的這個和89c都是stc比較老的型號了,建議你到官網看看,很多新型號跑得更快,程序上能不能通用注意兩點,死等延時的時間和硬體上的區別。
stc很多型號都用3.0和3.1口下載程序,所以按鍵會有影響,建議換個io口
繼電器的常開和常閉是接線決定的,按鍵常開和常閉可以用上下拉電阻來控制,硬體上處理一下,主要是要保證系統剛上電之前的這段時間的狀態是對的。
51和stm32是完全不同的cpu,如果要移植到stm32上初始化和寄存器操作是不一樣的,c語言的層面上大概只有邏輯控制這塊兒能用,而且stm32是3.3V硬體上也要處理。
這個做成並不難,做好就要花些心思,自己做才有意義解決問題就是學習的過程。
⑶ 51單片機控制繼電器
你的模擬圖有問題,繼電器是不會吸合的。發光二極和串聯的電阻阻值也大,LED不能亮。
模擬應該如下圖這樣畫
匯編程序
RELAY BIT P2.0 ;繼電器控制位
RESET:LJMP MAIN
ORG 000BH
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R2 ,BACK
MOV R2 ,#20 ;中斷20次,1秒到,繼電器吸合或斷開一次
CPL RELAY
BACK: RETI
MAIN: MOV TMOD,#01H
MOV TH0,#3CH; 晶振頻率為12M,定時50ms
MOV TL0,#0B0H
MOV IE ,#82H
SETB TR0
MOV R2 ,#20
CLR RELAY
AJMP $
請採納
⑷ 用藍牙串口通信使用51單片機控制兩個繼電器的源程序怎麼寫請教
藍牙模塊發送數據到單片機,然後單片機作出對應的開關控制三極體,三極體帶動繼電器動作。
⑸ 51單片機P0口可以控制繼電器嗎
51單片機的所有口都不可以直接控制繼電器,需加電流或電壓放大器。
但P0口比較特殊,不能輸出高電平,需外加上拉電阻,或用低電平驅動,再加放大器。
⑹ 51單片機接繼電器的原理圖如下,能不能幫我解釋一下原理
R1、DS1是指示用的,沒有控制意義,可以去掉,分析的時候不用管。
Q1受CPU控制,R4是基極限流,CPU輸出低電平時Q1導通,繼電器線圈有電流,繼電器吸合。
CPU輸出高電平時,Q1截止,繼電器線圈電流消失,繼電器釋放。
由於繼電器線圈本身相當於是一個電感,電流跳變的時候,線圈兩端會產生有反電勢,為了避免反電勢對電路中其他器件造成損壞,在線圈兩端加上續流二極體D1,對反電勢電壓進行續流。
使用這個電路的時候應注意Q1的射極電壓不能高於CPU的電源電壓,否則Q1不能完全截止,控制會失效。
⑺ PC通過485與51單片機通訊去控制繼電器,如何編單片機C語言程序
51對於繼電器的控制,只用高低電平就可以了。關鍵是,你在你的程序里要有一個判斷子程序,判斷單片機從PC機(通過RS485)穿過來的是什麼數據,從而對單片機的某位置位或者復位。比如:你可以用一個if語句,如果收到的數據時11111,在置位,如果收到的數據時00000,則復位,相應的繼電器就會動作了。