本書主要包括15個項目:項目1和項目2介紹單片機開發(fā)系統(tǒng)及單片機的硬件結(jié)構(gòu);項目3簡單介紹單片機C語言及應用C語言進行編程的注意事項;項目4~項目7介紹單片機的I/O口、定時器、中斷及串行口等資源;項目8和項目9介紹機械按鍵的識別;項目10和項目11介紹液晶屏顯示技術(shù),主要介紹 LCD1602和LCD12864;項目12介紹 A/D和D/A轉(zhuǎn)換技術(shù)的實現(xiàn);項目13介紹溫度傳感器DS18B20;項目14 介紹時鐘芯片DS1302;項目15 為綜合設(shè)計,設(shè)計一個可調(diào)電子鐘。本書可作為高職高專院校和應用型本科學校工科類專業(yè)學生的教材,也可以作為工程技術(shù)人員和單片機開發(fā)愛好者的參考用書。
現(xiàn)代科學技術(shù)發(fā)展迅速,通用計算機的使用越來越普遍,但在很多設(shè)備的按鍵處理,一些簡單的儀表控制、智能玩具和各種LED燈帶中,還可以看到在大量應用的單片機。而且,物美價廉的單片機也一直朝著更低功耗、更快速度的方向進步。更為重要的是,作為一款入門級的處理器,通過對單片機的學習,學習者可以知道處理器是如何與外部電路互動的,這對學習更高級的處理器無疑有很大的幫助。所以,開設(shè)單片機的課程具有重要的意義。
本書從內(nèi)容與方法、教與學等方面全方位體現(xiàn)了嵌入式應用的特點,這些特點主要包含以下幾個方面。
1.完全從應用和職業(yè)崗位出發(fā)對全書內(nèi)容進行組織和編排
目前的單片機在以下幾個方面應用最廣泛:(1)按鍵的識別;(2)PWM調(diào)制;(3)中斷;(4)控制LCD12864顯示;(5)簡單的儀表設(shè)計。在按鍵的識別方面,使用狀態(tài)機方法比掃描法和反轉(zhuǎn)法具有更高的效率,且組合鍵、連擊、長按等有大量應用,為此,本書專門安排了2個案例對這些應用進行介紹。在PWM調(diào)制方面,目前市面所見的很多LED燈帶使用單片機的PWM功能進行調(diào)制,為此,書中也安排了2個案例對PWM進行了學習。在中斷的應用方面,書中對外部中斷和定時器中斷進行了重點介紹。在顯示屏方面,LCD12864比LCD1602應用范圍更廣,基于此,我們安排了6個案例對LCD12864進行了全面的介紹和學習,這6個案例涵蓋了LCD12864的絕大部分應用。在簡單儀表設(shè)計方面,書中精心設(shè)計了1個可調(diào)電子鐘案例來進行這方面的學習和介紹,讀者可以通過這個案例和LCD12864中介紹的反白效果,開發(fā)出簡單實用的嵌入式菜單。除了以上所列內(nèi)容,針對常見的A/D和D/A轉(zhuǎn)換、單總線、SPI總線的學習都做了專門介紹并有實例相對應。這些設(shè)計技術(shù)使單片機教學與職業(yè)崗位的要求一致。
2.從易學性和應用性出發(fā),全書采用C語言進行教學,并引入模塊化編程思想
應用C語言編寫的程序直觀易讀、可移植性強,編程風格也更加人性化,有利于學生掌握和學習。同時,在實際的項目開發(fā)中,一個項目往往涉及多個模塊的組合應用,為此,書中引入了模塊化編程的思想。采用這種思想編程,程序的可讀性和可移植性更好。為方便讀者學習和理解,書中安排了4個案例來引導讀者學習和掌握這種思想。
3.編寫形式直觀生動,內(nèi)容連貫,可讀性強
每個項目都有項目介紹,用于說明每個項目學習的是什么、需要使用什么工具以及該如何學習。另外,書中重要的源代碼都配有詳細的注釋,方便讀者閱讀。
4.綜合性和實用性更強
單片機的學習是對前面學習的模電、數(shù)電、C語言知識的綜合運用,是嵌入式學習中軟硬結(jié)合的第一步。尤其是C語言,可謂單片機學習的命門。本書針對C語言在單片機中的應用,專門列舉了常見的應用問題,并給出了注釋的規(guī)范。所以通過本書的學習,可以進一步鞏固C語言知識,并提高綜合應用這些知識解決實際問題的能力。另外,在所有的有菜單的項目的開發(fā)中不可避免要涉及菜單項的選擇,這里面包含著按鍵移動的處理、反白效果的實現(xiàn)等功能,通過本書的最后一個綜合設(shè)計的學習,讀者可以輕松掌握這方面的知識。
5.豐富的案例涵蓋了單片機的大部分應用
本書針對各個知識點共安排了32個案例,這些案例涵蓋了單片機學習的絕大部分應用。最后,為了后續(xù)嵌入式學習的考慮,在書中亦安排了字模提取軟件的內(nèi)容。
本書由校企聯(lián)合編寫,參考學時數(shù)為80學時,在使用時可根據(jù)具體教學情況酌情增減。參與本書編寫的人員主要有歐啟標、鄧云、劉建圻、趙振廷等。其中歐啟標對本書的編寫思路與大綱進行了總體策劃,編寫了本書的大部分內(nèi)容并進行了統(tǒng)稿。鄧云編寫了項目5,劉建圻編寫了項目8,趙振廷編寫了項目10,歐啟標編寫了其余項目。學生郭林杰、黃存營、周善高、梁程、黃灝輝等對書中的程序進行了反復測試以確保其正確性,同時李建波、張永亮、黃練、熊冬青、趙金洪等老師也給予了大力支持和幫助,在此表示感謝。廣東祥新光電科技有限公司的工程師吳良年為串口通信、狀態(tài)機、DS18B20以及最后的綜合設(shè)計提供了大量的企業(yè)參考案例,在此一并表示感謝。
為了方便教學,本書配有免費的電子教學課件和習題答案、C語言源程序等資料,請有需要的讀者登錄華信教育資源網(wǎng)(www.hxedu.com.cn)免費注冊后下載,如果需要其他教學資源,可以聯(lián)系作者(郵箱:ouqibiao@126.com)索取。另外,書中部分項目使用了Proteus仿真元件,相關(guān)信息可以參考附錄A。
由于時間緊迫和編者水平有限,書中的錯誤和缺點在所難免,熱忱歡迎各位讀者對本書提出批評與建議。
編 者