單片機是芯片級的微型計算機繫統,具有性價比高、功耗低、易於開發等優點,可以嵌入各種應用繫統中,以實現智能化控制。近20年來,嵌入式C語言的推廣普及,片載Flash程序存儲器及其在繫統內可編程(InSystem Programming,ISP)和在應用中編程(InApplication Programming,IAP)技術的廣泛采用,使得單片機越來越受到廣大電子工程師的歡迎。
C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,並具備彙編語言的功能。用C語言來編寫程序會大大縮短開發周期,可以明顯增加程序的可讀性,便於改進和擴充。采用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。本書側重於實際應用,從單片機的基礎知識入手,按照由淺入深、循序漸進的方式,讓讀者能夠快速掌握單片機C51的編程方法。
傳統的單片機教程都是開篇即介紹大量的單片機軟件和硬件知識,這些知識點信息量大、不容易記憶,提高了讀者入門的難度。而本書則結合單片機學習板,對於每個知識點都以一邊學習、一邊編程和調試的方式,讓讀者在邊學邊做中增加單片機的學習興趣,以降低入門難度,使讀者快速上手。
本書內容豐富、實用性強、圖文並茂,各章內容相對獨立,脈絡清晰,既方便初學者自學,又方便項目開發人員查閱資料。本書還提供了大量在學習板上已調試通過的程序,軟件編排上注意由淺入深,減少重復性,信息量大,內容覆蓋面廣,程序完善,講解翔實,特別有利於初學者深入理解C語言的編程思路。基於C語言的可移植性,這些程序可以直接應用到工程項目的開發中,縮短開發周期。
本書配套資源包括本書全部源程序代碼和大量單片機軟件開發所需的資料。同時,作者還可提供配套單片機學習板,可幫助讀者邊學邊練,提高單片機開發實踐能力,達到使讀者快速掌握單片機的目的。
本書內容共分3篇,分別為入門篇、應用篇、綜合篇,對各篇內容編排及學習建議如下:
入門篇主要講解單片機和C51的基礎知識、C語言調試軟件Keil的使用方法、C51函數的用法。讀者對於第1章單片機的有關基礎知識可以簡單了解; 第2章可以從2.5節的“點亮一個發光二極管”開始,學習Keil軟件的使用方法,包括工程建立、程序的編譯、軟件的調試,在遇到問題時再回頭查詢軟件具體用法,通過實例快速掌握軟件; 第3章要注意以具體程序分析為主,通過實例深入理解函數的用法。
應用篇講解了定時計數器和中斷的用法,並分章節主要講解了一些常用器件的驅動,如數碼管、LCD、鍵盤、串行口、溫度傳感器、時鐘芯片等器件是構成常用單片機繫統的器件,掌握好這些器件的用法,對單片機繫統設計很有必要。同時,這裡也提供了大量經過實際調試通過的程序,基於C語言的可移植性,51單片機項目開發人員可以直接把其中的一些子程序用於自己的項目中,縮短開發周期。
綜合篇主要列舉了幾個基於單片機的繫統軟硬件設計方法。這些實例綜合了前面各章的知識,具有一定代表性。深入學習這些知識,對於單片機愛好者從事單片機開發會很有幫助。
在本書編寫過程中參考了大量的51單片機原理及相關著作,在此向這些作者表示感謝!由於編者知識水平和經驗有限,書中難免存在缺點和錯誤,敬請廣大讀者給予批評指正。作者的電子郵箱地址為splyc 916@sina.com,您在使用本書過程中遇到任何問題都可進行咨詢。
本書由孫鵬主編,同時為編寫工作提供幫助的老師還有宋一兵、馮新宇、管殿柱、王獻紅、李文秋、張忠林、趙景波、曹立文、郭方方、初航等,在此一並感謝。
感謝您選擇了本書,希望我們的努力對您的工作和學習有所幫助,也希望您把對本書的意見和建議告訴我們。