- 現代測控系統典型應用實例
- 李江全等編著
- 3791字
- 2018-12-27 20:03:43
1.1 典型單片機實驗開發板簡介
1.1.1 單片機概述
單片機是把一個計算機系統集成到一塊芯片上,主要包括微處理器(CPU)、存儲器(隨機訪問存儲器RAM、只讀存儲器ROM)和各種輸入/輸出接口(包括定時器/計數器、并行I/O接口、串口、A/D轉換器以及脈沖寬度調制(PWM)等,如圖1-1所示。

圖1-1 單片機組成框圖
單片機主要用于嵌入式應用,故又被稱為嵌入式微控制器,國際上常把單片機稱為微控制器(MCU),而國內則比較習慣稱為單片機。
單片機從用途上可分成專用型單片機和通用型單片機兩大類。專用型單片機是為某種專門用途而設計的,如DVD控制器和數碼攝像機控制器芯片等。在用量不大的情況下,設計和制造這樣的專用芯片成本很高,而且設計和制造的周期也很長。我們通常所用的都是通用型單片機,通用型單片機把所有資源(如ROM、I/O等)全部提供給用戶使用。當今通用型單片機的生產廠家已不下幾十家,種類有幾百種之多。
自20世紀80年代以來,單片機產品如雨后春筍般大量涌現。GI公司、Rochwell公司、Intel公司、Zilog公司、Motorola公司、NEC公司等世界上幾大計算機公司都紛紛推出了自己的單片機系列。據統計,現在市場上的單片機產品有50多個系列,數百個品種。
雖然單片機的品種很多,但在我國使用最多的還是Intel公司的MCS-51系列單片機。MCS-51系列單片機是在MCS-48系列的基礎上于20世紀80年代初發展起來的,雖然它仍然是8位的單片機,但它品種齊全、兼容性強、性價比高,且軟硬件應用設計資料豐富,已為廣大工程技術人員所熟悉,因此在我國得到了廣泛的應用。
宏晶公司生產的STC89C5lRC單片機為低電壓、高性能的CMOS 8位單片機,片內含2 KB的可反復擦寫的只讀程序存儲器(PEROM)和128 B的隨機存取數據存儲器(RAM),工作電壓為2.7~6 V,還含有兩個16位的定時器,6個內部中斷源,可編程的串口UART,兼容標準MCS-51指令系統。
STC89C5lRC單片機可以利用STC-ISP軟件方便地實現在線燒寫程序。開發單片機系統可采用匯編語言和C語言。采用匯編語言編程必須對單片機的內部資源和外圍電路非常熟悉,尤其是對指令系統的使用必須非常熟練,故對程序開發者的要求是比較高的。用匯編語言開發軟件是比較辛苦的,這是因為程序量通常比較大,方方面面均需要考慮,一切問題都需要由程序設計者安排,其實時性和可靠性完全取決于程序設計人員的水平。采用匯編語言編程主要適用于功能比較簡單的中小型應用系統。
采用C語言編程時,只須對單片機的內部結構基本了解,對外圍電路比較熟悉,而對指令系統則不必非常熟悉。用C語言開發軟件相對比較輕松,很多細節問題無須考慮,編譯軟件會替設計者安排好。因此C語言在單片機軟件開發中的應用越來越廣,使用者越來越多。當開發環境為基于操作系統編程時,編程語言通常采用C語言。
單純采用C語言編程也有不足之處,在一些對時序要求非常苛刻或對運行效率要求非常高的場合,只有匯編語言能夠很好地勝任。因此在很多情況下,采用C語言和匯編語言混合編程是最佳選擇。
從編程難度來看,匯編語言比C語言要難得多,但作為一個立志從事單片機系統開發的科技人員,必須熟練掌握匯編語言程序設計方法。在熟練掌握匯編語言編程之后,學習C語言編程將是一件比較輕松的事情,并且能夠將C語言和匯編語言非常恰當地融合在一起,以最短的時間和最低的代價,開發出高質量的軟件。
單片機由于具有高可靠性、高集成度,價格低廉和容易產品化等特點,因此在智能儀器儀表、工業實時控制、智能終端、通信設備、醫療器械、汽車電器和家用電器等領域得到了廣泛的應用。
1.1.2 單片機實驗開發板B的組成
單片機實驗開發板B是電子開發網專為單片機初學者設計并開發的一種實驗兼開發板,開發這個產品的目的就是為了幫助單片機初學者快速學會單片機技術。在自學單片機的過程中,通過做一系列的實驗,從而比較容易地領會單片機那些枯燥、難懂的專業術語,而且這款實驗開發板彌補了市場上常見的單片機實驗板的一些不足,有針對性地面向最終的實用控制功能,包括模擬量輸入與輸出接口、開關量輸入與輸出接口,增加了實用的繼電器接口,可以使實驗板能夠直接用于控制各種負載,成為一個實用化的嵌入式控制系統。
圖1-2是單片機實驗開發板B的實物圖。

圖1-2 單片機實驗開發板實物圖
單片機實驗開發板主要元件清單:
(1)專門設計的全工藝電路板一塊。
(2)電源部分元件:9 V左右直流插頭式小電源,帶插頭(空載12 V),電源插座1個,7805穩壓芯片1個,470 μF/16 V電源濾波電容2個,0.1 μF獨石電容2個,電源指示綠色LED 1個,LED 560 Ω限流電阻1個。
(3)單片機最小系統部分的元件:STC89C51單片機芯片1片,40引腳零拔插力ZIF插座1個,復位用電容22 μF/16 V電容1個,復位用電阻1 kΩ 1個,30 pF小電容2個,12 MHz晶振1個。
(4)實驗部分元件:8個小紅色長方形LED,8位1 kΩ 數碼管限流排阻,1個共陰兩位一體化的數碼管,1個3 V電磁型蜂鳴器,1個8550驅動三極管,3個1 kΩ 三極管基極驅動電阻,4個微型輕觸開關,1個4位的紅色撥碼開關,2個12 V JQC-3F繼電器(一組動合轉動開),2個1N4007防反峰二極管,2個8050驅動三極管(e/b/c),2個繼電器狀態指示紅色發光二極管,MAX232芯片1片,5.1 kΩ 上拉電阻2個,10 μF電容4個,塑封一體化紅外線接收頭1個,AT24C02存儲器芯片1片,220 μF濾波電容1個,0.1 μF電容1個,32個按鍵的紅外遙控手柄1個,串口通信電纜1根,4.7 kΩ 上拉電阻1個。
單片機實驗開發板可以做很多實驗,如紅外線遙控器編碼分析儀、通用頻率計、溫度自控板等。
1.1.3 單片機實驗開發板的主要電路
單片機實驗開發板的電路主要包括電源電路、單片機電路、數碼管顯示電路、串口驅動電路和繼電器驅動電路等。
1.電源電路
選型的單片機、溫度傳感器和數碼管均支持5 V電源工作,因此電源只需要單一5 V供電即可,并且功率很小,不到1 W。電源為直流12 V的,采用芯片7805進行穩壓,芯片7805的作用是把大于5 V的直流電壓降為比較穩定的5 V直流電壓,電源電路如圖1-3所示。

圖1-3 電源電路
在圖1-3中,+12 V是指實驗板直流電源出來的12 V電壓,C8是低頻濾波電容,C16是高頻濾波電容。通過這兩個電容的進一步濾波,最后得到的是純凈的直流,這對數字電路起到很好的保護作用。C8的容量為470 μF,C16的容量為0.1 μF。
2.單片機電路
要使STC89C51RC單片機工作,就要給單片機增加上電復位電路和外接一個晶振。給STC89C51RC加電時,需要對STC89C51RC進行一次復位操作。復位操作將STC89C51RC的工作環境置成初始狀態,并從程序的開始進行運行。根據STC89C51RC的引腳定義,上電復位是通過給STC89C51RC的1腳發一個瞬時高電平來完成的,電路如圖1-4所示。

圖1-4 復位電路
上電的瞬間,電流有一個突發的向上尖峰脈沖,因此電流能通過C1電容到達STC89C51RC的復位端口RESET對STC89C51RC進行復位。尖峰過后,電流平穩,電容C1阻止電流的通過,這樣可以防止對STC89C51RC反復進行復位。電阻R3是用于給Cl放電的,并將1號引腳拉低,防止RESET端口上持續高電平。
給STC89C51RC提供一定的時鐘頻率以后,STC89C51RC才能開始工作,如圖1-5所示的電路提供時鐘頻率。

圖1-5 晶振電路
這個振蕩電路與STC89C51RC內部的時鐘振蕩器一起組成完整的時鐘頻率發生電路,XTAL1為STC89C51RC內部時鐘振蕩器的輸入端,XTAL2為STC89C51RC內部時鐘振蕩器的輸出端,X1為晶振,起到選擇振蕩頻率的作用。這里使用的時鐘頻率為11.0592 MHz。C6、C7為振蕩補償電容,起到放大起振頻率,讓時鐘容易起振的作用。
3.數碼管顯示電路
單片機驅動LED數碼管有很多方法,按顯示方法可以分為靜態顯示和動態顯示。靜態顯示的數據穩定,占用的CPU時間較少。動態顯示要CPU時刻對顯示器件進行數據刷新,顯示數據有閃爍感,占用CPU時間較多。
這兩種顯示方法各有利弊:靜態顯示雖然數據穩定,占用較少的CPU時間,但每個顯示單元都需要單獨的鎖存驅動電路,使用的電路硬件較多;動態顯示雖然有閃爍感,占用的CPU時間較多,但使用的硬件少,能節省線路板空間。
動態顯示具備較強的實用性,也是目前單片機應用中數碼管顯示較為常用的一種方式,所以在本設計中采用動態顯示方案。
從電路上,數碼管又可分為共陰極和共陽極兩種,8個發光二極管的陽極都連在一起的,稱為共陽極LED數碼管;8個發光二極管的陰極都連在一起的,稱為共陰極LED數碼管。對于共陰極LED數碼管,當公共陰極接地(為零電平),而陽極各段為高電平時,點亮數碼管。
數碼管選通電路起到只讓某個數碼管發光的作用,電路如圖1-6所示。

圖1-6 數碼管顯示電路
本設計使用的是模擬譯碼,即用三極管的導通與截止來實現譯碼。所有發光二極管都采用共陽極接法,P3口作為數碼管的選通線,當給P3口相應位置低電平時,連接著P3口相應位的三極管導通,即相應的數碼管選通。P0口作為數碼管的數據線,從P0口輸出相應的字形碼即可顯示數字。
在本設計中,將P0口作為字形碼輸出控制口,P1.0~P1.6分別與各數碼管的筆畫段a~g連接。排阻RB1作為P0口輸出的上拉電阻,阻值設定為1 kΩ,作用是使數碼管的默認狀態為不點亮。排阻 RB1起限流作用,對數碼管進行保護。如果沒有加這個電阻,數碼管有可能因電流較大而被燒壞。
需要注意的是,顯示小數點的位置是固定的,因此讓顯示個位數的數碼管的小數點為恒亮,其他數碼管的小數點位均滅。
4.串口驅動電路
單片機STC89C51RC支持串口通信,它提供的是CMOS電平的串口數據,但PC進行串口通信時其COM口出來的信號是RS-232協議的串口數據電平,同時由于串口數據傳輸距離較遠,需要加驅動電路,因此需要在兩者之間加轉換芯片。電路如圖1-7所示。

圖1-7 RS-232協議轉換電路
5.繼電器驅動電路
單片機收到數字溫度傳感器DS18B20測量到的溫度值后,與初始設置的上下限值比較,當溫度大于或小于某一溫度時,單片機發出信號控制繼電器動作。繼電器驅動電路如圖1-8所示。

圖1-8 繼電器驅動電路
- Word 2003、Excel 2003、PowerPoint 2003上機指導與練習
- TIBCO Spotfire:A Comprehensive Primer(Second Edition)
- Hands-On Machine Learning with TensorFlow.js
- 分布式多媒體計算機系統
- PostgreSQL Administration Essentials
- 傳感器與物聯網技術
- 人工智能實踐錄
- Ruby on Rails敏捷開發最佳實踐
- 啊哈C!思考快你一步
- 生物3D打印:從醫療輔具制造到細胞打印
- Introduction to R for Business Intelligence
- Hands-On Geospatial Analysis with R and QGIS
- Eclipse全程指南
- CPLD/FPGA技術應用
- 電機與電力拖動