1. 51單片機最小系統原理圖,求通俗易懂的講解
我是一名電子信息大專畢業的學生,下面51單片機最小系統的講解,你參考一下
51單片機共有40隻引腳.
下面這個就是最小系統原理圖,就是靠這四個部分,這個單片機就可以運行起來了.
一,一講解:
第一部分:電源組(上圖標記為1的部分)
40腳接電源5V,20腳接電源負極,在單片機裡面,負極也可以叫GND或者」地」,我們在單片機的應用中,習慣說負極為」地」,上面GND就是英文ground的縮寫,翻譯過來就是"地"的意思.
第二部分:晶振組(上圖標記為2的部分)
11.0592M晶振Y1與單片機的18,19腳並聯,因為這兩只腳,就是晶振工作的引腳.22p電容C2一端接18腳,一端接地.22p電容C3一端接19腳,一端接地.
這兩個電容,我們在10~30P之間選擇都是可以的,主要作用是,過濾掉晶振部分的高頻信號,讓晶振工作的時候更加穩定.
第三部分:復位組(上圖標記為2的部分)
10u電容C1正極接電源5V,C1負極接單片機的復位腳,第9腳.1K電阻R17一端接單片機的復位腳,第9腳,一端接地.就是通過這個10u和1k,就可以讓單片機一供電時,單片機自動復位,從零開始執行程序,這個就是復位的概念.第四部分:其它功能組(上圖標記為4的部分)
這個腳是存儲器使用選擇腳,當這個腳接"地"時,那麼告訴單片機選擇外部存儲器,當這個腳接"5V"時,說明單片機使用內部存儲器.
因為選擇外部存儲器,太浪費單片機僅有的資源,所以這一腳永遠接電源5V(如上圖所示),使用單片機的內部存儲器.
如果內部存儲器不夠容量,最多選擇更高級容量的單片機型號,就可以解決問題了.對於最小系統的細節,一言二句說不了太多東西,更多詳細的最小系統製作知識,可以網路一下「一凡單片機」,這個裡面講解比較全面,並且還有相應的單片機程序。
以上就是個人分享的最小系統原理圖和講解,希望能幫到你,並且通過積累單片機知識,再擴展其它實驗,尋找更多的單片機樂趣,喜歡的朋友請採納和點贊,謝謝!
2. 急求:基於MCS-51單片機的溫度控制器匯編語言軟體設計和硬體電路圖
第2章 硬體電路詳細設計
DS18B20的性能特點:1、採用單匯流排專用技術,既可通過串列口線,也可通過其它I/O口線與微機介面,無須經過其它變換電路,直接輸出被測溫度值(9位二進制數,含符號位),2、測溫范圍為-55℃-+125℃,測量解析度為0.0625℃,3、內含64位經過激光修正的只讀存儲器ROM,4、適配各種單片機或系統機,5、用戶可分別設定各路溫度的上、下限,6、內含寄生電源。溫度感測器DS18B20連接方式:在寄生電源供電方式下,DS18B20從單線信號線上汲取能量,在信號線DQ處於高電平期間把能量儲存在內部電容里,在信號線處於低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。如圖2.3所示。
2.4 復位電路的設計
本設計採用人工復位,將一個按扭開關並聯於上電自動復位電路按一下開關就在RST端出現一段時間的高電平,即器件復位。
2.5 晶振電路的設計
2.6 DS18B20溫度感測器與單片機的介面電路
DS18B20可以採用兩種方式供電,一種是採用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如所示單片機埠接單線匯流排,為保證在有效的DS18B20時鍾周期內提供足夠的電流,可用一個MOSFET管來完成對匯流排的上拉。
當DS18B20處於寫存儲器操作和溫度A/D轉換操作時,匯流排上必須有強的上拉,上拉開啟時間最大為10us。採用寄生電源供電方式時VDD端接地。由於單線制只有一根線,因此發送介面必須是三態的。
2.7 溫度測量系統整體硬體電路
Wei1 BIT P3.0 ;;數碼管第1位
Wei2 BIT P3.1 ;;數碼管第2位
Wei3 BIT P3.2 ;;數碼管第3位
Wei4 BIT P3.3 ;;數碼管第4位
Dian EQU 20H ;;小數點狀態狀態保存位元組
DisData1 EQU 30H ;;第1位顯示數據
DisData2 EQU 31H ;;第2位顯示數據
DisData3 EQU 32H ;;第3位顯示數據
DisData4 EQU 33H ;;第4位顯示數據
DisTime EQU 34H ;;設置顯示幾次後讀取溫度值
;;溫度數據存儲單元標號定義
TempL EQU 35H ;;溫度高位
TempH EQU 36H ;;溫度低位
;;與DS18B20通迅部分存儲單元及標號定義
DS18B20 BIT P1.0 ;;與DS18B20通迅的位地址
RFail BIT 21H.0 ;;復位失敗標記
Var EQU 22H ;;變數位元組,溫度數據處理時用到
Var2 EQU 3FH ;;變數位元組
主程序部分:
ORG 00H
LJMP START
ORG 100H
START: ;;-----初始化
MOV SP,#60H ;;初始化堆棧指針
Set18B20:;;-----DS18B20初始化
;;DS18B20復位
ACALL Reset
JB RFail,LOOP ;;復位失敗則直接跳至顯示部分
;;對DS18B20發出Skip ROM命令
MOV A,#0CCH
ACALL Write
;;對DS18B20發出溫度轉換命令
MOV A,#44H
ACALL Write
SetDisT:MOV DisTime,#3 ;;設置下一個循環體的循環8次
LOOP:
ACALL Display ;;顯示
JB RFail,Set18B20 ;;DS18B20復位失敗時,在顯示完一次後重新復位
DJNZ DisTime,LOOP
JNB DS18B20,$ ;;判斷DS18B20是否已完成溫度轉換
ACALL GetTemp ;;從DS18B20讀出溫度值
ACALL DealTemp ;;溫度值處理
ACALL SendDisDT ;;根據當前系統狀態設置顯示內容
SJMP SetDisT ;;;;;;;
;;根據當前狀態給顯示模塊設置顯示參數
SendDisDT:
MOV Dian,#7FH ;;最高位為0代表顯示小數點
;;傳送溫度值
MOV A,TempH ;;送高位數據
MOV VAR,TempL ;;送低位數據
ACALL TransData
RET
;;A中保存高位值,Var中保存低位值
TransData:
;;取個位值
MOV B,#10
DIV AB
MOV DisData2,B
;;取十位值
JZ HavNot1 ;;判斷商是否為0
MOV B,#10
DIV AB
MOV DisData3,B
JZ HavNot2 ;;判斷商是否為0
MOV DisData4,A
SJMP XiaoShu ;;跳至百位符號處理部分
HavNot1:MOV DisData3,#10 ;;十位開始沒有數字
HavNot2:MOV DisData4,#10 ;;百位開始沒有數字
SignJudge:;;符號處理部分
JNB VAR.7,XiaoShu ;;當為負數顯示符號
MOV A,#10
CJNE A,DisData3,BWSign
MOV DisData3,#11 ;;負號在十位
SJMP XiaoShu
BWSign:MOV DisData4,#11 ;;負號在百位
XiaoShu:;;小數處理部分,用查表法獲取小數值,精確到小數點後1位
MOV A,VAR
ANL A,#0FH
MOV DPTR,#XSTab
MOVC A,@A+DPTR
MOV DisData1,A
RTransTemp:
RET
XSTab: DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9
DS18B20通迅模塊組
-------復位模塊
Reset: ;;3微秒高電平
SETB DS18B20
MOV R7,#250
CLR RFail ;;清0復位失敗標記
CLR DS18B20
;;延遲501uS
DJNZ R7,$
SETB DS18B20 ;;釋放匯流排(拉高數據線)
;;等待DS18B20作出復位成功反應,最大等待時間為69uS
MOV R7,#17
Wait:
JNB DS18B20,RReset ;;若DS18B20在作出復位成功反應,不再等待
DJNZ R7,Wait
SETB RFail ;;70uS內DS18B20作出復位成功反應,置1復位失敗標記
RReset:
;;延遲350Us
MOV R7,#174
DJNZ R7,$
SETB DS18B20
RET
/
;;-------向DS18B20寫一個字的模塊,要寫的內容提前裝入ACC中
Write:
MOV R6,#8 ;寫8位
WriteBit:
;;2微秒高電平
SETB DS18B20
MOV R7,#3
;;7微秒低電平
CLR DS18B20
DJNZ R7,$
;;ACC低位送至DS18B20
RRC A
MOV DS18B20,C
;;延遲60Us
MOV R7,#28
DJNZ R7,$
;;是否已寫完8位
DJNZ R6,WriteBit
RWrite:
SETB DS18B20
RET
; /
;;-------從DS18B20讀回一個位元組的內容,讀回的內容裝入ACC中
Read:
MOV R6,#8 ;;讀回8位
MOV A,#0 ;;讀回的內容裝入ACC中
ReadBit:
;;2微秒高電平
SETB DS18B20
MOV R7,#7
;;2微秒低電平
CLR DS18B20
NOP
;;16微秒高電平
SETB DS18B20
DJNZ R7,$
;;讀回一位數據放入ACC中
MOV C,DS18B20
RRC A
;;延遲66Us
MOV R7,#33
DJNZ R7,$
;;是否已讀完8位
DJNZ R6,ReadBit
RRead:
SETB DS18B20
RET
/
;;-------與DS18B20通迅,讀回兩位元組溫度值,並裝入ACC中TempL和TempH中
GetTemp:
ACALL Reset ;;復位
JB RFail,RGetTemp ;;判斷復位是否成功
;;復位成功
;;對DS18B20發出Skip ROM命令
MOV A,#0CCH
ACALL Write
;;對DS18B20發出讀命令
MOV A,#0BEH
ACALL Write
;;從DS18B20讀回低8位溫度值
ACALL Read
MOV TempL,A
;;從DS18B20讀回高8位溫度值
ACALL Read
MOV TempH,A
ACALL Reset ;;復位
JB RFail,RGetTemp ;;判斷復位是否成功
;;對DS18B20發出Skip ROM命令
MOV A,#0CCH
ACALL Write
;;對DS18B20發出溫度轉換命令
MOV A,#44H
ACALL Write
RGetTemp:
RET
溫度數據處理模塊
DealTemp:
;;將整數的二進制數部分移到一個位元組,符號位和小數部分移到一個位元組
MOV R1,#Var
MOV Var,TempH
MOV A,TempL
XCHD A,@R1 ;;符號位、小數部分至VAR(@R1),整數部分至ACC
SWAP A
;;整數部分處理
JNB Var.7,NotNeg ;;判斷是否為負數
CPL A ;;為負數,取反後加1得其絕對值
;;小數部分取反
XRL Var,#1FH ;;
INC Var
NotNeg:
MOV TempH,A
MOV TempL,Var
RET
顯示模塊
-------顯示DisData(30H)從開始的三個位元組保存顯示信息
Display:
MOV DPTR,#Tab
;;**顯示小數部分
MOV A,DisData1
MOVC A,@A+DPTR
MOV P2,A
CLR Wei1
ACALL Delay
SETB Wei1
;;**顯示個位
MOV A,DisData2
MOVC A,@A+DPTR
;;小數點處理
ANL A,Dian
MOV P2,A
CLR Wei2
ACALL Delay
SETB Wei2
;;**顯示十位
MOV A,DisData3
MOVC A,@A+DPTR
MOV P2,A
CLR Wei3
ACALL Delay
SETB Wei3
;;**顯示百位
MOV A,DisData4
MOVC A,@A+DPTR
MOV P2,A
CLR Wei4
ACALL Delay
SETB Wei4
RET
Tab: ;;0~9、空白、負號的編碼
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH
;;延遲
Delay:
MOV R6,#6
DD1:MOV R5,#250
DJNZ R5,$
DJNZ R6,DD1
RET
END
這裡面插不了圖,我有這個的整套課程設計報告,想要找我,[email protected]
3. 51單片機8*8點陣介面電路的原理圖
見下圖
4. 51單片機最小系統原理圖
單片機的最小系統是由組成單片機系統必需的一些元件構成的,除了單片機之外,還需要包括電源供電電路、時鍾電路、復位電路。單片機最小系統電路(單片機電源和地沒有標出)如圖2-7所示。
圖2-7 單片機最小系統
下面著重介紹時鍾電路和復位電路。
1)時鍾電路
單片機工作時,從取指令到解碼再進行微操作,必須在時鍾信號控制下才能有序地進行,時鍾電路就是為單片機工作提供基本時鍾的。單片機的時鍾信號通常有兩種產生方式:內部時鍾方式和外部時鍾方式。
內部時鍾方式的原理電路如圖2-8所示。在單片機XTAL1和XTAL2引腳上跨接上一個晶振和兩個穩頻電容,可以與單片機片內的電路構成一個穩定的自激振盪器。晶振的取值范圍一般為0~24MHz,常用的晶振頻率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的單片機還可以選擇更高的頻率。外接電容的作用是對振盪器進行頻率微調,使振盪信號頻率與晶振頻率一致,同時起到穩定頻率的作用,一般選用20~30pF的瓷片電容。
外部時鍾方式則是在單片機XTAL1引腳上外接一個穩定的時鍾信號源,它一般適用於多片單片機同時工作的情況,使用同一時鍾信號可以保證單片機的工作同步。
時序是單片機在執行指令時CPU發出的控制信號在時間上的先後順序。AT89C51單片機的時序概念有4個,可用定時單位來說明,包括振盪周期、時鍾周期、機器周期和指令周期。
振盪周期:是片內振盪電路或片外為單片機提供的脈沖信號的周期。時序中1個振盪周期定義為1個節拍,用P表示。
時鍾周期:振盪脈沖送入內部時鍾電路,由時鍾電路對其二分頻後輸出的時鍾脈沖周期稱為時鍾周期。時鍾周期為振盪周期的2倍。時序中1個時鍾周期定義為1個狀態,用S表示。每個狀態包括2個節拍,用P1、P2表示。
機器周期:機器周期是單片機完成一個基本操作所需要的時間。一條指令的執行需要一個或幾個機器周期。一個機器周期固定的由6個狀態S1~S6組成。
指令周期:執行一條指令所需要的時間稱為指令周期。一般用指令執行所需機器周期數表示。AT89C51單片機多數指令的執行需要1個或2個機器周期,只有乘除兩條指令的執行需要4個機器周期。
了解了以上幾個時序的概念後,我們就可以很快的計算出執行一條指令所需要的時間。例如:若單片機使用12MHz的晶振頻率,則振盪周期=1/(12MHz)=1/12us,時鍾周期=1/6us,機器周期=1us,執行一條單周期指令只需要1us,執行一條雙周期指令則需要2us。
2)復位電路
無論是在單片機剛開始接上電源時,還是運行過程中發生故障都需要復位。復位電路用於將單片機內部各電路的狀態恢復到一個確定的初始值,並從這個狀態開始工作。
單片機的復位條件:必須使其RST引腳上持續出現兩個(或以上)機器周期的高電平。
單片機的復位形式:上電復位、按鍵復位。上電復位和按鍵復位電路如下。
圖2-9 單片機復位電路
上電復位電路中,利用電容充電來實現復位。在電源接通瞬間,RST引腳上的電位是高電平(Vcc),電源接通後對電容進行快速充電,隨著充電的進行,RST引腳上的電位也會逐漸下降為低電平。只要保證RST引腳上高電平出現的時間大於兩個機器周期,便可以實現正常復位。
按鍵復位電路中,當按鍵沒有按下時,電路同上電復位電路。如在單片機運行過程中,按下RESET鍵,已經充好電的電容會快速通過200Ω電阻的迴路放電,從而使得RST引腳上的電位快速變為高電平,此高電平會維持到按鍵釋放,從而滿足單片機復位的條件實現按鍵復位。
單片機復位後各特殊功能寄存器的復位值見表2-11。
表2-11 單片機特殊功能寄存器復位值
寄存器 復位值 寄存器 復位值 寄存器 復位值
PC 0000H SBUF 不確定 TMOD 00H
B 00H SCON 00H TCON 00H
ACC 00H TH1 00H PCON 0***0000B
PSW 00H TH0 00H DPTR 0000H
IP ***00000B TL1 00H SP 07H
IE 0**00000B TL0 00H P0~P3 FFH
註:*表示無關位。
5. 步進電機的驅動電路與51單片機的連接電路圖
51單片機的引腳隨處都可以查到,P0、P1、P2隨便選擇一個作為脈沖發送口,在程序開始前定義好就可,驅動器一般都會分配脈沖,看你用的是哪一種,有的驅動器有電流可調檔,也就是相電流細分。
後來隨著Flash rom技術的發展,8004單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用於工業測控系統之中。
很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。
(5)51單片機電路圖擴展閱讀:
使用方法:
1.將模擬器插入需模擬的用戶板的CPU插座中,模擬器由用戶板供電;
2.將模擬器的串列電纜和PC機接好,打開用戶板電源;
3.通過KeilC 的IDE開發模擬環境UV2 下載用戶程序進行模擬、調試。
硬體說明:
1、使用用戶板的晶振:模擬器晶振旁有兩組跳線用來切換內部晶振和用戶板晶振,當兩個短路塊位於模擬器晶振一側時,默認使用模擬板上的晶振(11.0592MHz), 當兩個短路塊位於電容一側時,使用用戶板的晶振。
2、為便於調試帶看門狗的用戶板,模擬器的復位端未與用戶板復位端相連;故模擬器的復位按鈕只復位模擬器,不復位用戶板;若要復位用戶板,請使用用戶板復位按鈕。
6. 51單片機的復位電路
分析:先看右邊部分電路,由於復位時高電平有效,當剛接上電源的瞬間,電容C1兩端相當於短路,即相當於給RESET引腳一個高電平,等充電結束時(這個時間很短暫),電容相當於斷開,這時已經完成了復位動作。
1)把左邊的電路加上,就是帶手動復位的復位電路,當按鍵按下去的時候,即給予一個高電平,同樣可以完成復位動作。
2)上電復位,顧名思義可以理解成加上電源就復位了,至於其他復位當然還有很多了,不同的系統對復位的准確性和可靠性要求不一樣嘛。
7. 51單片機555定時器原理
555定時器的電路結構 555定時器的電路結構如圖所示。C1和C2為兩個電壓比較器,其功能是如果「+」輸入端電壓v+大於「-」輸入端電壓v-,即v+>v-時,則比較器輸出vc為高電平(vc=1),反之輸出vc為低電平(vc=0)。比較器C1參考電壓v1+(VREF1)=2/3Vcc,比較器C2的參考電壓v2-(VREF2)=1/3Vcc。如果v1+(VREF1)的外接端vco接固定電壓Vco,則v1+(VREF1)=vco,v2-(VREF2)=1/2Vco。與非門G1和G2構成基本觸發器。其中輸入/R為置0端,低電平有效。比較器C1和比較器C2的輸出vc1、vc2為觸發信號。三極體TD是集電極開路輸出三極體,為外接提供充、放電迴路,稱為泄放三極體。反相器G3為輸出緩沖反相器,起整形和提高帶負載能力的作用。
555定時器的功能表
將高觸發端TH和低觸發端TR連接在一起,上述的555功能表變為如下功能表。
555定時器的應用 由於555定時器使用靈活、方便,所以在波形變換與產生、測量與控制、家用電器、電子玩具等領域得到了廣泛的應用。
(1)構成施密特觸發器,用於TTL系統的介面,整形電路或脈沖鑒幅等;
(2)構成多諧振盪器,組成信號產生電路;
(3)構成單穩態觸發器,用於定時延時整形及一些定時開關中。
555定時器的種類及性能 555定時器產品有TTL型和CMOS型兩類。TTL型產品型號的最後三位都是555,CMOS型產品的最後四位都是7555,它們的邏輯功能和外部引線排列完全相同。
雙極性與CMOS型555定時器性能比較:兩者有相同的引腳排列,互相兼容,功能相同,可以互換,但應注意使用上的差異。
用555定時器構成施密特觸發器 電路結構與工作原理:
當第5腳接直流電壓VI時,則VT+=VI,VT-=1/2VI。因此改變電壓控制端CO(5腳)的電壓可改變回差電壓。一般電壓控制端CO越高,ΔU越大,抗干擾能力越強,但靈敏度相應降低。
不使用5腳時,可懸空;也可接0.01uF的電容,旁路高頻干擾。
形成回差原因:
由於C1與C2的參考電壓不同,因而基本RS-FF的置0信號和置1信號必然發生在輸入信號vi的不同電平。從而形成了電壓傳輸回差。
用555定時器構成單穩態觸發器 單穩態觸發器只有一個穩態狀態。在未加觸發信號之前,觸發器處於穩定狀態,經觸發後,觸發器由穩定狀態翻轉為暫穩狀態,暫穩狀態保持一段時間後,又會自動翻轉回原來的穩定狀態。單穩態觸發器一般用於延時和脈沖整形電路。
單穩態觸發器電路的構成形式很多。圖(a)所示為用555定時器構成的單穩態觸發器,R、C為外接元件,觸發脈沖u1由2端輸入。5端不用時一般通過0.01uF電容接地,以防干擾。下面對照圖(b)進行分析。
(1) 穩態
接通T導通,使電容C放電。此後uc<,若不加觸發信號,即u1>,則u0保持0狀態。電路將一直處於這一穩定狀態。
(2) 暫穩態
在t=t1瞬間,2端輸入一個負脈沖,即u1<,基本RS觸發器置1,輸出為高電平,並使晶體管T截止,電路進入暫穩態。此後,電源又經R向C充電,充電時間常數=RC,電容的電壓 按指數規律上升。
在t=t2時刻,觸發負脈沖消失(u1>),若uc<,則/RD=1,/SD=1,基本RS觸發器保持原狀態,u0仍為高電平。
在t=t3時刻,當uc上升略高於時,/RD=0,/SD=1,基本RS觸發器復位,輸出u0=0,回到初始穩態。同時,晶體管T導通,電容C通過T迅速放電直至uc為0。這時/RD=1,/SD=1,電路為下次翻轉做好了准備。
輸出脈沖寬度tp為暫穩態的持續時間,即電容C的電壓從0充至所需的時間。由得
由上式可知:
① 改變R、C的值,可改變輸出脈沖寬度,從而可以用於定時控制。
② 在R、C的值一定時,輸出脈沖的幅度和寬度是一定的,利用這一特性可對邊沿不陡、幅度不齊的波形進行整形。 大叔為您解答,希望您滿意!!