基于PROTEUS的AVR單片機(jī)設(shè)計(jì)與仿真(含光盤)
定 價(jià):56 元
叢書名:基于PROTEUS的應(yīng)用開(kāi)發(fā)系列
- 作者:周潤(rùn)景,張麗娜 著
- 出版時(shí)間:2007/7/1
- ISBN:9787811240689
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP368.1
- 頁(yè)碼:562
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
以ATMEL公司的AVR單片機(jī)AT90S8535的結(jié)構(gòu)為主線,講述AVR系列單片機(jī)的內(nèi)部結(jié)構(gòu)、接口及其應(yīng)用。采用基于PROTEUS軟件的單片機(jī)系統(tǒng)仿真功能,對(duì)AT90S8535內(nèi)含的EEPROM存儲(chǔ)器、方向可定義的I/O端口、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、模擬量輸入接口及串行接口等內(nèi)部資源的工作原理用實(shí)例加以分析,并附10個(gè)綜合應(yīng)用實(shí)例。同時(shí)介紹了新型AVR單片機(jī),并附以應(yīng)用實(shí)例。為了滿足單片機(jī)開(kāi)發(fā)中提高系統(tǒng)可靠性以及系統(tǒng)改進(jìn)和功能擴(kuò)充的要求,本書應(yīng)用IAR Embedded Workbench集成開(kāi)發(fā)環(huán)境開(kāi)發(fā)AVR系列單片機(jī)C語(yǔ)言程序,并提供了10個(gè)AVR C語(yǔ)言應(yīng)用實(shí)例及其分析、仿真結(jié)果。所附光盤包含書中所有例子的電路原理圖和程序源代碼,并附有IAR公司提供的用于AVR程序調(diào)試的32K免費(fèi)版安裝軟件。
本書既可作為從事AVR單片機(jī)系統(tǒng)開(kāi)發(fā)的工程技術(shù)人員以及廣大電子愛(ài)好者的參考用書,也可為高等院校師生的單片機(jī)系統(tǒng)教學(xué)、學(xué)生實(shí)驗(yàn)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)及電子設(shè)計(jì)競(jìng)賽等提供幫助。
隨書附CD-ROM光盤一張。
第1章 基于PROTEUS的單片機(jī)系統(tǒng)仿真
1.1 PROTEUS ISIS編輯環(huán)境1
1.1.1 操作界面1
1.1.2 菜單欄和主工具欄5
1.1.3 編輯環(huán)境設(shè)置6
1.1.4 系統(tǒng)參數(shù)設(shè)置10
1.2 電路圖繪制15
1.2.1 繪圖工具15
1.2.2 導(dǎo)線操作20
1.2.3 對(duì)象操作20
1.2.4 PROTEUS電路繪制實(shí)例22
1.2.5 電路圖繪制進(jìn)階26
1.3 電路分析與仿真30
1.3.1 激勵(lì)源30
1.3.2 虛擬儀器31
1.3.3 探針32
1.3.4 圖表32
1.3.5 基于圖表的仿真35
1.3.6 交互式電路仿真38
1.4 基于PROTEUS的AVR單片機(jī)仿真——源代碼控制系統(tǒng)44
1.4.1 在PROTEUS VSM中創(chuàng)建源代碼文件44
1.4.2 編輯源代碼程序45
1.4.3 生成目標(biāo)代碼文件46
1.4.4 代碼生成工具47
1.4.5 定義第三方源代碼編輯器47
1.4.6 使用第三方IDE48
1.5 基于PROTEUS的AVR單片機(jī)仿真——源代碼調(diào)試49
1.5.1 單步調(diào)試49
1.5.2 使用斷點(diǎn)調(diào)試49
1.5.3 MultiCPU 調(diào)試49
1.6 基于PROTEUS的AVR單片機(jī)仿真——彈出式窗口49
1.6.1 顯示彈出式窗口50
1.6.2 源代碼調(diào)試窗口50
1.6.3 變量窗口52
1.6.4 觀測(cè)窗口52
1.7 基于PROTEUS的AVR單片機(jī)仿真——實(shí)現(xiàn)過(guò)程55
1.7.1 原理圖輸入55
1.7.2 編輯源代碼55
1.7.3 生成目標(biāo)代碼57
1.7.4 調(diào)試58
第2章 基于IAR Embedded Workbench IDE的AVR單片機(jī)C語(yǔ)言程序開(kāi)發(fā)
2.1 IAR Embedded Workbench編輯環(huán)境59
2.1.1 IAR Embedded Workbench啟動(dòng)59
2.1.2 項(xiàng)目管理61
2.1.3 源代碼控制61
2.1.4 窗口管理62
2.1.5 文本編輯器62
2.1.6 IAR CSPY調(diào)試器62
2.1.7 CSPY仿真器驅(qū)動(dòng) 63
2.1.8 AVR IAR C/C++編譯器63
2.1.9 IAR 匯編器64
2.1.10 IAR XLINK鏈接器 64
2.2 創(chuàng)建一個(gè)應(yīng)用工程65
2.2.1 創(chuàng)建一個(gè)新的工程65
2.2.2 應(yīng)用程序的編譯和鏈接70
2.3 使用IAR CSPY Debugger進(jìn)行調(diào)試76
2.3.1 啟動(dòng)調(diào)試器76
2.3.2 窗口管理77
2.3.3 查看源文件語(yǔ)句78
2.3.4 查看變量79
2.3.5 設(shè)置并監(jiān)控?cái)帱c(diǎn)81
2.3.6 在反匯編模式中調(diào)試82
2.3.7 監(jiān)控寄存器83
2.3.8 監(jiān)控存儲(chǔ)器84
2.3.9 查看終端I/O85
2.4 程序運(yùn)行完畢86
2.5 編寫一個(gè)中斷處理函數(shù)86
2.6 基于IAR的AVR單片機(jī)C程序的調(diào)試與仿真86
2.6.1 在IAR中創(chuàng)建一個(gè)新的工程86
2.6.2 編譯應(yīng)用程序87
2.6.3 IAR CSPY程序調(diào)試89
2.6.4 C程序的調(diào)試與仿真89
應(yīng)用篇
第3章 AVR系列單片機(jī)概述
3.1 AVR系列單片機(jī)的特點(diǎn)93
3.2 AT90S8535單片機(jī)的總體結(jié)構(gòu)94
3.2.1 AT90S8535的特點(diǎn)94
3.2.2 AT90S8535的結(jié)構(gòu)圖95
3.2.3 AT90S8535的引腳配置96
3.2.4 AT90S8535的引腳定義97
3.3 AT90S8535單片機(jī)的中央處理器CPU98
3.3.1 結(jié)構(gòu)概述98
3.3.2 通用工作寄存器堆99
3.3.3 X、Y、Z寄存器100
3.3.4 ALU運(yùn)算邏輯單元100
3.4 AT90S8535單片機(jī)存儲(chǔ)器組織100
3.4.1 在線可編程Flash100
3.4.2 內(nèi)部SRAM數(shù)據(jù)存儲(chǔ)器100
3.4.3 EEPROM數(shù)據(jù)存儲(chǔ)器103
3.4.4 I/O寄存器104
3.5 AVR系列單片機(jī)系統(tǒng)復(fù)位與中斷處理106
3.5.1 復(fù)位源106
3.5.2 上電復(fù)位107
3.5.3 外部復(fù)位108
3.5.4 看門狗復(fù)位108
3.5.5 MCU狀態(tài)寄存器109
3.5.6 中斷處理109
第4章 AT90S8535單片機(jī)EERPOM讀/寫訪問(wèn)
4.1 EEPROM讀/寫訪問(wèn)說(shuō)明111
4.1.1 概述111
4.1.2 相關(guān)I/O寄存器111
4.2 片內(nèi)EEPROM讀/寫訪問(wèn)示例113
4.2.1 硬件電路113
4.2.2 軟件編程113
4.2.3 系統(tǒng)調(diào)試與仿真116
第5章 AT90S8535單片機(jī)I/O端口
5.1 各I/O端口概述119
5.1.1 端口A119
5.1.2 端口B120
5.1.3 端口C121
5.1.4 端口D122
5.2 各I/O端口第二功能124
5.2.1 端口A第二功能124
5.2.2 端口B第二功能124
5.2.3 端口C第二功能125
5.2.4 端口D第二功能125
第6章 AT90S8535單片機(jī)中斷系統(tǒng)
6.1 AT90S8535單片機(jī)中斷源126
6.2 中斷處理127
6.3 相關(guān)I/O寄存器128
6.3.1 通用中斷屏蔽寄存器——GIMSK128
6.3.2 通用中斷標(biāo)志寄存器——GIFR128
6.3.3 T/C中斷屏蔽寄存器——TIMSK128
6.3.4 T/C中斷標(biāo)志寄存器——TIFR129
6.4 外部中斷130
6.5 中斷響應(yīng)時(shí)間130
6.6 MCU控制寄存器——MCUCR130
第7章 AT90S8535單片機(jī)定時(shí)器/計(jì)數(shù)器及其應(yīng)用
7.1 T/C0、T/C1的預(yù)定比例器132
7.2 定時(shí)器/計(jì)數(shù)器0(T/C0)133
7.2.1 T/C0的結(jié)構(gòu)、特點(diǎn)及作用133
7.2.2 T/C0相關(guān)的I/O寄存器133
7.3 T/C0應(yīng)用1——作計(jì)數(shù)器134
7.3.1 硬件電路134
7.3.2 軟件編程135
7.3.3 系統(tǒng)調(diào)試與仿真137
7.4 T/C0應(yīng)用2——作定時(shí)器139
7.4.1 硬件電路139
7.4.2 軟件編程140
7.4.3 系統(tǒng)調(diào)試與仿真142
7.5 T/C0應(yīng)用3——溢出中斷動(dòng)態(tài)掃描5位數(shù)碼管顯示144
7.5.1 硬件電路144
7.5.2 軟件編程145
7.5.3 系統(tǒng)調(diào)試與仿真148
7.6 定時(shí)器/計(jì)數(shù)器1(T/C1)151
7.6.1 T/C1的結(jié)構(gòu)、特點(diǎn)及作用151
7.6.2 T/C1相關(guān)的I/O寄存器152
7.6.3 PWM模式下的T/C1155
7.7 T/C1應(yīng)用1——測(cè)量脈沖頻率156
7.7.1 硬件電路156
7.7.2 軟件編程156
7.7.3 系統(tǒng)調(diào)試與仿真161
7.8 T/C1應(yīng)用2——比較匹配中斷165
7.8.1 硬件電路165
7.8.2 軟件編程166
7.8.3 系統(tǒng)調(diào)試與仿真167
7.9 T/C1應(yīng)用3——比較匹配產(chǎn)生任意占空比方波168
7.9.1 硬件電路169
7.9.2 軟件編程169
7.9.3 系統(tǒng)調(diào)試與仿真171
7.10 T/C1應(yīng)用4——PWM輸出作D/A轉(zhuǎn)換器174
7.10.1 硬件電路174
7.10.2 軟件編程175
7.10.3 系統(tǒng)調(diào)試及仿真176
7.11 定時(shí)器/計(jì)數(shù)器2(T/C2)178
7.11.1 T/C2的預(yù)分頻器178
7.11.2 T/C2的結(jié)構(gòu)、特點(diǎn)及作用179
7.11.3 T/C2相關(guān)的I/O寄存器179
7.11.4 PWM模式下的T/C2180
7.11.5 異步時(shí)鐘信號(hào)的驅(qū)動(dòng)181
7.12 T/C2應(yīng)用1——作實(shí)時(shí)時(shí)鐘183
7.12.1 硬件電路183
7.12.2 軟件編程184
7.12.3 系統(tǒng)調(diào)試與仿真187
7.13 T/C2應(yīng)用2——OC2引腳產(chǎn)生PWM脈寬調(diào)制輸出190
7.13.1 硬件電路190
7.13.2 軟件編程191
7.13.3 系統(tǒng)調(diào)試與仿真191
7.14 看門狗定時(shí)器193
7.14.1 看門狗定時(shí)器的結(jié)構(gòu)、特點(diǎn)及作用193
7.14.2 與看門狗定時(shí)器有關(guān)的寄存器194
7.14.3 看門狗定時(shí)器應(yīng)用編程195
第8章 AT90S8535單片機(jī)模擬量輸入接口
8.1 模/數(shù)轉(zhuǎn)換器ADC196
8.1.1 ADC的特點(diǎn)196
8.1.2 ADC的工作方式197
8.1.3 ADC預(yù)分頻器197
8.1.4 ADC的噪聲抑制功能199
8.1.5 與ADC有關(guān)的I/O寄存器199
8.1.6 掃描多個(gè)通道200
8.1.7 ADC噪聲消除技術(shù)200
8.1.8 ADC特性201
8.2 A/D轉(zhuǎn)換應(yīng)用201
8.2.1 硬件電路201
8.2.2 軟件編程202
8.2.3 系統(tǒng)調(diào)試與仿真206
8.3 模擬比較器208
8.3.1 模擬比較器概述208
8.3.2 模擬比較器控制和狀態(tài)寄存器——ACSR209
8.4 模擬比較器應(yīng)用209
8.4.1 硬件電路210
8.4.2 軟件編程210
8.4.3 系統(tǒng)調(diào)試與仿真214
第9章 AT90S8535單片機(jī)串行接口及其應(yīng)用
9.1 通用串行接口UART218
9.1.1 數(shù)據(jù)傳送218
9.1.2 數(shù)據(jù)接收219
9.1.3 UART控制220
9.2 通用串行接口UART應(yīng)用1——單片機(jī)間數(shù)據(jù)通信224
9.2.1 串行口編程需注意的問(wèn)題224
9.2.2 硬件電路225
9.2.3 軟件編程227
9.2.4 系統(tǒng)調(diào)試與仿真232
9.3 通用串行接口UART應(yīng)用2——單片機(jī)自發(fā)自收數(shù)據(jù)236
9.3.1 硬件電路236
9.3.2 軟件編程238
9.3.3 系統(tǒng)調(diào)試與仿真240
9.4 同步串行接口SPI243
9.4.1 SPI的特性243
9.4.2 SPI的工作模式243
9.4.3 SPI的數(shù)據(jù)模式245
9.4.4 與SPI有關(guān)的寄存器245
9.5 同步串行接口SPI的應(yīng)用247
9.5.1 硬件電路247
9.5.2 軟件編程247
第10章 AT90S8535單片機(jī)綜合應(yīng)用
10.1 電子琴模擬設(shè)計(jì)256
10.1.1 硬件電路256
10.1.2 軟件編程257
10.1.3 系統(tǒng)調(diào)試與仿真262
10.2 汽車轉(zhuǎn)彎信號(hào)燈模擬設(shè)計(jì)266
10.2.1 硬件電路266
10.2.2 軟件編程267
10.2.3 系統(tǒng)調(diào)試與仿真271
10.3 交通燈模擬設(shè)計(jì)275
10.3.1 硬件電路275
10.3.2 軟件編程275
10.3.3 系統(tǒng)調(diào)試與仿真283
10.4 數(shù)字鐘模擬設(shè)計(jì)289
10.4.1 硬件電路289
10.4.2 軟件編程290
10.4.3 系統(tǒng)調(diào)試與仿真296
10.5 計(jì)算器數(shù)字輸入顯示模擬設(shè)計(jì)300
10.5.1 硬件電路300
10.5.2 軟件編程301
10.5.3 系統(tǒng)調(diào)試與仿真307
10.6 電子密碼鎖設(shè)計(jì)1311
10.6.1 硬件電路311
10.6.2 軟件編程312
10.6.3 系統(tǒng)調(diào)試與仿真318
10.7 電子密碼鎖設(shè)計(jì)2322
10.7.1 硬件電路322
10.7.2 軟件編程322
10.7.3 系統(tǒng)調(diào)試與仿真331
10.8 直流電機(jī)驅(qū)動(dòng)設(shè)計(jì)334
10.8.1 硬件電路334
10.8.2 軟件電路334
10.8.3 系統(tǒng)調(diào)試與仿真337
10.9 步進(jìn)電機(jī)驅(qū)動(dòng)設(shè)計(jì)339
10.9.1 硬件電路340
10.9.2 軟件編程340
10.9.3 系統(tǒng)調(diào)試與仿真343
10.10 數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)345
10.10.1 硬件電路345
10.10.2 軟件編程346
10.10.3 系統(tǒng)調(diào)試與仿真359
第11章 AVR與嵌入式C語(yǔ)言編程
11.1 中斷與復(fù)位365
11.1.1 硬件電路365
11.1.2 軟件編程365
11.1.3 系統(tǒng)調(diào)試與仿真366
11.2 定時(shí)器/計(jì)數(shù)器0370
11.2.1 硬件電路370
11.2.2 軟件編程370
11.2.3 系統(tǒng)調(diào)試與仿真371
11.3 定時(shí)器/計(jì)數(shù)器1應(yīng)用1——產(chǎn)生20 kHz的方波信號(hào)375
11.3.1 硬件電路375
11.3.2 軟件編程376
11.3.3 系統(tǒng)調(diào)試與仿真377
11.4 定時(shí)器/計(jì)數(shù)器1應(yīng)用2——脈寬調(diào)制器模式381
11.4.1 硬件電路383
11.4.2 軟件編程383
11.4.3 系統(tǒng)調(diào)試與仿真384
11.5 模擬接口——A/D轉(zhuǎn)換387
11.5.1 硬件電路387
11.5.2 軟件編程387
11.5.3 系統(tǒng)調(diào)試與仿真388
11.6 模擬接口——模擬比較器393
11.6.1 硬件電路394
11.6.2 軟件編程394
11.6.3 系統(tǒng)調(diào)試與仿真395
第12章 新型AVR單片機(jī)及其應(yīng)用
12.1 Atmega8單片機(jī)概述400
12.1.1 結(jié)構(gòu)與主要性能400
12.1.2 MCU內(nèi)核403
12.1.3 復(fù)位與中斷處理403
12.1.4 存儲(chǔ)器404
12.1.5 系統(tǒng)時(shí)鐘和時(shí)鐘選擇405
12.1.6 系統(tǒng)復(fù)位410
12.1.7 中斷向量410
12.1.8 外部中斷412
12.2 ATmega8定時(shí)器/計(jì)數(shù)器0應(yīng)用1415
12.2.1 硬件電路415
12.2.2 軟件編程415
12.2.3 系統(tǒng)調(diào)試與仿真419
12.2.4 關(guān)于定時(shí)器/計(jì)數(shù)器0422
12.3 ATmega8定時(shí)器/計(jì)數(shù)器0應(yīng)用2424
12.3.1 硬件電路425
12.3.2 軟件編程426
12.3.3 系統(tǒng)調(diào)試與仿真430
12.4 ATmega8 I/O端口應(yīng)用433
12.4.1 硬件電路433
12.4.2 軟件編程434
12.4.3 系統(tǒng)調(diào)試與仿真436
12.4.4 關(guān)于ATmega8 I/O端口439
12.5 ATmega8 A/DD/A轉(zhuǎn)換及串行數(shù)據(jù)傳輸應(yīng)用444
12.5.1 硬件電路444
12.5.2 軟件編程446
12.5.3 系統(tǒng)調(diào)試與仿真457
12.5.4 關(guān)于ATmega8定時(shí)器/計(jì)數(shù)器1461
12.5.5 關(guān)于ATmega8 A/D轉(zhuǎn)換463
12.5.6 關(guān)于ATmega8串行通信469
12.6 ATmega8應(yīng)用1——計(jì)數(shù)及顯示系統(tǒng)480
12.6.1 硬件電路480
12.6.2 軟件編程480
12.6.3 系統(tǒng)調(diào)試與仿真485
12.7 ATmega8應(yīng)用2——鍵盤顯示系統(tǒng)489
12.7.1 硬件電路489
12.7.2 軟件編程489
12.7.3 系統(tǒng)調(diào)試與仿真500
12.8 ATmega8應(yīng)用3——PWM502
12.8.1 硬件電路502
12.8.2 軟件編程502
12.8.3 系統(tǒng)調(diào)試與仿真513
附錄
附錄A IAR系統(tǒng)目錄523
附錄B IAR文件類型525
附錄C 8位RISC指令結(jié)構(gòu)AVR單片機(jī)選型表527
附錄D AVR器件118條指令速查表528
附錄E AT90S8535 I/O空間530
附錄F Atmega8 I/O地址空間分配表533
附錄G 通用延時(shí)子程序535
附錄H 從MCS51到AVR的快速轉(zhuǎn)換
H.1 AVR 和MCS51存儲(chǔ)器配置的對(duì)比537
H.2 AVR 輸入/輸出端口的使用539
H.3 AVR 和MCS51定時(shí)器的對(duì)比540
H.4 AVR 和MCS51 中斷系統(tǒng)的對(duì)比542
H.5 AVR 和MCS51 位操作功能的對(duì)比543
H.6 AVR 單片機(jī)內(nèi)置EEPROM 的使用543
H.7 AVR單片機(jī)內(nèi)置看門狗電路的使用543
H.8 AVR和MCS51中串口通信UART功能的對(duì)比544
H.9 C51的源代碼向PROTEUS中AVR的快速轉(zhuǎn)換544
附錄I intrinsic函數(shù)549
附錄J IAR中斷向量定義550
附錄K 單片機(jī)C程序優(yōu)化
K.1 程序結(jié)構(gòu)的優(yōu)化552
K.2 代碼的優(yōu)化553
附錄L DS18B20簡(jiǎn)介
L.1 總體特點(diǎn)557
L.2 內(nèi)部結(jié)構(gòu)557
L.3 硬件配置558
L.4 命令序列559
L.5 DS18B20的信號(hào)方式560
參考文獻(xiàn)563