- C51單片機應用與C語言程序設計
- 秦志強編著
- 1953字
- 2019-01-01 05:55:29
單片機和微控制器
一臺能夠工作的計算機包括CPU(Central Processing Unit,中央處理單元:進行運算、控制)、RAM(Random Access Memory,隨機存儲器:數據存儲)、ROM(Read Only Memory,只讀存儲器:程序存儲)、輸入/輸出設備(串行口、并行口等)。在個人計算機上這些部分被分成若干塊芯片或者插卡,安裝在一個稱之為主板的印制線路板上。而在單片機中,這些部分全部被做在一塊集成電路芯片中,因此被稱為單片機。單片機真正需要工作,還需要穩定的電源、晶振、外部存儲器和編程調試接口,就像計算機需要工作也還需要電源、晶振、硬盤或其他大容量外部存儲器和操作系統一樣。微控制器就是將單片機真正能夠獨立工作所需的電源適配器、晶振、外部存儲器和串口轉換電路等部門封裝到一個模塊上,這樣,微控制器就能夠直接與PC連接進行編程開發,教學板上幾乎沒有任何其他的芯片和電路。
學習單片機的意義
與個人計算機、筆記本電腦相比,單片機的功能是很小的。實際生活中并不是任何需要計算機的場合都要求計算機有很高的性能,比如空調溫度的控制、冰箱溫度的控制等都不需要很復雜很高級的計算機。關鍵是看是否夠用,是否有很好的性能價格比。
單片機具有體積小、質量輕、價格便宜等優勢,已經滲透到我們生活的各個領域:導彈的導航裝置、飛機上各種儀表的控制、工業自動化過程的實時控制和數據處理、廣泛使用的各種智能IC卡、民用豪華轎車的安全保障系統、錄像機、攝像機、全自動洗衣機、程控玩具、電子寵物等,更不用說自動控制領域的機器人、智能儀表和醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用、嵌入式系統設計與智能化控制的科學家和工程師,同時,學習使用單片機也是了解通用計算機原理與結構的最佳選擇。
嵌入式系統
嵌入式系統是指嵌入到工程對象中能夠完成某些相對簡單或者某些特定功能的計算機系統。與從8位機迅速向16位、32位、64位過渡的通用計算機系統相比,嵌入式系統有其功能的特殊要求和成本的特殊考慮,從而決定了嵌入式系統在高、中、低端系統三個層次共存的局面。在低端嵌入式系統中,8位單片機從20世紀70年代初期誕生至今還一直在工業生產和日常生活中廣泛使用。
嵌入式系統嵌入到對象系統中,并在對象環境下運行。與對象領域相關的操作主要是對外界物理參數進行采集、處理,對對象實現控制,并與操作者進行人機交互等。
鑒于嵌入式低端應用對象的有限響應要求、嵌入式系統低端應用的巨大市場,以及8位機具有的計算能力,可以預測在未來相當長的時間內,8位機仍然是嵌入式應用中的主流機型。
C51系列單片機
一提到單片機,就會經常聽到這樣一些名詞:MCS51、8051、C51等,它們之間究竟是什么關系呢?
MCS51是指由美國INTEL公司生產的一系列單片機的總稱。這一系列單片機包括很多品種,如8031、8051、8751等,其中8051是最典型的產品。該系列單片機都是在8051的基礎上進行功能的增減和改變而來的,所以人們習慣于用8051來稱呼MCS51系列單片機。
INTEL公司將MCS51的核心技術授權給了很多公司,所以許多公司都在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求。其中較典型的一款單片機AT89C51(簡稱C51)是由美國ATMEL公司以8051為內核開發生產的。本書使用的AT89S52單片機就是在此基礎上改進而來的。
AT89S52是一種高性能、低功耗的8位單片機,內含8K字節ISP(In-system Programmable,系統在線編程)可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS51指令系統及其引腳結構。在實際工程應用中,功能強大的AT89S52已成為許多高性價比嵌入式控制應用系統的解決方案。
早期的單片機應用程序開發通常需要仿真機、編程機等配套工具,要配置這些工具需要一筆不小的投資。本書采用的AT89S52不需要仿真機和編程機,只需運用ISP電纜就可以對單片機的Flash反復擦寫1000次以上,因此使用起來特別方便簡單,尤其適合初學者使用,而且配置十分靈活,可擴展性特別強。
In-system Programmable(ISP,系統在線編程)
In-system Programmable是指用戶可把已編譯好的程序代碼通過一條“下載線”直接寫入到器件的編程(燒錄)方法,已經編程的器件也可以用ISP方式擦除或再編程。ISP所用的“下載線”并非不需要成本,但相對于傳統的“編程器”成本已經大大降低了。通常Flash型芯片會具備ISP下載能力。
本書將引導你如何運用AT89S52作為機器人的大腦制作一款教育機器人,并采用C語言對AT89S52進行編程,使機器人實現下述4個基本智能任務。
(1)安裝傳感器以探測周邊環境;
(2)基于傳感器信息做出決策;
(3)控制機器人運動(通過操作帶動輪子旋轉的電機);
(4)與用戶交換信息。
通過這些任務的完成,使你在無限的樂趣之中,不知不覺地掌握C51單片機原理與應用開發技術,以及C語言程序設計技術,輕松走上嵌入式系統開發之路。
為了方便單片機與電源、ISP下載電纜、串口線,以及各種傳感器和電機的連接,需要制作一個電路板,并將單片機插在該電路板上,本書將此電路板叫做教學板,如圖1-1所示。

圖1-1 C51單片機教學板