關(guān)于我們
書單推薦
新書推薦
|
單片機(jī)原理及接口技術(shù)(C51編程)( 微課版 第3版)
本書詳細(xì)介紹了美國ATMEL公司8051內(nèi)核的AT89S51/52單片機(jī)工作原理及應(yīng)用設(shè)計,且融入了目前在教學(xué)中已經(jīng)廣泛使用的虛擬仿真開發(fā)工具Proteus,并給出較多的、經(jīng)過驗證的仿真案例。本書也展示了作者的“單片機(jī)原理”國家精品課程的教學(xué)模式與教學(xué)方法改革的部分成果,對課程體系結(jié)構(gòu)的改進(jìn)也體現(xiàn)在本書之中。
1.張毅剛 哈爾濱工業(yè)大學(xué)教授。多年來一直致力于單片機(jī)課程內(nèi)容的改革與更新以及單片機(jī)教材的建設(shè),他編寫的單片機(jī)教材被國內(nèi)眾多院校采用,在全國具有較大影響,該課程被評為國家精品課程、資源共享課。 2.單片機(jī)一書采用科學(xué)合理的課程體系結(jié)構(gòu),即以芯片為基礎(chǔ),以接口設(shè)計為主線,以應(yīng)用系統(tǒng)設(shè)計為目的。避免僅從原理上去對單片機(jī)進(jìn)行分析和介紹,特別注重各種接口設(shè)計和應(yīng)用系統(tǒng)的設(shè)計中的軟硬件結(jié)合。 3.課程內(nèi)容緊跟科技發(fā)展,不斷更新,具有實用性、典型性。授課中的應(yīng)用實例,大多來自科研工作及教學(xué)實踐。 4.注重學(xué)生的實際動手、創(chuàng)新能力的培養(yǎng),建立了課堂教學(xué)、實驗教學(xué)加課程設(shè)計的三位一體的培養(yǎng)體系,把先進(jìn)的信息技術(shù)手段(電子課件、網(wǎng)絡(luò)教學(xué)平臺)融入教學(xué)之中。
張毅剛教授畢業(yè)于哈爾濱工業(yè)大學(xué)無線電技術(shù)專業(yè),現(xiàn)任哈爾濱工業(yè)大學(xué)電氣學(xué)院教授,主要研究方向:虛擬儀器及計算機(jī)自動測試技術(shù)。主要研究內(nèi)容:虛擬儀器的系統(tǒng)結(jié)構(gòu)、設(shè)計和組建;微型計算機(jī)、單片機(jī)、數(shù)字信號處理機(jī)在虛擬儀器系統(tǒng)中的應(yīng)用。
第 1章 單片機(jī)概述 1
1.1 什么是單片機(jī) 1 1.2 單片機(jī)的發(fā)展歷史 2 1.3 單片機(jī)的特點(diǎn) 2 1.4 單片機(jī)的應(yīng)用 3 1.5 單片機(jī)的發(fā)展趨勢 4 1.6 MCS-51系列與AT89S5x系列單片機(jī) 5 1.6.1 MCS-51系列單片機(jī) 5 1.6.2 8051內(nèi)核單片機(jī)與AT89S5x系列單片機(jī) 6 1.7 各種衍生品種的8051單片機(jī) 7 1.7.1 STC系列單片機(jī) 7 1.7.2 C8051F×××單片機(jī) 8 1.7.3 ADμC812單片機(jī) 9 1.7.4 臺灣華邦W77系列、W78系列單片機(jī) 9 1.8 PIC系列單片機(jī)與AVR系列單片機(jī) 9 1.8.1 PIC系列單片機(jī) 9 1.8.2 AVR系列單片機(jī) 10 1.9 其他的嵌入式處理器簡介 11 1.9.1 嵌入式DSP處理器 11 1.9.2 嵌入式微處理器 12 思考題及習(xí)題 12 第 2章 AT89S51單片機(jī)片內(nèi)硬件結(jié)構(gòu) 14 2.1 AT89S51單片機(jī)的片內(nèi)硬件結(jié)構(gòu) 14 2.2 AT89S51的引腳功能 15 2.2.1 電源及時鐘引腳 15 2.2.2 控制引腳 16 2.2.3 并行I/O口引腳 17 2.3 AT89S51的CPU 18 2.3.1 運(yùn)算器 19 2.3.2 控制器 20 2.4 AT89S51單片機(jī)存儲器的結(jié)構(gòu) 20 2.4.1 程序存儲器空間 21 2.4.2 數(shù)據(jù)存儲器空間 22 2.4.3 特殊功能寄存器 23 2.4.4 位地址空間 25 2.5 AT89S51單片機(jī)的并行I/O端口 27 2.5.1 P0口 27 2.5.2 P1口 28 2.5.3 P2口 29 2.5.4 P3口 29 2.6 時鐘電路與時序 30 2.6.1 時鐘電路設(shè)計 30 2.6.2 機(jī)器周期、指令周期與指令時序 31 2.7 復(fù)位操作和復(fù)位電路 32 2.7.1 復(fù)位操作 32 2.7.2 復(fù)位電路設(shè)計 33 2.8 AT89S51單片機(jī)的最小應(yīng)用系統(tǒng) 33 2.9 看門狗定時器(WDT)的使用 34 2.10 低功耗節(jié)電模式 35 2.10.1 空閑模式 36 2.10.2 掉電運(yùn)行模式 36 2.11 AT89S52單片機(jī)與AT89S51單片機(jī)的差異 37 2.11.1 AT89S52單片機(jī)與AT89S51單片機(jī)片內(nèi)硬件資源的差別 37 2.11.2 AT89S52的引腳 37 2.11.3 AT89S52單片機(jī)的存儲器結(jié)構(gòu) 38 思考題及習(xí)題 41 第3章 C51編程語言基礎(chǔ) 43 3.1 C51編程語言簡介 43 3.1.1 C51語言與8051匯編語言的比較 43 3.1.2 C51語言與標(biāo)準(zhǔn)C語言的比較 44 3.2 C51語言程序設(shè)計基礎(chǔ) 44 3.2.1 C51語言中的數(shù)據(jù)類型與存儲類型 45 3.2.2 C51語言的特殊功能寄存器及位變量定義 49 3.2.3 C51語言的絕對地址訪問 51 3.2.4 C51的基本運(yùn)算 52 3.2.5 C51的分支與循環(huán)程序結(jié)構(gòu) 55 3.2.6 C51的數(shù)組 61 3.2.7 C51的指針 62 3.3 C51語言的函數(shù) 63 3.3.1 函數(shù)的分類 63 3.3.2 函數(shù)的參數(shù)與返回值 65 3.3.3 函數(shù)的調(diào)用 65 3.3.4 中斷服務(wù)函數(shù) 66 3.3.5 變量及存儲方式 67 3.3.6 宏定義與文件包含 67 3.3.7 庫函數(shù) 68 思考題及習(xí)題 68 第4章 開發(fā)與仿真工具 70 4.1 Keil C51的使用 70 4.1.1 Keil C51簡介 70 4.1.2 基本操作 70 4.1.3 添加用戶源程序文件 72 4.1.4 程序的編譯與調(diào)試 75 4.1.5 項目的設(shè)置 77 4.2 Proteus虛擬仿真工具介紹 80 4.2.1 Proteus功能簡介 80 4.2.2 Proteus ISIS的虛擬仿真 80 4.2.3 Proteus的各種虛擬仿真調(diào)試工具 87 4.2.4 虛擬設(shè)計仿真舉例 91 思考題及習(xí)題 97 第5章 單片機(jī)與開關(guān)、鍵盤以及顯示器件的接口設(shè)計 98 5.1 單片機(jī)控制發(fā)光二極管顯示 98 5.1.1 單片機(jī)與發(fā)光二極管的連接 98 5.1.2 I/O端口的編程控制 99 5.2 開關(guān)狀態(tài)檢測 102 5.2.1 開關(guān)檢測案例1 102 5.2.2 開關(guān)檢測案例2 103 5.3 單片機(jī)控制LED數(shù)碼管的顯示 104 5.3.1 LED數(shù)碼管的顯示原理 104 5.3.2 LED數(shù)碼管的靜態(tài)顯示與動態(tài)顯示 107 5.4 單片機(jī)控制LED點(diǎn)陣顯示器顯示 110 5.4.1 LED點(diǎn)陣顯示器的結(jié)構(gòu)與顯示原理 110 5.4.2 控制16×16 LED點(diǎn)陣顯示屏的案例 111 5.5 字符型LCD 1602液晶顯示器的顯示控制 113 5.5.1 LCD 1602液晶顯示模塊簡介 114 5.5.2 單片機(jī)控制字符型LCD 1602顯示案例 120 5.6 點(diǎn)陣式液晶顯示器LCD12864的顯示控制 123 5.6.1 引腳及顯示原理 124 5.6.2 控制命令 125 5.6.3 單片機(jī)控制LCD12864顯示的案例 127 5.7 鍵盤接口設(shè)計 131 5.7.1 鍵盤接口設(shè)計應(yīng)解決的問題 132 5.7.2 獨(dú)立式鍵盤接口設(shè)計案例 133 5.7.3 矩陣式鍵盤的接口設(shè)計案例 139 5.7.4 非編碼鍵盤掃描方式的選擇 141 5.7.5 單片機(jī)與專用鍵盤/顯示器芯片HD7279的接口設(shè)計 142 思考題及習(xí)題 152 第6章 中斷系統(tǒng)的工作原理及應(yīng)用 154 6.1 AT89S51中斷技術(shù)概述 154 6.2 AT89S51中斷系統(tǒng)結(jié)構(gòu) 154 6.2.1 中斷請求源 155 6.2.2 中斷請求標(biāo)志寄存器 155 6.3 中斷允許與中斷優(yōu)先級的控制 156 6.3.1 中斷允許寄存器IE 157 6.3.2 中斷優(yōu)先級寄存器IP 157 6.4 響應(yīng)中斷請求的條件 158 6.5 外部中斷的響應(yīng)時間 159 6.6 外部中斷的觸發(fā)方式選擇 160 6.6.1 電平觸發(fā)方式 160 6.6.2 跳沿觸發(fā)方式 160 6.7 中斷請求的撤銷 160 6.8 中 斷 函 數(shù) 161 6.9 中斷系統(tǒng)應(yīng)用舉例 163 6.9.1 單一外中斷的應(yīng)用 163 6.9.2 兩個外中斷的應(yīng)用 164 6.9.3 中斷嵌套的應(yīng)用 166 6.10 AT89S52與AT89S51中斷系統(tǒng)的差別 167 6.10.1 中斷請求源的差別 167 6.10.2 中斷請求標(biāo)志寄存器的差別 168 6.10.3 中斷允許寄存器與中斷優(yōu)先級寄存器的差別 168 思考題及習(xí)題 170 第7章 定時器/計數(shù)器的工作原理及應(yīng)用 172 7.1 定時器/計數(shù)器的結(jié)構(gòu) 172 7.1.1 定時器/計數(shù)器工作方式寄存器TMOD 173 7.1.2 定時器/計數(shù)器控制寄存器TCON 173 7.2 定時器/計數(shù)器的4種工作方式 174 7.2.1 方式0 174 7.2.2 方式1 175 7.2.3 方式2 175 7.2.4 方式3 176 7.3 計數(shù)器對外部輸入的計數(shù)信號的要求 177 7.4 定時器/計數(shù)器T0、T1的編程應(yīng)用 178 7.4.1 P1口控制8只LED每0.5s閃亮一次 178 7.4.2 計數(shù)器的應(yīng)用 179 7.4.3 控制P1.0產(chǎn)生周期為2ms的方波 181 7.4.4 利用T1控制發(fā)出1kHz的音頻信號 182 7.4.5 LED數(shù)碼管秒表的制作 184 7.4.6 測量脈沖寬度——門控位GATEx的應(yīng)用 186 7.4.7 LCD時鐘的設(shè)計 188 7.5 AT89S52新增定時器/計數(shù)器T2簡介 190 7.5.1 T2的特殊功能寄存器T2CON和T2MOD 190 7.5.2 T2的16位自動重裝載方式 192 7.5.3 T2的捕捉方式 194 7.5.4 T2的波特率發(fā)生器方式及可編程時鐘輸出 194 思考題及習(xí)題 197 第8章 串行口的工作原理及應(yīng)用 199 8.1 串行通信基礎(chǔ) 199 8.1.1 并行通信與串行通信 199 8.1.2 同步通信與異步通信 200 8.1.3 串行通信的傳輸模式 201 8.1.4 串行通信的錯誤校驗 201 8.2 串行口的結(jié)構(gòu) 202 8.2.1 串行口控制寄存器SCON 202 8.2.2 特殊功能寄存器PCON 203 8.3 串行口的4種工作方式 204 8.3.1 方式0 204 8.3.2 方式1 208 8.3.3 方式2 210 8.3.4 方式3 211 8.4 多 機(jī) 通 信 211 8.5 波特率的制定方法 212 8.5.1 波特率的定義 213 8.5.2 定時器T1產(chǎn)生波特率的計算 213 8.6 串行口應(yīng)用設(shè)計案例 214 8.6.1 串行通信標(biāo)準(zhǔn)接口RS232、RS422與RS485簡介 214 8.6.2 方式1的應(yīng)用設(shè)計 217 8.6.3 方式2和方式3的應(yīng)用設(shè)計 223 8.6.4 多機(jī)通信的應(yīng)用設(shè)計 225 8.6.5 單片機(jī)與PC串行通信的設(shè)計 231 8.6.6 PC與單片機(jī)或與多個單片機(jī)的串行通信 235 思考題及習(xí)題 237 第9章 單片機(jī)系統(tǒng)的并行擴(kuò)展 239 9.1 系統(tǒng)并行擴(kuò)展技術(shù) 239 9.1.1 系統(tǒng)并行擴(kuò)展結(jié)構(gòu) 239 9.1.2 地址空間分配 241 9.1.3 外部地址鎖存器 243 9.2 外部數(shù)據(jù)存儲器的并行擴(kuò)展 244 9.2.1 常用的靜態(tài)RAM(SRAM)芯片 244 9.2.2 讀寫片外RAM的操作時序 245 9.2.3 并行擴(kuò)展數(shù)據(jù)存儲器的設(shè)計 246 9.2.4 單片機(jī)外擴(kuò)數(shù)據(jù)存儲器RAM6264的案例設(shè)計 248 9.3 片內(nèi)Flash存儲器的編程 250 9.3.1 使用通用編程器的程序?qū)懭搿?50 9.3.2 使用下載線的ISP編程 251 9.4 E2PROM的并行擴(kuò)展 251 9.4.1 并行E2PROM芯片簡介 252 9.4.2 AT89S51單片機(jī)擴(kuò)展E2PROM AT2864的設(shè)計 252 9.5 AT89S51擴(kuò)展并行I/O芯片82C55的設(shè)計 253 9.5.1 I/O接口擴(kuò)展概述 253 9.5.2 并行I/O芯片82C55簡介 254 9.5.3 82C55的3種工作方式 258 9.5.4 AT89S51單片機(jī)與82C55的接口設(shè)計 262 9.6 利用74LSTTL電路擴(kuò)展并行I/O口 264 9.7 用AT89S51單片機(jī)的串行口 擴(kuò)展并行輸入/輸出口 265 9.7.1 用74LS165擴(kuò)展并行輸入口 265 9.7.2 用74LS164擴(kuò)展并行輸出口 266 思考題及習(xí)題 267 第 10章 AT89S51單片機(jī)系統(tǒng)的串行擴(kuò)展 269 10.1 單總線串行擴(kuò)展 269 10.1.1 單總線擴(kuò)展的典型應(yīng)用——DS18B20的溫度測量系統(tǒng) 269 10.1.2 設(shè)計案例:單總線DS18B20溫度測量系統(tǒng) 272 10.2 SPI總線串行擴(kuò)展 275 10.3 I2C總線的串行擴(kuò)展 276 10.3.1 I2C串行總線系統(tǒng)的基本結(jié)構(gòu) 276 10.3.2 I2C總線的數(shù)據(jù)傳送規(guī)定 277 10.3.3 AT89S51的I2C總線擴(kuò)展系統(tǒng) 280 10.3.4 I2C總線數(shù)據(jù)傳送的模擬 281 10.3.5 利用I2C總線擴(kuò)展E2PROM AT24C02的IC卡設(shè)計 284 思考題及習(xí)題 290 第 11章 AT89S51單片機(jī)與DAC、ADC的接口 292 11.1 單片機(jī)擴(kuò)展DAC概述 292 11.2 單片機(jī)擴(kuò)展并行8位DAC0832的設(shè)計 293 11.2.1 DAC0832簡介 293 11.2.2 案例設(shè)計:單片機(jī)擴(kuò)展DAC0832的程控電壓源 294 11.2.3 案例設(shè)計:波形發(fā)生器的制作 296 11.3 單片機(jī)擴(kuò)展串行10位DAC—TLC5615 300 11.3.1 串行DAC—TLC5615簡介 300 11.3.2 案例設(shè)計:單片機(jī)擴(kuò)展串行DAC—TLC5615的設(shè)計 302 11.4 單片機(jī)擴(kuò)展ADC概述 304 11.5 單片機(jī)并行擴(kuò)展8位A/D轉(zhuǎn)換器ADC0809 305 11.5.1 案例設(shè)計:單片機(jī)控制ADC0809進(jìn)行A/D轉(zhuǎn)換 306 11.5.2 案例設(shè)計:兩路輸入的數(shù)字電壓表的設(shè)計 308 11.6 單片機(jī)擴(kuò)展串行8位A/D轉(zhuǎn)換器TLC549 311 11.6.1 TLC549的特性及工作原理 311 11.6.2 案例設(shè)計:單片機(jī)擴(kuò)展TLC549的設(shè)計 312 11.7 單片機(jī)擴(kuò)展串行12位 ADC—TLC2543的設(shè)計 314 11.7.1 TLC2543的特性及工作原理 314 11.7.2 案例設(shè)計:單片機(jī)擴(kuò)展TLC2543的設(shè)計 316 思考題及習(xí)題 319 第 12章 單片機(jī)各種應(yīng)用設(shè)計 321 12.1 單片機(jī)控制步進(jìn)電機(jī)的設(shè)計 321 12.2 單片機(jī)控制直流電機(jī) 323 12.3 頻率計的制作 325 12.4 電話機(jī)撥號的模擬 328 12.5 8位競賽搶答器設(shè)計 333 12.6 基于時鐘/日歷芯片DS1302的電子鐘設(shè)計 337 思考題及習(xí)題 344 第 13章 功率接口設(shè)計 345 13.1 單片機(jī)與外圍集成數(shù)字驅(qū)動電路的接口 345 13.2 單片機(jī)與光電耦合器的接口 347 13.2.1 晶體管輸出型光電耦合器驅(qū)動接口 347 13.2.2 晶閘管輸出型光電耦合器驅(qū)動接口 349 13.3 單片機(jī)與繼電器的接口 350 13.3.1 單片機(jī)與直流電磁式繼電器功率接口 350 13.3.2 單片機(jī)與交流電磁式接觸器的接口 351 13.4 單片機(jī)與晶閘管的接口 352 13.4.1 單向晶閘管 352 13.4.2 雙向晶閘管 352 13.4.3 光耦合雙向晶閘管驅(qū)動器 352 13.5 單片機(jī)與集成功率電子開關(guān)輸出接口 354 13.5.1 集成功率電子開關(guān)TWH8751簡介 355 13.5.2 集成功率電子開關(guān)TWH8751的典型應(yīng)用 356 13.6 單片機(jī)與固態(tài)繼電器的接口 356 13.6.1 固態(tài)繼電器的特性與分類 356 13.6.2 固態(tài)繼電器的應(yīng)用 357 13.7 低壓開關(guān)量信號輸出技術(shù) 360 思考題及習(xí)題 360 第 14章 單片機(jī)應(yīng)用系統(tǒng)抗干擾與可靠性設(shè)計 362 14.1 干擾的來源 362 14.2 供電系統(tǒng)干擾及其抗干擾措施 363 14.2.1 電源噪聲來源、種類及危害 363 14.2.2 供電系統(tǒng)的抗干擾設(shè)計 363 14.3 過程通道干擾的抑制措施—隔離 364 14.3.1 光電隔離的基本配置 364 14.3.2 光電隔離的實現(xiàn) 365 14.4 空間干擾及抗干擾措施 366 14.4.1 接地技術(shù) 367 14.4.2 屏蔽技術(shù) 368 14.5 反電勢干擾的抑制 369 14.6 印制電路板的抗干擾設(shè)計 370 14.6.1 地線及電源線設(shè)計 370 14.6.2 去耦電容的配置 371 14.6.3 印制電路板的布線的抗干擾設(shè)計 371 14.7 軟件抗干擾措施 372 14.7.1 軟件抗干擾的一般方法 372 14.7.2 軟件濾波 372 14.7.3 開關(guān)量輸入/輸出軟件抗干擾設(shè)計 373 思考題及習(xí)題 374 第 15章 單片機(jī)應(yīng)用系統(tǒng)的設(shè)計與調(diào)試 376 15.1 單片機(jī)應(yīng)用系統(tǒng)的設(shè)計步驟 376 15.2 單片機(jī)應(yīng)用系統(tǒng)設(shè)計 377 15.2.1 硬件設(shè)計應(yīng)考慮的問題 377 15.2.2 典型的單片機(jī)應(yīng)用系統(tǒng) 378 15.2.3 系統(tǒng)設(shè)計中的總線驅(qū)動 379 15.2.4 軟件設(shè)計考慮的問題 381 15.3 單片機(jī)應(yīng)用系統(tǒng)的仿真開發(fā)與調(diào)試 381 思考題及習(xí)題 385 附錄A 386 基礎(chǔ)實驗題目 386 實驗1 單片機(jī)I/O口實驗——LED流水燈 386 實驗2 單個外部中斷實驗 386 實驗3 中斷嵌套實驗 387 實驗4 定時器/計數(shù)器的定時實驗 387 實驗5 定時器/計數(shù)器的計數(shù)器實驗 387 實驗6 串口方式0擴(kuò)展并行輸出口實驗 388 實驗7 串行口方式0擴(kuò)展并行輸入口實驗 388 實驗8 雙單片機(jī)串行通信 389 實驗9 擴(kuò)展82C55并行I/O實驗 390 實驗10 獨(dú)立式鍵盤實驗 390 實驗11 矩陣式鍵盤掃描實驗 391 實驗12 單片機(jī)控制1602液晶顯示器顯示字符 391 實驗13 DAC0832的D/A轉(zhuǎn)換實驗 392 實驗14 ADC0809的A/D轉(zhuǎn)換實驗 392 實驗15 I2C總線串行擴(kuò)展——AT24C02存儲器讀寫 393 附錄B 394 課程設(shè)計題目 394 題目1 節(jié)日彩燈控制器的設(shè)計 394 題目2 單一外中斷的應(yīng)用 394 題目3 LED數(shù)碼管秒表的制作 395 題目4 音樂音符發(fā)生器的制作 395 題目5 用定時器設(shè)計的門鈴 396 題目6 控制數(shù)碼管循環(huán)顯示單個數(shù)字 396 題目7 基于DS18B20的數(shù)字溫度計設(shè)計 396 題目8 利用定時器在P1.0 上產(chǎn)生周期為2ms的方波 397 題目9 電話鍵盤及撥號的模擬 398 題目10 雙機(jī)串行口方式1單工通信 398 題目11 數(shù)碼管顯示4×4 矩陣鍵盤的鍵號 399 題目12 波形發(fā)生器的制作 399 題目13 頻率計的制作 399 題目14 數(shù)字電壓表設(shè)計 400 題目15 單片機(jī)控制串行DAC—— TLC5615的調(diào)壓器 401 題目16 單片機(jī)控制16×16 陣列LED的顯示 401 題目17 直流電機(jī)控制實驗 402 題目18 步進(jìn)電機(jī)控制實驗 402 附錄C 406 頭文件\"LCD1602.h\"清單 406 附錄D 408 頭文件\"DS1302.h\"清單 408 參考書目 412
你還可能感興趣
我要評論
|