目 錄
第1章 Visual Basic 6.0簡介
1.1 初步認識Visual Basic 1-2
1.2 整合開發環境的介紹 1-5
1.3 變數型態與常數 1-9
1.4 基本語法 1-11
1.5 工具箱 1-19
1.6 撰寫第一個Visual Basic應用程式 1-28
3.6.1 第一個Visual Basic應用程式 1-29
3.6.2 儲存所建的程式檔案 1-36
3.6.3 進階程式的設計 1-38
第2章 並列埠的基本概念
2.1 並列埠的基本介紹 2-2
2.2 硬體特性 2-5
2.3 並列埠的程式設計 2-8
2.4 Centronics並列埠 2-13
2.5 軟體暫器-標準並列埠(SPP) 2-14
2.6 雙向埠 2-19
2.7 使用並埠執行8位元的輸入 2-22
2.8 Nibble模式 2-26
2.9 BIOS的並列埠模式 2-31
2.10 系統資源 2-33
2.10.1 並列埠位址 2-33
2.10.2 中斷 2-35
2.10.3 DMA通道 2-35
2.10.4 增加並列埠 2-37
第3章 並列埠的基本測試
3.1 硬體設計 3-2
3.2 Visual Basic程式設計 3-9
3.3 步進馬達輸出 3-18
3.3.1 1相激磁 3-19
3.3.2 2相激磁 3-20
3.3.3 1-2相激磁 3-21
3.3.4 步進馬達的驅動電路 3-23
第4章 並列埠的輸出/輸入應用
4.1 並列埠的輸出應用 4-2
4.2 應用Visual Basic程式來執行輸出的控制 4-5
4.3 並列埠的輸入應用 4-10
4.3.1 單一位元組輸入硬體設計 4-10
4.3.2 讀取55個位元組的資料 4-12
4.4 同時具備並列埠輸出與輸入應用的電路簡圖 4-26
4.4.1 邏輯準位的輸出 4-27
4.4.2 機械式繼電器與電子式固態繼電器 4-30
4.4.3 ULN2003A驅動器 4-32
4.5 輸入的應用 4-34
第5章 並列埠類比/數位轉換實驗
5.1 何謂A/D轉換器? 5-2
5.2 A/D轉換器的類型 5-5
5.3 A/D轉換器晶片組 5-10
5.3.1 ADC0804的特性與規格 5-10
5.3.2 ADC0809的特性與規格 5-12
5.4 8-bit的A/D轉換電路設計 5-14
5.4.1 電路設計原理 5-15
5.4.2 Visual Basic程式設計 5-17
5.5 多通道A/D轉換電路設計 5-23
5.5.1 ADC0804多通道電路設計 5-23
5.5.2 ADC0809多通道電路設計 5-29
5.6 電路設計注意事項 5-35
5.6.1 解決或是降低雜訊 5-35
5.6.2 訊號調整 5-36
5.6.3 感測器介面 5-37
5.6.4 儀表放大器 5-38
第6章 並列埠數位/類比轉換實驗
6.1 D/A轉換器的簡介 6-2
6.1.1 D/A轉換器之線性度 6-3
6.1.2 D/A轉換器之解析度 6-4
6.1.3 D/A轉換器之精確度 6-5
6.1.4 D/A轉換器之安定時間 6-6
6.2 D/A轉換器的類型 6-6
6.2.1 電流切換D/A轉換器 6-7
6.2.2 加權電阻型 6-8
6.2.3 R-2R梯型 6-9
6.3 D/A轉換器的應用與實現 6-13
6.3.1 D/A轉換器-DAC0800 6-13
6.3.2 D/A轉換器-AD558 6-18
第7章 ECP與EPP的特性
7.1 IEEE 1284標準 7-2
7.2 EPP,增強型並列埠 7-2
7.3 EPP暫存器介面 7-9
7.4 ECP,擴充功能並列埠 7-11
7.5 ECP硬體的特性 7-13
7.6 ECP交握步驟 7-15
7.7 ECP軟體及暫存器介面 7-19
第8章 EPP模式的應用設計
8.1 EPP並列埠的基本應用 8-1
8.1.1 硬體電路設計 8-3
8.1.2 Visual Basic程式設計 8-6
8.2 使用8255晶片組擴充EPP並列埠模式 8-8
8.3 並列介面埠連結8255晶片組之電路設計 8-18
8.3.1 硬體電路設計 8-18
8.3.2 Visual Basic程式設計 8-20
第9章 串列週邊埠的基本概念
9.1 串列傳輸的格式與協定 9-2
9.2 通訊的基本概念 9-3
9.3 RS-232C規格的介紹 9-5
9.3.1 電氣特性 9-6
9.3.2 連接器的機械特性 9-7
9.3.3 RS-232C的介面信號 9-11
9.4 RS-232常用的接線方式 9-13
9.4.1 虛擬(NULL)Modem的應用 9-15
9.4.2 迴路(LOOPBACK)測試 9-17
9.5 RS-232資料格式 9-18
9.6 UART的概念 9-21
9.7 UART與RS-232C的信號準位轉換 9-25
9.8 PC主機的資源 9-28
第10章 RS-232 Visual Basic程式設計
10.1 基本概念 10-2
10.2 單一通道A/D轉換 10-9
10.2.1 單晶片微處理機端 10-10
10.2.2 PC主機端-Visual Basic程式 10-12
10.3 4通道RS-232串列傳輸 10-24
10.4 並列埠轉換至RS-232串列埠 10-32
第11章 RS-485串列介面的應用
11.1 RS-422與RS-485的基本概念 11-2
11.2 RS-232、RS-422與RS-485串列介面的比較 11-4
11.3 RS-422與RS-485串列介面標準 11-8
11.3.1 RS-422電氣規定 11-8
11.3.2 RS-485電氣規定 11-10
11.3.3 RS-422與RS-485的系統配置 11-12
11.3.4 RS-422/485的接地問題 11-17
11.3.5 RS-422與RS-485的瞬間保護 11-20
11.4 增加RS-485串列埠 11-22
11.5 RS-485串列傳輸的設計與應用 11-27
第12章 IrDA,紅外線傳輸介面
12.1 IrDA紅外線通訊簡介 12-2
12.2 IrDA規格的差異 12-4
12.3 IrDA技術標準 12-5
12.4 IrDA的調變特性 12-7
12.5 IrDA技術的規範 12-12
12.6 IrDA Control 12-18
12.7 Windows作業系統下之IrDA技術探討 12-20
12.8 Windows作業系統的測試 12-22
第13章 IrDA紅外線的接收與發射
13.1 硬體設計 13-2
13.1.1 IrDA收發器-HSDL3201 13-2
13.1.2 IrDA編碼與解碼器-HSDL7001 13-5
13.2 電路設計 13-12
13.3 Visual Basic程式設計 13-12
第14章 USB的基本架構與特性
14.1 什麼是USB? 14-2
14.2 如何安裝USB裝置? 14-5
14.3 USB的匯流排結構 14-9
14.4 USB資料流的模式與管線的概念 14-12
14.5 USB的傳輸類型 14-14
14.6 USB的連接器與纜線 14-18
14.6.1 機械結構 14-18
14.6.2 USB介面的電氣特性 14-21
14.6.3 USB匯流排狀態 14-23
14.6.4 USB的電源管理 14-30
14.7 USB的編碼方式 14-31
14.8 USB介面的通信協定 14-32
14.8.1 資料欄位的格式 14-33
14.8.2 封包格式 14-37
14.8.3 資料交易格式 14-41
14.9 分割資料交易 14-47
14.10 USB描述元 14-51
14.11 USB的標準裝置要求 14-56
14.12 裝置群組 14-58
第15章 USB晶片組與週邊裝置的設計
15.1 USB晶片組的簡介 15-2
15.2 USB介面晶片組 15-4
15.3 內含USB單元的微處理機 15-9
15.4 USB 2.0微處理機與介面晶片組 15-13
15.5 USB晶片組的選擇 15-17
15.6 USB週邊裝置與驅動程式 15-21
15.7 USB週邊裝置的發展重點 15-23
第16章 人性化介面裝置群組的基本概念
16.1 HID群組簡介 16-2
16.2 HID群組的特性與限制 16-2
16.3 HID群組的基本要求 16-4
16.4 HID群組的韌體要求 16-6
16.5 辨識HID群組 16-7
16.5.1 描述元的內容 16-7
16.5.2 啟動介面(Boot Interfaces) 16-11
16.5.3 版本修訂的相容性 16-12
16.5.4 HID群組描述元 16-13
16.6 報告描述元 16-14
16.6.1 描述元工具(Descriptor Tool) 16-20
16.6.2 相容測試程式 16-22
16.7 HID群組要求 16-23
第17章 USB應用程式的設計概念
17.1 主機通訊的基本概念 17-2
17.2 主機如何發現裝置 17-3
17.3 所需之API相關文件 17-4
17.4 HID裝置驅動程式與DLL的特性 17-6
17.5 HID函式 17-9
17.6 API函式與Visual Basic的基本概念 17-12
17.6.1 宣告 17-14
17.6.2 ByRef與ByVal傳遞的格式 17-18
17.6.3 傳遞空值 17-20
17.6.4 函式與副程式 17-20
17.6.5 DLL名稱的使用 17-22
17.6.6 字串格式 17-22
17.6.7 結構 17-23
17.6.8 如何呼叫函式 17-24
第18章 API函式的基本介紹
18.1 Windows與HID裝置通訊的API函式 18-1
18.2 尋找所有的HID裝置 18-2
18.2.1 取得HID群組的GUID-HidD_GetHidGuid函式 18-2
18.2.2 取得所有HID訊息的結構陣列
-SetupDiGetClassDevs函式 18-4
18.2.3 辨識每一個HID介面
-SetupDiEnumDeviceInterfaces函式 18-5
18.2.4 取得裝置的路徑
-SetupDiGetDeviceInterfaceDetail函式 18-7
18.2.5 取得裝置的代碼-CreateFile函式 18-10
18.2.6 取得廠商與產品ID-HidD_GetAttributes函式 18-11
18.3 檢查HID裝置功能 18-12
18.3.1 取得包含裝置能力的緩衝區指標
-HidD_GetPreparsedData函式 18-12
18.3.2 取得裝置的能力-HidP_GetCaps函式 18-13
18.3.3 取得數值的能力-HidP_GetValueCaps函式 18-15
18.4 讀取與寫入資料 18-17
18.4.1 傳送輸出報告(Output Report)給裝置
-WriteFile函式 18-18
18.4.2 從裝置讀取輸入報告-ReadFile函式 18-20
18.4.3 傳送特性報告給裝置-HidD_SetFeature函式 18-23
18.4.4 從裝置讀取特性報告給-Get_Feature函式 18-23
18.5 關閉通訊-CloseHandle函式 18-24
第19章 USB介面應用程式設計
19.1 HID API函式的引用 19-1
19.2 打開HID裝置的通訊步驟 19-13
19.3 Visual Basic表單程式設計 19-15
19.3.1 取得HID群組GUID碼-HidD_GetHidGuid函式 19-20
19.3.2 取得所有HID訊息的結構陣列
SetupDiGetClassDevs函式 19-22
19.3.3 辨識每一個HID介面
-SetupDiEnumDeviceInterfaces函式 19-24
19.3.4 取得裝置的路徑
-SetupDiGetDeviceInterfaceDetail函式 19-26
19.3.5 取得裝置的代碼-CreateFile函式 19-29
19.3.6 取得販售商與產品ID-HidD_GetAttributes函式 19-31
19.3.7 取得包含裝置能旳緩衝區指標
-HidD_GetPreparsedData函式 19-33
19.3.8 取得裝置的能力-HidP_GetCaps函式 19-34
19.3.9 取得數值的能力-HidP_GetValusCaps函式 19-36
19.3.10 傳送輸出報告給置-WriteFile函式 19-37
19.3.11 從裝置讀取輸入報告-ReadFile函式 19-39
19.4 完整測試程式 19-42
第20章 動態鏈結函式庫(DLL)檔案的設計與製作
20.1 DLL檔案的設計方法與步驟 20-1
20.2 多個USB裝置控制的DLL設計 20-19
20.3 個別位元組傳輸的DLL設計 20-24
第21章 USB I/O控制設計-應用CY7C63101晶片組
21.1 USB週邊裝置設計 21-1
21.2 CY7C63x系列之晶片組介紹 21-4
21.3 USB週邊裝置的程式設計 21-8
21.3.1 韌體程式碼設計 21-8
21.3.2 應用程式設計-使用Visual Basic程式 21-9
第22章 USB I/O控制設計-應用EZ-USB(FX)晶片組
22.1 USB週邊裝置的硬體設計 22-1
22.2 裝置列舉與重新裝置列舉 22-4
22.3 韌體程式碼的下載功能 22-6
22.3.1 韌體程式碼下載的裝置要求 22-7
22.3.2 重新裝置列舉的模式 22-8
22.4 韌體程式碼的下載程序 22-11
22.4.1 控制平台的燒錄方式 22-14
22.4.2 EEPROM資料的回復與燒錄 22-16
22.4.3 重新裝置列舉 22-20
22.5 應用程式設計-使用Visual Basic程式 22-22
22.6 多個HID裝置,個別位元組之控制程式設計 22-28
第23章 USB I/O控制設計-應用PDIUSBD11晶片組
23.1 PDIUSBD11的基本介紹 23-1
23.2 USB週邊裝置設計 23-6
23.3 應用程式設計-使用Visual Basic程式 23-9
參考資料