一本很好的匯編語言教程,跟大家一起分享 課程介紹 第1章 預備知識 1.1 匯編語言的由來及其特點 1 機器語言 2 匯編語言 3 匯編程序 4 匯編語言的主要特點 5 匯編語言的使用領域 1.2 數據的表示和類型 1 數值數據的表示 2 非數值數據的表示 3 基本的數據類型 1.3 習題 第2章 CPU資源和存儲器 2.1 寄存器組 1 寄存器組 2 通用寄存器的作用 3 專用寄存器的作用 2.2 存儲器的管理模式 1 16位微機的內存管理模式 2 32位微機的內存管理模式 2.3 習題 第3章 操作數的尋址方式 3.1 立即尋址方式 3.2 寄存器尋址方式 3.3 直接尋址方式 3.4 寄存器間接尋址方式 3.5 寄存器相對尋址方式 3.6 基址加變址尋址方式 3.7 相對基址加變址尋址方式 3.8 32位地址的尋址方式 3.9 操作數尋址方式的小結 3.10 習題 第4章 標識符和表達式 4.1 標識符 4.2 簡單內存變量的定義 1 內存變量定義的一般形式 2 字節變量 3 字變量 4 雙字變量 5 六字節變量 6 八字節變量 7 十字節變量 4.3 調整偏移量偽指令 1 偶對齊偽指令 2 對齊偽指令 3 調整偏移量偽指令 4 偏移量計數器的值 4.4 復合內存變量的定義 1 重復說明符 2 結構類型的定義 3 聯合類型的定義 4 記錄類型的定義 5 數據類型的自定義 4.5 標號 4.6 內存變量和標號的屬性 1 段屬性操作符 2 偏移量屬性操作符 3 類型屬性操作符 4 長度屬性操作符 5 容量屬性操作符 6 強制屬性操作符 7 存儲單元別名操作符 4.7 表達式 1 進制偽指令 2 數值表達式 3 地址表達式 4.8 符號定義語句 1 等價語句 2 等號語句 3 符號名定義語句 4.9 習題 第5章 微機CPU的指令系統 5.1 匯編語言指令格式 1 指令格式 2 了解指令的幾個方面 5.2 指令系統 1 數據傳送指令 2 標志位操作指令 3 算術運算指令 4 邏輯運算指令 5 移位操作指令 6 位操作指令 7 比較運算指令 8 循環指令 9 轉移指令 10 條件設置字節指令 11 字符串操作指令 12 ASCII-BCD碼調整指令 13 處理器指令 5.3 習題 第6章 程序的基本結構 6.1 程序的基本組成 1 段的定義 2 段寄存器的說明語句 3 堆棧段的說明 4 源程序的結構 6.2 程序的基本結構 1 順序結構 2 分支結構 3 循環結構 6.3 段的基本屬性 1 對齊類型 2 組合類型 3 類別 4 段組 6.4 簡化的段定義 1 存儲模型說明偽指令 2 簡化段定義偽指令 3 簡化段段名的引用 6.5 源程序的輔助說明偽指令 1 模塊名定義偽指令 2 頁面定義偽指令 3 標題定義偽指令 4 子標題定義偽指令 6.6 習題 第7章 子程序和庫 7.1 子程序的定義 7.2 子程序的調用和返回指令 1 調用指令 2 返回指令 7.3 子程序的參數傳遞 1 寄存器傳遞參數 2 存儲單元傳遞參數 3 堆棧傳遞參數 7.4 寄存器的保護與恢復 7.5 子程序的完全定義 1 子程序完全定義格式 2 子程序的位距 3 子程序的語言類型 4 子程序的可見性 5 子程序的起始和結束操作 6 寄存器的保護和恢復 7 子程序的參數傳遞 8 子程序的原型說明 9 子程序的調用偽指令 10 局部變量的定義 7.6 子程序庫 1 建立庫文件命令 2 建立庫文件舉例 3 庫文件的應用 4 庫文件的好處 7.7 習題 第8章 輸入輸出和中斷 8.1 輸入輸出的基本概念 1 I/O端口地址 2 I/O指令 8.2 中斷 1 中斷的基本概念 2 中斷指令 3 中斷返回指令 4 中斷和子程序 8.3 中斷的分類 1 鍵盤輸入的中斷功能 2 屏幕顯示的中斷功能 3 打印輸出的中斷功能 4 串行通信口的中斷功能 5 鼠標的中斷功能 6 目錄和文件的中斷功能 7 內存管理的中斷功能 8 讀取和設置中斷向量 8.4 習題 第9章 宏 9.1 宏的定義和引用 1 宏的定義 2 宏的引用 3 宏的參數傳遞方式 4 宏的嵌套定義 5 宏與子程序的區別 9.2 宏參數的特殊運算符 1 連接運算符 2 字符串整體傳遞運算符 3 字符轉義運算符 4 計算表達式運算符 9.3 與宏有關的偽指令 1 局部標號偽指令 2 取消宏定義偽指令 3 中止宏擴展偽指令 9.4 重復匯編偽指令 1 偽指令REPT 2 偽指令IRP 3 偽指令IRPC 9.5 條件匯編偽指令 1 條件匯編偽指令的功能 2 條件匯編偽指令的舉例 9.6 宏的擴充 1 宏定義形式 2 重復偽指令REPEAT 3 循環偽指令WHILE 4 循環偽指令FOR 5 循環偽指令FORC 6 轉移偽指令GOTO 7 宏擴充的舉例 8 系統定義的宏 9.7 習題 第10章 應用程序的設計 10.1 字符串的處理程序 10.2 數據的分類統計程序 10.3 數據轉換程序 10.4 文件操作程序 10.5 動態數據的編程 10.6 COM文件的編程 10.7 駐留程序 10.8 程序段前綴及其應用 1 程序段前綴的字段含義 2 程序段前綴的應用 10.9 習題 第11章 數值運算協處理器 11.1 協處理器的數據格式 1 有符號整數 2 BCD碼數據 3 浮點數 11.2 協處理器的結構 11.3 協處理器的指令系統 1 操作符的命名規則 2 數據傳送指令 3 數學運算指令 4 比較運算指令 5 超越函數運算指令 6 常數操作指令 7 協處理器控制指令 11.4 協處理器的編程舉例 11.5 習題 第12章 匯編語言和C語言 12.1 匯編語言的嵌入 12.2 C語言程序的匯編輸出 12.3 一個具體的例子 12.4 習題 附錄
上傳時間: 2013-07-05
上傳用戶:hw1688888
快速傅立葉變換(FFT)技術是數字信號處理中的核心技術,它已廣泛應用于數字信號處理的各個領域,長期以來一直是一個重要的研究課題。近年來,專用數字信號處理器以其優化的硬件結構和優良的性能價格比為FFT的實現提供了一種有效的途徑,其中最具有代表性的是美國TI公司的TMS320系列DSP。 本文首先分析了常用FFT算法原理,并進行了算法的討論和比較,然后詳細論述了以浮點型DSP為核心的實現FFT算法的硬件平臺的設計。平臺的硬件電路主要包括數據采集部分、數據處理部分、數據存儲部分和數據顯示部分。其中采集部分采用12位高速的A/D轉換芯片MAX197,數據處理部分采用32位浮點型DSP芯片-TMS320VC33,數據存儲部分采用了大容量的FLASH芯片——K9F2808UOA,數據顯示部分采用PHILIPS公司的高亮度、寬視角的TFT彩色液晶顯示屏。 為了擴展系統的通信能力,通信接口我們選擇CAN總線。軟件部分選用了頻率抽取基2FFT、分裂基FFT和實序列FFT算法,用C語言進行編程。最后部分是進行軟硬件的聯合調試,并在此基礎上進行了FFT算法實現。 論文結尾以實際的實驗曲線分析驗證了算法的正確性,同時針對實驗中產生的誤差找出了原因,并提出了解決的方法。實驗結果表明采用浮點DSP實現FFT算法方便且有較高的實時性,可以應用到電力系統諧波分析、振動測試及鐵路檢測等各個領域。
上傳時間: 2013-04-24
上傳用戶:caixiaoxu26
本文提出了一種基于USB和FPGA的高性能數據采集模塊USB12016(USB總線,A/D垂直分辨率為12位,存儲容量為16兆)的軟硬件設計與實現方法。該數據采集卡包括模擬輸入、A/D轉換、數據緩存、FPGA控制電路和USB總線接口等,在一張卡上實現了8通道模擬信號調理、采集、處理,并可實現多卡同步觸發采集,具有高精度,低噪聲,低失真和測試信號范圍寬的特點。USB12016配有系統驅動控制程序軟件,在Windows9X/2000版本的操作平臺下運行,控制面板完全是虛擬儀器軟面板,圖形化界面十分友好。USB12016是USB接口技術、FPGA技術和嵌入式技術融為一體的結晶,已成功應用于軍事測控領域。
上傳時間: 2013-06-12
上傳用戶:CETM008
激光打標是指利用高能量密度的激光束在物件表面作永久性標刻。激光打標以其“打標速度快、性能穩定、打標質量好”等優勢,獲得了日益廣泛的應用。傳統的激光打標系統一般是基于ISA總線或PCI總線的,運動控制卡必須插在計算機的PCI插槽內,且不支持熱捅拔,影響了控制卡的穩定性;以單片機為主控制器的激光打標控制卡雖然成本低、運行可靠,但由于其運算速度慢、存儲容量有限,限制了它的應用范圍。 運動控制卡是激光打標系統的核心組成部分。本文設計了一種新型的基于USB總線,以FPGA為主控單元的振鏡掃描式激光打標控制卡,它利用了USB總線高速、穩定、易用和FPGA資源豐富、處理能力強、易擴展等優點,將PC機強大的信息處理能力與運動控制卡的運動控制能力相結合,具有信息處理能力強、開放程度高、使用方便的特點。 本文首先介紹了激光打標的原理,激光打標技術的發展現狀以及激光打標系統的組成結構。在對USB總線技術作了簡要介紹后,詳細討論了激光打標控制卡的硬件電路設計,包括USB接口電路,FPGA主控單元電路,D/A單元電路,存儲器電路,I/O接口電路等。接著對USB接口單元的固件程序和FPGA中USB接口功能模塊、D/A寫控制功能模塊和SRAM讀寫控制功能模塊的程序做了詳細設計,通過軟硬件調試,控制卡實現了USB通信,輸出兩路模擬信號,SRAM數據讀寫,數字量輸入輸出等功能。
上傳時間: 2013-04-24
上傳用戶:prczsf
現場可編程門陣列(FPGA,Field Programmable Gate Array)是可編程邏輯器件的一種,它的出現是隨著微電子技術的發展,設計與制造集成電路的任務已不完全由半導體廠商來獨立承擔。系統設計師們更愿意自己設計專用集成電路(ASIC,Application Specific Integrated Circuit).芯片,而且希望ASIC的設計周期盡可能短,最好是在實驗室里就能設計出合適的ASIC芯片,并且立即投入實際應用之中。現在,FPGA已廣泛地運用于通信領域、消費類電子和車用電子。 本文中涉及的I/O端口模塊是FPGA中最主要的幾個大模塊之一,它的主要作用是提供封裝引腳到CLB之間的接口,將外部信號引入FPGA內部進行邏輯功能的實現并把結果輸出給外部電路,并且根據需要可以進行配置來支持多種不同的接口標準。FPGA允許使用者通過不同編程來配置實現各種邏輯功能,在IO端口中它可以通過選擇配置方式來兼容不同信號標準的I/O緩沖器電路。總體而言,可選的I/O資源的特性包括:IO標準的選擇、輸出驅動能力的編程控制、擺率選擇、輸入延遲和維持時間控制等。 本文是關于FPGA中多標準兼容可編程輸入輸出電路(Input/Output Block)的設計和實現,該課題是成都華微電子系統有限公司FPGA大項目中的一子項,目的為在更新的工藝水平上設計出能夠兼容單端標準的I/O電路模塊;同時針對以前設計的I/O模塊不支持雙端標準的缺點,要求新的電路模塊中擴展出雙端標準的部分。文中以低壓雙端差分標準(LVDS)為代表構建雙端標準收發轉換電路,與單端標準比較,LVDS具有很多優點: (1)LVDS傳輸的信號擺幅小,從而功耗低,一般差分線上電流不超過4mA,負載阻抗為100Ω。這一特征使它適合做并行數據傳輸。 (2)LVDS信號擺幅小,從而使得該結構可以在2.5V的低電壓下工作。 (3)LVDS輸入單端信號電壓可以從0V到2.4V變化,單端信號擺幅為400mV,這樣允許輸入共模電壓從0.2V到2.2V范圍內變化,也就是說LVDS允許收發兩端地電勢有±1V的落差。 本文采用0.18μm1.8V/3.3V混合工藝,輔助Xilinx公司FPGA開發軟件ISE,設計完成了可以用于Virtex系列各低端型號FPGA的IOB結構,它有靈活的可配置性和出色的適應能力,能支持大量的I/O標準,其中包括單端標準,也包括雙端標準如LVDS等。它具有適應性的優點、可選的特性和考慮到被文件描述的硬件結構特征,這些特點可以改進和簡化系統級的設計,為最終的產品設計和生產打下基礎。設計中對包括20種IO標準在內的各電器參數按照用戶手冊描述進行仿真驗證,性能參數已達到預期標準。
上傳時間: 2013-05-15
上傳用戶:shawvi
自20世紀90年代以來,隨著計算機技術、超大規模集成電路技術和通信及網絡技術的發展,微機保護和測控裝置的性能得到大幅提升,以此為基礎的變電站自動化系統在我國的電力系統中得到長足的發展和廣泛的應用。 @@ 為增加產品的市場競爭力,電力系統二次設備生產廠商緊跟市場需求,將各種具有高性價比的新型處理器芯片和外圍芯片大量應用到變電站自動化系統的保護、測控裝置上,如32位CPU、數字信號處理芯片DSP、高速高精度A/D轉換芯片、大容量Flash存儲芯片、可編程邏輯器件CPLD、FPGA等。這些功能強大的器件的應用使保護測控裝置在外形上趨于小型化集成化,而在功能上則較以前有顯著提升。同時,各種成熟的商用嵌入式實時操作系統的采用使處理器的性能得到充分發揮,裝置通信、數據存儲及處理能力更強,性能大幅提高,程序移植升級更加方便快捷。 @@ 本論文以現階段國內外變電站自動化系統測控技術為參考,根據變電站自動化系統的發展趨勢和要求,研究一種基于ARM和FPGA技術并采用嵌入式實時操作系統的高性能測控裝置,并給出硬軟件設計。 @@ 裝置硬件采用模塊化設計,按照測控裝置基本功能設計插件板。分為主CPU插件、交流采樣插件、遙信采集插件、遙控出口插件、直流采樣及輸出插件。除主CPU插件,其他插件的數量可以根據需要任意增減,滿足不同用戶的需求。 @@ 裝置主CPU采用目前先進的基于ARM技術的微處理器AT91RM9200,通過數據、地址總線和其他插件板連接,構成裝置的整個系統。交流采樣插件采用FPGA技術,利用ALTERA公司的FPGA芯片EP1K10實現交流采樣的控制,降低了CPU的負擔。 @@ 軟件采用Vxworks嵌入式實時操作系統,增加了系統的性能。以任務來管理不同的軟件功能模塊,利于裝置軟件的并行開發和維護。 @@關鍵詞:測控裝置;嵌入式實時操作系統;ARM;現場可編程門陣列
上傳時間: 2013-04-24
上傳用戶:JESS
LED顯示屏作為一項高新科技產品正引起人們的高度重視,它以其動態范圍廣,亮度高,壽命長,工作性能穩定而日漸成為顯示媒體中的佼佼者,現已廣泛應用于廣告、證券、交通、信息發布等各方面,且隨著全彩屏顯示技術的日益完善,LED顯示屏有著廣闊的市場前景。 本文主要研究的對象為全彩色LED同步顯示屏控制系統,提出了一個系統實現方案,整個系統分三部分組成:DVI解碼電路、發送系統以及接收系統。DVI解碼模塊用于從顯卡的DVI口獲取視頻源數據,經過T.D.M.S.解碼恢復出可供LED屏顯示的紅、綠、藍共24位像素數據和一些控制信號。發送系統用于將收到的數據流進行緩存,經處理后發送至以太網芯片進行以太網傳輸。接收系統接收以太網上傳來的視頻數據流,經過位分離操作后存入SRAM進行緩存,再串行輸入至LED顯示屏進行掃描顯示。然后,從多方面論述了該方案的可行性,仔細推導了LED顯示屏各技術參數之間的聯系及約束關系。 本課題采用可編程邏輯器件來完成系統功能,可編程邏輯器件具有高集成度、高速度、在線可編程等特點,不僅可以滿足高速圖像數據處理對速度的要求,而且增加了設計的靈活性,不需修改電路硬件設計,縮短了設計周期,還可以進行在線升級。
上傳時間: 2013-04-24
上傳用戶:西伯利亞
人臉識別技術繼指紋識別、虹膜識別以及聲音識別等生物識別技術之后,以其獨特的方便、經濟及準確性而越來越受到世人的矚目。作為人臉識別系統的重要環節—人臉檢測,隨著研究的深入和應用的擴大,在視頻會議、圖像檢索、出入口控制以及智能人機交互等領域有著重要的應用前景,發展速度異常迅猛。 FPGA的制造技術不斷發展,它的功能、應用和可靠性逐漸增加,在各個行業也顯現出自身的優勢。FPGA允許用戶根據自己的需要來建立自己的模塊,為用戶的升級和改進留下廣闊的空間。并且速度更高,密度也更大,其設計方法的靈活性降低了整個系統的開發成本,FPGA 設計成為電子自動化設計行業不可缺少的方法。 本文從人臉檢測算法入手,總結基于FPGA上的嵌入式系統設計方法,使用IBM的Coreconnect掛接自定義模塊技術。經過訓練分類器、定點化、以及硬件加速等方法后,能夠使人臉檢測系統在基于Xilinx的Virtex II Pro開發板上平臺上,達到實時的檢測效果。本文工作和成果可以具體描述如下: 1. 算法分析:對于人臉檢測算法,首先確保的是檢測率的準確性程度。本文所采用的是基于Paul Viola和Michael J.Jones提出的一種基于Adaboost算法的人臉檢測方法。算法中較多的是積分圖的特征值計算,這便于進一步的硬件設計。同時對檢測算法進行耗時分析確定運行速度的瓶頸。 2. 軟硬件功能劃分:這一步考慮市場可以提供的資源狀況,又要考慮系統成本、開發時間等諸多因素。Xilinx公司提供的Virtex II Pro開發板,在上面有可以供利用的Power PC處理器、可擴展的存儲器、I/O接口、總線及數據通道等,通過分析可以對算法進行細致的劃分,實現需要加速的模塊。 3. 定點化:在Adaboost算法中,需要進行大量的浮點計算。這里采用的方法是直接對數據位進行操作它提取指數和尾數,然后對尾數執行移位操作。 4. 改進檢測用的級聯分類器的訓練,提出可以迅速提高分類能力、特征數量大大減小的一種訓練方法。 5. 最后對系統的整體進行了驗證。實驗表明,在視頻輸入輸出接入的同時,人臉檢測能夠達到17fps的檢測速度,并且獲得了很好的檢測率以及較低的誤檢率。
上傳時間: 2013-07-01
上傳用戶:84425894
碼元定時恢復(位同步)技術是數字通信中的關鍵技術。位同步信號本身的抖動、錯位會直接降低通信設備的抗干擾性能,使誤碼率上升,甚至會使傳輸遭到完全破壞。尤其對于突發傳輸系統,快速、精確的定時同步算法是近年來研究的一個焦點。本文就是以Inmarsat GES/AES數據接收系統為背景,研究了突發通信傳輸模式下的全數字接收機中位同步方法,并予以實現。 本文系統地論述了位同步原理,在此基礎上著重研究了位同步的系統結構、碼元定時恢復算法以及衡量系統性能的各項指標,為后續工作奠定了基礎。 首先根據衛星系統突發信道傳輸的特點分析了傳統位同步方法在突發系統中的不足,接下來對Inmarsat系統的短突發R信道和長突發T信道的調制方式和幀結構做了細致的分析,并在Agilent ADS中進行了仿真。 在此基礎上提出了一種充分利用報頭前導比特信息的,由滑動平均、閾值判斷和累加求極值組成的快速報頭時鐘捕獲方法,此方法可快速精準地完成短突發形式下的位同步,并在FPGA上予以實現,效果良好。 在長突發形式下的報頭時鐘捕獲后還需要對后續數據進行位同步跟蹤,在跟蹤過程中本論文首先用DSP Builder實現了插值環路的位同步算法,進行了Matlab仿真和FPGA實現。并在插值環路的基礎上做出改進,提出了一種新的高效的基于移位算法的位同步方案并予以FPGA實現。最后將移位算法與插值算法進行了性能比較,證明該算法更適合于本項目中Inmarsat的長突發信道位同步跟蹤。 論文對兩個突發信道的位同步系統進行了理論研究、算法設計以及硬件實現的全過程,滿足系統要求。
上傳時間: 2013-04-24
上傳用戶:yare
數據采集系統是信號與信息處理系統中不可缺少的重要組成部分,同時也是軟件無線電系統中的核心模塊,在現代雷達系統以及無線基站系統中的應用越來越廣泛。為了能夠滿足目前對軟件無線電接收機自適應性及靈活性的要求,并充分體現在高性能FPGA平臺上設計SOC系統的思路,本文提出了由高速高精度A/D轉換芯片、高性能FPGA、PCI總線接口、DB25并行接口組成的高速數據采集系統設計方案及實現方法。其中FPGA作為本系統的控制核心和傳輸橋梁,發揮了極其重要的作用。通過FPGA不僅完成了系統中全部數字電路部分的設計,并且使系統具有了較高的可適應性、可擴展性和可調試性。 在時序數字邏輯設計上,充分利用FPGA中豐富的時序資源,如鎖相環PLL、觸發器,緩沖器FIFO、計數器等,能夠方便的完成對系統輸入輸出時鐘的精確控制以及根據系統需要對各處時序延時進行修正。 在存儲器設計上,采用FPGA片內存儲器。可根據系統需要隨時進行設置,并且能夠方便的完成數據格式的合并、拆分以及數據傳輸率的調整。 在傳輸接口設計上,采用并行接口和PCI總線接口的兩種數據傳輸模式。通過FPGA中的宏功能模塊和IP資源實現了對這兩種接口的邏輯控制,可使系統方便的在兩種傳輸模式下進行切換。 在系統工作過程控制上,通過VB程序編寫了應用于PC端的上層控制軟件。并通過并行接口實現了PC和FPGA之間的交互,從而能夠方便的在PC機上完成對系統工作過程的控制和工作模式的選擇。 在系統調試方面,充分利用QuartuslI軟件中自帶的嵌入式邏輯分析儀SignalTaplI,實時準確的驗證了在系統整個傳輸過程中數據的正確性和時序性,并極大的降低了用常規儀器觀測FPGA中眾多待測引腳的難度。 本文第四章針對FPGA中各功能模塊的邏輯設計進行了詳細分析,并對每個模塊都給出了精確的仿真結果。同時,文中還在其它章節詳細介紹了系統的硬件電路設計、并行接口設計、PCI接口設計、PC端控制軟件設計以及用于調試過程中的SignalTapⅡ嵌入式邏輯分析儀的使用方法,并且也對系統的仿真結果和測試結果給出了分析及討論。最后還附上了系統的PCB版圖、FPGA邏輯設計圖、實物圖及注釋詳細的相關源程序清單。
上傳時間: 2013-07-09
上傳用戶:sdfsdfs