第1章 Visual Basic 6.0簡介 1
1.1 初識Visual Basic 2
1.2 集成開發(fā)環(huán)境介紹 3
1.3 變量類型和常數 6
1.4 基本語法 7
1.5 工具箱 12
1.6 編寫第一個Visual Basic應用程序 16
1.6.1 第一個Visual Basic應用程序 16
1.6.2 保存程序文件 21
1.6.3 高級程序設計 22
第2章 并行端口的基本概念 27
2.1 并行端口的基本介紹 28
2.2 硬件特性 30
2.3 并行端口程序設計 32
2.4 Centronics并行端口 35
2.5 軟件寄存器——標準并行端口(SPP) 36
2.6 雙向端口 39
2.7 使用并行端口執(zhí)行8位輸入 40
2.8 Nibble模式 43
2.9 BIOS的并行端口模式 46
2.10 系統(tǒng)資源 47
2.10.1 并行端口地址 47
2.10.2 中斷 49
2.10.3 DMA通道 49
2.10.4 增加并行端口 50
第3章 并行端口的基本測試 53
3.1 硬件設計 53
3.2 Visual Basic程序設計 57
3.3 步進馬達輸出 64
3.3.1 1相激磁 64
3.3.2 2相激磁 65
3.3.3 1-2相激磁 66
3.3.4 步進馬達的驅動電路 67
第4章 并行端口的輸入/輸出 73
4.1 并行端口的輸出應用 74
4.2 使用Visual Basic程序執(zhí)行輸出控制 76
4.3 并行端口的輸入應用 78
4.3.1 單一字節(jié)輸入硬件的設計 78
4.3.2 讀取5個字節(jié)的硬件設計 80
4.4 輸出應用 84
4.4.1 邏輯電平輸出 85
4.4.2 機械式繼電器和電子式固態(tài)繼電器 87
4.4.3 ULN2003A驅動器 88
4.5 輸入應用 90
第5章 并行端口模擬/數字轉換實驗 93
5.1 什么是A/D轉換器 94
5.2 A/D轉換器類型 96
5.3 A/D轉換器芯片組 99
5.3.1 ADC0804的特性和規(guī)格 99
5.3.2 ADC0809的特性和規(guī)格 100
5.4 8位A/D轉換電路設計 101
5.4.1 電路設計原理 101
5.4.2 Visual Basic程序設計 103
5.5 多信道A/D轉換電路設計 105
5.5.1 ADC0804多信道電路設計 107
5.5.2 ADC0809多信道電路設計 110
5.6 電路設計注意事項 114
5.6.1 解決和降低噪聲 114
5.6.2 信號調整 115
5.6.3 傳感器接口 115
5.6.4 儀表放大器 116
第6章 并行端口數字/模擬轉換實驗 119
6.1 D/A轉換器簡介 119
6.1.1 D/A轉換器的線性度 120
6.1.2 D/A轉換器的分辨率 121
6.1.3 D/A轉換器的精確度 121
6.1.4 D/A轉換器的建立時間 121
6.2 D/A轉換器類型 122
6.2.1 電流切換D/A轉換器 122
6.2.2 加權電阻型D/A轉換器 123
6.2.3 R-2R梯型D/A轉換器 124
6.3 D/A轉換器的應用和實現 126
6.3.1 D/A轉換器——DAC0800 126
6.3.2 D/A轉換器——AD558 129
第7章 ECP和EPP的特性 135
7.1 IEEE 1284標準 136
7.2 EPP——增強型并行端口 136
7.3 EPP寄存器接口 140
7.4 ECP——擴展功能并行端口 141
7.5 ECP硬件特性 142
7.6 ECP握手步驟 144
7.7 ECP軟件及寄存器接口 146
第8章 EPP模式的應用設計 151
8.1 EPP并行端口的基本應用 151
8.1.1 硬件電路設計 153
8.1.2 Visual Basic程序設計 153
8.2 使用8255芯片組擴展EPP并行端口模式 156
8.3 并行端口連接8255芯片組的電路設計 162
8.3.1 硬件電路設計 162
8.3.2 Visual Basic程序設計 164
第9章 串行外圍端口的基本概念 167
9.1 串行傳輸的格式和協議 167
9.2 通信的基本概念 169
9.3 RS-232C規(guī)格介紹 170
9.3.1 電氣特性 171
9.3.2 連接器的機械特性 171
9.3.3 RS-232接口信號 174
9.4 RS-232常用的接線方式 175
9.4.1 虛擬(NULL)Modem的應用 177
9.4.2 回路(LOOPBACK)測試 178
9.5 RS-232數據格式 179
9.6 UART的概念 181
9.7 UART和RS-232的信號電平轉換 183
9.8 PC主機的資源 184
第10章 RS-232 Visual Basic程序設計 191
10.1 基本概念 191
10.2 單信道A/D轉換 196
10.2.1 單芯片微處理器端 197
10.2.2 PC主機端的Visual Basic程序 198
10.3 4信道RS-232串行傳輸 203
10.4 從并行端口轉換到RS-232串行端口 207
第11章 RS-485串行接口的應用 211
11.1 RS-422和RS-485的基本概念 212
11.2 RS-232、RS-422和RS-485串行接口的比較 213
11.3 RS-422和RS-485串行接口標準 216
11.3.1 RS-422電氣規(guī)定 216
11.3.2 RS-485電氣規(guī)定 217
11.3.3 RS-422和RS-485的系統(tǒng)配置 219
11.3.4 RS-422/485的接地問題 221
11.3.5 RS-422和RS-485的瞬間保護 224
11.4 增加RS-485串行端口 225
11.5 RS-485串行傳輸的設計和應用 228
第12章 IrDA紅外線傳輸接口 235
12.1 IrDA紅外線通信簡介 236
12.2 IrDA規(guī)范的差異 237
12.3 IrDA技術標準 238
12.4 IrDA的調變特性 239
12.5 IrDA技術規(guī)范 243
12.6 IrDA Control 247
12.7 Windows操作系統(tǒng)下的IrDA技術探討 248
12.8 Windows操作系統(tǒng)的測試 249
第13章 IrDA紅外線的接收和發(fā)射 251
13.1 硬件設計 251
13.1.1 IrDA收發(fā)器——HSDL3201 252
13.1.2 IrDA編碼和解碼器——HSDL7001 254
13.2 電路設計 259
13.3 Visual Basic程序設計 259
第14章 USB的基本架構和特性 263
14.1 什么是USB 264
14.2 如何安裝USB設備 265
14.3 USB的總線結構 268
14.4 USB數據流的模式和引腳的概念 270
14.5 USB的傳輸類型 271
14.6 USB的連接器和纜線 274
14.6.1 機械結構 274
14.6.2 USB接口的電氣特性 276
14.6.3 USB總線狀態(tài) 277
14.6.4 USB的電源管理 281
14.7 USB的編碼方式 282
14.8 USB接口的通信協議 283
14.8.1 字段格式 284
14.8.2 封包格式 286
14.8.3 數據事務格式 289
14.9 分割數據事務 293
14.10 USB描述符 295
14.11 USB的標準請求 298
14.12 設備群組 300
第15章 USB芯片組和外圍設備的設計 303
15.1 USB芯片簡介 303
15.2 USB接口芯片 305
15.3 包含USB單元的微處理器 309
15.4 USB 2.0微處理器和接口芯片組 311
15.5 USB芯片組的選擇 314
15.6 USB外圍設備和驅動程序 317
15.7 USB外圍設備的開發(fā)重點 318
第16章 人性化接口設備群組的基本概念 321
16.1 HID群組簡介 321
16.2 HID群組的特性和限制 322
16.3 HID群組的基本要求 323
16.4 HID群組的軟件要求 324
16.5 識別HID群組 325
16.5.1 描述符的內容 326
16.5.2 啟動接口 328
16.5.3 版本修訂的兼容性 328
16.5.4 HID群組描述符 329
16.6 報告描述符 330
16.6.1 描述符工具 334
16.6.2 兼容測試程序 335
16.7 HID群組請求 336
第17章 USB應用程序的設計概念 339
17.1 主機通信的基本概念 339
17.2 主機如何發(fā)現設備 340
17.3 所需的API相關文件 341
17.4 HID設備驅動程序和DLL的特性 342
17.5 HID API函數 344
17.6 API函數和Visual Basic的基本概念 345
17.6.1 聲明 347
17.6.2 ByRef和ByVal傳遞方式 349
17.6.3 傳遞空值 350
17.6.4 函數和子程序 350
17.6.5 DLL名稱的使用 351
17.6.6 字符串格式 352
17.6.7 結構 352
17.6.8 如何調用API函數 353
第18章 API函數的基本介紹 355
18.1 Windows與HID設備通信的API函數 355
18.2 尋找所有的HID設備 356
18.2.1 返回HID群組的GUID——HidD_GetHidGuid函數 356
18.2.2 返回所有HID信息——SetupDiGetClassDevs函數 357
18.2.3 識別每一個HID接口——SetupDiEnumDeviceInterfaces函數 358
18.2.4 返回設備的路徑——SetupDiGetDeviceInterfaceDetail函數 359
18.2.5 返回設備的句柄——CreateFile函數 361
18.2.6 返回廠商和產品ID——HidD_GetAttributes函數 362
18.3 檢查HID設備功能 363
18.3.1 返回包含設備特征的緩沖區(qū)指針——HidD_GetPreparsedData函數 363
18.3.2 返回設備的特征——HidP_GetCaps函數 364
18.3.3 返回設備的數值特征——HidP_GetValueCaps函數 365
18.4 讀取和寫入數據 366
18.4.1 向設備傳送輸出報告——WriteFile函數 367
18.4.2 從設備讀取輸入報告——ReadFile函數 368
18.4.3 傳送特征報告給設備——HidD_SetFeature函數 370
18.4.4 從設備讀取特征報告——Get_Feature函數 370
18.5 關閉通信——CloseHandle函數 371
第19章 USB接口應用程序設計 373
19.1 HID API函數的引用 373
19.2 打開HID設備的通信步驟 381
19.3 Visual Basic窗體程序設計 382
19.3.1 返回HID群組的GUID——HidD_GetHidGuid函數 385
19.3.2 返回所有HID信息——SetupDiGetClassDevs函數 386
19.3.3 識別每一個HID接口——SetupDiEnumDeviceInterfaces函數 387
19.3.4 返回設備的路徑——SetupDiGetDeviceInterfaceDetail函數 388
19.3.5 返回設備的句柄——CreateFile函數 390
19.3.6 返回廠商和產品ID——HidD_GetAttributes函數 391
19.3.7 返回包含設備特征的緩沖區(qū)指針——HidD_GetPreparsedData函數 392
19.3.8 返回設備的特征——HidP_GetCaps函數 393
19.3.9 返回設備的數值特征——HidP_GetValueCaps函數 395
19.3.10 向設備傳送輸出報告——WriteFile函數 395
19.3.11 從設備讀取輸入報告——ReadFile函數 397
19.4 完整的測試程序 398
第20章 動態(tài)鏈接庫(DLL)文件的設計和制作 399
20.1 DLL文件的設計方法和步驟 399
20.2 多個USB設備控制的DLL設計 410
20.3 單個字節(jié)傳輸的DLL設計 413
第21章 USB I/O控制設計——應用CY7C63101芯片組 415
21.1 USB外圍設備設計 415
21.2 CY7C63x系列芯片組介紹 417
21.3 USB外圍設備的程序設計 420
21.3.1 固化程序代碼設計 420
21.3.2 應用程序設計——使用Visual Basic 421
第22章 USB I/O控制設計——應用EZ-USB(FX)芯片組 427
22.1 USB外圍設備的硬件設計 427
22.2 設備列舉和重新設備列舉 429
22.3 固化程序代碼的下載功能 431
22.3.1 固化程序代碼下載的設備要求 431
22.3.2 重新設備列舉的模式 432
22.4 固化程序代碼的下載程序 434
22.4.1 控制平臺的燒錄方式 436
22.4.2 EEPROM數據的回復和燒錄 437
22.4.3 重新設備列舉 440
22.5 應用程序設計——使用Visual Basic 440
22.6 多個HID設備與單個字節(jié)的控制程序設計 444
第23章 USB I/O控制設計——應用PDIUSBD11芯片組 447
23.1 PDIUSBD11簡介 447
23.2 USB外圍設備設計 450
23.3 應用程序設計——使用Visual Basic 452