激光測距技術(shù)被廣泛應(yīng)用于現(xiàn)代工業(yè)測量、航空與大地的測量、國防及通信等諸多領(lǐng)域。本文從已獲得廣泛應(yīng)用的脈沖激光測距技術(shù)入手,重點分析了近年提出的自觸發(fā)脈沖激光測距技術(shù)(STPLR)特別是其中的雙自觸發(fā)脈沖激光測距技術(shù)(BSTPLR),通過分析發(fā)現(xiàn)其核心部件之一就是用于測量激光脈沖飛行時間(周期)的高精度高速計數(shù)器,而目前一般的方式是采用昂貴的進口高速計數(shù)器或?qū)S眉呻娐?ASIC)來完成,這使得激光測距儀在研發(fā)、系統(tǒng)的改造升級和自主知識產(chǎn)權(quán)保護等諸多方面受到制約,同時在其整體性能上特別是在集成化、小型化和高可靠性方面帶來阻礙。為此,本文研究了采用現(xiàn)場可編程門陣列(FPGA)來實現(xiàn)脈沖激光測距中的高精度高速計數(shù)及其他相關(guān)功能,基本解決了以上存在的問題。 論文通過對雙自觸發(fā)脈沖激光測距的主要技術(shù)要求和技術(shù)指標進行分析,對其中的信號處理單元采用了FPGA+單片機的設(shè)計形式。由FPGA主控芯片(EPF10K20TC144-4)作為周期測量模塊,在整個測距系統(tǒng)中是信號處理的核心部件,借助其用戶可編程特性及很高的內(nèi)部時鐘頻率,設(shè)計了專用于BSTPLR的高速高精度計數(shù)芯片,負責對測距信號產(chǎn)生電路中的時刻鑒別電路輸出信號進行計數(shù)。數(shù)據(jù)處理模塊則主要由單片機(AT89C51)來實現(xiàn)。系統(tǒng)可以通過鍵盤預置門控信號的寬度以均衡測量的精度和速度,測量結(jié)果采用7位LED數(shù)碼管顯示。本設(shè)計在近距離(大尺寸)范圍內(nèi)實驗測試時基本滿足設(shè)計要求。
標簽: FPGA 自觸發(fā)脈沖 激光測距 關(guān)鍵技術(shù)
上傳時間: 2013-06-02
上傳用戶:
比例-積分-微分(PID)是過程控制中最常用的一種控制算法。算法簡單而且容易理解,應(yīng)用十分廣泛。但由于應(yīng)用領(lǐng)域的不同,功能上差別很大,系統(tǒng)的控制要求及關(guān)心的控制對象也不相同。數(shù)字PID控制比連續(xù)PID控制更為優(yōu)越,因為計算機程序的靈活性,很容易克服連續(xù)PID控制中存在的問題,經(jīng)修正而得到更完善的數(shù)字PID算法。本文以三相全控整流橋阻性負載為實際電路,控制主電路電壓,旨在提出一種智能數(shù)字PID控制系統(tǒng)的設(shè)計思路,并給出了詳細的硬件設(shè)計及初步軟件設(shè)計思路。 PID控制系統(tǒng)采用高性能、低功耗的ARM微處理器S3C44BO作為核心處理單元,內(nèi)部的10位ADC作為信號采集模塊,采用了矩陣鍵盤和640*480的液晶作為人機接口;串口作為通信模塊實現(xiàn)了上位機的監(jiān)控。采用芯片內(nèi)部自帶的PWM模塊,輸出16M Hz PWM信號并經(jīng)過一階低通濾波器得到0~5V的控制信號用于觸發(fā)主電路控制器,實現(xiàn)PID整定。 軟件方面,分析和研究了uC/OSⅡ的內(nèi)核源碼,實現(xiàn)了其在32位微處理器上的移植,作為管理各個子程序執(zhí)行的系統(tǒng)軟件。選用了圖形處理軟件uC/GUI用于完成LCD顯示及控制。PID算法采用了增量式數(shù)字PID算法,采用規(guī)一化算法進行參數(shù)選取。上位機部分采用了C#語言進行編寫。另外,采用了RTC(Real Time Clock)作為系統(tǒng)時鐘,可以實現(xiàn)系統(tǒng)的定時運行、定時模式切換等。在上位機上也可以方便的控制程序的執(zhí)行,實現(xiàn)遠程監(jiān)控。 在論文的最后詳細的介紹了智能PID控制系統(tǒng)在三相全控橋主電路中的具體應(yīng)用。總結(jié)了調(diào)試中遇到的問題,對今后工作中需要進一步改善和探索的地方進行了展望。
標簽: ARM PID 控制系統(tǒng)
上傳時間: 2013-08-01
上傳用戶:lvzhr
軌道電路是列車運行實現(xiàn)自動控制和遠程控制的基礎(chǔ)設(shè)備之一,鐵路信號系統(tǒng)是保證運輸安全的基礎(chǔ)設(shè)施,是實現(xiàn)鐵路統(tǒng)一指揮調(diào)度,保證列車運行安全、提高運輸效率和質(zhì)量的關(guān)鍵技術(shù)設(shè)備,也是鐵路信息化的重要技術(shù)領(lǐng)域。 基于ARM與DSP的鐵路信號測試儀主要作用是及時測試鐵路信號狀況,反映鐵路運行的情況。開發(fā)此套系統(tǒng)是集測試25Hz相敏軌道電路的電壓自動記錄儀以及相位差監(jiān)測儀、ZPW-2000A的載頻與低頻測試功能于一體,是性價比較高、功能齊全的監(jiān)測管理系統(tǒng),它發(fā)揮了ARM控制性好與DSP計算速度快的優(yōu)勢,實現(xiàn)了互補。由于采用的主要是集成芯片,所以體積小,重量輕,功耗低和便于攜帶,便于現(xiàn)場檢測。在滿足要求的前提下,為降低開發(fā)成本提高可靠性,CPU采用LPC2210的ARM7芯片。為使測試儀直觀、操作簡便,系統(tǒng)提供了良好的人機界面,包括顯示,按鍵操作等。 論文對FFT以及相關(guān)算法進行了分析和Matlab仿真;論文中給出了時鐘電路、LCD電路、數(shù)據(jù)存儲器Flash、JTAG等各功能模塊的設(shè)計原理,完成了硬件電路設(shè)計;系統(tǒng)軟件設(shè)計遵循模塊化、自頂向下的設(shè)計思路。在軟件設(shè)計方面,首先采用的是傳統(tǒng)主循環(huán)控制方法,功能上主要實現(xiàn)了A/D采樣程序、LCD顯示程序、數(shù)據(jù)存儲程序等的設(shè)計,對兩路25Hz信號電壓相位差的計算,其誤差不人于1度。為了改善系統(tǒng)性能提高系統(tǒng)的實時性,系統(tǒng)中引入實時操作系統(tǒng)μC/OS-Ⅱ,也有利于代碼移植及系統(tǒng)功能擴展。
上傳時間: 2013-04-24
上傳用戶:隱界最新
音頻管理組件(Audio Management Unit,AMU)是先進客艙娛樂與服務(wù)系統(tǒng)(Advanced Cabin Entertainment Service System,ACESS)的組成部分,應(yīng)用于飛機上音頻資源的管理與控制。飛機運營對航空機載電子系統(tǒng)準確性、復雜性和安全性的高要求,使得其維修維護工作極大地依賴于自動測試設(shè)備(Automatic Testing Equipment,ATE)。本課題來源于實際工程項目, FPGA技術(shù)具備多種優(yōu)點,將其與民航測試設(shè)備結(jié)合研制一個用于檢測AMU故障的自動測試系統(tǒng),該系統(tǒng)將對AMU自動完成部件維修手冊(Comvonent Maintenance Manual,CMM)所規(guī)定的全部功能、性能方面的綜合測試。 本文首先概述音頻管理組件、自動測試系統(tǒng)及其在民航領(lǐng)域的應(yīng)用,并闡述了課題的背景、研究目標和相關(guān)技術(shù)要求;文章對可編程邏輯器件CPLD/FPGA的結(jié)構(gòu)原理、硬件描述語言VHDL的特點以及MAXL+plusⅡ軟件的設(shè)計流程進行了說明,重點闡述了基于FPGA的DDS信號發(fā)生器以及數(shù)據(jù)采集卡的設(shè)計實現(xiàn)、并著重闡述了ARINC429總線的傳輸規(guī)范,和基于FPGA的ARINC429總線接口的設(shè)計與實現(xiàn)。在ARINC429接口設(shè)計中采用自頂向下,多層次系統(tǒng)設(shè)計的方法,用VHDL語言進行描述。在發(fā)送器中利用了FPGA內(nèi)部的分布式RAM創(chuàng)建異步FIFO,節(jié)約了FPGA的內(nèi)部資源和提高了數(shù)據(jù)傳輸速度;在接收器中采用了提高抗干擾性的優(yōu)化設(shè)計。測試結(jié)果表明基于FPGA的設(shè)計實現(xiàn)ARINC429總線數(shù)據(jù)通信的要求,使用方便,可靠性好,能夠克服HS-3282芯片中的數(shù)據(jù)格式固定,使用不夠靈活方便,價格昂貴的缺點。
標簽: FPGA 飛機 音頻 測試系統(tǒng)
上傳時間: 2013-08-06
上傳用戶:gzming
激光測距技術(shù)被廣泛應(yīng)用于現(xiàn)代工業(yè)測量、航空與大地的測量、國防及通信等諸多領(lǐng)域。本文從已獲得廣泛應(yīng)用的脈沖激光測距技術(shù)入手,重點分析了近年提出的自觸發(fā)脈沖激光測距技術(shù)(STPLR)特別是其中的雙自觸發(fā)脈沖激光測距技術(shù)(BSTPLR),通過分析發(fā)現(xiàn)其核心部件之一就是用于測量激光脈沖飛行時間(周期)的高精度高速計數(shù)器,而目前一般的方式是采用昂貴的進口高速計數(shù)器或?qū)S眉呻娐?ASIC)來完成,這使得激光測距儀在研發(fā)、系統(tǒng)的改造升級和自主知識產(chǎn)權(quán)保護等諸多方面受到制約,同時在其整體性能上特別是在集成化、小型化和高可靠性方面帶來阻礙。為此,本文研究了采用現(xiàn)場可編程門陣列(FPGA)來實現(xiàn)脈沖激光測距中的高精度高速計數(shù)及其他相關(guān)功能,基本解決了以上存在的問題。 論文通過對雙自觸發(fā)脈沖激光測距的主要技術(shù)要求和技術(shù)指標進行分析,對其中的信號處理單元采用了FPGA+單片機的設(shè)計形式。由FPGA主控芯片(EPF10K20TC144-4)作為周期測量模塊,在整個測距系統(tǒng)中是信號處理的核心部件,借助其用戶可編程特性及很高的內(nèi)部時鐘頻率,設(shè)計了專用于BSTPLR的高速高精度計數(shù)芯片,負責對測距信號產(chǎn)生電路中的時刻鑒別電路輸出信號進行計數(shù)。數(shù)據(jù)處理模塊則主要由單片機(AT89C51)來實現(xiàn)。系統(tǒng)可以通過鍵盤預置門控信號的寬度以均衡測量的精度和速度,測量結(jié)果采用7位LED數(shù)碼管顯示。本設(shè)計在近距離(大尺寸)范圍內(nèi)實驗測試時基本滿足設(shè)計要求。
標簽: FPGA 自觸發(fā)脈沖 激光測距 關(guān)鍵技術(shù)
上傳時間: 2013-04-24
上傳用戶:dapangxie
隨著現(xiàn)場可編程門陣列(FPGA)在工業(yè)中的廣泛應(yīng)用,使得基于FPGA數(shù)字信號處理的實現(xiàn)在雷達信號處理中有著重要地位。模型化設(shè)計是一種自頂向下的面向FPGA的快速原型驗證法,它不僅降低了FPGA設(shè)計門檻,而且縮短了開發(fā)周期,提高了設(shè)計效率。這使得FPGA模型化設(shè)計成為了FPGA系統(tǒng)設(shè)計的發(fā)展趨勢。本文針對常見雷達信號處理模塊的FPGA模型化實現(xiàn),在以下幾個方面展開研究:首先對基于FPGA的模型化設(shè)計方法進行了研究,給出了模型化設(shè)計方法的發(fā)展現(xiàn)狀和趨勢,并對本文中使用的模型化設(shè)計方法的軟件工具System Generator和AccelDSP進行了介紹。其次使用這兩種軟件工具對FIR濾波器進行了模型化設(shè)計并同RTL(寄存器傳輸級)設(shè)計方法進行對比,全面分析了模型化設(shè)計方法和RTL設(shè)計方法的優(yōu)缺點。然后在簡明闡述雷達信號處理原理的基礎(chǔ)上,使用System Generator對數(shù)字下變頻(DDC)、脈沖壓縮、動目標顯示(MTI)及恒虛警(CFAR)處理等雷達信號處理模塊進行了自頂向下的模型化設(shè)計。在Simulink中進行了功能仿真驗證,生成了HDL代碼,并在Xilinx FPGA中進行了RTL的時序仿真分析。關(guān)鍵詞:雷達信號處理 FPGA 模型化設(shè)計 System Generator AccelDSP
上傳時間: 2013-07-25
上傳用戶:zhangsan123
EDA工程建模及其管理方法研究2 1 隨著微電子技術(shù)與計算機技術(shù)的日益成熟,電子設(shè)計自動化(EDA)技術(shù)在電子產(chǎn)品與集成電路 (IC)芯片特別是單片集成(SoC)芯片的設(shè)計應(yīng)用中顯得越來越重要。EDA技術(shù)采用“自上至下”的設(shè)計思想,允許設(shè)計人員能夠從系統(tǒng)功能級或電路功能級進行產(chǎn)品或芯片的設(shè)計,有利于產(chǎn)品在系統(tǒng)功能上的綜合優(yōu)化,從而提高了電子設(shè)計項目的協(xié)作開發(fā)效率,降低新產(chǎn)品的研發(fā)成本。 近十年來,EDA電路設(shè)計技術(shù)和工程管理方面的發(fā)展主要呈現(xiàn)出兩個趨勢: (1) 電路的集成水平已經(jīng)進入了深亞微米的階段,其復雜程度以每年58%的幅度迅速增加,芯片設(shè)計的抽象層次越來越高,而產(chǎn)品的研發(fā)時限卻不斷縮短。 (2) IC芯片的開發(fā)過程也日趨復雜。從前期的整體設(shè)計、功能分,到具體的邏輯綜合、仿真測試,直至后期的電路封裝、排版布線,都需要反復的驗證和修改,單靠個人力量無法完成。IC芯片的開發(fā)已經(jīng)實行多人分組協(xié)作。由此可見,如何提高設(shè)計的抽象層次,在較短時間內(nèi)設(shè)計出較高性能的芯片,如何改進EDA工程管理,保證芯片在多組協(xié)作設(shè)計下的兼容性和穩(wěn)定性,已經(jīng)成為當前EDA工程中最受關(guān)注的問題。
上傳時間: 2013-11-10
上傳用戶:yan2267246
在本課題中,兼顧了效率及線性度,采用自適應(yīng)預失真前饋復合線性化系統(tǒng)來改善高功率放大器的線性度。由于加入自適應(yīng)控制模塊,射頻電路不受溫度、時漂、輸入功率等的影響,可始終處于較佳工作狀態(tài),這使得整個放大系統(tǒng)更為實用,也更具有拓展價值。
上傳時間: 2013-11-21
上傳用戶:xauthu
附件附帶破解補丁 浩辰CAD 2012專業(yè)版破解方法: 按正常安裝浩辰CAD 2012專業(yè)版,點擊安裝KeyGen.exe。 浩辰CAD2012,以增強軟件實用性、易用性為主要目標,新增了大量實用功能,改進了著色、消隱的正確性,提升了大幅面光柵圖像處理的性能,同時改進了LISP\VBA二次開發(fā)接口的正確性和兼容性。 浩辰CAD 2012根據(jù)國內(nèi)外用戶的需求,增加了大量實用功能,例如動態(tài)塊、DWF文件插入、隔離隱藏對象、轉(zhuǎn)換EXCEL表格、塊屬性管理器、放樣、超級填充等。 浩辰cad2012新增功能: 1、動態(tài)塊(bedit) 動態(tài)塊具有靈活性和智能性。 用戶在操作時可以輕松地更改圖形中的動態(tài)塊參照。 可以通過自定義夾點或自定義特性來操作動態(tài)塊參照中的幾何圖形。 a)通過設(shè)置圖塊中元素的可見性,一個圖塊中可以包含一種圖形的多種形態(tài),如下圖的汽車模塊就包含跑車、轎車和卡車的各向視圖,只需在可見性列表中選擇一個選項,就可以顯示相應(yīng)的圖形。 還可對圖塊中的圖形設(shè)置參數(shù)和動作,可對圖塊的整體或部分圖形進行移動、旋轉(zhuǎn)、翻轉(zhuǎn)、縮放、陣列等;并可建立查詢列表,對圖塊進行參數(shù)化控制。通過圖塊的動作設(shè)置,一個圖塊可以派生出數(shù)個圖塊,如下圖所示: 2、DWF參考底圖(dwfattach) 可以將dwf文件插入到當前圖中作為參考底圖,并可以捕捉到底圖的端點、中點,如下圖所示: 3、對象隔離、對象隱藏、取消對象隔離 可將選擇的對象暫時隱藏,也可將選擇對象以外的其他所有對象隱藏。當圖中對象較多,利用此命令可以簡化圖紙,方便后續(xù)操作,操作起來比圖層隔離更加簡便、直觀。 4、凍結(jié)其它圖層和鎖定其它圖層 浩辰CAD 之前版本提供了圖層隔離的功能,凍結(jié)其他圖層和鎖定其它圖層與圖層隔離功能類似,可以通過選擇需要顯示或可編輯對象,將其他圖層進行凍結(jié)和鎖定。 5、CAD表格轉(zhuǎn)EXCEL表格 可以直接選擇CAD中由直線、多段線和單行文字、多行文字組成的表格輸出為EXCEL表格。 6、文字遞增 可以對序號、編號、數(shù)值進行遞增復制,間距、數(shù)量和增量均可隨心所欲地控制。 7、多段線布爾運算 可直接對封閉的多段線進行差并交計算,無需轉(zhuǎn)換面域,有時比修剪更簡便。 8、拼寫檢查(spell) 此功能實現(xiàn)對用戶輸入的單詞或文章進行單詞校驗,提示匹配的單詞列表,方便用戶進行正確的單詞填寫工作。可以實現(xiàn)不同語言的單詞校驗工作,包括英文,德文,等8種語言。 可以對全部實體(包括布局,模型中的所有實體)進行校驗。 可以分別對布局或模型中的實體進行校驗。 可以單獨對一個實體或一個選擇集進行校驗。 方便用戶自定義詞典。 兼容的自定義詞典。 支持文字,塊內(nèi)文字,塊屬性,屬性,標注的校驗。 9、放樣(Loft) 通過對包含兩條或者兩條以上的橫截面曲線的一組曲線進行放樣(繪制實體或曲面)來創(chuàng)建三維實體或曲面。 10、塊屬性管理器(battman) 創(chuàng)建帶屬性的塊后,執(zhí)行 battman 對塊中屬性定義進行查詢和修改,如果將修改應(yīng)用到所有塊參照,則對應(yīng)塊的塊參照中屬性實體也會做對應(yīng)修改。 11、超級填充(superhatch) 超級填充命令有點像hatch命令,不同的是,可以使用該命令將光柵圖像、塊、外部參照和擦除這些實體作為填充實體對閉合區(qū)域進行填充。 12、線上寫字 可以在選擇線上書寫文字,線會被自動打斷,文字會放到線中間。 ◆ 重要功能改進 1、超鏈接 浩辰CAD 2012版的超鏈接不僅修改了以前存在的一些錯誤,而且提供了更為豐富的功能。 a)支持web鏈接的瀏覽和連接的設(shè)置。 b)支持打開操作系統(tǒng)可打開的所有文件。 c)支持dwg圖紙的視圖定位。 d)支持超鏈接的復制粘貼。 e)可以通過鼠標光標狀態(tài)來判斷是否存在鏈接,方便用戶判斷是否存在鏈接。 f)可以通過ctrl+鼠標點擊打開設(shè)置的文件,方便用戶的操作。 g)可以通過右鍵打開塊內(nèi)實體的鏈接。 2、光柵圖像 浩辰CAD 2012版不僅增加了圖像格式的支持,同時提升了大分辨率光柵圖像的插入、顯示和打印的效果和速度。 a) 增加了對多種圖像格式的支持,諸如:CALS-1(*.cal,*.mil,*.rst,*.cg4)、RLC、GEOSPORT(.bil)、PICT(.pct/.pict)、IG4、Autodesk Animator(.fil/.flc)。 b) 內(nèi)存使用問題,可以插入多張圖片,內(nèi)存不會增加。 c) 光柵圖像打印問題(不清晰)。 d) 插入大圖像時,預覽速度大幅提升。 3、二次開發(fā)改進 浩辰CAD 2012版針對二次開發(fā)商和用戶提出的一些LISP及VBA與AutoCAD存在的兼容性問題進行了系統(tǒng)梳理,兼容性有明顯提升,此外還針對國外二次開發(fā)商的需求開發(fā)了Lisp調(diào)試器。 a) Lisp改進 處理了線程問題、命令范圍值問題、VLX解析問題,對Lisp程序執(zhí)行速度進行了優(yōu)化。 b) VBA改進 處理了VBA的文檔管理、接口不全、接口錯誤、類派生關(guān)系錯誤問題。 c) Lisp調(diào)試器 用戶在使用浩辰CAD時,由于LISP與AutoCAD不完全兼容,用戶需要一個工具進行調(diào)試,以協(xié)助用戶解決及分析報告LISP問題。此系統(tǒng)以完成調(diào)試功能為主,不處理詞法分析前的映射。適用于中級以上開發(fā)用戶。
上傳時間: 2013-11-10
上傳用戶:giraffe
《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版)》介紹了如何高效地部署應(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)建強大且安全的應(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章 變量和表達式 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 表達式 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應(yīng)用程序中的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 示例應(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 練習 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 控件的定位、停靠和對齊 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應(yīng)用程序 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應(yīng)用程序 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 運行應(yīng)用程序 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 服務(wù)器控件 504 19.5 事件處理程序 505 19.6 輸入的有效性驗證 509 19.7 狀態(tài)管理 512 19.7.1 客戶端的狀態(tài)管理 513 19.7.2 服務(wù)器端的狀態(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服務(wù) 561 21.1 Web服務(wù)推出之前 561 21.1.1 遠程過程調(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基本個性化配置 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 練習 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 擴展控件 598 22.7 小結(jié) 600 22.8 練習 600 第23章 部署Web應(yīng)用程序 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 應(yīng)用程序 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 在應(yīng)用程序中使用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文檔說明的應(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 練習 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 應(yīng)用協(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應(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 實現(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服務(wù)合同 973 35.3.2 自存儲的WCF服務(wù) 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
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1