《單片機(jī)原理與應(yīng)用項(xiàng)目式教程》采用基于工作過(guò)程系統(tǒng)化的課程開(kāi)發(fā)方法,通過(guò)具有典型代表性的9個(gè)項(xiàng)目,以項(xiàng)目為載體,詳細(xì)講解了AT89C51單片機(jī)的基本應(yīng)用及接口電路的擴(kuò)展方法,較好地體現(xiàn)了應(yīng)用型人才的培養(yǎng)要求。《單片機(jī)原理與應(yīng)用項(xiàng)目式教程》具有以下特點(diǎn):
1)著力片上資源、強(qiáng)化單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)訓(xùn)練。盡管新型單片機(jī)不斷推出,但片上資源仍保持穩(wěn)定發(fā)展。《單片機(jī)原理與應(yīng)用項(xiàng)目式教程》仍以匯編語(yǔ)言為主要編程工具,注重單片機(jī)應(yīng)用系統(tǒng)的整個(gè)開(kāi)發(fā)過(guò)程,突出軟、硬件聯(lián)合調(diào)試訓(xùn)練。
2)適合教師講授,易于學(xué)生閱讀。《單片機(jī)原理與應(yīng)用項(xiàng)目式教程》所采用的9個(gè)項(xiàng)目都具有較強(qiáng)的實(shí)踐性和趣味性,通俗易懂,有利于提高學(xué)生的學(xué)習(xí)興趣。
《單片機(jī)原理與應(yīng)用項(xiàng)目式教程》可以作為高職高專電氣自動(dòng)化、計(jì)算機(jī)、應(yīng)用電子以及機(jī)電一體化等專業(yè)的教材。
目前,51系列單片機(jī)在我國(guó)的各行各業(yè)都得到了廣泛應(yīng)用。譬如,導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通信與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車(chē)的安全保障系統(tǒng),全自動(dòng)洗衣機(jī)的控制,機(jī)器人,智能儀表,醫(yī)療器械以及程控交換,玩具、電子寵物等,這些都離不開(kāi)單片機(jī)。為此,培養(yǎng)單片機(jī)應(yīng)用人才,特別是在工程技術(shù)中普及單片機(jī)知識(shí)有著重要的現(xiàn)實(shí)意義。學(xué)習(xí)和使用單片機(jī)是社會(huì)發(fā)展的必然需求。
在我國(guó)職業(yè)技術(shù)院校的應(yīng)用電子技術(shù)、電氣自動(dòng)化技術(shù)、機(jī)電一體化技術(shù)、智能控制等專業(yè),都開(kāi)設(shè)了單片機(jī)課程。這是一門(mén)理論性、實(shí)踐性和綜合性都很強(qiáng)的課程,它需要模擬電子技術(shù)、數(shù)字電子技術(shù)、電氣控制技術(shù)、電力電子技術(shù)和傳感器技術(shù)應(yīng)用等知識(shí)作為背景,同時(shí)也是一門(mén)計(jì)算機(jī)軟、硬件有機(jī)結(jié)合的課程。
本書(shū)以美國(guó)ATMEL公司的AT89C51標(biāo)準(zhǔn)型8位單片機(jī)為控制主體,打破傳統(tǒng)的知識(shí)體系,結(jié)合9個(gè)項(xiàng)目,融入理論教學(xué)的全過(guò)程,十分適合“教-學(xué)-做”的教學(xué)方法。理論教學(xué)與實(shí)訓(xùn)教學(xué)融為一體的“一體化技能性教學(xué)”是本教材的顯著特點(diǎn)。本書(shū)通過(guò)所設(shè)置的項(xiàng)目分別介紹了單片機(jī)的結(jié)構(gòu)原理、指令系統(tǒng)、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、串行接口、擴(kuò)展技術(shù)和接口技術(shù)。通過(guò)系統(tǒng)的學(xué)習(xí),使讀者盡快地掌握單片機(jī)應(yīng)用系統(tǒng)的整個(gè)開(kāi)發(fā)流程,為將來(lái)從事系統(tǒng)開(kāi)發(fā)奠定堅(jiān)實(shí)的基礎(chǔ)。
前言
緒論1
一、概述1
(一)微型計(jì)算機(jī)簡(jiǎn)介1
(二)單片機(jī)的組成2
(三)單片機(jī)的發(fā)展概況3
(四)單片機(jī)的特點(diǎn)4
二、單片機(jī)的應(yīng)用領(lǐng)域4
(一)智能化產(chǎn)品4
(二)智能化接口5
(三)智能化測(cè)控系統(tǒng)5
(四)智能化儀表5
三、單片機(jī)的發(fā)展方向5
(一)CMOS化5
(二)低電壓、低功耗化5
(三)大容量化6
(四)串行擴(kuò)展技術(shù)6
四、計(jì)算機(jī)數(shù)據(jù)表示6
(一)常用的進(jìn)位計(jì)數(shù)制6
(二)二進(jìn)制的算術(shù)運(yùn)算7
(三)數(shù)制間的轉(zhuǎn)換8
(四)邏輯數(shù)據(jù)的表示11
(五)單片機(jī)中數(shù)的表示形式12
(六)二進(jìn)制編碼14
(七)微型計(jì)算機(jī)的常用術(shù)語(yǔ)14
五、自測(cè)題15
項(xiàng)目一 了解AT89C51單片機(jī)及其開(kāi)發(fā)環(huán)境16
一、項(xiàng)目引入16
二、相關(guān)理論知識(shí)17
(一)單片機(jī)應(yīng)用開(kāi)發(fā)環(huán)境17
(二)偉福H51/L仿真器20
(三)西爾特SUPERPRO/L+編程器26
(四)AT89C51單片機(jī)的結(jié)構(gòu)與引腳30
(五)AT89C51的內(nèi)部存儲(chǔ)器31
(六)AT89C51單片機(jī)并行I/O口輸入/輸出36
(七)AT89C51單片機(jī)時(shí)鐘與時(shí)序38
(八)AT89C51單片機(jī)復(fù)位40
三、項(xiàng)目實(shí)施42
(一)偉福6000仿真軟件使用方法42
(二)編程器SUPERPRO/L+的應(yīng)用49
(三)AT89C51單片機(jī)最小應(yīng)用系統(tǒng)的設(shè)計(jì)、安裝及調(diào)試53
四、項(xiàng)目小結(jié)57
五、自測(cè)題57
項(xiàng)目二 會(huì)“眨眼睛”的LED電路分析與實(shí)踐58
一、項(xiàng)目引入58
二、相關(guān)理論知識(shí)59
(一)指令系統(tǒng)59
(二)尋址方式61
(三)內(nèi)部RAM數(shù)據(jù)傳送類指令64
(四)16位數(shù)據(jù)傳送指令65
(五)位傳送類指令65
(六)位狀態(tài)控制類指令66
(七)無(wú)條件控制轉(zhuǎn)移類指令66
(八)偽指令一67
三、項(xiàng)目實(shí)施67
(一)硬件電路原理圖設(shè)計(jì)67
(二)系統(tǒng)所用元器件、設(shè)備及工具68
(三)系統(tǒng)所用匯編源程序的編制68
(四)硬件及軟件的聯(lián)合調(diào)試70
(五)脫離仿真器后的獨(dú)立運(yùn)行75
四、拓展知識(shí)80
(一)堆棧操作PUSH與POP指令80
(二)互換類指令81
(三)外部數(shù)據(jù)傳送指令82
(四)查表指令82
(五)位邏輯指令83
(六)偽指令二83
五、項(xiàng)目小結(jié)85
六、自測(cè)題85
項(xiàng)目三 會(huì)“流動(dòng)”及“碰撞”的LED分析與實(shí)踐86
一、項(xiàng)目引入86
二、相關(guān)理論知識(shí)87
(一)邏輯運(yùn)算類指令87
(二)減1條件轉(zhuǎn)移、調(diào)用、返回與空操作指令89
三、項(xiàng)目實(shí)施92
(一)硬件電路設(shè)計(jì)92
(二)系統(tǒng)所用匯編源程序的編制93
(三)系統(tǒng)所用元器件、設(shè)備及工具96
(四)硬件及軟件的聯(lián)合調(diào)試96
(五)脫離仿真器后的獨(dú)立運(yùn)行101
四、拓展知識(shí)106
(一)與、或、異或指令106
(二)位條件判斷指令108
(三)累加器判0轉(zhuǎn)移指令和比較轉(zhuǎn)移指令110
五、項(xiàng)目小結(jié)114
六、自測(cè)題115
項(xiàng)目四 “能掐會(huì)算”的單片機(jī)分析與實(shí)踐117
一、項(xiàng)目引入117
二、相關(guān)理論知識(shí)118
(一)單片機(jī)的算術(shù)運(yùn)算118
(二)單片機(jī)的算術(shù)運(yùn)算類指令118
三、項(xiàng)目實(shí)施120
(一)硬件電路原理圖設(shè)計(jì)120
(二)系統(tǒng)所用匯編源程序的編制121
(三)系統(tǒng)所用元器件、設(shè)備及工具122
(四)硬件及軟件的聯(lián)合調(diào)試122
(五)脫離仿真器后的獨(dú)立運(yùn)行126
四、拓展知識(shí)127
(一)乘法指令127
(二)除法指令129
(三)十進(jìn)制調(diào)整指令130
五、項(xiàng)目小結(jié)131
六、自測(cè)題132
項(xiàng)目五 “流速”可控的LED分析與實(shí)踐133
一、項(xiàng)目引入133
二、相關(guān)理論知識(shí)133
(一)AT89C51單片機(jī)的中斷系統(tǒng)133
(二)AT89C51單片機(jī)的定時(shí)器/計(jì)數(shù)器139
三、項(xiàng)目實(shí)施144
(一)硬件電路原理圖設(shè)計(jì)144
(二)系統(tǒng)所用元器件、設(shè)備及工具145
(三)系統(tǒng)所用匯編源程序的編制146
(四)硬件及軟件的聯(lián)合調(diào)試148
(五)脫離仿真器后的獨(dú)立運(yùn)行149
四、拓展知識(shí)150
(一)定時(shí)器/計(jì)數(shù)器初值TC的計(jì)算150
(二)外部中斷源的擴(kuò)展152
五、項(xiàng)目小結(jié)153
六、自測(cè)題154
項(xiàng)目六 開(kāi)關(guān)信號(hào)狀態(tài)讀取與顯示電路的制作155
一、項(xiàng)目引入155
二、相關(guān)理論知識(shí)155
(一)使用8255擴(kuò)展I/O端口155
(二)LED 數(shù)碼管顯示接口165
三、項(xiàng)目實(shí)施168
(一)硬件電路原理圖設(shè)計(jì)168
(二)系統(tǒng)所用元器件、設(shè)備及工具168
(三)系統(tǒng)所用匯編源程序的編制170
(四)硬件及軟件的聯(lián)合調(diào)試171
(五)脫離仿真器后的獨(dú)立運(yùn)行172
四、拓展知識(shí)172
(一)單片機(jī)程序存儲(chǔ)器的擴(kuò)展173
(二)單片機(jī)數(shù)據(jù)存儲(chǔ)器的擴(kuò)展180
(三)簡(jiǎn)單的I/O口擴(kuò)展182
(四)8155可編程并行I/O口擴(kuò)展183
五、項(xiàng)目小結(jié)189
六、自測(cè)題189
項(xiàng)目七 交通信號(hào)燈(含急救與應(yīng)急)電路的分析與實(shí)踐190
一、項(xiàng)目引入190
二、相關(guān)理論知識(shí)190
(一)鍵盤(pán)電路工作原理190
(二)獨(dú)立式按鍵192
三、項(xiàng)目實(shí)施193
(一)硬件電路原理圖設(shè)計(jì)193
(二)系統(tǒng)所用元器件、設(shè)備及工具194
(三)系統(tǒng)所用匯編源程序的編制195
(四)硬件及軟件的聯(lián)合調(diào)試198
(五)脫離仿真器后的獨(dú)立運(yùn)行199
四、拓展知識(shí)200
五、項(xiàng)目小結(jié)202
六、自測(cè)題202
項(xiàng)目八 單片機(jī)系統(tǒng)中“通信與聯(lián)絡(luò)”的分析與實(shí)踐203
一、項(xiàng)目引入203
二、相關(guān)理論知識(shí)203
(一)單片機(jī)通信基礎(chǔ)203
(二)串行通信接口205
三、項(xiàng)目實(shí)施211
(一)硬件電路原理圖設(shè)計(jì)211
(二)系統(tǒng)所用元器件、設(shè)備及工具211
(三)系統(tǒng)所用匯編源程序的編制212
(四)硬件及軟件的聯(lián)合調(diào)試213
(五)脫離仿真器后的獨(dú)立運(yùn)行214
四、拓展知識(shí)215
(一)RS232C串行接口標(biāo)準(zhǔn)215
(二)I2C總線接口217
五、項(xiàng)目小結(jié)219
六、自測(cè)題220
項(xiàng)目九 數(shù)字溫度計(jì)的制作221
一、項(xiàng)目引入221
二、相關(guān)理論知識(shí)221
(一)A/D轉(zhuǎn)換器與AT89C51單片機(jī)的接口和應(yīng)用221
(二)D/A轉(zhuǎn)換器與AT89C51單片機(jī)的接口和應(yīng)用226
(三)認(rèn)識(shí)AD590溫度傳感器230
三、項(xiàng)目實(shí)施232
(一)硬件電路原理圖設(shè)計(jì)232
(二)系統(tǒng)所用元器件、設(shè)備及工具233
(三)系統(tǒng)所用匯編源程序的編制233
(四)硬件及軟件的聯(lián)合調(diào)試235
(五)脫離仿真器后的獨(dú)立運(yùn)行236
四、拓展知識(shí)237
(一)DS18B20溫度傳感器237
(二)DS18B20溫度傳感器的通信協(xié)議240
(三)DS18B20溫度傳感器的供電方式241
五、項(xiàng)目小結(jié)242
六、自測(cè)題242
附錄243
附錄A ASCII表243
附錄B AT89C51單片機(jī)指令表244
參考文獻(xiàn)251
(一)指令系統(tǒng)
一個(gè)單片機(jī)所需執(zhí)行指令的集合即為單片機(jī)的指令系統(tǒng)。單片機(jī)使用機(jī)器語(yǔ)言、匯編語(yǔ)言及高級(jí)語(yǔ)言,因此,指令系統(tǒng)對(duì)單片機(jī)用戶來(lái)說(shuō)顯得格外重要。因?yàn)椴还苁菣C(jī)器語(yǔ)言、匯編語(yǔ)言還是高級(jí)語(yǔ)言,都是直接使用指令編寫(xiě)程序。另外,不管使用何種語(yǔ)言,最終還是要“翻譯”成為機(jī)器語(yǔ)言,單片機(jī)才能執(zhí)行。現(xiàn)在有很多半導(dǎo)體廠商都推出了自己的單片機(jī),使得單片機(jī)種類繁多,值得注意的是,不同單片機(jī)的指令系統(tǒng)不一定相同,或不完全相同。
所謂機(jī)器語(yǔ)言即指令的二進(jìn)制編碼,而匯編語(yǔ)言則是指令的表示符號(hào)。
因?yàn)閱纹瑱C(jī)只能識(shí)別二進(jìn)制數(shù),因此,用二進(jìn)制編碼表示的機(jī)器語(yǔ)言,單片機(jī)能夠直接執(zhí)行。但直接使用二進(jìn)制編碼書(shū)寫(xiě)指令很不方便,因此,常用其十六進(jìn)制的形式。直接使用機(jī)器語(yǔ)言編寫(xiě)的程序稱為手編程序。
鑒于機(jī)器語(yǔ)言具有程序長(zhǎng)、不易書(shū)寫(xiě)、難于閱讀和調(diào)試、容易出錯(cuò),而且出錯(cuò)不易查找等缺點(diǎn),使用符號(hào)指令就顯得十分必要,通常把表示指令的符號(hào)稱為助記符。以助記符表示的指令就是單片機(jī)的匯編語(yǔ)言,使用匯編語(yǔ)言編寫(xiě)的程序稱為匯編語(yǔ)言程序。為起到助記作用,指令常以其英文名稱或縮寫(xiě)形式來(lái)作助記符。
每種單片機(jī)都有自己獨(dú)特的指令系統(tǒng),指令系統(tǒng)是開(kāi)發(fā)商和生產(chǎn)廠商定義的,如要使用其單片機(jī),用戶就必須理解和遵循這些指令標(biāo)準(zhǔn)。要掌握某種(類)單片機(jī),指令系統(tǒng)的學(xué)習(xí)是必需的。
……