亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

火災(zāi)檢測(cè)

  • AVR系列單片機C語言編程與應用實例

    本書針對Atmel公司的AVR系列單片機和ImageCraft公司的ICC AVR開發(fā)環(huán)境,詳細地介紹了AT90LS8535的C語言程序設(shè)計。全書共有13章,其內(nèi)容既涉及到了單片機的結(jié)構(gòu)原理、指令系統(tǒng)、內(nèi)容資源和外部功能擴展,又包含了單片機的編程工具——ICC AVR C編程器的數(shù)據(jù)類型、控制流、函數(shù)和指針等。本書的特點是:深入淺出,從最基本的概念開始,循序漸進地講解單片機的應用開發(fā);列舉了大量實例,使讀者能從實際應用中掌握單片機的開發(fā)與應用技術(shù)。本書適合作為從事單片機開發(fā)人員的參考用書。書中先后講解了C語言基礎(chǔ)、AVR單片機基礎(chǔ),并舉了一些簡單的實例。本書非常適合初學者。 【目錄信息】 第1章 單片機系統(tǒng)概述 1. 1 AVR系列單片機的特點 1. 2 AT90系列單片機簡介 第2章 AT90LS8535單片機的基礎(chǔ)知識 2. 1 AT90LS8535單片機的總體結(jié)構(gòu) 2. 1. 1 AT90LS8535單片機的中央處理器 2. 1. 2 AT90LS8535單片機的存儲器組織 2. 1. 3 AT90LS8535單片機的I/O接口 2. 1. 4 AT90LS8535單片機的內(nèi)部資源 2. 1. 5 AT90LS8535單片機的時鐘電路 2. 1. 6 AT90LS8535單片機的系統(tǒng)復位 2. 1. 7 AT90LS8535單片機的節(jié)電方式 2. 1. 8 AT90LS8535單片機的芯片引腳 2. 2 AT90LS8535單片機的指令系統(tǒng) 2. 2. 1 匯編指令格式 2. 2. 2 尋址方式 2. 2. 3 偽指令 2. 2. 4 指令類型及數(shù)據(jù)操作方式 2. 3 應用程序設(shè)計 2. 3. 1 程序設(shè)計方法 2. 3. 2 應用程序舉例 第3章 AT90LS8535單片機的C編程 3. 1 支持高級語言編程的AVR系列單片機 3. 2 AVR的C編譯器 3. 3 ICCAVR介紹 3. 3. 1 安裝ICCAVR 3. 3. 2 設(shè)置ICCAVR 3. 4 用ICCAVR編寫應用程序 3. 5 下載程序文件 第4章 數(shù)據(jù)類型. 運算符和表達式 4. 1 ICCAVR支持的數(shù)據(jù)類型 4. 2 常量與變量 4. 2. 1 常量 4. 2. 2 變量 4. 3 AT90LS8535的存儲空間 4. 4 算術(shù)和賦值運算 4. 4. 1 算術(shù)運算符和算術(shù)表達式 4. 4. 2 賦值運算符和賦值表達式 4. 5 邏輯運算 4. 6 關(guān)系運算 4. 7 位操作 4. 7. 1 位邏輯運算 4. 7. 2 移位運算 4. 8 逗號運算 第5章 控制流 5. 1 C語言的結(jié)構(gòu)化程序設(shè)計 5. 1. 1 順序結(jié)構(gòu) 5. 1. 2 選擇結(jié)構(gòu) 5. 1. 3 循環(huán)結(jié)構(gòu) 5. 2 選擇語句 5. 2. 1 if語句 5. 2. 2 switch分支 5. 2. 3 選擇語句的嵌套 5. 3 循環(huán)語句 5. 3. 1 while語句 5. 3. 2 do…while語句 5. 3. 3 for語句 5. 3. 4 循環(huán)語句嵌套 5. 3. 5 break語句和continue語句 第6章 函數(shù) 6. 1 函數(shù)的定義 6. 1. 1 函數(shù)的定義的一般形式 6. 1. 2 函數(shù)的參數(shù) 6. 1. 3 函數(shù)的值 6. 2 函數(shù)的調(diào)用 6. 2. 1 函數(shù)的一般調(diào)用 6. 2. 2 函數(shù)的遞歸調(diào)用 6. 2. 3 函數(shù)的嵌套調(diào)用 6. 3 變量的類型及其存儲方式 6. 3. 1 局部變量 6. 3. 2 局部變量的存儲方式 6. 3. 3 全局變量 6. 3. 4 全局變量的存儲方式 6. 4 內(nèi)部函數(shù)和外部函數(shù) 6. 4. 1 內(nèi)部函數(shù) 6. 4. 2 外部函數(shù) 第7章 指針 7. 1 指針和指針變量 7. 2 指針變量的定義和引用 7. 2. 1 指針變量的定義 7. 2. 2 指針變量的引用 7. 2. 3 指針變量作為函數(shù)參數(shù) 7. 3 數(shù)組與指針 7. 3. 1 指向數(shù)組元素的指針變量 7. 3. 2 數(shù)組元素的引用 通過指針 7. 3. 3 數(shù)組名作為函數(shù)參數(shù) 7. 3. 4 指向多維數(shù)組的元素的指針變量 7. 4 字符串與指針 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指針變量與字符數(shù)組的區(qū)別 7. 5 函數(shù)與指針 7. 5. 1 函數(shù)指針變量 7. 5. 2 指針型函數(shù) 7. 6 指向指針的指針 7. 7 有關(guān)指針數(shù)據(jù)類型和運算小結(jié) 7. 7. 1 有關(guān)指針的數(shù)據(jù)類型的小結(jié) 7. 7. 2 指針運算的小結(jié) 第8章 結(jié)構(gòu)體和共用體 8. 1 結(jié)構(gòu)體的定義和引用 8. 1. 1 結(jié)構(gòu)體類型變量的定義 8. 1. 2 結(jié)構(gòu)體類型變量的引用 8. 2 結(jié)構(gòu)類型的說明 8. 3 結(jié)構(gòu)體變量的初始化和賦值 8. 3. 1 結(jié)構(gòu)體變量的初始化 8. 3. 2 結(jié)構(gòu)體變量的賦值 8. 4 結(jié)構(gòu)體數(shù)組 8. 4. 1 結(jié)構(gòu)體數(shù)組的定義 8. 4. 2 結(jié)構(gòu)體數(shù)組的初始化 8. 5 指向結(jié)構(gòu)體類型變量的指針 8. 5. 1 指向結(jié)構(gòu)體變量的指針 8. 5. 2 指向結(jié)構(gòu)體數(shù)組的指針 8. 5. 3 指向結(jié)構(gòu)體變量的指針做函數(shù)參數(shù) 8. 6 共用體 8. 6. 1 共用體的定義 8. 6. 2 共用體變量的引用 第9章 A190LS8535的內(nèi)部資源 9. 1 I/O 口 9. 1. 1 端口A 9. 1. 2 端口B 9. 1. 3 端口C 9. 1. 4 端口D 9. 1. 5 I/O口的編程 9. 2 中斷 9. 2. 1 單片機的中斷功能 9. 2. 2 AT90LS8535單片機的中斷系統(tǒng) 9. 2. 3 1CCAVRC編譯器的中斷操作 9. 2. 4 中斷的編程 9. 3 串行數(shù)據(jù)通信 9. 3. 1 數(shù)據(jù)通信基礎(chǔ) 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的異步串行接口 9. 4 定時/計數(shù)器 9. 4. 1 定時/計數(shù)器的分頻器 9. 4. 2 8位定時/計數(shù)器0 9. 4. 3 16位定時/計數(shù)器1 9. 4. 4 8位定時/計數(shù)器2 9. 5 EEPROM 9. 5. 1 與EEPROM有關(guān)的寄存器 9. 5. 2 EEPROM讀/寫操作 9. 5. 3 EEPROM的應用舉例 9. 6 模擬量輸入接口 9. 6. 1 模數(shù)轉(zhuǎn)換器的結(jié)構(gòu) 9. 6. 2 ADC的使用 9. 6. 3 與模數(shù)轉(zhuǎn)換器有關(guān)的寄存器 9. 6. 4 ADC的噪聲消除 9. 6. 5 ADC的應用舉例 9. 7 模擬比較器 9. 7. 1 模擬比較器的結(jié)構(gòu) 9. 7. 2 與模擬比較器有關(guān)的寄存器 9. 7. 3 模擬比較器的應用舉例 第10章 AT90LS8535的人機接口編程 10. 1 鍵盤接口 10. 1. 1 非矩陣式鍵盤 10. 1. 2 矩陣式鍵盤 10. 2 LED顯示輸出 10. 2. 1 LED的靜態(tài)顯示 10. 2. 2 LED的動態(tài)掃描顯示 10. 2. 3 動態(tài)掃描顯示專用芯片MC14489 10. 3 LCD顯示輸出 10. 3. 1 字符型LCD 10. 3. 2 點陣型LCD 10. 4 ISD2500系列語音芯片的編程 10. 4. 1 ISD2500的片內(nèi)結(jié)構(gòu)和引腳 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和單片機的接口及編程 10. 5 TP-uP微型打印機 10. 5. 1 TP-uP打印機的接口和邏輯時序 10. 5. 2 P-uP打印機的打印命令和字符代碼 10. 5. 3 AT90LS8535與TP-uP系列打印機的接口及編程 10. 6 IC卡 10. 6. 1 IC卡讀寫裝置 10. 6. 2 IC卡軟件 第11章 AT90LS8535的外圍擴展 11. 1 簡單I/O擴展芯片 11. 1. 1 用74LS377擴展數(shù)據(jù)輸出接口 11. 1. 2 數(shù)據(jù)輸入接口 11. 2 模擬量輸出 11. 2. 1 D/A轉(zhuǎn)換器簡介 11. 2. 2 8位數(shù)模轉(zhuǎn)換器DAC0832 11. 2. 3 8位數(shù)模轉(zhuǎn)換器與單片機的接口及編程 11. 2. 4 12位數(shù)模轉(zhuǎn)換器DACl230 11. 2. 5 12位數(shù)模轉(zhuǎn)換器與單片機的接口及編程 11. 3 可編程I/O擴展芯片8255A 11. 3. 1 8255A的引腳和內(nèi)部結(jié)構(gòu) 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 帶片內(nèi)RAM的I/O擴展芯片8155 11. 4. 1 8155的引腳和內(nèi)部結(jié)構(gòu). 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定時/計數(shù)器 11. 4. 4 8155的命令和狀態(tài)字 11. 4. 5 AT90LS8535與8155的接口及編程 11. 5 定時/計數(shù)器芯片8253 11. 5. 1 8253的信號引腳和邏輯結(jié)構(gòu) 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535與8253的接口及編程 11. 6 實時時鐘芯片DS1302 11. 6. 1 DS1302的引腳和內(nèi)部結(jié)構(gòu) 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535與DS1302的接口與編程 11. 7 數(shù)字溫度傳感器DS18B20 11. 7. 1 DSl8B20的引腳和內(nèi)部結(jié)構(gòu) 11. 7. 2 DS18B20的溫度測量 11. 7. 3 AT90LS8535與DS18B20的接口與編程 第12章 AT90LS8535的通信編程 12. 1 串口通信 12. 1. 1 異步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C總線 12. 2. 1 I2C總線協(xié)議 12. 2. 2 采用AT90LS8535的并行I/O口模擬I2C總線 12. 3 CAN總線 12. 3. 1 CAN總線的特點 12. 3. 2 CAN協(xié)議的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535與SJA1000的接口及編程 12. 4 AT90LS8535單片機與PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 應用實例 第13章 系統(tǒng)設(shè)計中的程序處理方法 13. 1 數(shù)字濾波處理 13. 1. 1 平滑濾波 13. 1. 2 中值濾波 13. 1. 3 程序判斷濾波 13. 2 非線性處理 13. 2. 1 查表法 13. 2. 2 線性插值法

    標簽: AVR 單片機 C語言編程 應用實例

    上傳時間: 2013-11-04

    上傳用戶:元宵漢堡包

  • c#入門經(jīng)典第4版全書pdf

    《C#入門經(jīng)典(第4版)》通過C#可以很容易地學習.NET Framework 3.5的強大功能,所以C#是開始您編程生涯的絕佳方式。《C#入門經(jīng)典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數(shù)據(jù)源的使用等內(nèi)容。學習了新的編程技巧后,《C#入門經(jīng)典(第4版)》介紹了如何高效地部署應用程序和服務,論述了許多高級技術(shù),如圖形化編程。另外,還探討了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有這些內(nèi)容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的變化。各章的樣例代碼和示例還可以用于創(chuàng)建強大且安全的應用程序。 c#入門經(jīng)典第4版目錄   第Ⅰ部分 C# 語 言   第1章 C#簡介 3   1.1 什么是.NET Framework 3   1.1.1 NET Framework的內(nèi)容 4   1.1.2 用.NET Framework編寫應用程序 4   1.2 什么是C# 7   1.2.1 用C#能編寫什么樣的應用程序 7   1.2.2 本書中的C# 8   1.3 Visual Studio 2008 8   1.3.1 Visual Studio 2008 Express 產(chǎn)品 9   1.3.2 解決方案 9   1.4 小結(jié) 9   第2章 編寫C#程序 10   2.1 開發(fā)環(huán)境 10   2.1.1 Visual Studio 2008 11   2.1.2 Visual C# 2008 ExpressEdition 13   2.2 控制臺應用程序 13   2.2.1 Solution Explorer 16   2.2.2 Properties窗口 17   2.2.3 Error List窗口 17   2.3 Windows Forms應用程序 18   2.4 小結(jié) 22   第3章 變量和表達式 23   3.1 C#的基本語法 23   3.2 C#控制臺應用程序的基本結(jié)構(gòu) 25   3.3 變量 27   3.3.1 簡單類型 27   3.3.2 變量的命名 31   3.3.3 字面值 32   3.3.4 變量的聲明和賦值 33   3.4 表達式 34   3.4.1 數(shù)學運算符 34   3.4.2 賦值運算符 38   3.4.3 運算符的優(yōu)先級 39   3.4.4 名稱空間 39   3.5 小結(jié) 42   3.6 練習 43   第4章 流程控制 44   4.1 布爾邏輯 44   4.1.1 位運算符 46   4.1.2 布爾賦值運算符 50   4.1.3 運算符的優(yōu)先級更新 51   4.2 goto語句 52   4.3 分支 53   4.3.1 三元運算符 53   4.3.2 if語句 54   4.3.3 switch語句 57   4.4 循環(huán) 60   4.4.1 do循環(huán) 61   4.4.2 while循環(huán) 63   4.4.3 for循環(huán) 65   4.4.4 循環(huán)的中斷 69   4.4.5 無限循環(huán) 70   4.5 小結(jié) 70   4.6 練習 71   第5章 變量的更多內(nèi)容 72   5.1 類型轉(zhuǎn)換 72   5.1.1 隱式轉(zhuǎn)換 72   5.1.2 顯式轉(zhuǎn)換 74   5.1.3 使用Convert命令進行 顯式轉(zhuǎn)換 76   5.2 復雜的變量類型 79   5.2.1 枚舉 79   5.2.2 結(jié)構(gòu) 83   5.2.3 數(shù)組 86   5.3 字符串的處理 91   5.4 小結(jié) 95   5.5 練習 96   第6章 函數(shù) 97   6.1 定義和使用函數(shù) 98   6.1.1 返回值 99   6.1.2 參數(shù) 101   6.2 變量的作用域 107   6.2.1 其他結(jié)構(gòu)中變量的作用域 110   6.2.2 參數(shù)和返回值與全局數(shù)據(jù) 111   6.3 Main()函數(shù) 113   6.4 結(jié)構(gòu)函數(shù) 114   6.5 函數(shù)的重載 115   6.6 委托 117   6.7 小結(jié) 119   6.8 練習 120   第7章 調(diào)試和錯誤處理 121   7.1 VS和VCE中的調(diào)試 121   7.1.1 非中斷(正常)模式下的調(diào)試 122   7.1.2 中斷模式下的調(diào)試 131   7.2 錯誤處理 139   7.2.1 try...catch...finally 140   7.2.2 列出和配置異常 144   7.2.3 異常處理的注意事項 145   7.3 小結(jié) 146   7.4 練習 146   第8章 面向?qū)ο缶幊毯喗?147   8.1 什么是面向?qū)ο缶幊?147   8.1.1 什么是對象 148   8.1.2 所有的東西都是對象 151   8.1.3 對象的生命周期 151   8.1.4 靜態(tài)和實例類成員 152   8.2 OOP技術(shù) 153   8.2.1 接口 153   8.2.2 繼承 155   8.2.3 多態(tài)性 156   8.2.4 對象之間的關(guān)系 157   8.2.5 運算符重載 159   8.2.6 事件 159   8.2.7 引用類型和值類型 160   8.3 Windows應用程序中的OOP 160   8.4 小結(jié) 162   8.5 練習 163   第9章 定義類 164   9.1 C#中的類定義 164   9.2 System.Object 169   9.3 構(gòu)造函數(shù)和析構(gòu)函數(shù) 170   9.4 VS和VCE中的OOP工具 174   9.4.1 Class View窗口 174   9.4.2 對象瀏覽器 176   9.4.3 添加類 177   9.4.4 類圖 177   9.5 類庫項目 179   9.6 接口和抽象類 182   9.7 結(jié)構(gòu)類型 184   9.8 小結(jié) 186   9.9 練習 186   第10章 定義類成員 187   10.1 成員定義 187   10.1.1 定義字段 187   10.1.2 定義方法 188   10.1.3 定義屬性 189   10.1.4 在類圖中添加成員 194   10.1.5 重制成員 196   10.1.6 自動屬性 197   10.2 類成員的其他議題 197   10.2.1 隱藏基類方法 198   10.2.2 調(diào)用重寫或隱藏的基類方法 199   10.2.3 嵌套的類型定義 200   10.3 接口的實現(xiàn) 201   10.4 部分類定義 204   10.5 部分方法定義 206   10.6 示例應用程序 207   10.6.1 規(guī)劃應用程序 207   10.6.2 編寫類庫 208   10.6.3 類庫的客戶應用程序 214   10.7 小結(jié) 215   10.8 練習 216   第11章 集合、比較和轉(zhuǎn)換 217   11.1 集合 217   11.1.1 使用集合 218   11.1.2 定義集合 224   11.1.3 索引符 225   11.1.4 給CardLib添加Cards集合 227   11.1.5 關(guān)鍵字值集合和IDictionary 229   11.1.6 迭代器 231   11.1.7 深度復制 236   11.1.8 給CardLib添加深度復制 238   11.2 比較 239   11.2.1 類型比較 240   11.2.2 值比較 244   11.3 轉(zhuǎn)換 259   11.3.1 重載轉(zhuǎn)換運算符 259   11.3.2 as運算符 260   11.4 小結(jié) 261   11.5 練習 262   第12章 泛型 263   12.1 泛型的概念 263   12.2 使用泛型 264   12.2.1 可空類型 264   12.2.2 System.Collections.Generic 名稱空間 271   12.3 定義泛型 279   12.3.1 定義泛型類 280   12.3.2 定義泛型接口 291   12.3.3 定義泛型方法 291   12.3.4 定義泛型委托 293   12.4 小結(jié) 293   12.5 練習 293   第13章 其他OOP技術(shù) 295   13.1 ::運算符和全局名稱空間   13.2 定制異常 296   13.2.1 異常基類 297   13.2.2 給CardLib添加定制異常 297   13.3 事件 298   13.3.1 什么是事件 298   13.3.2 使用事件 300   13.3.3 定義事件 302   13.4 擴展和使用CardLib 309   13.5 小結(jié) 317   13.6 練習 317   第14章 C# 3.0語言的改進 318   14.1 初始化器 318   14.1.1 對象初始化器 319   14.1.2 集合初始化器 320   14.2 類型推斷 323   14.3 匿名類型 325   14.4 擴展方法 328   14.5 ?表達式 333   14.5.1 復習匿名方法 333   14.5.2 把?表達式用于匿名方法 334   14.5.3 ?表達式的參數(shù) 337   14.5.4 ?表達式的語句體 337   14.5.5 ?表達式用作委托和表達式樹 338   14.5.6 ?表達式和集合 339   14.6 小結(jié) 342   14.7 練習 342   第Ⅱ部分 Windows 編 程   第15章 Windows編程基礎(chǔ) 347   15.1 控件 347   15.1.1 屬性 348   15.1.2 控件的定位、??亢蛯R 349   15.1.3 事件 350   15.2 Button控件 352   15.2.1 Button控件的屬性 352   15.2.2 Button控件的事件 353   15.3 Label和LinkLabel控件 354   15.4 TextBox控件 355   15.4.1 TextBox控件的屬性 355   15.4.2 TextBox控件的事件 356   15.5 RadioButton和CheckBox控件 363   15.5.1 RadioButton控件的屬性 364   15.5.2 RadioButton控件的事件 364   15.5.3 CheckBox控件的屬性 364   15.5.4 CheckBox控件的事件 364   15.5.5 GroupBox控件 365   15.6 RichTextBox控件 368   15.6.1 RichTextBox控件的屬性 368   15.6.2 RichTextBox控件的事件 369   15.7 ListBox和CheckedListBox控件 374   15.7.1 ListBox控件的屬性 375   15.7.2 ListBox控件的方法 376   15.7.3 ListBox控件的事件 376   15.8 ListView控件 378   15.8.1 ListView控件的屬性 378   15.8.2 ListView控件的方法 380   15.8.3 ListView控件的事件 381   15.8.4 ListViewItem 381   15.8.5 ColumnHeader 381   15.8.6 ImageList控件 381   15.9 TabControl控件 388   15.9.1 TabControl控件的屬性 389   15.9.2 使用TabControl控件 389   15.10 小結(jié) 392   15.11 練習 392   第16章 Windows Forms的高級功能 393   16.1 菜單和工具欄 393   16.1.1 兩個實質(zhì)一樣的控件 393   16.1.2 使用MenuStrip控件 394   16.1.3 手工創(chuàng)建菜單 394   16.1.4 ToolStripMenuItem控件的其他屬性 397   16.1.5 給菜單添加功能 397   16.2 工具欄 399   16.2.1 ToolStrip控件的屬性 399   16.2.2 ToolStrip的項 400   16.2.3 StatusStrip控件 405   16.2.4 StatusStripStatusLabel的屬性 405   16.3 SDI和MDI應用程序 407   16.4 創(chuàng)建控件 415   16.4.1 LabelTextbox控件 417   16.4.2 調(diào)試用戶控件 420   16.4.3 擴展LabelTextbox控件 421   16.5 小結(jié) 424   16.6 練習 424   第17章 使用通用對話框 425   17.1 通用對話框 425   17.2 如何使用對話框 426   17.3 文件對話框 427   17.3.1 OpenFileDialog 427   17.3.2 SaveFileDialog 438   17.4 打印 442   17.4.1 打印結(jié)構(gòu) 442   17.4.2 打印多個頁面 447   17.4.3 PageSetupDialog 449   17.4.4 PrintDialog 451   17.5 打印預覽 455   17.5.1 PrintPreviewDialog 455   17.5.2 PrintPreviewControl 456   17.6 FontDialog和ColorDialog 457   17.6.1 FontDialog 457   17.6.2 ColorDialog 459   17.6.3 FolderBrowserDialog 460   17.7 小結(jié) 461   17.8 練習 461   第18章 部署Windows應用程序 463   18.1 部署概述 463   18.2 ClickOnce部署 464   18.3 Visual Studio安裝和部署項目類型 473   18.4 Microsoft Windows安裝程序結(jié)構(gòu) 474   18.4.1 Windows Installer術(shù)語 474   18.4.2 Windows Installer的優(yōu)點 476   18.5 為SimpleEditor創(chuàng)建安裝軟件包 476   18.5.1 規(guī)劃安裝內(nèi)容 476   18.5.2 創(chuàng)建項目 477   18.5.3 項目屬性 478   18.5.4 安裝編輯器 480   18.5.5 File System編輯器 481   18.5.6 File Types編輯器 483   18.5.7 Launch Condition編輯器 485   18.5.8 User Interface編輯器 485   18.6 構(gòu)建項目 488   18.7 安裝 489   18.7.1 Welcome 489   18.7.2 Read Me 489   18.7.3 License Agreement 490   18.7.4 Optional Files 490   18.7.5 選擇安裝文件夾 491   18.7.6 確認安裝 492   18.7.7 進度 492   18.7.8 結(jié)束安裝 493   18.7.9 運行應用程序 493   18.7.10 卸載 493   18.8 小結(jié) 493   18.9 練習 494   第Ⅲ部分 Web 編 程   第19章 Web編程基礎(chǔ) 497   19.1 概述 497   19.2 ASP .NET運行庫 498   19.3 創(chuàng)建簡單的Web頁面 498   19.4 服務器控件 504   19.5 事件處理程序 505   19.6 輸入的有效性驗證 509   19.7 狀態(tài)管理 512   19.7.1 客戶端的狀態(tài)管理 513   19.7.2 服務器端的狀態(tài)管理 515   19.8 身份驗證和授權(quán) 517   19.8.1 身份驗證的配置 518   19.8.2 使用安全控件 522   19.9 讀寫SQL Server數(shù)據(jù)庫 524   19.10 小結(jié) 530   19.11 練習 531   第20章 Web高級編程 532   20.1 母版頁 532   20.2 站點導航 537   20.3 用戶控件 539   20.4 個性化配置 541   20.4.1 個性化配置組 543   20.4.2 組件的個性化配置 543   20.4.3 定制數(shù)據(jù)類型中的個性化配置 543   20.4.4匿名用戶的個性化配置 544   20.5 Web Parts 545   20.5.1 WebPartManager控件 546   20.5.2 WebPartZone控件 546   20.5.3 EditorZone控件 548   20.5.4 CatalogZone控件 550   20.5.5 ConnectionsZone控件 551   20.6 JavaScript 554   20.6.1 Script元素 555   20.6.2 變量的聲明 555   20.6.3 定義函數(shù) 555   20.6.4 語句 556   20.6.5 對象 556   20.7 小結(jié) 560   20.8 練習 560   第21章 Web服務 561   21.1 Web服務推出之前 561   21.1.1 遠程過程調(diào)用(RPC) 562   21.1.2 SOAP 563   21.2 使用Web服務的場合 563   21.2.1 賓館旅行社代理應用程序 564   21.2.2 圖書發(fā)布應用程序 564   21.2.3 客戶應用程序的類型 564   21.2.4 應用程序的體系結(jié)構(gòu) 564   21.3 Web服務的體系結(jié)構(gòu) 565   21.3.1 可以調(diào)用的方法 565   21.3.2 調(diào)用方法 566   21.3.3 SOAP和防火墻 567   21.3.4 WS-I基本個性化配置 568   21.4 Web服務和.NET Framework 568   21.4.1 創(chuàng)建Web服務 568   21.4.2 客戶程序 570   21.5 創(chuàng)建簡單的ASP .NET Web服務 571   21.6 測試Web服務 572   21.7 執(zhí)行Windows客戶程序 574   21.8 異步調(diào)用服務 577   21.9 執(zhí)行ASP .NET客戶程序 580   21.10 傳送數(shù)據(jù) 581   21.11 小結(jié) 584   21.12 練習 584   第22章 Ajax編程 586   22.1 Ajax概述 586   22.2 UpdatePanel控件 587   22.3 Timer控件 591   22.4 UpdateProgress控件 592   22.5 Web服務 594   22.6 擴展控件 598   22.7 小結(jié) 600   22.8 練習 600   第23章 部署Web應用程序 601   23.1 Internet Information Services 601   23.2 IIS配置 602   23.3 復制Web站點 604   23.4 發(fā)布Web站點 606   23.5 Windows安裝程序 607   23.5.1 創(chuàng)建安裝程序 607   23.5.2 安裝Web 應用程序 609   23.6 小結(jié) 610   23.7 練習 610   第Ⅳ部分 數(shù) 據(jù) 訪 問   第24章 文件系統(tǒng)數(shù)據(jù) 613   24.1 流 613   24.2 用于輸入和輸出的類 614   24.2.1 File類和Directory類 615   24.2.2 FileInfo類 616   24.2.3 DirectoryInfo類 617   24.2.4 路徑名和相對路徑 618   24.2.5 FileStream對象 618   24.2.6 StreamWriter對象 624   24.2.7 StreamReader對象 626   24.2.8 讀寫壓縮文件 632   24.3 序列化對象 635   24.4 監(jiān)控文件結(jié)構(gòu) 639   24.5 小結(jié) 645   24.6 練習 646   第25章 XML 647   25.1 XML文檔 647   25.1.1 XML元素 647   25.1.2 屬性 648   25.1.3 XML聲明 649   25.1.4 XML文檔的結(jié)構(gòu) 649   25.1.5 XML名稱空間 650   25.1.6 格式良好并有效的XML 651   25.1.7 驗證XML文檔 651   25.2 在應用程序中使用XML 654   25.2.1 XML文檔對象模型 655   25.2.2 選擇節(jié)點 663   25.3 小結(jié) 670   25.4 練習 671   第26章 LINQ簡介 672   26.1 LINQ的變體 673   26.2 第一個LINQ查詢 673   26.2.1 用var關(guān)鍵字聲明結(jié)果變量 675   26.2.2 指定數(shù)據(jù)源:from子句 675   26.2.3 指定條件:where子句 675   26.2.4 指定元素:select子句 676   26.2.5 完成:使用foreach循環(huán) 676   26.2.6 延遲執(zhí)行的查詢 676   26.3使用LINQ方法語法和?表達式 676   26.3.1 LINQ擴展方法 676   26.3.2 查詢語法和方法語法 677   26.3.3 ?表達式 677   26.4 排序查詢結(jié)果 679   26.5 orderby子句 680   26.6 用方法語法排序 681   26.7 查詢大型數(shù)據(jù)集 682   26.8 合計運算符 685   26.9 查詢復雜的對象 688   26.10 投射:在查詢中創(chuàng)建新對象 691   26.11 投射:方法語法 693   26.12 單值選擇查詢 693   26.13 Any和All 694   26.14 多級排序 696   26.15 多級排序方法語法:ThenBy 698   26.16 組合查詢 698   26.17 Take和Skip 700   26.18 First和FirstOrDefault 702   26.19 集運算符 703   26.20 Join查詢 706   26.21 資源和進一步閱讀 707   26.22 小結(jié) 707   26.23 練習 707   第27章 LINQ to SQL 709   27.1 對象相關(guān)映射 709   27.2 安裝SQL Server和Northwind示例數(shù)據(jù) 710   27.2.1 安裝SQL Server Express2005 710   27.2.2 安裝Northwind示例數(shù)據(jù)庫 711   27.3 第一個LINQ to SQL查詢 712   27.4 瀏覽LINQ to SQL關(guān)系 717   27.5 進一步探討LINQ to SQL 720   27.6 LINQ to SQL中的組合、排序和其他高級查詢 723   27.7 顯示生成的SQL 725   27.8 用LINQ to SQL綁定數(shù)據(jù) 729   27.9 用LINQ to SQL更新綁定數(shù)據(jù) 733   27.10 小結(jié) 734   27.11 練習 735   第28章 ADO .NET和LINQ over DataSet 736   28.1 ADO .NET概述 736   28.1.1 ADO .NET名稱的來源 737   28.1.2 ADO .NET的設(shè)計目標 738   28.2 ADO .NET類和對象概述 739   28.2.1 提供者對象 739   28.2.2 用戶對象 740   28.2.3 使用System.Data名稱空間 741   28.3 用DataReader讀取數(shù)據(jù) 742   28.4 用DataSet讀取數(shù)據(jù) 749   28.4.1 用數(shù)據(jù)填充DataSet 749   28.4.2 訪問DataSet中的表、行和列 749   28.5 更新數(shù)據(jù)庫 752   28.5.1 給數(shù)據(jù)庫添加行 755   28.5.2 刪除行 761   28.6 在DataSet中訪問多個表 762   28.6.1 ADO .NET中的關(guān)系 762   28.6.2 用關(guān)系導航 763   28.7 XML和ADO .NET 770   28.8 ADO .NET中的SQL支持 773   28.8.1 DataAdapter對象中的 SQL命令 773   28.8.2 直接執(zhí)行SQL命令 776   28.8.3 調(diào)用SQL存儲過程 778   28.9 使用LINQ over DataSet和ADO .NET 780   28.10 小結(jié) 784   28.11 練習 784   第29章 LINQ to XML 785   29.1 LINQ to XML函數(shù)構(gòu)造方法 785   29.2 保存和加載XML文檔 789   29.2.1 從字符串中加載XML 791   29.2.2 已保存的XML文檔內(nèi)容 792   29.3 處理XML片段 792   29.4 通過LINQ to XML生成 XML 794   29.5 查詢XML文檔 798   29.6 小結(jié) 804   29.7 練習 804   第Ⅴ部分 其 他 技 術(shù)   第30章 屬性 809   30.1 什么是屬性 809   30.2 反射 812   30.3 內(nèi)置屬性 815   30.3.1 System.Diagnostics.ConditionalAttribute 815   30.3.2 System.Obsolete Attribute 817   30.3.3 System.Serializable   Attribute 818   30.3.4 System.Reflection.AssemblyDelaySignAttribute 821   30.4 定制屬性 824   30.4.1 BugFixAttribute 824   30.4.2 System.AttributeUsageAttribute 826   30.5 小結(jié) 830   第31章 XML文檔說明 831   31.1 添加XML文檔說明 831   31.1.1 XML文檔說明的注釋 833   31.1.2 使用類圖添加XML文檔說明 839   31.1.3 生成XML文檔說明文件 842   31.1.4 帶有XML文檔說明的應用程序示例 844   31.2 使用XML文檔說明 846   31.2.1 編程處理XML文檔說明 846   31.2.2 用XSLT格式化XML文檔說明 848   31.2.3 文檔說明工具 849   31.3 小結(jié) 850   31.4 練習 851   第32章 網(wǎng)絡(luò) 852   32.1 聯(lián)網(wǎng)概述 852   32.1.1 名稱的解析 855   32.1.2 統(tǒng)一資源標識符 856   32.1.3 TCP和UDP 857   32.1.4 應用協(xié)議 857   32.2 網(wǎng)絡(luò)編程選項 859   32.3 WebClient 859   32.4 WebRequest和WebResponse 861   32.5 TcpListener和TcpClient 868   32.6 小結(jié) 876   32.7 練習 876   第33章 GDI+簡介 877   33.1 圖形繪制概述 877   33.1.1 Graphics類 878   33.1.2 對象的刪除 878   33.1.3 坐標系統(tǒng) 879   33.1.4 顏色 884   33.2 使用Pen類繪制線條 885   33.3 使用Brush類繪制圖形 887   33.4 使用Font 類繪制文本 890   33.5 使用圖像進行繪制 893   33.5.1 使用紋理畫筆繪圖 895   33.5.2 使用鋼筆繪制圖像 897   33.5.3 雙倍緩沖 898   33.6 GDI+的高級功能 900   33.6.1 剪切 900   33.6.2 System.Drawing.Drawing2D 901   33.6.3 System.Drawing.Imaging 901   33.7 小結(jié) 901   33.8 練習 902   第 34 章 Windows Presentation Foundation 903   34.1 WPF的概念 904   34.1.1 WPF給設(shè)計人員帶來的好處 904   34.1.2 WPF給C#開發(fā)人員帶來的好處 906   34.2 基本W(wǎng)PF應用程序的組成 906   34.3 WPF基礎(chǔ) 916   34.3.1 XAML語法 917   34.3.2 桌面和Web應用程序 919   34.3.3 Application對象 920   34.3.4 控件基 920   34.3.5 控件的布局 928   34.3.6 控件的樣式 936   34.3.7 觸發(fā)器 941   34.3.8 動畫 942   34.3.9 靜態(tài)和動態(tài)資源 944   34.4 用WPF編程 949   34.4.1 WPF用戶控件 950   34.4.2 實現(xiàn)依賴屬性 950   34.5 小結(jié) 959   34.6 練習 960   第35 章 Windows Communication Foundation 961   35.1 WCF是什么 961   35.2 WCF概念 962   35.2.1 WCF通信協(xié)議 962   35.2.2 地址、端點和綁定 963   35.2.3 合同 964   35.2.4 消息模式 965   35.2.5 行為 965   35.2.6 主機 965   35.3 WCF編程 966   35.3.1 定義WCF服務合同 973   35.3.2 自存儲的WCF服務 979   35.4 小結(jié) 985   35.5 練習 986   第36章 Windows Workflow Foundation 987   36.1 活動 990   36.1.1 DelayActivity 990   36.1.2 SuspendActivity 991   36.1.3 WhileActivity 992   36.1.4 SequenceActivity 994   36.1.5 定制活動 997   36.2 工作流運行庫 1002   36.3 數(shù)據(jù)綁 1007   36.4 小結(jié) 1010 序言

    標簽:

    上傳時間: 2013-11-16

    上傳用戶:xinyuzhiqiwuwu

  • MSP430系列單片機C語言程序設(shè)計與開發(fā)

    C語言基礎(chǔ),430介紹,I/O口,I2C,UART,AD,TIMER,等實例講解,C430擴展特性,包括關(guān)鍵字,預編譯命令,預編譯符號,本證函數(shù)等

    標簽: MSP 430 C語言 單片機

    上傳時間: 2013-11-03

    上傳用戶:lili123

  • 51單片機c語言超強學習資料

    單片機c語言學習和單片機制作資料: 函數(shù)的使用和熟悉 實例3:用單片機控制第一個燈亮 實例4:用單片機控制一個燈閃爍:認識單片機的工作頻率 實例5:將 P1口狀態(tài)分別送入P0、P2、P3口:認識I/O口的引腳功能 實例6:使用P3口流水點亮8位LED 實例7:通過對P3口地址的操作流水點亮8位LED 實例8:用不同數(shù)據(jù)類型控制燈閃爍時間 實例9:用P0口、P1 口分別顯示加法和減法運算結(jié)果 實例10:用P0、P1口顯示乘法運算結(jié)果 實例11:用P1、P0口顯示除法運算結(jié)果 實例12:用自增運算控制P0口8位LED流水花樣 實例13:用P0口顯示邏輯"與"運算結(jié)果 實例14:用P0口顯示條件運算結(jié)果 實例15:用P0口顯示按位"異或"運算結(jié)果 實例16:用P0顯示左移運算結(jié)果 實例17:"萬能邏輯電路"實驗 實例18:用右移運算流水點亮P1口8位LED 實例19:用if語句控制P0口8位LED的流水方向 實例20:用swtich語句的控制P0口8位LED的點亮狀態(tài) 實例21:用for語句控制蜂鳴器鳴笛次數(shù) 實例22:用while語句控制LED 實例23:用do-while語句控制P0口8位LED流水點亮 實例24:用字符型數(shù)組控制P0口8位LED流水點亮 實例25: 用P0口顯示字符串常量 實例26:用P0 口顯示指針運算結(jié)果 實例27:用指針數(shù)組控制P0口8位LED流水點亮 實例28:用數(shù)組的指針控制P0 口8 位LED流水點亮 實例29:用P0 、P1口顯示整型函數(shù)返回值 實例30:用有參函數(shù)控制P0口8位LED流水速度 實例31:用數(shù)組作函數(shù)參數(shù)控制流水花樣 實例32:用指針作函數(shù)參數(shù)控制P0口8位LED流水點亮 實例33:用函數(shù)型指針控制P1口燈花樣 實例34:用指針數(shù)組作為函數(shù)的參數(shù)顯示多個字符串

    標簽: 51單片機 c語言

    上傳時間: 2013-10-21

    上傳用戶:llandlu

  • 16-bit IC and SMBus I/O Port w

    The CAT9555 is a CMOS device that provides 16-bitparallel input/output port expansion for I²C and SMBuscompatible applications. These I/O expanders providea simple solution in applications where additional I/Osare needed: sensors, power switches, LEDs,pushbuttons, and fans.

    標簽: SMBus Port bit and

    上傳時間: 2014-01-09

    上傳用戶:1101055045

  • 實驗指導書 (TPC-H實驗臺C語言版)

    《現(xiàn)代微機原理與接口技術(shù)》實驗指導書 TPC-H實驗臺C語言版 1.實驗臺結(jié)構(gòu)1)I / O 地址譯碼電路如上圖1所示地址空間280H~2BFH共分8條譯碼輸出線:Y0~Y7 其地址分別是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H、2B8H~2BFH,8根譯碼輸出線在實驗臺I/O地址處分別由自鎖緊插孔引出供實驗選用(見圖2)。 2) 總線插孔采用“自鎖緊”插座在標有“總線”區(qū)引出數(shù)據(jù)總線D7~D0;地址總線A9~A0,讀、寫信號IOR、IOW;中斷請求信號IRQ ;DMA請求信號DRQ1;DMA響應信號DACK1 及AEN信號,供學生搭試各種接口實驗電路使用。3) 時鐘電路如圖-3所示可以輸出1MHZ 2MHZ兩種信號供A/D轉(zhuǎn)換器定時器/計數(shù)器串行接口實驗使用。圖34) 邏輯電平開關(guān)電路如圖-4所示實驗臺右下方設(shè)有8個開關(guān)K7~K0,開關(guān)撥到“1”位置時開關(guān)斷開,輸出高電平。向下打到“0”位置時開關(guān)接通,輸出低電平。電路中串接了保護電阻使接口電路不直接同+5V 、GND相連,可有效地防止因誤操作誤編程損壞集成電路現(xiàn)象。圖 4 圖 55) L E D 顯示電路如圖-5所示實驗臺上設(shè)有8個發(fā)光二極管及相關(guān)驅(qū)動電路(輸入端L7~L0),當輸入信號為“1” 時發(fā)光,為“0”時滅6) 七段數(shù)碼管顯示電路如圖-6所示實驗臺上設(shè)有兩個共陰極七段數(shù)碼管及驅(qū)動電路,段碼為同相驅(qū)動器,位碼為反相驅(qū)動器。從段碼與位碼的驅(qū)動器輸入端(段碼輸入端a、b、c、d、e、f、g、dp,位碼輸入端s1、 s2)輸入不同的代碼即可顯示不同數(shù)字或符號。

    標簽: TPC-H 實驗指導書 C語言 實驗臺

    上傳時間: 2013-11-22

    上傳用戶:sssnaxie

  • HI-TECH PICC C的使用說明

    HI-TECH PICC C 的使用說明. 這里我們只講述了PICC C 與標準C 的不同,它不是一本C 語言的教程, 并且我們假定你有C 語言的基礎(chǔ). 為了對PIC 單片機有更好的支持,PICC 在標準C 的基礎(chǔ)上作了一些擴充:􀁺 定義I/O 函數(shù),以便在你的硬件系統(tǒng)中使用<stdio.h>中定義的函數(shù)。􀁺 用C 語言編寫中斷服務程序􀁺 用C 語言編寫I/O 操作程序􀁺 C 語言與匯編語言間的接口1-1 與標準C 的不同PICC 只在一處與標準C 不同:函數(shù)的重入。因為PIC 單片機的寄存器及堆棧有限,所以PICC 不支持可重入函數(shù)。1-2 支持的PIC 芯片PICC 支持很多PIC 單片機,支持PIC 單片機的類型在LIB 目錄下的picinfo.ini文件中有定義。1-3 PICC 包含一些標準庫1-4 PICC 編譯器可以輸出一些格式的目標文件,缺省設(shè)置為輸出Bytecraft 的'COD'格式和 Intel 的'HEX'格式。你可以用表1-1 中的命令來指定輸出格式。

    標簽: HI-TECH PICC 使用說明

    上傳時間: 2013-10-10

    上傳用戶:781354052

  • AVR高速嵌入式單片機原理與應用(修訂版)

    AVR高速嵌入式單片機原理與應用(修訂版)詳細介紹ATMEL公司開發(fā)的AVR高速嵌入式單片機的結(jié)構(gòu);講述AVR單片機的開發(fā)工具和集成開發(fā)環(huán)境(IDE),包括Studio調(diào)試工具、AVR單片機匯編器和單片機串行下載編程;學習指令系統(tǒng)時,每條指令均有實例,邊學習邊調(diào)試,使學習者看得見指令流向及操作結(jié)果,真正理解每條指令的功能及使用注意事項;介紹AVR系列多種單片機功能特點、實用程序設(shè)計及應用實例;作為提高篇,講述簡單易學、適用AVR單片機的高級語言BASCOMAVR及ICC AVR C編譯器。 AVR高速嵌入式單片機原理與應用(修訂版) 目錄 第一章ATMEL單片機簡介1.1ATMEL公司產(chǎn)品的特點11.2AT90系列單片機簡介21.3AT91M系列單片機簡介2第二章AVR單片機系統(tǒng)結(jié)構(gòu)2.1AVR單片機總體結(jié)構(gòu)42.2AVR單片機中央處理器CPU62.2.1結(jié)構(gòu)概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運算邏輯單元92.3AVR單片機存儲器組織102.3.1可下載的Flash程序存儲器102.3.2內(nèi)部和外部的SRAM數(shù)據(jù)存儲器102.3.3EEPROM數(shù)據(jù)存儲器112.3.4存儲器訪問和指令執(zhí)行時序112.3.5I/O存儲器132.4AVR單片機系統(tǒng)復位162.4.1復位源172.4.2加電復位182.4.3外部復位192.4.4看門狗復位192.5AVR單片機中斷系統(tǒng)202.5.1中斷處理202.5.2外部中斷232.5.3中斷應答時間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機的省電方式242.6.1休眠狀態(tài)242.6.2空閑模式242.6.3掉電模式252.7AVR單片機定時器/計數(shù)器252.7.1定時器/計數(shù)器預定比例器252.7.28位定時器/計數(shù)器0252.7.316位定時器/計數(shù)器1272.7.4看門狗定時器332.8AVR單片機EEPROM讀/寫訪問342.9AVR單片機串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態(tài)寄存器ACSR462.11AVR單片機I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機存儲器編程612.12.1編程存儲器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機開發(fā)工具3.1AVR實時在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機開發(fā)下載實驗器SL?AVR703.4AVR集成開發(fā)環(huán)境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態(tài)開發(fā)實驗系統(tǒng)793.6SL?AVR*.ASM源文件說明81第四章AVR單片機指令系統(tǒng)4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達式874.2尋址方式894.3數(shù)據(jù)操作和指令類型924.3.1數(shù)據(jù)操作924.3.2指令類型924.3.3指令集名詞924.4算術(shù)和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉(zhuǎn)移指令1114.5.1無條件轉(zhuǎn)移指令1114.5.2條件轉(zhuǎn)移指令1144.6數(shù)據(jù)傳送指令1354.6.1直接數(shù)據(jù)傳送指令1354.6.2間接數(shù)據(jù)傳送指令1374.6.3從程序存儲器直接取數(shù)據(jù)指令1444.6.4I/O口數(shù)據(jù)傳送指令1454.6.5堆棧操作指令1464.7位指令和位測試指令1474.7.1帶進位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長間接調(diào)用子程序1624.8.2EIJMP--擴展間接跳轉(zhuǎn)1634.8.3ELPM--擴展裝載程序存儲器1644.8.4ESPM--擴展存儲程序存儲器1644.8.5FMUL--小數(shù)乘法1664.8.6FMULS--有符號數(shù)乘法1664.8.7FMULSU--有符號小數(shù)和無符號小數(shù)乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號數(shù)乘法1694.8.10MULSU--有符號數(shù)與無符號數(shù)乘法1694.8.11SPM--存儲程序存儲器170 第五章AVR單片機AT90系列5.1AT90S12001725.1.1特點1725.1.2描述1735.1.3引腳配置1745.1.4結(jié)構(gòu)縱覽1755.2AT90S23131835.2.1特點1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點1865.3.2描述1875.3.3引腳配置1895.3.4開發(fā)實驗工具1905.4AT90S2333/44331915.4.1特點1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結(jié)構(gòu)2015.6.6定時器/計數(shù)器2125.6.7看門狗定時器 2175.6.8EEPROM讀/寫2175.6.9串行外設(shè)接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數(shù)轉(zhuǎn)換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點2405.10.2描述2415.10.3引腳配置2435.10.4開發(fā)實驗工具2455.11ATmega1612465.11.1特點2465.11.2描述2475.11.3引腳配置2475.12AVR單片機替代MCS51單片機249第六章實用程序設(shè)計6.1程序設(shè)計方法2506.1.1程序設(shè)計步驟2506.1.2程序設(shè)計技術(shù)2506.2應用程序舉例2516.2.1內(nèi)部寄存器和位定義文件2516.2.2訪問內(nèi)部 EEPROM2546.2.3數(shù)據(jù)塊傳送2546.2.4乘法和除法運算應用一2556.2.5乘法和除法運算應用二2556.2.616位運算2556.2.7BCD運算2556.2.8冒泡分類算法2556.2.9設(shè)置和使用模擬比較器2556.2.10半雙工中斷方式UART應用一2556.2.11半雙工中斷方式UART應用二2566.2.128位精度A/D轉(zhuǎn)換器2566.2.13裝載程序存儲器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲的檢查2566.2.164×4鍵區(qū)休眠觸發(fā)方式2576.2.17多工法驅(qū)動LED和4×4鍵區(qū)掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗證SLAVR實驗器及AT90S1200的口功能12596.2.22驗證SLAVR實驗器及AT90S1200的口功能22596.2.23驗證SLAVR實驗器及具有DIP40封裝的口功能第七章AVR單片機的應用7.1通用延時子程序2607.2簡單I/O口輸出實驗2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤掃描綜合程序2747.3.2LED鍵盤掃描綜合程序2757.3.3在LED上實現(xiàn)字符8的循環(huán)移位顯示程序2757.3.4電腦放音機2777.3.5鍵盤掃描程序2857.3.6十進制計數(shù)顯示2867.3.7廉價的A/D轉(zhuǎn)換器2897.3.8高精度廉價的A/D轉(zhuǎn)換器2947.3.9星星燈2977.3.10按鈕猜數(shù)程序2987.3.11漢字的輸入3047.4復雜實用程序3067.4.110位A/D轉(zhuǎn)換3067.4.2步進電機控制程序3097.4.3測脈沖寬度3127.4.4LCD顯示8字循環(huán)3187.4.5LED電腦時鐘3247.4.6測頻率3307.4.7測轉(zhuǎn)速3327.4.8AT90S8535的A/D轉(zhuǎn)換334第八章BASCOMAVR的應用8.1基于高級語言BASCOMAVR的單片機開發(fā)平臺3408.2BASCOMAVR軟件平臺的安裝與使用3418.3AVR I/O口的應用3458.3.1LED發(fā)光二極管的控制3458.3.2簡易手控廣告燈3468.3.3簡易電腦音樂放音機3478.4LCD顯示器3498.4.1標準LCD顯示器的應用3498.4.2簡單游戲機--按鈕猜數(shù)3518.5串口通信UART3528.5.1AVR系統(tǒng)與PC的簡易通信3538.5.2PC控制的簡易廣告燈3548.6單總線接口和溫度計3568.7I2C總線接口和簡易IC卡讀寫器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類型及其擴展名3659.1.3附注和擴充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對安裝完成的軟件進行注冊3679.3ICC AVR導游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環(huán)境3709.4.1編譯一個單獨的文件3709.4.2創(chuàng)建一個新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應用構(gòu)筑向?qū)?719.4.6狀態(tài)窗口3719.4.7終端仿真3719.5C庫函數(shù)與啟動文件3729.5.1啟動文件3729.5.2常用庫函數(shù)3729.5.3字符類型庫3739.5.4浮點運算庫3749.5.5標準輸入/輸出庫3759.5.6標準庫和內(nèi)存分配函數(shù)3769.5.7字符串函數(shù)3779.5.8變量參數(shù)函數(shù)3799.5.9堆棧檢查函數(shù)3799.6AVR硬件訪問的編程3809.6.1訪問AVR的底層硬件3809.6.2位操作3809.6.3程序存儲器和常量數(shù)據(jù)3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對內(nèi)存地址3849.6.9C任務3859.6.10中斷操作3869.6.11訪問UART3879.6.12訪問EEPROM3879.6.13訪問SPI3889.6.14相對轉(zhuǎn)移/調(diào)用的地址范圍3889.6.15C的運行結(jié)構(gòu)3889.6.16匯編界面和調(diào)用規(guī)則3899.6.17函數(shù)返回非整型值3909.6.18程序和數(shù)據(jù)區(qū)的使用3909.6.19編程區(qū)域3919.6.20調(diào)試3919.7應用舉例*3929.7.1讀/寫口3929.7.2延時函數(shù)3929.7.3讀/寫EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環(huán)移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機簡介398附錄2AT94K系列現(xiàn)場可編程系統(tǒng)標準集成電路401附錄3指令集綜合404附錄4AVR單片機選型表408參 考 文 獻412

    標簽: AVR 高速嵌入式 單片機原理

    上傳時間: 2013-11-08

    上傳用戶:xcy122677

  • 匯編+保護模式+教程

    九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現(xiàn)任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權(quán)級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現(xiàn)輸入/輸出保護。 1.I/O敏感指令輸入輸出特權(quán)級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問I/O空間中所有地址的最外層特權(quán)級。IOPL的值在如下圖所示的標志寄存器中。 標  志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權(quán)級執(zhí)行的程序所訪問。I/O許可位圖在任務狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設(shè)置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關(guān),并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當前特權(quán)級不在I/O特權(quán)級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當特權(quán)級在I/O特權(quán)級外層時,執(zhí)行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權(quán)級3執(zhí)行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發(fā)生沖突,從而避免任務甲和任務乙使用使用獨享設(shè)備時發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權(quán)級執(zhí)行的程序訪問;否則對應的I/O地址m只能由在IOPL特權(quán)級或更內(nèi)層特權(quán)級執(zhí)行的程序訪問。如果在I/O外層特權(quán)級執(zhí)行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節(jié)進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數(shù)目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節(jié),所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節(jié)為TSS的固定格式,用于保存任務的狀態(tài)。 1.I/O訪問許可檢查細節(jié)保護模式下處理器在執(zhí)行I/O指令時進行許可檢查的細節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進行與運算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯碼為0的通用保護故障;(8)進行I/O訪問。設(shè)某一任務的TSS段如下: TSSSEG                  SEGMENT PARA USE16                        TSS     <>             ;TSS低端固定格式部分                        DB      8 DUP(0)       ;對應I/O端口00H—3FH                        DB      10000000B      ;對應I/O端口40H—47H                        DB      01100000B      ;對用I/O端口48H—4FH                        DB      8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH                        DB      0FFH           ;位圖結(jié)束字節(jié)TSSLen                  =       $TSSSEG                  ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會引起通用保護異常:                         in      al,21h  ;(1)正常執(zhí)行                        in      al,47h  ;(2)引起異常                        out     20h,al  ;(3)正常實行                        out     4eh,al  ;(4)引起異常                        in      al,20h  ;(5)正常執(zhí)行                        out     20h,eax ;(6)正常執(zhí)行                        out     4ch,ax  ;(7)引起異常                        in      ax,46h  ;(8)引起異常                        in      eax,42h ;(9)正常執(zhí)行 由上述I/O許可檢查的細節(jié)可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節(jié)。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節(jié)的最高位,高位是下一個字節(jié)的最低位??梢娂词怪灰獧z查兩個位,也可能需要讀取兩個字節(jié)。另一方面,最多檢查四個連續(xù)的位,即最多也只需讀取兩個字節(jié)。所以每次要讀取兩個字節(jié)。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時產(chǎn)生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據(jù)位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發(fā)生字節(jié)越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實現(xiàn)輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權(quán)級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級下對這三個字段的處理情況。 不同特權(quán)級對標志寄存器特殊字段的處理 特權(quán)級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0  不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內(nèi)層特權(quán)級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級不滿足上述條件的情況下,當執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務門調(diào)用任務,實現(xiàn)任務嵌套。 1.演示步驟實例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設(shè)置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權(quán)級是0;(4)通過任務門調(diào)用測試任務1。測試任務1能夠順利進行;(5)通過任務門調(diào)用測試任務2。測試任務2演示由于違反I/O許可位圖規(guī)定而導致通用保護異常;(6)通過任務門調(diào)用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調(diào)用測試任務4。測試任務4演示特權(quán)指令如何引起通用保護異常;(8)從演示代碼轉(zhuǎn)臨時代碼,準備返回實模式;(9)返回實模式,并作結(jié)束處理。

    標簽: 匯編 保護模式 教程

    上傳時間: 2013-12-11

    上傳用戶:nunnzhy

  • 51單片機驅(qū)動步進電機(含電路圖和C語言源程序代碼)

    51單片機驅(qū)動步進電機(含電路圖和源程序代碼) 源程序:stepper.c stepper.hex /* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */ #i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.h register unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n; unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400 /* flag1 mask byte 0x01 run cw() 0x02 run ccw() */

    標簽: 51單片機 驅(qū)動 步進電機 C語言

    上傳時間: 2013-11-09

    上傳用戶:釣鰲牧馬

主站蜘蛛池模板: 桓台县| 碌曲县| 得荣县| 吉木萨尔县| 法库县| 建阳市| 尉氏县| 博湖县| 繁峙县| 乌鲁木齐市| 志丹县| 云阳县| 牙克石市| 吉安县| 克山县| 五大连池市| 广河县| 民权县| 麻城市| 商丘市| 鄂托克旗| 道真| 章丘市| 永清县| 韶关市| 奈曼旗| 石门县| 高邮市| 寿宁县| 勐海县| 贵州省| 乐平市| 麦盖提县| 理塘县| 福鼎市| 望城县| 汽车| 江孜县| 宜川县| 泗阳县| 泰来县|