《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
該應(yīng)用報(bào)告描述了旋轉(zhuǎn)檢測器的實(shí)現(xiàn),該旋轉(zhuǎn)檢測器使用一對可檢測磁場的巨磁阻GMR(Giant Magneto-Resistive,)傳感器。傳感器的分布使它們不使用正交信號序列,這提供了討論非正交情況如何配置SIF的機(jī)會。討論了調(diào)試SIF應(yīng)用程序的技術(shù),提供了一個(gè)設(shè)計(jì)非正交進(jìn)程狀態(tài)機(jī)(processing state machines)的工具。
上傳時(shí)間: 2013-10-21
上傳用戶:sammi
寫給學(xué)單片機(jī)的年輕人:周立功 珍惜求學(xué)機(jī)會 作為過來人思前想后,我感到完全有責(zé)任將發(fā)自心底的感受傳遞給年輕一代,“一個(gè)企業(yè)家心靈深處渴望優(yōu)秀人才的卓越追求和深層次的嘆息、痛苦和感受”。您們千萬不要等到畢業(yè)求職時(shí)才覺得自己能力太差,世界上從來就沒有后悔藥。當(dāng)然,如果您現(xiàn)在看了我寫的這篇文章可能還不算晚,因?yàn)槟€有機(jī)會在以后的歲月里奮起直追——“亡羊補(bǔ)牢,尤未為晚”。對于現(xiàn)在剛進(jìn)入大學(xué)的學(xué)生,您應(yīng)該更加珍惜這美好的求學(xué)機(jī)會,因?yàn)檎Q壑g幾年就過去了,您很快就會感到來自全社會生存競爭的壓力,您面臨的對手再也不僅僅是您身邊的同學(xué),今天您在班上的成績的確是前幾名,但一走到社會上去才感到是多么地脆弱而又多么地不堪一擊。 面試本科生 在面試大多數(shù)本科生時(shí),我僅僅是詢問了一些有關(guān)MCS-51 系列單片機(jī)的基本原理,但卻幾乎很少有人能夠完全答對,簡直是五花八門。很多作為一個(gè)即將畢業(yè)的自動化專業(yè)本科生,至今還不知道單片機(jī)是這個(gè)專業(yè)的核心基礎(chǔ),難道不可悲嗎?您的水平不高我完全心中有底,其實(shí)我只要求這些學(xué)生能夠掌握單片機(jī)應(yīng)用開發(fā)的基本技能,用匯編和C51 寫過一些基本的程序,真正動手做過一些簡單的項(xiàng)目,然后將自己做過的項(xiàng)目寫成比較規(guī)范的文檔。我想,這種形式的“自我介紹”肯定要比讓別人看您那寫的千遍一律的“八股文”簡歷不知要強(qiáng)多少倍,古人言:“一葉知秋”其實(shí)講的就是這個(gè)道理。平心而論只有具備這樣基礎(chǔ)的學(xué)生才配得上企業(yè)花錢對您進(jìn)行二次“開發(fā)” 事實(shí)上,很多學(xué)生根本就不管老師平時(shí)是多么地勸導(dǎo)都聽不進(jìn)去,我認(rèn)為您只要平時(shí)善于做一個(gè)有心人,主動一些多找老師請教,然后從大三開始幫老師打打下手干一些活。還有一個(gè)途徑就是自己花錢購買一些學(xué)習(xí)開發(fā)實(shí)驗(yàn)板,加強(qiáng)動手能力的訓(xùn)練。但也有很多學(xué)生說沒有錢,可事實(shí)上并非如此,現(xiàn)在的學(xué)生購買手機(jī)成風(fēng),我不知道手機(jī)對您們現(xiàn)在來說到底有多大的用途?事實(shí)上,現(xiàn)在的學(xué)生家庭條件普遍都不太好,可這些孩子們的攀比心里卻十分地嚴(yán)重和可怕。到今天即將畢業(yè)之際才感到找工作太難。父母一個(gè)子兒地?cái)€下一些辛苦錢給您購買電腦容易嗎?“望子成龍――可憐天下父母心”!他們是希望您能夠?qū)W到一些真本事,而您可能很多時(shí)間都在玩游戲,上網(wǎng)聊天,實(shí)際上對于您來說僅僅是舉手之勞,只要花幾百元買一塊實(shí)驗(yàn)板,辛苦一個(gè)暑假的時(shí)間強(qiáng)化實(shí)踐,可能您就會與眾不同。與此同時(shí),可能您的信心大增,前途一片光明。俗話說得好:倉庫有糧,心中不慌!如果您平時(shí)沒有準(zhǔn)備,那么臨時(shí)匆匆忙忙地上陣面試肯定是要敗下來的。從2003 年開始是全國第一次擴(kuò)招之后畢業(yè)人數(shù)最多的第一年,以后的畢業(yè)生還會更多,同時(shí)還有更多的研究生與本科生搶飯碗,面對就業(yè)的困境壓力不能說不大,痛苦在其中。還有就是我每天都要面臨那些看不完的自我介紹簡歷,很可惜幾乎都是清一色的“八股文”令人討厭。其實(shí)只要您的成績不是太差,分?jǐn)?shù)不是應(yīng)聘成功的關(guān)鍵,重要的是做人要踏實(shí),不要有水分,實(shí)際上,只要將您平時(shí)做過的小制作寫成一篇心得,再帶上您的作品,“事實(shí)勝于雄辯”這樣更能打動人。還有很多經(jīng)歷了四年本科又三年研究生階段學(xué)習(xí)行將畢業(yè)的碩士生,不僅不知道嵌入式操作系統(tǒng)是什么東西,而且連C++都不能熟練掌握,驅(qū)動程序開發(fā)的能力就更不容提了,僅僅做了一個(gè)單片機(jī)的應(yīng)用設(shè)計(jì)就拿到碩士文憑了,術(shù)業(yè)缺乏專攻泛泛而談,說句實(shí)在話,怎么樣也教人無法接受啊!對于我來說,如果您沒有特別的才能,我寧愿用三年時(shí)間培養(yǎng)一個(gè)好的本科生給更高的待遇,他肯定不比一般的碩士生差。所以,考上了研究生之后,您要時(shí)刻明白加強(qiáng)動手能力的培養(yǎng)和前沿科學(xué)技術(shù)的學(xué)習(xí)至關(guān)重要的,這是您將來面試的“殺手澗”,因?yàn)槟厴I(yè)之后要求的工資待遇起碼是一般本科生的兩倍,但是這個(gè)錢不是那么好拿的。頂多3-5 年的時(shí)間,大家肯定能夠看到一個(gè)現(xiàn)實(shí),那就是如果您還不能熟練地掌握嵌入式操作系應(yīng)用開發(fā)技術(shù)的話,您只能拿2000 元的月薪。即便您是研究生或是博士,那又有什么稀奇的呢?鄧伯伯有句名言,不管白貓還是黑貓,抓住老鼠就是好貓!我們知道企業(yè)家是要賺錢的,否則這個(gè)企業(yè)就留不住人才,無情的市場競爭機(jī)制將會毫不猶豫地將這個(gè)老板淘汰出局。一個(gè)可持續(xù)發(fā)展的企業(yè),如果離開了富有聰明才智的優(yōu)秀人才,那是不可想象的。光有幾個(gè)還不行,而是要有一個(gè)卓越的軍團(tuán)。 就業(yè)問題 其實(shí)就業(yè)的問題,對于一個(gè)努力的人來說是何等地簡單,我面試了300 多本科生,我只對其中幾個(gè)成績中等的本科生感興趣,他們主要是參加過2001 年全國電子大賽,有的是平時(shí)業(yè)余時(shí)間,暑假及其寒假都在跟老師干活的學(xué)生,與他們聊天真是一種莫大的享受和欣慰,對于我來說真的是如獲至寶。于是,我就立即勸他們,您的成績中等確實(shí)難以考上好的學(xué)校和導(dǎo)師還不如不考研究生以免浪費(fèi)時(shí)間,同時(shí)也充滿自信告訴他們,“我就是伯樂!我愿意給您機(jī)會和花錢培養(yǎng)您”。事實(shí)上,即便您考上研究生,如果沒有遇上具有超前眼光和經(jīng)費(fèi)充足的導(dǎo)師,您讀了也白讀,更何況現(xiàn)在的研究生擴(kuò)招的這么多?一個(gè)導(dǎo)師帶那么多研究生,有那么多課題嗎?即便有的話,他應(yīng)付得過來嗎?可能殘酷的現(xiàn)實(shí)將會讓您看到,畢業(yè)之后回頭一看還遠(yuǎn)遠(yuǎn)不如當(dāng)年同您一道畢業(yè)的同班同學(xué)。確實(shí)也是,人家的機(jī)會比您好得多,關(guān)鍵是人家對待機(jī)會比您把握得好,可以說:恰到火候。難道非要讀研究生理論水平才高嗎?這是何等地荒謬啊!我們知道電子與計(jì)算機(jī)技術(shù)的發(fā)展日新月異。大學(xué)的更新速度一定就要快嗎?回答是否定的,比如說推廣PHILIPS 的最新單片機(jī)和USB 技術(shù)吧!他們的更新速度肯定比一個(gè)可持續(xù)發(fā)展的企業(yè)要慢得多,難道說我們的人才水平不夠高嗎?我們公司就有一批這樣在各個(gè)領(lǐng)域里出類拔萃的“年輕專家”從 2003 年開始,我們將會有一系列的專著在北京航空航天大學(xué)出版社出版,大多數(shù)的著作都來自于我們長期的基礎(chǔ)研究和應(yīng)用開發(fā),可以毫不夸張地說這些都是我們這個(gè)年輕團(tuán)隊(duì)合作的結(jié)晶。他們是優(yōu)秀和卓越的人才,他們沒有就業(yè)的壓力,他們不怕炒魷魚,相反我倒時(shí)刻要想盡辦法加強(qiáng)公司的管理,從工資,獎金,福利,生活和事業(yè)成就感等各個(gè)方面絞盡腦汁善待人才和留住人才,這么努力的人才根本就不需要過多地為工作和生活發(fā)愁,對于這個(gè)問題當(dāng)然是仁者見仁智者見智,也就是下面我要講到的問題,一個(gè)人如何根據(jù)自己的特點(diǎn)、條件和機(jī)遇對自己如何定位的問題,也是至關(guān)重要的。 定位問題 比如說,如果您對單片機(jī)的理解僅僅是入門水平的話,那么您首先就應(yīng)該低調(diào)一些,因?yàn)槟饕娜蝿?wù)是為了尋找一個(gè)可以學(xué)習(xí)的機(jī)會,說句實(shí)在話,此刻此刻您一定要清醒地意識到:尋找伯樂比眼前的利益更加重要!因?yàn)槟F(xiàn)在確實(shí)還沒有可以驕傲的資本,您一定要想盡辦法取得第一次正式踏入社會的入場卷,這對您來說是何等地重要啊!俗話說得好,“萬丈高樓從地起”您一定要尋找機(jī)會通過業(yè)績表現(xiàn)出您的能力,您確實(shí)與眾不同之處。這樣您就可能在一個(gè)公司里樹立您的“信用”,有了信用之后隨之而來的機(jī)會將會越來越多,到那時(shí)您根本就不用不愁自己的待遇和地位問題了。所以對于一個(gè)剛剛步入社會的年輕人來說,您能夠做到以“誠信” 打天下,您將來的前途肯定是無限光明。千萬不要感到自己在班上的成績是前幾名或者相對來說自己的動手能力相比之下比同學(xué)強(qiáng)多少、多少,或者自己在讀書期間貸了多少款,或者家里是多么地缺錢,因?yàn)楫?dāng)您加入整個(gè)社會的競爭之后,這些都不是您要求高薪的理由,這個(gè)時(shí)候您的心態(tài)將可能會決定您的命運(yùn),因此對自己要有充分的認(rèn)識和正確的估價(jià),經(jīng)常是很多學(xué)生用這些理由向我開出高價(jià),我無話可說只好“搖頭和嘆息”。 如果您的水平還不夠,我認(rèn)為也不要自卑,要知道機(jī)會是時(shí)刻屬于有準(zhǔn)備的年輕人,但也不可掉以輕心,此時(shí)此刻,您應(yīng)該振作起來,立即拿起書本努力學(xué)習(xí)和加強(qiáng)實(shí)戰(zhàn)的訓(xùn)練,待到羽翼豐滿之時(shí)大膽地走出去闖蕩,讓社會來對您做一個(gè)恰當(dāng)?shù)脑u價(jià),然后再根據(jù)現(xiàn)實(shí)的情況不斷地調(diào)整自己,繼續(xù)學(xué)習(xí)和實(shí)踐,由于電子和計(jì)算機(jī)科學(xué)的高速發(fā)展呈現(xiàn)日新月異的變化局勢,您一定要明白:您距離失敗永遠(yuǎn)只有6 個(gè)月!
標(biāo)簽: 單片機(jī)
上傳時(shí)間: 2013-11-02
上傳用戶:vodssv
DSP的使用正呈爆炸式發(fā)展。OFDM、GPS相關(guān)器、FFT、FIR濾波器或H.264之類計(jì)算密集型算法在從移動電話到汽車的各種應(yīng)用中都很常見。設(shè)計(jì)人員實(shí)現(xiàn)DSP有三種選擇:他們可以使用DSP處理器、FPGA或掩膜ASIC。ASIC具有最高的吞吐量、最低的功耗和最低的成本,但其極大的NRE和較長研制周期使其對許多設(shè)計(jì)而言并不適用。定制ASIC的研制周期可達(dá)一年之久,比最終產(chǎn)品的使用壽命都長。FPGA已占居較大的市場份額,因?yàn)槠淠芴峁┍菵SP處理器更好的吞吐量,而且沒有ASIC的極大NRE和較長研制周期。 因此,常常將基于ARM的MCU和FPGA結(jié)合使用來實(shí)現(xiàn)這些設(shè)計(jì),其中FPGA實(shí)現(xiàn)設(shè)計(jì)的DSP部分。然而,F(xiàn)PGA也有其自身的不足--最突出的是功耗很高(靜態(tài)功耗接近2W),且性能比ASIC慢。FPGA時(shí)鐘用于邏輯執(zhí)行時(shí)通常限制為50MHz,而ASIC可以400MHz或更高頻率執(zhí)行邏輯。其他缺點(diǎn)還包括在IP載入基于SRAM的FPGA時(shí)安全性還不夠理想,成本也較高。盡管FPGA成本已迅速降低,但價(jià)格通常在10,000片左右就不再下降,因此仍比較昂貴。 新型可定制Atmel處理器(CAP)MCU具有的門密度、單元成本、性能和功耗接近基于單元的ASIC,而NRE較低且開發(fā)時(shí)間較快。與基于ARM的非可定制標(biāo)準(zhǔn)產(chǎn)品MCU一樣,不需要單獨(dú)的ARM許可。 可定制MCU利用新型金屬可編程單元結(jié)構(gòu)(MPCF)ASIC技術(shù),其門密度介于170K門/mm2與210K門/mm2之間,與基于單元的ASIC相當(dāng)。例如,實(shí)現(xiàn)D觸發(fā)器(DFF)的MPCF單元與標(biāo)準(zhǔn)的單元DFF都使用130nm的工藝,所用面積差不多相同。
上傳時(shí)間: 2013-10-29
上傳用戶:xymbian
為了有效地提升鉛酸蓄電池的使用壽命,同時(shí)實(shí)現(xiàn)對充電過程的監(jiān)控,設(shè)計(jì)出一種用單片機(jī)控制的36 V鉛酸蓄電池充電電源。本電路采用反激式拓?fù)洌B續(xù)電流工作模式,電源管理IC設(shè)計(jì)在電源的副邊,由ELAN公司的EM78P258N單片機(jī)模擬,是用可編程器件模擬電源管理IC,實(shí)現(xiàn)智能電源低成本化的一次成功嘗試,通過對單片機(jī)的軟件設(shè)計(jì)實(shí)現(xiàn)了充電電源的狀態(tài)顯示、充電時(shí)間控制、報(bào)警、過溫保護(hù)、過壓保護(hù)、過流保護(hù)等功能。本充電器真正的實(shí)現(xiàn)了鉛酸蓄電池的三段式充電過程,其最高輸出功率可達(dá)90 W,效率約85%,成本不到20元,具有很高的市場競爭力。 Abstract: In order to extend the life of lead-acid battery efficiently and supervise the charging process meanwhile, a 36V lead-acid battery charge powe supply controlled by microcontroller is designed. The charger is flyback switching power supply and works in CCM mode. A EM78P258N microcontroller made by ELAN microelectronics corporation is used as power management IC which is designed at the secondary circuit. The project is a successful attempt to low-cost intelligent power used microcontroller simulating power management IC. The charger also has the functions of the status reveal, charge time control, alarming, thermal protect, current limit and overvoltage protect by the software design. The circuit actually implements the three-step charge process, whose power is up to 90W and whose efficiency can get 85%. The net cost of this charger is less than 20 RMB, so that the charger is of powerful market competitiveness.
標(biāo)簽: 單片機(jī)控制 充電電源 鉛酸蓄電池
上傳時(shí)間: 2013-11-16
上傳用戶:cepsypeng
介紹了非對稱數(shù)字用戶環(huán)路收發(fā)器片上系統(tǒng)芯片的組織結(jié)構(gòu), 對其硬件實(shí)現(xiàn)給出了具體描述!
標(biāo)簽: ADSL 收發(fā)器 片上系統(tǒng) 片的設(shè)計(jì)
上傳時(shí)間: 2013-11-10
上傳用戶:wbwyl
1 . 系統(tǒng)概述C8051F330/1器件是完全集成的混合信號片上系統(tǒng)型MCU。下面列出了一些主要特性,有關(guān)某一產(chǎn)品的具體特性參見表1.1。 高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核(可達(dá)25MIPS) 全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi)) 真正10位200 ksps的16通道單端/差分ADC,帶模擬多路器 10位電流輸出DAC 高精度可編程的25MHz內(nèi)部振蕩器 8KB可在系統(tǒng)編程的FLASH存儲器 768字節(jié)片內(nèi)RAM 硬件實(shí)現(xiàn)的SMBus/ I2C、增強(qiáng)型UART和增強(qiáng)型SPI串行接口 4個(gè)通用的16位定時(shí)器 具有3個(gè)捕捉/比較模塊和看門狗定時(shí)器功能的可編程計(jì)數(shù)器/定時(shí)器陣列(PCA) 片內(nèi)上電復(fù)位、VDD監(jiān)視器和溫度傳感器 片內(nèi)電壓比較器 17個(gè)端口I/O(容許5V輸入)
標(biāo)簽: C8051F330D 混合信號 控制器 數(shù)據(jù)手冊
上傳時(shí)間: 2013-10-18
上傳用戶:haohao
介紹一種運(yùn)用PIC16F84單片機(jī)實(shí)現(xiàn)與PC機(jī)串行通信的方法,并給出其硬件接口電路及通信源程序。關(guān)鍵詞 異步串行通信 發(fā)送與接收 VB4 Win95 串口查詢法 1 前言 美國Microchip公司的PIC16系列單片機(jī)是一種新型的CMOS工藝的8位單片機(jī)。其中,PIC16FXX單片機(jī)的程序存儲器為電可擦除閃速存儲器(flash),可多次修改程序,甚至可以在線編程。PIC16F83和PIC16F84片內(nèi)數(shù)據(jù)存儲器除RAM外,還有64字節(jié)的EEPROM,可以當(dāng)作一般的或非易失性的數(shù)據(jù)存儲器使用,簡單方便。它還具有片內(nèi)上電復(fù)位、延時(shí)電路、看門狗電路等。另外,PIC16系列單片機(jī)功耗極低,因而是一種非常適合在各種便攜式設(shè)備中使用的高性價(jià)比的單片機(jī),并已經(jīng)得到了越來越廣泛的應(yīng)用。 但是在許多需要大量計(jì)算的運(yùn)用中,還必須借助微機(jī)的強(qiáng)大數(shù)據(jù)處理能力。這樣必須通過通信電路實(shí)現(xiàn)PIC單片機(jī)與微機(jī)間的可靠數(shù)據(jù)傳輸。有的PIC16單片機(jī)內(nèi)并沒有提供串行口,所以串行通信必須通過自己設(shè)計(jì)的硬件電路和通信軟件來實(shí)現(xiàn)。 下面介紹用查詢法實(shí)現(xiàn)異步串行通訊的方法。同時(shí)給出了用PIC16F84單片機(jī)的兩個(gè)I/O口模擬2線串行口的硬件接口電路、程序流程框圖、單片機(jī)內(nèi)通信程序以及微機(jī)內(nèi)的通信程序等。2 硬件實(shí)現(xiàn)方法與電路 PIC16F84的程序存儲器由1K×14的閃速(flash)存儲器構(gòu)成,它只有13條I/O口,1個(gè)定時(shí)器,為了盡量節(jié)省單片機(jī)的軟硬件資源,采用下述異步串行通信的實(shí)現(xiàn)方法。 如圖1所示,PIC16F84在4MHz時(shí)鐘下,采用半雙工方式,可實(shí)現(xiàn)9600波特率的異步串行數(shù)據(jù)通信,1位停止位,8位數(shù)據(jù)位,無校驗(yàn)位。接收和發(fā)送以低位在先(一般模式),采用軟件延時(shí)。為節(jié)省篇幅,單片機(jī)內(nèi)的通信程序中未提供任何握手協(xié)議,用戶可根據(jù)自己的需要在軟件中加入握手方式。
標(biāo)簽: PIC 16 PC機(jī) 單片機(jī)
上傳時(shí)間: 2014-12-27
上傳用戶:偷心的海盜
如何建立一個(gè)屬于自己的AVR的RTOS 自從03 年以來,對單片機(jī)的RTOS 的學(xué)習(xí)和應(yīng)用的熱潮可謂一浪高過一浪.03 年,在離開校園前的,非典的那幾個(gè)月,在華師的后門那里買了本邵貝貝的《UCOSII》,通讀了幾次,沒有實(shí)驗(yàn)器材,也不了了之。在21IC 上,大家都可以看到楊屹寫的關(guān)于UCOSII 在51 上的移植,于是掀起了51 上的RTOS 的熱潮。再后來,陳明計(jì)先生推出的small rots,展示了一個(gè)用在51 上的微內(nèi)核,足以在52 上進(jìn)行任務(wù)調(diào)度。前段時(shí)間,在ouravr 上面開有專門關(guān)于AVR 的Rtos 的專欄,并且不少的兄弟把自己的作品拿出來,著實(shí)開了不少眼界。這時(shí),我重新回顧了使用單片機(jī)的經(jīng)歷,覺得很有必要,從根本上對單片機(jī)的RTOS 的知識進(jìn)行整理,于是,我開始了編寫一個(gè)用在AVR 單片機(jī)的RTOS。
上傳時(shí)間: 2013-11-07
上傳用戶:攏共湖塘
基于單片機(jī)的LED漢字顯示屏設(shè)計(jì)與制作:在大型商場、車站、碼頭、地鐵站以及各類辦事窗口等越來越多的場所需要用LED點(diǎn)陣顯示圖形和漢字。LED行業(yè)已成為一個(gè)快速發(fā)展的新興產(chǎn)業(yè),市場空間巨大,前景廣闊。隨著信息產(chǎn)業(yè)的高速發(fā)展,LED顯示作為信息傳播的一種重要手段,已廣泛應(yīng)用于室內(nèi)外需要進(jìn)行服務(wù)內(nèi)容和服務(wù)宗旨宣傳的公眾場所,例如戶內(nèi)外公共場所廣告宣傳、機(jī)場車站旅客引導(dǎo)信息、公交車輛報(bào)站系統(tǒng)、證券與銀行信息顯示、餐館報(bào)價(jià)信息豆示、高速公路可變情報(bào)板、體育場館比賽轉(zhuǎn)播、樓宇燈飾、交通信號燈、景觀照明等。顯然,LED顯示已成為城市亮化、現(xiàn)代化和信息化社會的一個(gè)重要標(biāo)志。 本文基于單片機(jī)(AT89C51)講述了16×16 LED漢字點(diǎn)陣顯示的基本原理、硬件組成與設(shè)計(jì)、程序編譯與下載等基本環(huán)節(jié)和相關(guān)技術(shù)。2 硬件電路組成及工作原理本產(chǎn)品擬采用以AT89C51單片機(jī)為核心芯片的電路來實(shí)現(xiàn),主要由AT89C51芯片、時(shí)鐘電路、復(fù)位電路、列掃描驅(qū)動電路(74HC154)、16×16 LED點(diǎn)陣5部分組成,如圖1所示。 其中,AT89C51是一種帶4 kB閃爍可編程可擦除只讀存儲器(Falsh Programmable and Erasable Read OnlyMemory,F(xiàn)PEROM)的低電壓、高性能CMOS型8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,能夠進(jìn)行1 000次寫/擦循環(huán),數(shù)據(jù)保留時(shí)間為10年。他是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。因此,在智能化電子設(shè)計(jì)與制作過程中經(jīng)常用到AT89C51芯片。時(shí)鐘電路由AT89C51的18,19腳的時(shí)鐘端(XTALl及XTAL2)以及12 MHz晶振X1、電容C2,C3組成,采用片內(nèi)振蕩方式。復(fù)位電路采用簡易的上電復(fù)位電路,主要由電阻R1,R2,電容C1,開關(guān)K1組成,分別接至AT89C51的RST復(fù)位輸入端。LED點(diǎn)陣顯示屏采用16×16共256個(gè)象素的點(diǎn)陣,通過萬用表檢測發(fā)光二極管的方法測試判斷出該點(diǎn)陣的引腳分布,如圖2所示。 我們把行列總線接在單片機(jī)的IO口,然后把上面分析到的掃描代碼送人總線,就可以得到顯示的漢字了。但是若將LED點(diǎn)陣的行列端口全部直接接入89S51單片機(jī),則需要使用32條IO口,這樣會造成IO資源的耗盡,系統(tǒng)也再無擴(kuò)充的余地。因此,我們在實(shí)際應(yīng)用中只是將LED點(diǎn)陣的16條行線直接接在P0口和P2口,至于列選掃描信號則是由4-16線譯碼器74HC154來選擇控制,這樣一來列選控制只使用了單片機(jī)的4個(gè)IO口,節(jié)約了很多IO資源,為單片機(jī)系統(tǒng)擴(kuò)充使用功能提供了條件。考慮到P0口必需設(shè)置上拉電阻,我們采用4.7 kΩ排電阻作為上拉電阻。
標(biāo)簽: LED 單片機(jī) 漢字 顯示屏設(shè)計(jì)
上傳時(shí)間: 2013-10-16
上傳用戶:ywcftc277
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1