●章 單片機快速入門 1
1.1 單片機簡介 1
1.1.1 什麼是單片機 1
1.1.2 單片機應用繫統的組成及工作過程 2
1.1.3 單片機的分類 3
1.1.4 單片機的應用領域 4
1.2 單片機應用繫統的開發過程 5
1.2.1 明確控制要求並選擇合適型號的單片機 5
1.2.2 設計單片機電路原理圖 5
1.2.3 制作單片機電路 6
1.2.4 用Keil軟件編寫單片機控制程序 7
1.2.5 計算機、(燒錄)器和單片機的連接 10
1.2.6 用燒錄軟件將程序寫入單片機 13
1.2.7 單片機電路的供電與測試 15
1.3 C51語言基礎 17
1.3.1 常量 17
1.3.2 變量 19
1.3.3 運算符 19
1.3.4 關鍵字 22
1.3.5 數組 23
1.3.6 循環語句 24
1.3.7 選擇語句 26
第2章 51單片機的硬件繫統 28
2.1 8051單片機的引腳功能與內部結構 28
2.1.1 引腳功能說明 28
2.1.2 單片機與片外存儲器的連接與控制 31
2.1.3 內部結構說明 32
2.2 8051單片機I/O端口的結構與工作原理 35
2.2.1 P0端口 35
2.2.2 P1端口 37
2.2.3 P2端口 38
2.2.4 P3端口 38
2.3 8051單片機的存儲器 40
2.3.1 存儲器的存儲單位與編址 40
2.3.2 片內、片外程序存儲器的使用與編址 41
2.3.3 片內、片外數據存儲器的使用與編址 41
2.3.4 數據存儲器的分區 42
2.3.5 特殊功能寄存器(SFR) 44
第3章 STC89C5x繫列單片機介紹 49
3.1 概述 49
3.1.1 兩種版本與封裝形式 49
3.1.2 引腳功能說明 50
3.1.3 STC89C5x繫列單片機的型號命名規則 52
3.1.4 STC89C5x繫列單片機常用型號的主要參數 52
3.2 STC89C5x繫列單片機的I/O端口 53
3.2.1 I/O端口上電復位狀態與灌電流、拉電流 53
3.2.2 P4端口的使用 54
3.2.3 I/O端口與外部電路的連接 55
3.3 STC89C5x繫列單片機的存儲器 57
3.3.1 程序存儲器 57
3.3.2 數據存儲器 57
3.3.3 特殊功能寄存器 58
第4章 51單片機編程軟件的使用 61
4.1 Keil C51軟件的基本操作 61
4.1.1 Keil C51軟件的版本及獲取 61
4.1.2 Keil C51軟件的安裝 61
4.2 程序的編寫與編譯 63
4.2.1 啟動Keil C51軟件並新建工程文件 63
4.2.2 新建源程序文件 65
4.2.3 編寫程序 66
4.2.4 編譯程序 67
4.3 程序的仿真與調試 69
4.3.1 軟件仿真設置 70
4.3.2 編譯程序 71
4.3.3 仿真、調試程序 71
第5章 單片機驅動LED的電路及編程 75
5.1 LED(發光二極管)介紹 75
5.1.1 外形與符號 75
5.1.2 性質 75
5.1.3 檢測 76
5.1.4 限流電阻 76
5.2 點亮單個LED的電路與程序詳解 77
5.2.1 點亮單個LED的電路 77
5.2.2 采用位操作方式點亮單個LED的程序詳解 77
5.2.3 采用字節操作方式點亮單個LED的程序詳解 79
5.2.4 單個LED以固定頻率閃爍發光的程序詳解 80
5.2.5 單個LED以不同頻率閃爍發光的程序詳解 81
5.3 點亮多個LED的電路與程序詳解 82
5.3.1 點亮多個LED的電路 82
5.3.2 采用位操作方式點亮多個LED的程序詳解 83
5.3.3 采用字節操作方式點亮多個LED的程序詳解 83
5.3.4 多個LED以不同頻率閃爍發光的程序詳解 84
5.3.5 多個LED左移和右移的程序詳解 85
5.3.6 LED循環左移和右移的程序詳解 86
5.3.7 LED左右移動並閃爍發光的程序詳解 88
5.3.8 采用查表方式控制LED多種形式發光的程序詳解 89
5.3.9 LED花樣發光的程序詳解 90
5.4 采用PWM方式調節LED亮度的原理與程序詳解 91
5.4.1 采用PWM方式調節LED亮度的原理 91
5.4.2 采用PWM方式調節LED亮度的程序詳解 91
第6章 單片機驅動LED數碼管的電路及編程 94
6.1 單片機驅動1位LED數碼管的電路與程序詳解 94
6.1.1 1位LED數碼管的結構與檢測 94
6.1.2 單片機驅動1位LED數碼管的電路 96
6.1.3 單個數碼管靜態顯示1個字符的程序詳解 96
6.1.4 單個數碼管動態顯示多個字符的程序詳解 97
6.1.5 單個數碼管環形轉圈顯示的程序詳解 98
6.1.6 單個數碼管顯示邏輯電平的程序詳解 98
6.2 單片機驅動8位LED數碼管的電路與程序詳解 99
6.2.1 多位LED數碼管的結構與檢測 99
6.2.2 單片機連接8位共陰極數碼管的電路 100
6.2.3 8位數碼管顯示1個字符的程序詳解 102
6.2.4 8位數碼管逐位顯示8個字符的程序詳解 103
6.2.5 8位數碼管同時顯示8個字符的程序及詳解 104
6.2.6 8位數碼管動態顯示8個以上字符的程序及詳解 104
第7章 中斷與中斷編程 106
7.1 中斷的基本概念與處理過程 106
7.1.1 中斷的基本概念 106
7.1.2 中斷的處理過程 106
7.2 中斷的繫統結構與控制寄存器 107
7.2.1 中斷的繫統結構 107
7.2.2 中斷源寄存器 108
7.2.3 中斷允許寄存器IE 109
7.2.4 中斷優先級控制寄存器IP 110
7.3 中斷編程 111
7.3.1 外部中斷0以低電平方式觸發中斷的程序詳解 111
7.3.2 外部中斷1以下降沿方式觸發中斷的程序詳解 112
第8章 定時器/計數器的使用及編程 115
8.1 定時器/計數器的定時與計數功能 115
8.1.1 定時器/計數器的定時功能 115
8.1.2 定時器/計數器的計數功能 116
8.2 定時器/計數器的結構和工作原理 116
8.2.1 定時器/計數器的結構 116
8.2.2 定時器/計數器的工作原理 117
8.3 與定時器/計數器相關的控制寄存器 118
8.3.1 TCON寄存器 118
8.3.2 TMOD寄存器 119
8.4 定時器/計數器的工作方式 120
8.5 定時器/計數器的應用及編程 124
8.5.1 產生1kHz方波信號的程序詳解 124
8.5.2 產生50kHz方波信號的程序詳解 125
8.5.3 產生周期為1s方波信號的程序詳解 126
第9章 按鍵電路及編程 128
9.1 獨立按鍵輸入電路與程序詳解 128
9.1.1 開關輸入抖動及解決方法 128
9.1.2 連接8個獨立按鍵和8個LED的單片機電路 129
9.1.3 一個按鍵點動控制一個LED亮滅的程序詳解 130
9.1.4 一個按鍵鎖定控制一個LED亮滅的程序詳解 130
9.1.5 4路搶答器的程序詳解 131
9.1.6 獨立按鍵控制LED和LED數碼管的單片機電路 132
9.1.7 兩個按鍵控制1位數字增、減並用8位數碼管顯示的程序詳解 133
9.1.8 兩個按鍵控制多位數字增、減並用8位數碼管顯示的程序詳解 135
9.1.9 按鍵長按與短按產生不同控制效果的程序詳解 137
9.1.10 8個獨立按鍵控制LED和LED數碼管顯示的程序詳解 139
9.2 矩陣鍵盤輸入電路與程序詳解 141
9.2.1 單片機16鍵矩陣鍵盤和8位數碼管的電路 141
9.2.2 矩陣鍵盤行列掃描方式輸入及顯示的程序詳解 143
9.2.3 采用中斷方式的矩陣鍵盤行列掃描輸入的電路及程序詳解 146
9.2.4 矩陣鍵盤密碼鎖的程序詳解 150
0章 點陣和液晶顯示屏的使用及編程 155
10.1 雙色LED點陣的使用及編程 155
10.1.1 雙色LED點陣的基礎知識 155
10.1.2 單片機配合74HC595芯片驅動雙色LED點陣的電路 162
10.1.3 雙色點陣顯示一種顏色字符的程序詳解 163
10.1.4 雙色點陣交替顯示兩種顏色字符的程序詳解 166
10.1.5 字符“0”~“9”移入和移出雙色點陣的程序詳解 168
10.2 1602字符型液晶顯示屏的使用及編程 171
10.2.1 1602字符型液晶顯示屏的基礎介紹 171
10.2.2 單片機驅動1602字符型液晶顯示屏的電路 176
10.2.3 1602字符型液晶顯示屏靜態顯示字符的程序詳解 177
10.2.4 1602字符型液晶顯示屏逐個顯示字符的程序詳解 179
10.2.5 1602字符型液晶顯示屏字符滾動顯示的程序詳解 180
10.2.6 矩陣鍵盤輸入與1602字符型液晶顯示屏顯示的電路及程序詳解 181
1章 步進電動機的使用及編程 186
11.1 步進電動機與驅動芯片介紹 186
11.1.1 步進電動機 186
11.1.2 驅動芯片 189
11.1.3 五線四相步進電動機 191
11.2 單片機驅動步進電動機的電路及編程 192
11.2.1 單片機驅動步進電動機的電路 192
11.2.2 用單四拍方式驅動步進電動機正轉的程序詳解 193
11.2.3 用雙四拍方式驅動步進電動機自動正反轉的程序詳解 194
11.2.4 用外部中斷控制步進電動機正反轉的程序詳解 195
11.2.5 用按鍵控制步進電動機啟動、加速、減速、停止的程序詳解 197
2章 串行通信的使用及編程 202
12.1 串行通信的基礎知識 202
12.1.1 並行通信和串行通信 202
12.1.2 串行通信的兩種方式 202
12.1.3 串行通信的數據傳送方向 204
12.2 串行通信口的結構與原理 205
12.2.1 串行通信口的結構 205
12.2.2 串行通信口的工作原理 206
12.3 串行通信口的控制寄存器 206
12.3.1 串行控制寄存器 206
12.3.2 電源控制寄存器 207
12.4 4種工作方式與波特率 208
12.4.1 方式0 208
12.4.2 方式1 209
12.4.3 方式2 210
12.4.4 方式3 210
12.4.5 波特率 210
12.5 串行通信的應用編程 212
12.5.1 利用方式0實現產品計數顯示的電路及編程 212
12.5.2 利用方式1實現雙機通信的電路及編程 214
3章 I2C總線通信的使用及編程 217
13.1 I2C總線的基礎知識 217
13.1.1 I2C總線的通信協議 217
13.1.2 I2C總線的數據傳送格式 218
13.2 I2C總線存儲器24C02 219
13.2.1 外形與引腳功能 219
13.2.2 器件地址 220
13.2.3 讀/寫操作 220
13.3 單片機與24C02的I2C總線通信電路及編程 223
13.3.1 模擬I2C總線通信的程序詳解 223
13.3.2 利用I2C總線從24C02讀寫一個數據的電路及程序詳解 226
13.3.3 利用I2C總線從24C02讀寫多個數據的電路及程序詳解 228
13.3.4 利用24C02存儲按鍵操作信息的電路及程序詳解 229
4章 A/D(模/數)與D/A(數/模)轉換電路及編程 233
14.1 A/D與D/A轉換 233
14.1.1 A/D轉換 233
14.1.2 D/A轉換 235
14.2 A/D與D/A轉換芯片 235
14.2.1 外形與引腳功能說明 236
14.2.2 器件地址和器件功能設置 236
14.2.3 單端輸入與差分輸入 237
14.3 A/D和D/A轉換電路及編程 238
14.3.1 單片機、PCF8591芯片與8位數碼管構成的A/D和D/A轉換及顯示電路 238
14.3.2 A/D轉換輸出顯示的程序詳解 239
14.3.3 4路電壓測量顯示的程序詳解 241
14.3.4 D/A轉換輸出顯示的程序詳解 244
5章 電路繪圖設計軟件入門 247
15.1 概述 247
15.2 Protel 99 SE基礎知識 247
15.2.1 Protel 99 SE的組成 247
15.2.2 Protel 99 SE的設計電路流程 248
15.3 Protel 99 SE使用入門 248
15.3.1 數據庫文件的創建、關閉與打開 248
15.3.2 Protel 99 SE的設計界面 251
15.3.3 文件的管理 251
15.3.4 繫統參數的設置 256
6章 設計電路原理圖 258
16.1 電路原理圖編輯器概述 258
16.1.1 電路原理圖編輯器的界面介紹 258
16.1.2 設置圖紙大小 262
16.1.3 設置圖紙方向、標題欄、邊框和顏色 263
16.1.4 設置圖紙網格 265
16.1.5 設置圖紙文件信息 265
16.1.6 設置光標與網格形狀 265
16.1.7 設置繫統字體 266
16.2 電路原理圖的設計 267
16.2.1件庫 268
16.2.2件 269
16.2.3件 270
16.2.4件 272
16.2.5 繪制導線、節點和總線 281
16.2.6 放置電源符號 288
16.2.7 放置輸入/輸出端口 289
16.2.8 查找、替換件標號 291
16.3 圖形的繪制 294
16.3.1 繪制直線 294
16.3.2 繪制矩形 294
16.3.3 繪制多邊形 295
16.3.4 繪制橢圓弧線 296
16.3.5 繪制橢圓 297
16.3.6 繪制扇形 298
16.3.7 繪制曲線 299
16.4 文本、圖片的應用 300
16.4.1 插入與設置文本 300
16.4.2 插入與設置圖片 301
16.5 層次原理圖的設計 302
16.5.1 層次原理圖的設計思路 303
16.5.2 由上向下設計層次原理圖 305
16.5.3 由下向上設計層次原理圖 310
7章 件 311
17件庫編輯器概述 311
17.件的制作與使用 313
17.2.1 件 313
17.2.2 修件 316
17.2.3 繪件 319
17.2.4 件 321
17.3 報表的件庫的管理 322
17.3.1 生成報表 322
17.3.2件庫 324
8章 手工設計PCB圖 327
18.1 PCB設計基礎 327
18.1.1 PCB的基礎知識 327
18.1.2 PCB的設計過程 330
18.1.3 PCB設計編輯器的操作 330
18.1.4 PCB的工作層設置 332
18.1.5 PCB設計編輯器的參數設置 336
18.2 開始手工設計PCB圖 341
18.2.1 放置對像 341
18.2.2 手工布局 354
18.2.3 手工布線 361
9章 自動設計PCB圖 363
19.1 基礎知識 363
19.1.1 PCB圖的自動設計流程 363
19.1.2 利用電路原理圖生成網絡表 364
19.2 開始自動設計PCB圖 364
19.2.1 自動規劃PCB圖 364
19.2.2件封裝庫和網絡表 368
19.2.3 自件 372
19.2.4 手件布局 373
19.2.5 自動布線 374
19.2.6 手工調整布線 379
19.3 顯示PCB圖 384
19.3.1 單層顯示模式 384
19.3.2 三維顯示模式 385
第20章 件封裝 387
20.1件封裝庫編輯器 387
20.2件封裝 388
20.2.1 利用手件封裝 388
20.2.2 利用向件封裝 391
20.3件封裝 393
內容簡介
《電子工程師自學成纔手冊》分為基礎篇、提高篇、精通篇三冊。本書為精通篇,主要包括單片機快速入門、51單片機的硬件繫統、STC89C5x繫列單片機介紹、51單片機編程軟件的使用、單片機驅動LED的電路及編程、單片機驅動LED數碼管的電路及編程、中斷與中斷編程、定時器/計數器的使用及編程、按鍵電路及編程、點陣和液晶顯示屏的使用及編程、步進電動機的使用及編程、串行通信的使用及編程、I2C總線通信的使用及編程、A/D與D/A轉換電路及編程、電路繪圖設計軟件入門、設計電路原理圖、件、手工設計PCB圖、自動設計PCB圖、件封裝等內容。本書具有基礎起點低、內容由淺入深、語言通俗易懂、結構安排符合學習認知規律的特點,適合作為電子工程師入門的自學圖書,也適合作為職業學校和社會培訓機構的電子技術入門教材。