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