c語言編程技巧,主要講述嵌入式系統編程技巧,包括:背景篇,軟件架構篇,內存操作,屏幕操作,鍵盤操作,性能優化。有助于嵌入式系統編程技術的提高。
上傳時間: 2013-06-06
上傳用戶:axxsa
一本很好的匯編語言教程,跟大家一起分享 課程介紹 第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
本文提出了一種基于USB和FPGA的高性能數據采集模塊USB12016(USB總線,A/D垂直分辨率為12位,存儲容量為16兆)的軟硬件設計與實現方法。該數據采集卡包括模擬輸入、A/D轉換、數據緩存、FPGA控制電路和USB總線接口等,在一張卡上實現了8通道模擬信號調理、采集、處理,并可實現多卡同步觸發采集,具有高精度,低噪聲,低失真和測試信號范圍寬的特點。USB12016配有系統驅動控制程序軟件,在Windows9X/2000版本的操作平臺下運行,控制面板完全是虛擬儀器軟面板,圖形化界面十分友好。USB12016是USB接口技術、FPGA技術和嵌入式技術融為一體的結晶,已成功應用于軍事測控領域。
上傳時間: 2013-06-12
上傳用戶:CETM008
電力電子裝置的控制技術隨著電力電子技術的發展而愈來愈復雜。開關電源是現代電力電子設備中不可或缺的組成部分,其質量的優劣以及體積的大小直接影響電子設備整體性能。高頻化、小型化、數字化是開關電源的發展方向。 在應用數字技術進行控制系統設計時,數字控制器的性能決定了控制系統的整體性能。數字化電力電子設備中的控制部分多以MCU/DSP為核心,以軟件實現離散域的運算及控制。在很多高頻應用的場合,目前常用的控制器(高性能單片機或DSP)的速度往往不能完全滿足要求。FPGA具有設計靈活、集成度高、速度快、設計周期短等優點,與單片機和DSP相比,FPGA具有更高的處理速度。同時FPGA應用在數字化電力電子設備中,還可以大大簡化控制系統結構,并可實現多種高速算法,具有較高的性價比。 依據FPGA的這些突出優點,本文將FPGA應用于直流開關電源控制器設計中,以實現開關電源數字化和高頻化的要求。主要研究工作如下: 介紹了基于FPGA的DC/DC數字控制器中A/D采樣控制、數字PI算法的實現;重點描述了采用混合PWM方法實現高分辨率、高精度數字PWM的設計方案,并對各模塊進行了仿真測試;用FPGA開發板進行了一部分系統的仿真和實際結果的檢測,驗證了文中的分析結論,證實了可編程邏輯器件在直流開關電源控制器設計中的應用優勢。
上傳時間: 2013-07-23
上傳用戶:qulele
調整視頻圖像的分辨率需要視頻縮放技術。如果圖像縮放技術的處理速度達到實時性要求就可以應用于視頻縮放。 傳統圖像縮放技術利用插值核函數對已有像素點進行插值重建還原圖像。本文介紹了圖像插值的理論基礎一采樣定理,并對理想重建函數Sinc函數進行了討論。本文介紹了常用的線性圖像插值技術及像素填充、自適應插值和小波域圖像縮放等技術。然后,本文討論了分級線性插值算法的思想,設計并實現了FPGA上的分級雙三次算法。最后本文對各種算法的縮放效果進行了分析和討論。 本文在分析現有視頻縮放算法基礎之上,提出了分級線性插值算法,并應用在簡化線性插值算法中。分級線性插值算法以犧牲一定的計算精度為代價,用查找表代替乘法計算,降低了算法復雜度。本文設計并實現了分級雙三次插值算法,詳細說明了板上系統的模塊結構。最后本文將分級線性插值算法與原線性插值算法效果圖進行比較,比較結果顯示分級插值算法與原算法誤差較小,在放大比例較小時可以取代原算法。結果證明分級雙三次線性插值算法的FPGA實現能夠滿足額定幀頻,可以進行實時視頻縮放。
上傳時間: 2013-04-24
上傳用戶:亞亞娟娟123
在現代電子系統中,數字化已經成為發展的必然趨勢,接收機數字化是電子系統數字化中的一項重要內容,對數字化接收機的研究具有重要的意義。隨著數字化理論和微電子技術的迅速發展,高速的中頻數字化接收機的實現已經成為可能。本文研究了一種基于FPGA的軟件無線電數字接收平臺的設計,并著重研究了其中數字中頻處理單元的設計和實現。FPGA器件具有設計靈活、開發周期短和開發成本低等優點,所以廣泛應用于各種通信系統中。相比于傳統的DSP串行結構,FPGA能夠進行流水線性設計,對數據進行并行處理,所以FPGA在進行數據量大,要求實時處理的系統設計時有很大的優勢。 本文首先首先分析了軟件無線電當前的發展趨勢及技術現狀,針對存在的處理速度跟不上的DSP瓶頸問題,提出了中頻軟件無線電的FPGA實現方案。本文以FPGA實現為重點,在深入分析軟件無線電相關理論的基礎上,著重研究和完成了中頻軟件無線電數字接收平臺兩大模塊的FPGA實現:數字下變頻相關模塊和數字調制解調模塊。其中,在深入研究數字下變頻實現結構的基礎上,首先對數字下變頻模塊的數控振蕩器(NCO)采用了直接頻率合成技術(DDS)實現,其頻率分辨率高,靈活,易于實現;高效抽取濾波器組由積分梳狀濾波器(CIC),半帶濾波器(HB),FIR濾波器組成。對積分梳狀濾波器(CIC)本文采用了Hogenaur“剪除”理論對內部寄存器的位寬進行改進,極大地節約了資源,提高了運行速率。對FIR濾波器和半帶濾波器采用了(DA)分布式算法,它的運行速度只與數據的寬度有關,只有加減法運算和二進制除法,既縮減了系統資源又大大節省了運算時間,實現了高效的實時處理。對數字調制解調模塊,重點研究和完成了2ASK和2FSK的調制解調的FPGA實現,模塊有很好的通用性,能方便地移植到其它的系統中。在文章的最后還對整個系統進行了Matlab仿真,驗證了系統設計思想的正確性。在系統各個關鍵模塊的設計過程中,都是先依據一定的設計指標進行verilog編程,然后再在Quartus軟件中編譯,時序仿真測試,并與Matlab仿真結果進行對比,驗證設計的正確性。
上傳時間: 2013-05-18
上傳用戶:450976175
圖像顯示器是人類接受外部信息的重要手段之一。而立體顯示則能再現場景的三維信息,提供場景更為全面、詳實的信息,在醫學、軍事、娛樂具有廣泛的應用前景。而現有的3D立體顯示設備價格都比較貴,基于此,本人研究了基于SDRAM存儲器和FPGA處理器的3D頭盔顯示設備并且設計出硬件和軟件系統。該系統圖像效果好,并且價格成本便宜,從而具有更大的實用性。本文完成的主要工作有三點: 1.設計了基于FPGA處理器和SDRAM存儲器的3D頭盔顯示器。該方案有別于現有的基于MCU、DSP和其它處理芯片的方案。本方案能通過線性插值算法把1024×768的分辨率變成800×600的分辨率,并能實現120HZ圖像刷新率,采用SDRAM作為高速存儲器,并且采用乒乓操作,有別于其它的開關左右眼視頻實現立體圖像。在本方案中每時每刻都是左右眼視頻同時輸出,使得使用者感覺不到視頻圖像有任何閃爍,減輕眼睛疲勞。本方案還實現了圖像對比對度調節,液晶前照光調節(調節輸出脈沖的占空比),立體圖像源自動識別,還有人性化的操作界面(OSD)功能。 2.完成了該系統的硬件平臺設計和軟件設計。從便攜性角度考慮,盡量減小PCB板面積,給出了它們詳細的硬件設計電路圖。完成了FPGA系統的設計,包括系統整體分析,各個模塊的實現原理和具體實現的方法。完成了單片機對AD9883的配置設計。 3.完成了本方案的各項測試和調試工作,主要包括:數據采集部分測試、數據存儲部分測試、FPGA器件工作狀態測試、以電腦顯示器作為顯示器的聯機調試和以HX7015A作為顯示器的聯機調試,并且最終調試通過,各項功能都滿足預期設計的要求。實驗和分析結果論證了系統設計的合理性和使用價值。 本文的研究與實現工作通過實驗和分析得到了驗證。結果表明,本文提出的由FPGA和SDRAM組成的3D頭盔顯示系統完全可以實現高質量的立體視覺效果,從而可以將該廉價的3D頭盔顯示系統用于我國現代化建設中所需要的領域。
上傳時間: 2013-07-16
上傳用戶:xiaoxiang
作為電子類專業學生,實驗是提高學生對所學知識的印象以及發現問題和解決問題的能力,增加學生動手能力的必須環節。本設計的目的就是開發一套滿足學生實驗需求的信號源,基于此目的本信號源并不需要突出的性能,但經濟上要求低成本,同時要求操作簡單,能夠輸出多種波形,并且利于學生在此平臺上認識信號源原理,同時方便在此平臺上進行拓展開發。 設計中運用虛擬儀器技術將計算機屏幕作為儀器面板,采用EPP接口,同時在FPGA上開發控制電路,為后續開發留下了空間,同時節省了成本。本設計采用地址線16位,數據線12位的靜態RAM作為信號源的波形存儲器,后端采用兩種濾波類型對需要濾波的信號進行濾波。啟動信號時軟件需要先將波形數據預存在存儲器中便于調用,最后得到的結果基本滿足教學實驗的需求。 本文結構上首先介紹了直接采用DDS芯片制作信號源的利弊,及作者采用這種設計的初衷,然后介紹了信號源的整體結構,總體模塊。以下章節首先介紹FPGA內部設計,包括總體結構和幾大部分模塊,包括:時鐘產生電路,相位累加器,數據輸入控制電路,濾波器控制電路,信號源啟動控制電路。 然后介紹了其他模塊的設計,包括存儲器選擇,幅度控制電路的設計以及濾波器電路的設計,本設計的幅度控制采用兩級DA級聯,以及后端電阻分壓網絡調節的方式進行設計,提高了幅度調節的范圍。對于濾波器的設計,依據不同的信號頻率,分成了4個部分,對于500K以下的信號采用的是二階巴特沃斯有源低通濾波,對于500K以上至5M以下信號采用的五階RC低通濾波器。 在軟件設計部分,分成兩個部分,對于底層驅動程序采用以Labwindows/CVI為平臺進行開發,利用其編譯和執行速度快,并且和LabVIEW能夠很好連接的特性。對于上層控制軟件,采用以LabVIEW為平臺進行開發,充分利用其圖化設計,易于擴展。 論文最后對所做工作進行了總結,提出了進一步改進的方向。
上傳時間: 2013-04-24
上傳用戶:afeiafei309
便攜式B型超聲診斷儀具有無創傷、簡便易行、相對價廉等優勢,在臨床中越來越得到廣泛的應用。它將超聲波技術、微電子技術、計算機技術、機械設計與制造及生物醫學工程等技術融合在一起。開展該課題的研究對提高臨床診斷能力和促進我國醫療事業的發展具有重要的意義。 便攜式B型超聲診斷儀由人機交互系統、探頭、成像系統、顯示系統構成。其基本工作過程是:首先人機交互系統接收到用戶通過鍵盤或鼠標發出的命令,然后成像系統根據命令控制探頭發射超聲波,并對回波信號處理、合成圖像,最后通過顯示系統完成圖像的顯示。 成像系統作為便攜式B型超聲診斷儀的核心對圖像質量有決定性影響,但以前研制的便攜式B型超聲診斷儀的成像系統在三個方面存在不足:第一、采用的是單片機控制步進電機,控制精度不高,導致成像系統采樣不精確;第二、采用的數字掃描變換算法太粗糙,影響超聲圖像的分辨率;第三、它的CPU多采用的是51系列單片機,測量速度太慢,同時也不便于系統升級和擴展。 針對以上不足,提出了基于FPGA的B型超聲成像系統解決方案,采用Altera公司的EP2C5Q208C8芯片實現了步進電機步距角的細分,使電機旋轉更勻速,提高了采樣精度;提出并采用DSTI-ULA算法(Uniform Ladder Algorithm based on Double Sample and Trilinear Interotation)在FPGA內實現數字掃描變換,提高了圖像分辨率;人機交互系統采用S3C2410-AL作為CPU,改善了測量速度和系統的擴展性。 通過對系統硬件電路的設計、制作,軟件的編寫、調試,結果表明,本文所設計的便攜式B型超聲成像系統圖像分辨率高、測量速度快、體積小、操作方便。本文所設計的便攜式B型超聲診斷儀可在野外作業和搶險(諸如地震、抗洪)中發揮作用,同時也可在鄉村診所中完成對相關疾病的診斷工作。
上傳時間: 2013-05-18
上傳用戶:helmos
隨著數碼技術的不斷發展,數字圖像處理的應用領域不斷擴大,其實時處理技術成為研究的熱點。VLSI技術的迅猛發展為數字圖像實時處理技術提供了硬件基礎。其中FPGA(現場可編程門陣列)的特點使其非常適用于進行一些基于像素級的圖像處理。 傳統的圖像顯示系統必須連接到PC才能觀察圖像視頻,存在著高速實時性、穩定性問題。本設計脫離高清晰工業相機必須與PC連接才可以觀看到高清晰圖像的束縛,實現系統的小型化。針對130萬像素彩色1/2英寸鎂光CMOS圖像傳感器,提出用硬件實現Bayer格式到RGB格式轉換的設計方案,完成由黑白圖像到高清彩色圖像的轉換,用SDRAM作緩存,輸出標準VGA信號,可直接連接VGA顯示器、投影儀等設備進行實時的視頻圖像觀看,與模擬相機740X576分辨率(480線)圖像相比,設計圖像畫質相當于1280X1024分辨率(750線),最高幀率25fps,整個結構應用FPGA作為主控制器,用少量的緩存代替傳統的大容量存儲,加快了運算速率,減小了電路規模,滿足圖像實時處理的要求,使展現出來的視頻圖像得到質的飛躍。可以廣泛應用于工業控制和遠程監控等領域。 論文研究的重點是采用altera公司EP2C芯片前端驅動CMOS圖像傳感器,實時采集Bayer圖像象素,分析研究CFA圖像插值算法,實現了基于FPGA的實時線性插值算法,能夠對輸入是每像素8bit、分辨率為1280×1204的Bayer模式圖像數據進行實時重構,輸出彩色RGB圖像。由端口FIFO作為數據緩沖,存儲一幀圖像到高速SDRAM,構建VGA顯示控制器,實現對輸入是每像素24bit(RGB101010)、分辨率為640×480、幀頻25HZ彩色圖像進行實時顯示。 整個模塊結構包括電源模塊單元等、CMOS成像單元、FPGA數據處理單元、SDRAM控制單元、VGA顯示接口單元。 最后,對系統進行了調試。經實驗驗證,系統達到了實時性,能正確和可靠的工作。整個設計模塊能夠滿足高幀率和高清晰的實時圖像處理,占用系統資源很少,用較少的時間完成了圖像數據的轉換,提高了效率。
上傳時間: 2013-06-08
上傳用戶:zhengjian