用MEGA16做的繼電器參數(shù)測量儀 該電磁繼電器特性參數(shù)測量儀以用8位MCU作為主控制器,并通過該MCU的DA轉(zhuǎn)換輸出可控穩(wěn)壓電源加載到繼電器兩端。測量繼電器的最小吸合電壓時(shí),使DA輸出電壓從低電壓到高電壓變化,當(dāng)繼電器閉合時(shí),記錄此時(shí)的DA轉(zhuǎn)化電壓并顯示在1602上,測量釋放點(diǎn)壓的加壓順序正好相反。在測量常閉電阻時(shí),采用7805恒流源電路與三運(yùn)放測量放大電路,再由AD返回電壓值,最后MCU計(jì)算出常閉電阻。
上傳時(shí)間: 2013-10-21
上傳用戶:wangjg
基于AT89S52單片機(jī)的直流數(shù)控恒流源設(shè)計(jì)
上傳時(shí)間: 2013-10-20
上傳用戶:7891
《C#入門經(jīng)典(第4版)》通過C#可以很容易地學(xué)習(xí).NET Framework 3.5的強(qiáng)大功能,所以C#是開始您編程生涯的絕佳方式。《C#入門經(jīng)典(第4版)》全面闡述了C#編程的所有方面,包括C#語言本身、Windows編程、Web編程及數(shù)據(jù)源的使用等內(nèi)容。學(xué)習(xí)了新的編程技巧后,《C#入門經(jīng)典(第4版)》介紹了如何高效地部署應(yīng)用程序和服務(wù),論述了許多高級技術(shù),如圖形化編程。另外,還探討了如何使用Visual C# Express 2008、Visual Web Developer Express 2008和Visual Studio 2008的功能。所有這些內(nèi)容都已更新,以反映.NET Framework 3.5和Visual Studio 2008的變化。各章的樣例代碼和示例還可以用于創(chuàng)建強(qiáng)大且安全的應(yī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編寫應(yīng)用程序 4 1.2 什么是C# 7 1.2.1 用C#能編寫什么樣的應(yīng)用程序 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 控制臺應(yīng)用程序 13 2.2.1 Solution Explorer 16 2.2.2 Properties窗口 17 2.2.3 Error List窗口 17 2.3 Windows Forms應(yīng)用程序 18 2.4 小結(jié) 22 第3章 變量和表達(dá)式 23 3.1 C#的基本語法 23 3.2 C#控制臺應(yīng)用程序的基本結(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 表達(dá)式 34 3.4.1 數(shù)學(xué)運(yùn)算符 34 3.4.2 賦值運(yùn)算符 38 3.4.3 運(yùn)算符的優(yōu)先級 39 3.4.4 名稱空間 39 3.5 小結(jié) 42 3.6 練習(xí) 43 第4章 流程控制 44 4.1 布爾邏輯 44 4.1.1 位運(yùn)算符 46 4.1.2 布爾賦值運(yùn)算符 50 4.1.3 運(yùn)算符的優(yōu)先級更新 51 4.2 goto語句 52 4.3 分支 53 4.3.1 三元運(yùn)算符 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 練習(xí) 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命令進(jìn)行 顯式轉(zhuǎn)換 76 5.2 復(fù)雜的變量類型 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 練習(xí) 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ù)和返回值與全局?jǐn)?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 練習(xí) 120 第7章 調(diào)試和錯(cuò)誤處理 121 7.1 VS和VCE中的調(diào)試 121 7.1.1 非中斷(正常)模式下的調(diào)試 122 7.1.2 中斷模式下的調(diào)試 131 7.2 錯(cuò)誤處理 139 7.2.1 try...catch...finally 140 7.2.2 列出和配置異常 144 7.2.3 異常處理的注意事項(xiàng) 145 7.3 小結(jié) 146 7.4 練習(xí) 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)和實(shí)例類成員 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 運(yùn)算符重載 159 8.2.6 事件 159 8.2.7 引用類型和值類型 160 8.3 Windows應(yīng)用程序中的OOP 160 8.4 小結(jié) 162 8.5 練習(xí) 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 類庫項(xiàng)目 179 9.6 接口和抽象類 182 9.7 結(jié)構(gòu)類型 184 9.8 小結(jié) 186 9.9 練習(xí) 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 接口的實(shí)現(xiàn) 201 10.4 部分類定義 204 10.5 部分方法定義 206 10.6 示例應(yīng)用程序 207 10.6.1 規(guī)劃應(yīng)用程序 207 10.6.2 編寫類庫 208 10.6.3 類庫的客戶應(yīng)用程序 214 10.7 小結(jié) 215 10.8 練習(xí) 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 深度復(fù)制 236 11.1.8 給CardLib添加深度復(fù)制 238 11.2 比較 239 11.2.1 類型比較 240 11.2.2 值比較 244 11.3 轉(zhuǎn)換 259 11.3.1 重載轉(zhuǎn)換運(yùn)算符 259 11.3.2 as運(yùn)算符 260 11.4 小結(jié) 261 11.5 練習(xí) 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 練習(xí) 293 第13章 其他OOP技術(shù) 295 13.1 ::運(yùn)算符和全局名稱空間 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 擴(kuò)展和使用CardLib 309 13.5 小結(jié) 317 13.6 練習(xí) 317 第14章 C# 3.0語言的改進(jìn) 318 14.1 初始化器 318 14.1.1 對象初始化器 319 14.1.2 集合初始化器 320 14.2 類型推斷 323 14.3 匿名類型 325 14.4 擴(kuò)展方法 328 14.5 ?表達(dá)式 333 14.5.1 復(fù)習(xí)匿名方法 333 14.5.2 把?表達(dá)式用于匿名方法 334 14.5.3 ?表達(dá)式的參數(shù) 337 14.5.4 ?表達(dá)式的語句體 337 14.5.5 ?表達(dá)式用作委托和表達(dá)式樹 338 14.5.6 ?表達(dá)式和集合 339 14.6 小結(jié) 342 14.7 練習(xí) 342 第Ⅱ部分 Windows 編 程 第15章 Windows編程基礎(chǔ) 347 15.1 控件 347 15.1.1 屬性 348 15.1.2 控件的定位、停靠和對齊 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 練習(xí) 392 第16章 Windows Forms的高級功能 393 16.1 菜單和工具欄 393 16.1.1 兩個(gè)實(shí)質(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的項(xiàng) 400 16.2.3 StatusStrip控件 405 16.2.4 StatusStripStatusLabel的屬性 405 16.3 SDI和MDI應(yīng)用程序 407 16.4 創(chuàng)建控件 415 16.4.1 LabelTextbox控件 417 16.4.2 調(diào)試用戶控件 420 16.4.3 擴(kuò)展LabelTextbox控件 421 16.5 小結(jié) 424 16.6 練習(xí) 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 打印多個(gè)頁面 447 17.4.3 PageSetupDialog 449 17.4.4 PrintDialog 451 17.5 打印預(yù)覽 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 練習(xí) 461 第18章 部署Windows應(yīng)用程序 463 18.1 部署概述 463 18.2 ClickOnce部署 464 18.3 Visual Studio安裝和部署項(xiàng)目類型 473 18.4 Microsoft Windows安裝程序結(jié)構(gòu) 474 18.4.1 Windows Installer術(shù)語 474 18.4.2 Windows Installer的優(yōu)點(diǎn) 476 18.5 為SimpleEditor創(chuàng)建安裝軟件包 476 18.5.1 規(guī)劃安裝內(nèi)容 476 18.5.2 創(chuàng)建項(xiàng)目 477 18.5.3 項(xiàng)目屬性 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)建項(xiàng)目 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 確認(rèn)安裝 492 18.7.7 進(jìn)度 492 18.7.8 結(jié)束安裝 493 18.7.9 運(yùn)行應(yīng)用程序 493 18.7.10 卸載 493 18.8 小結(jié) 493 18.9 練習(xí) 494 第Ⅲ部分 Web 編 程 第19章 Web編程基礎(chǔ) 497 19.1 概述 497 19.2 ASP .NET運(yùn)行庫 498 19.3 創(chuàng)建簡單的Web頁面 498 19.4 服務(wù)器控件 504 19.5 事件處理程序 505 19.6 輸入的有效性驗(yàn)證 509 19.7 狀態(tài)管理 512 19.7.1 客戶端的狀態(tài)管理 513 19.7.2 服務(wù)器端的狀態(tài)管理 515 19.8 身份驗(yàn)證和授權(quán) 517 19.8.1 身份驗(yàn)證的配置 518 19.8.2 使用安全控件 522 19.9 讀寫SQL Server數(shù)據(jù)庫 524 19.10 小結(jié) 530 19.11 練習(xí) 531 第20章 Web高級編程 532 20.1 母版頁 532 20.2 站點(diǎn)導(dǎo)航 537 20.3 用戶控件 539 20.4 個(gè)性化配置 541 20.4.1 個(gè)性化配置組 543 20.4.2 組件的個(gè)性化配置 543 20.4.3 定制數(shù)據(jù)類型中的個(gè)性化配置 543 20.4.4匿名用戶的個(gè)性化配置 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 練習(xí) 560 第21章 Web服務(wù) 561 21.1 Web服務(wù)推出之前 561 21.1.1 遠(yuǎn)程過程調(diào)用(RPC) 562 21.1.2 SOAP 563 21.2 使用Web服務(wù)的場合 563 21.2.1 賓館旅行社代理應(yīng)用程序 564 21.2.2 圖書發(fā)布應(yīng)用程序 564 21.2.3 客戶應(yīng)用程序的類型 564 21.2.4 應(yīng)用程序的體系結(jié)構(gòu) 564 21.3 Web服務(wù)的體系結(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基本個(gè)性化配置 568 21.4 Web服務(wù)和.NET Framework 568 21.4.1 創(chuàng)建Web服務(wù) 568 21.4.2 客戶程序 570 21.5 創(chuàng)建簡單的ASP .NET Web服務(wù) 571 21.6 測試Web服務(wù) 572 21.7 執(zhí)行Windows客戶程序 574 21.8 異步調(diào)用服務(wù) 577 21.9 執(zhí)行ASP .NET客戶程序 580 21.10 傳送數(shù)據(jù) 581 21.11 小結(jié) 584 21.12 練習(xí) 584 第22章 Ajax編程 586 22.1 Ajax概述 586 22.2 UpdatePanel控件 587 22.3 Timer控件 591 22.4 UpdateProgress控件 592 22.5 Web服務(wù) 594 22.6 擴(kuò)展控件 598 22.7 小結(jié) 600 22.8 練習(xí) 600 第23章 部署Web應(yīng)用程序 601 23.1 Internet Information Services 601 23.2 IIS配置 602 23.3 復(fù)制Web站點(diǎn) 604 23.4 發(fā)布Web站點(diǎn) 606 23.5 Windows安裝程序 607 23.5.1 創(chuàng)建安裝程序 607 23.5.2 安裝Web 應(yīng)用程序 609 23.6 小結(jié) 610 23.7 練習(xí) 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 練習(xí) 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 驗(yàn)證XML文檔 651 25.2 在應(yīng)用程序中使用XML 654 25.2.1 XML文檔對象模型 655 25.2.2 選擇節(jié)點(diǎn) 663 25.3 小結(jié) 670 25.4 練習(xí) 671 第26章 LINQ簡介 672 26.1 LINQ的變體 673 26.2 第一個(gè)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方法語法和?表達(dá)式 676 26.3.1 LINQ擴(kuò)展方法 676 26.3.2 查詢語法和方法語法 677 26.3.3 ?表達(dá)式 677 26.4 排序查詢結(jié)果 679 26.5 orderby子句 680 26.6 用方法語法排序 681 26.7 查詢大型數(shù)據(jù)集 682 26.8 合計(jì)運(yùn)算符 685 26.9 查詢復(fù)雜的對象 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 集運(yùn)算符 703 26.20 Join查詢 706 26.21 資源和進(jìn)一步閱讀 707 26.22 小結(jié) 707 26.23 練習(xí) 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 第一個(gè)LINQ to SQL查詢 712 27.4 瀏覽LINQ to SQL關(guān)系 717 27.5 進(jìn)一步探討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 練習(xí) 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è)計(jì)目標(biāo) 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中訪問多個(gè)表 762 28.6.1 ADO .NET中的關(guān)系 762 28.6.2 用關(guān)系導(dǎo)航 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 練習(xí) 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 練習(xí) 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文檔說明的應(yīng)用程序示例 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 練習(xí) 851 第32章 網(wǎng)絡(luò) 852 32.1 聯(lián)網(wǎng)概述 852 32.1.1 名稱的解析 855 32.1.2 統(tǒng)一資源標(biāo)識符 856 32.1.3 TCP和UDP 857 32.1.4 應(yīng)用協(xié)議 857 32.2 網(wǎng)絡(luò)編程選項(xiàng) 859 32.3 WebClient 859 32.4 WebRequest和WebResponse 861 32.5 TcpListener和TcpClient 868 32.6 小結(jié) 876 32.7 練習(xí) 876 第33章 GDI+簡介 877 33.1 圖形繪制概述 877 33.1.1 Graphics類 878 33.1.2 對象的刪除 878 33.1.3 坐標(biāo)系統(tǒng) 879 33.1.4 顏色 884 33.2 使用Pen類繪制線條 885 33.3 使用Brush類繪制圖形 887 33.4 使用Font 類繪制文本 890 33.5 使用圖像進(jìn)行繪制 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 練習(xí) 902 第 34 章 Windows Presentation Foundation 903 34.1 WPF的概念 904 34.1.1 WPF給設(shè)計(jì)人員帶來的好處 904 34.1.2 WPF給C#開發(fā)人員帶來的好處 906 34.2 基本W(wǎng)PF應(yīng)用程序的組成 906 34.3 WPF基礎(chǔ) 916 34.3.1 XAML語法 917 34.3.2 桌面和Web應(yīng)用程序 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 實(shí)現(xiàn)依賴屬性 950 34.5 小結(jié) 959 34.6 練習(xí) 960 第35 章 Windows Communication Foundation 961 35.1 WCF是什么 961 35.2 WCF概念 962 35.2.1 WCF通信協(xié)議 962 35.2.2 地址、端點(diǎn)和綁定 963 35.2.3 合同 964 35.2.4 消息模式 965 35.2.5 行為 965 35.2.6 主機(jī) 965 35.3 WCF編程 966 35.3.1 定義WCF服務(wù)合同 973 35.3.2 自存儲的WCF服務(wù) 979 35.4 小結(jié) 985 35.5 練習(xí) 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 工作流運(yùn)行庫 1002 36.3 數(shù)據(jù)綁 1007 36.4 小結(jié) 1010 序言
標(biāo)簽:
上傳時(shí)間: 2013-11-16
上傳用戶:xinyuzhiqiwuwu
為了解決磁放大器性能測試過程中,需要對其供給不同數(shù)值恒定電流的問題,設(shè)計(jì)了一種基于DAC7512和單片機(jī)的數(shù)控恒流源系統(tǒng)。該系統(tǒng)采用AT89C51作為主控器件,將計(jì)算機(jī)發(fā)送的電流控制字命令轉(zhuǎn)換為D/A轉(zhuǎn)換器控制字,通過模擬SPI通信接口,寫D/A控制字到DAC7512,從而控制其輸出相應(yīng)數(shù)字電壓值,經(jīng)差動縮放電路、電壓/電路變換電路和功率驅(qū)動電路,最后輸出恒定電流。實(shí)驗(yàn)結(jié)果表明,恒流源輸出電流調(diào)節(jié)范圍為-45~+45 mA、精度為±0.1 mA,分辨率達(dá)0.024 4 mA,具有應(yīng)用靈活,外圍電路簡單,可靠性高的特點(diǎn)。該數(shù)控直流恒流源也可為相關(guān)產(chǎn)品的測試系統(tǒng)研發(fā)提供參考。 Abstract: In order to solve the need to supply different values constant current for the magnetic amplifier in testing process, numerical control constant current source system was designed based on DAC7512 chip and microcontroller technology. The system used the AT89C51 as the main chip, which can convert the current control word from computer into to D/A control words. And the system wrote D/A control word into the DAC7512 chip to control the output voltage value by the SPI communication interface, which can output corresponding constant current figures by scaling circuit, the V/I converter and power drive circuit. Experimental results show that the current source output current adjustment range is -45~+45mA, accuracy is ± 0.1mA, and resolution ratio is 0.024 4mA
標(biāo)簽: 7512 DAC 數(shù)控直流 恒流源
上傳時(shí)間: 2014-12-27
上傳用戶:invtnewer
用單片機(jī)制作多功能莫爾斯碼電路:用單片機(jī)制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因?yàn)榈确姶a通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進(jìn)行國際間的通信,收發(fā)射設(shè)備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術(shù)除了持之以恒的毅力外,還需要相關(guān)的設(shè)備。設(shè)計(jì)本電路的目的就是給愛好者提供一個(gè)實(shí)用和訓(xùn)練的工具。 一、功能簡介 本電路可以配合自動鍵體和手動鍵體,產(chǎn)生莫爾斯碼控制信號,設(shè)有16種速度,從初學(xué)者到操作高手都能適用。監(jiān)聽音調(diào)也有16種,均可以通過功能鍵進(jìn)行選擇。可以按程序中設(shè)定好的呼號自動呼叫,設(shè)有聽抄練習(xí)功能,聽抄練習(xí)有短碼和混合碼兩種模式,分別對10個(gè)數(shù)字和常用的38個(gè)混合碼模擬隨機(jī)取樣,產(chǎn)生分組報(bào)碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習(xí)是專為初學(xué)者所設(shè),內(nèi)容是時(shí)間間隔較長的單字符。設(shè)有PTT開關(guān)鍵,可以決定是否控制發(fā)射機(jī)工作,不需要反復(fù)通斷控制線。無論當(dāng)前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點(diǎn)接通則自動轉(zhuǎn)到人工發(fā)報(bào)程序。4分鐘內(nèi)不使用電路將自動關(guān)閉電源,只有按復(fù)位鍵才能重新開始工作。先按住聽抄練習(xí)鍵復(fù)位則進(jìn)入短碼練習(xí)狀態(tài),其它功能不變。從開機(jī)到自動關(guān)機(jī)執(zhí)行每個(gè)功能都有不同的莫爾斯碼提示音。本電路具有較強(qiáng)的抗高低頻干擾的能力和使用方便的大電流開關(guān)接口,以適應(yīng)不同的發(fā)射設(shè)備。 二、硬件電路原理硬件電路如圖1所示。設(shè)計(jì)電路的目的在于方便實(shí)用,以免在緊張的操作中失誤,所以除了聽抄練習(xí)鍵外其它鍵沒有定義復(fù)用功能。各鍵的作用在圖中已經(jīng)標(biāo)出。PTT控制在每次復(fù)位時(shí)處于關(guān)閉狀態(tài),每按動一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關(guān)控制發(fā)射。 PTT處于控制狀態(tài)時(shí)發(fā)光二極管隨控制信號閃亮。考慮到自制設(shè)備及淘汰軍用設(shè)備與高檔設(shè)備控制電流的不同,PTT開關(guān)管采用了2SC2073,可以承受500mA的電流,同時(shí)還增加了無極性PTT開關(guān)電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實(shí)驗(yàn)。應(yīng)該注意,如果被控制的負(fù)載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設(shè)備外成品機(jī)在這方面一般沒有什么問題。手動鍵只有一個(gè)接點(diǎn),接通后產(chǎn)生連續(xù)的音頻和發(fā)射控制信號。在本電路中手動鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當(dāng)按鍵按下時(shí)P1.5電平為0,程序轉(zhuǎn)入手動鍵子程序。 自動鍵的接點(diǎn)分別接到P1.3和P1.4 ,同樣當(dāng)程序檢測到有接點(diǎn)閉合時(shí)便自動產(chǎn)生“點(diǎn)”或“劃”。音頻信號從P輸出,經(jīng)VT1放大后推動揚(yáng)聲器發(fā)音。單片機(jī)的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號干擾,所以在每個(gè)輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時(shí)電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚(yáng)聲器用粘合劑直接粘接在電路版有銅箔的面。 三、軟件設(shè)計(jì)方法 “點(diǎn)”時(shí)間長度是莫爾斯電碼中的基本時(shí)間單位。按規(guī)定“劃”的時(shí)間長度不小于三個(gè)“點(diǎn)”,同字符中“點(diǎn)”與“劃”的間隔不小于一個(gè)“點(diǎn)”,字符之間不小于一個(gè)“劃”,詞與詞之間不應(yīng)小于五個(gè)“點(diǎn)”。在本程序中用條件轉(zhuǎn)移指令來產(chǎn)生“點(diǎn)”時(shí)間長度。通過速度功能鍵功可以設(shè)置16種延時(shí)參數(shù)。用T0中斷產(chǎn)生監(jiān)聽音頻信號,并將中斷設(shè)為優(yōu)先級,保證在聽覺上純正悅耳。T1用于自動關(guān)機(jī)計(jì)時(shí),如果不使用任何功能四分鐘后將向PCON 位寫1,單片機(jī)進(jìn)入休眠狀態(tài),此時(shí)耗電量僅有幾個(gè)微安。自動鍵的“點(diǎn)”或“劃”以及手動鍵的連續(xù)發(fā)音都是子程序的反復(fù)調(diào)用。P1.2對地短接時(shí)自動呼叫可設(shè)定為另一內(nèi)容。為了便于熟悉匯編語言的讀者對發(fā)音內(nèi)容進(jìn)行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計(jì)算機(jī)中二進(jìn)制恰好相同,我們可以用0表示“點(diǎn)”,用1表示“劃”。提示音、自動呼叫、聽抄內(nèi)容等字符是預(yù)先按一定編碼方式存儲在程序中的常數(shù)。每個(gè)字符的莫爾斯碼一般是由1至6位“點(diǎn)”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個(gè)字符占用1個(gè)字節(jié),字符時(shí)間間隔不占用字節(jié),但更長的延時(shí)或發(fā)音結(jié)束信息占用一個(gè)字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質(zhì),對于5次及5次以下發(fā)音的字符我們用存儲器的高5位存儲發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲發(fā)音次數(shù),發(fā)音時(shí)將數(shù)據(jù)送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對E0進(jìn)行位尋址,判斷是發(fā)“點(diǎn)”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因?yàn)檫@時(shí)第6次位尋址得到的是1。如果第6次發(fā)音是“點(diǎn)”,那么這個(gè)字符的低三位定義為000B。字符間隔時(shí)間由程序自動產(chǎn)生,更長的時(shí)間隔或結(jié)束標(biāo)志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時(shí)間間隔。如果字節(jié)為06H則表示讀字符程序結(jié)束,返回主程序。更詳細(xì)的內(nèi)容不再贅述,讀者可閱讀源程序。四、使用注意事項(xiàng)手動鍵的操作難度相對大一些,時(shí)間節(jié)拍全由人掌握,其特點(diǎn)是發(fā)出的電碼帶有“人情味”。自動鍵的“點(diǎn)”、“劃”靠電路產(chǎn)生,發(fā)音標(biāo)準(zhǔn),容易操作,而且可以達(dá)到相當(dāng)快的速度,長時(shí)間工作也不易疲勞。在干擾較大、信號微弱的條件下自動鍵碼的辨別程度好于手動鍵碼。初學(xué)者初次使用手動鍵練習(xí)發(fā)報(bào)要有老師指導(dǎo),且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺上時(shí)常聽到一些讓對方難以抄收的電碼,這可能會使對方反感而拒絕回答。使用自動鍵也應(yīng)在一定的聽抄基礎(chǔ)上再去練習(xí)。在暫時(shí)找不老師的情況下可多練習(xí)聽力,這對于今后能夠發(fā)出標(biāo)準(zhǔn)正確的電碼非常有益。
上傳時(shí)間: 2013-10-31
上傳用戶:sdq_123
三種方法讀取鍵值 使用者設(shè)計(jì)行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態(tài)判斷哪個(gè)按鍵被按下。 本實(shí)驗(yàn)採用中斷式實(shí)現(xiàn)使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應(yīng)列的鍵被按下。否則掃描下一行。 反轉(zhuǎn)法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據(jù)讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結(jié)構(gòu)。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設(shè)計(jì)電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時(shí)去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復(fù)位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計(jì)算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時(shí)間: 2013-11-12
上傳用戶:a673761058
摘要: 本文介紹了L ED 顯示屏常規(guī)型驅(qū)動電路的設(shè)計(jì)方式及其存在的缺陷, 提出了簡單的L ED 顯示屏恒流驅(qū)動方式及電路的實(shí)現(xiàn)。關(guān)鍵詞:L ED 顯示屏 動態(tài)掃描 驅(qū)動電路中圖分類號: TN 873+ . 93 文獻(xiàn)標(biāo)識碼:A 文章編號: 1005- 9490(2001) 03- 0252- 051 引 言 L ED 顯示屏是80 年代后期在全球迅速發(fā)展起來的新型信息顯示媒體, 它利用發(fā)光二極管構(gòu)成的點(diǎn)陣模塊或像素單元, 組成大面積顯示屏幕, 以其可靠性高、使用壽命、環(huán)境適應(yīng)能力強(qiáng)、性能價(jià)格比高、使用成本低等特點(diǎn), 在信息顯示領(lǐng)域已經(jīng)得到了非常廣泛的應(yīng)用[ 1 ]。L ED 顯示屏主要包括發(fā)光二極管構(gòu)成的陣列、驅(qū)動電路、控制系統(tǒng)及傳輸接口和相應(yīng)的應(yīng)用軟件等, 其中驅(qū)動電路設(shè)計(jì)的好壞, 對L ED 顯示屏的顯示效果、制作成本及系統(tǒng)的運(yùn)行性能起著很重要的作用。所以, 設(shè)計(jì)一種既能滿足控制驅(qū)動的要求, 同時(shí)使用器件少、成本低的控制驅(qū)動電路是很有必要的。本文就常規(guī)型驅(qū)動電路的設(shè)計(jì)作些分析并提出恒流驅(qū)動電路的設(shè)計(jì)方式。2 L ED 顯示屏常規(guī)驅(qū)動電路的設(shè)計(jì) L ED 顯示屏驅(qū)動電路的設(shè)計(jì), 與所用控制系統(tǒng)相配合, 通常分為動態(tài)掃描型驅(qū)動及靜態(tài)鎖存型驅(qū)動二大類。以下就動態(tài)掃描型驅(qū)動電路的設(shè)計(jì)為例為進(jìn)行分析:動態(tài)掃描型驅(qū)動方式是指顯示屏上的4 行、8 行、16 行等n 行發(fā)光二極管共用一組列驅(qū)動寄存器, 通過行驅(qū)動管的分時(shí)工作, 使得每行L ED 的點(diǎn)亮?xí)r間占總時(shí)間的1ön , 只要每行的刷新速率大于50 Hz, 利用人眼的視覺暫留效應(yīng), 人們就可以看到一幅完整的文字或畫面[ 2 ]。常規(guī)型驅(qū)動電路的設(shè)計(jì)一般是用串入并出的通用集成電路芯片如74HC595 或MC14094 等作為列數(shù)據(jù)鎖存, 以8050 等小功率N PN 三極管為列驅(qū)動, 而以達(dá)林頓三極管如T IP127 等作為行掃描管, 其電路如圖1 所示。
標(biāo)簽: LED 顯示屏 恒流驅(qū)動 電路設(shè)計(jì)
上傳時(shí)間: 2014-02-19
上傳用戶:lingzhichao
在游客游跡跟蹤與追溯系統(tǒng)中,產(chǎn)生大量不確定數(shù)據(jù),有效的Top-K查詢處理是不確定性數(shù)據(jù)管理中一項(xiàng)重要技術(shù)。研究了運(yùn)用Top-K檢索不確定數(shù)據(jù)的問題,定義了不確定數(shù)據(jù)流元組的查詢語義,提出了一種在記錄向量的基礎(chǔ)上的不確定數(shù)據(jù)查詢算法,并利用實(shí)例演示了查詢的過程。該算法按照元組的得分值進(jìn)行降序排列,概率值最高的前k個(gè)元組集合就是Top-K的查詢結(jié)果,實(shí)驗(yàn)結(jié)果表明,本文的算法更具高效性和實(shí)用性。
標(biāo)簽: Top-K RFID 數(shù)據(jù)流 查詢
上傳時(shí)間: 2013-10-27
上傳用戶:l銀幕海
基于研究當(dāng)前3G環(huán)境下的流媒體服務(wù)技術(shù)的目的,采用了基于3G網(wǎng)絡(luò)的移動流媒體系統(tǒng)架構(gòu);通過研究DirectShow、MPEG-4編碼、多速率編碼、RTP/RTCP以及Windows共享內(nèi)存映射等技術(shù),深入分析移動流媒體服務(wù)器的特點(diǎn)以及流媒體播放軟件的架構(gòu),最終設(shè)計(jì)了移動流媒體播放系統(tǒng),共分為兩個(gè)部分:1)流媒體服務(wù)器;2)終端流媒體播放軟件,經(jīng)過試驗(yàn),所設(shè)計(jì)的系統(tǒng)穩(wěn)定性好、實(shí)時(shí)性強(qiáng),具有較高的實(shí)用價(jià)值。
標(biāo)簽: 流媒體 服務(wù) 技術(shù)研究
上傳時(shí)間: 2013-10-13
上傳用戶:曹云鵬
我們?nèi)绻雽?shí)現(xiàn)一個(gè)USB 的HID 類設(shè)備,不需要在Windows 下開發(fā)自己的驅(qū)動程序。HID不一定要是標(biāo)準(zhǔn)的外設(shè)類型,唯一的要求是交換的數(shù)據(jù)存儲在報(bào)文的結(jié)構(gòu)內(nèi),設(shè)備固件必須支持報(bào)文的格式。任何工作在該限制之內(nèi)的設(shè)備都可以成為一個(gè)HID,例如溫度計(jì)、電壓計(jì)、讀卡機(jī)等。報(bào)文的格式是由報(bào)告描述符決定的,所以只要修改描述符就能實(shí)現(xiàn)我們需要的報(bào)文格式。下面我們來實(shí)現(xiàn)一個(gè)簡單的報(bào)文格式:上位機(jī)發(fā)送固定64 字節(jié)數(shù)據(jù)給設(shè)備,這個(gè)數(shù)據(jù)可以是命令,也可是數(shù)據(jù),具體含義并不是由報(bào)告描述符來決定的,是由開發(fā)人員事先約定好的。設(shè)備返回的數(shù)據(jù)也是64 個(gè)字節(jié),同樣這個(gè)數(shù)據(jù)流的每個(gè)字節(jié)(甚至每個(gè)位)的具體含義由開發(fā)人員事先約定好。
標(biāo)簽: USB HID 編寫 應(yīng)用程序
上傳時(shí)間: 2013-12-05
上傳用戶:xinyuzhiqiwuwu
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1