freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的音樂盒設計畢業(yè)設計-畢業(yè)設計-資料下載頁

2025-01-19 08:52本頁面

【導讀】使用兩個按鍵控制音樂盒,一個用來切換歌曲,另一個用來切換8路。LED的變化花樣,本音樂盒共有兩首歌曲,花樣燈花樣共計3種。時,蜂鳴器發(fā)出某個音調(diào),與之對應的LED亮起。本設計利用KEIL編程軟。真調(diào)試,節(jié)約了設計時間。21世紀,電子技術獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。

  

【正文】 operations improves program readability. Keywords and operational functions that more nearly resemble the human thought process may be used. Programming and program test time is drastically reduced. The C runtime library contains many standard routines such as: formatted output, numeric conversions, and floatingpoint arithmetic. Existing program parts can be more easily included into new programs because of modular program construction techniques. The language C is a very portable language (based on the ANSI standard) that enjoys wide popular support and is easily obtained for most systems. Existing program investments can be quickly adapted to other processors as needed. Code Optimizations The C51 Compiler is an aggressive optimizing piler that takes numerous steps to ensure that the code generated and output to the object file is the most efficient (smallest and/or fastest) code possible. The piler analyzes the generated code to produce the most efficient instruction sequences. This ensures that your C program runs as quickly and effectively as possible in the least amount of code space. The C51 Compiler provides nine different levels of optimizing. Each increasing level includes the optimizations of levels below it. The following is a list of all optimizations currently performed by the C51 Compiler. General Optimizations Constant Folding: Constant values occurring in an expression or address calculation are bined as a single constant.? Jump Optimizing: Jumps are inverted or extended to the final target address when the program efficiency is thereby increased. Dead Code Elimination: Code that cannot be reached (dead code) is removed from the program. 第 23 頁 共 32 頁 Register Variables: Automatic variables and function arguments are located in registers whenever possible. No data memory space is reserved for these variables. Parameter Passing Via Registers: A maximum of three function arguments may be passed in registers. Global Common Subexpression Elimination: Identical subexpressions or address calculations that occur multiple times in a function are recognized and calculated only once whenever possible. Common Tail Merging: Common instruction blocks are merged together using jump instructions. Reuse Common Entry Code: Common instruction sequences are moved in front of a function to reduce code size. Common Block Subroutines: Multiple instruction sequences are packed into subroutines. Instructions are rearranged to maximize the block size. 第 24 頁 共 32 頁 中文譯文 Keil C 簡介 Keil Software 的 8051開發(fā)工具提供以下程序,你可以用它們來編譯你的 C源碼,匯編你的匯編源程序,連接和重定位你的目標文件和庫文件,創(chuàng)建 HEX文件,調(diào)試你的目標程序。 Windows 應用程序 uVision2 是一個集成開發(fā)環(huán)境,它把項目管理,源代碼編輯,程序調(diào)試等集成到一個功能強大的環(huán)境中。 C51美國標準優(yōu)化 C交叉編譯器從你的 C源代碼產(chǎn)生可重定位的目標文件。 A51宏匯編器從你的 8051匯編源代碼產(chǎn)生可重定位的目標文件。 BL51連接 /重定位器組合你的由 C51和 A51產(chǎn)生的可重定位的目標文件,生成絕對目標文件。 LIB51 庫管理器組合你的目標文件,生成可以被連接器使用的庫文件。 OH51目標文件到 HEX格式的轉換器從絕對目標文件創(chuàng)建 Intel HEX 格式的文件。 RTX51實時操作系統(tǒng)簡化了復雜和對時間要求敏感的軟件項目。 軟件開發(fā)流程 當你使用 Keil Software 工具時,你的項目開發(fā)流程和其它軟件開發(fā)項目的流程極其相似。 1. 創(chuàng)建一個項目,從器件庫中選擇目標器件,配置工具設置 。 2. 用 C語言或匯編語言創(chuàng)建源程序。 3. 用項目管理器實現(xiàn)你的應用。 4. 修改源程序中的錯誤。 5. 測試,連接應用。 uVision2 IDE uVision2 集成開發(fā)環(huán)境集成了一個項目管理器,一個功能豐富、有錯誤提示的編輯器,以及設置選項,生成工具,在線幫助。利用 uVision2 創(chuàng)建你的源代碼并把它們組織到一個能確定你的目標應用的項目中去。 uVision2 自動編譯,匯編,連接你的嵌入式應用,并為你的開發(fā)提供一個單一的焦點。 C51編譯器和 A51匯編器 源代碼由 uVision2 IDE 創(chuàng)建,并被 C51編譯或 A51匯編。編譯器和匯編器從源代碼生成可重定位的目標文件。 Keil C51 編譯器完全遵照 ANSI C 語言標準,支持 C 語言的所有標準特性。另外,直接支持 8051結構的幾個特性被添加到里面。 Keil A51宏匯編器支持 8051及其派生系列的全部指令集。 LIB51 庫管理器 LIB51 庫管理器允許你從由編譯器或匯編器生成的目標文件創(chuàng)建目標庫。庫是一種被特別地組織過并在以后可以被連接重用的對象模塊。當連接器處理一個庫時,僅僅那些被使用的目標模塊才被真正使用。 BL51 連接器 /定位器 BL51 連接器 /定位器利用從庫中提取的目標模塊和由編譯器或匯編器生成的目標模塊創(chuàng)建一個絕對地址的目標模塊。一個絕對地址目標模塊或文件包含不可重定位的代碼和數(shù)據(jù)。所有的代碼和數(shù)據(jù)被安置在固定的存儲器單元中。此絕對地址目標文件可以用來: 寫入 EPROM或其它存儲器件。 由 uVision2 調(diào)試器使用來模擬和調(diào)試。 由仿真器用來測試程序。 uVision2 調(diào)試器 uVision2 源代碼級調(diào)試器是一個理想地快速,可靠的程序調(diào)試器。此調(diào)試器包含一個高速模擬器,能夠讓你模擬整個 8051系統(tǒng),包括片上外圍器件和外部硬件。當你從器件庫中 選擇器件時,這個器件的特性將自動配置。 uVision2 調(diào)試器為你在實際目標板上測試你的程序提供了幾種方法: 第 25 頁 共 32 頁 安裝 MON51目標監(jiān)控器到你的目標系統(tǒng)并且通過 Monitor51 接口下載你的程序。 利用高級的 GDI( AGDI)接口,把 uVision2調(diào)試器綁定到你的目標系統(tǒng)。 Monitor51 uVision2 調(diào)試器支持用 Monitor51進行目標板調(diào)試。此監(jiān)控程序駐留在你的目標板的 存儲器里,它利用串口和 uVision2調(diào)試器進行通信。利用 Monitor51, uVision2調(diào)試器 可以對你的目標硬 件實行源代碼級的調(diào)試。 RTX51 實時操作系統(tǒng) RTX51 實時操作系統(tǒng)是一個針對 8051系列的多任務核。 RTX51實時內(nèi)核從本質(zhì)上簡化了對實時事件反應速度要求高的復雜應用系統(tǒng)的設計,編程和調(diào)試。 RTX51 實時內(nèi)核是完全集成到 C51 編譯器中的,從而方便使用。任務描述表和操作系統(tǒng)的連接由 BL51連接器 /定位器自動控制。 C51優(yōu)化的 C語言交叉編譯器 Keil C51交叉編譯器是一個基于 ANSI C標準的針對 8051系列 MCU的 C編譯器,生成的可執(zhí)行代碼快速、緊湊,在運行效率和速度上可以和匯編程序得到的代碼相媲美 。 和匯編語言相比,用 C語言這樣的高級語言有很多優(yōu)勢,比如: 對處理器的指令集不必了解, 8051 CPU 的基本結構可以了解,但不是必須的。 寄存器的分配以及各種變量和數(shù)據(jù)的尋址都由編譯器完成。 程序擁有了正式的結構(由 C語言帶來的),并且能被分成多個單獨的子函數(shù)。這使整個應用系統(tǒng)的結構變得清晰,同時讓源代碼變得可重復使用。 選擇特定的操作符來操作變量的能力提高了源代碼的可讀性。 可以運用和人的思維很接近的詞匯和算法表達式。 編寫程序和調(diào)試程序的時間得到很大程度的縮短。 C運行連接庫包含一些標準的子程序,如 :格式化輸出,數(shù)字轉換,浮點運算。 由于程序的模塊結構技術,使得現(xiàn)有的程序段可以很容易的包含到新的程序中去。 ANSI 標準的 C語言是一種豐常方便的,獲得廣泛應用的,在絕大部分系統(tǒng)中都能夠很容易得到的語言。 因此,如果需要,現(xiàn)有的程序可以很快地移植到其他的處理器上,節(jié)省投資。 代碼優(yōu)化 C51是一個杰出的優(yōu)化編譯器,它通過很多步驟以確保產(chǎn)生的代碼是最有效率的(最小和 /或最快)。編譯器通過分析初步的代碼 產(chǎn)生最終的最有效率的代碼序列,以此來保證你的 C 語言程序占用最少空間的同時運行的快而有效。 C51 編譯器提 供 9 個優(yōu)化級別。每個高一級的優(yōu)化級別都包括比它低的所有優(yōu)化級別的優(yōu)化內(nèi)容。以下列出的是目前 C51編譯器提供的所有優(yōu)化級別的內(nèi)容: 常量折疊:在表達式及尋址過程中出現(xiàn)的常量被綜合為一個單個的常量。 跳轉優(yōu)化:采用反轉跳轉或直接指向最終目的的跳轉,從而提升了程序的效率。 啞碼消除:永遠不可能執(zhí)行到的代碼將自動從程序中剔除。 寄存器變量:只要可能,局部變量和函數(shù)參數(shù)被放在 CPU 寄存器中,不需要為這些變量再分配存儲器空間。 通過寄存器傳遞參數(shù):最多三個參數(shù)通過寄存器傳遞。 消除全局公用的子表達式:只要可能,程序中 多次出現(xiàn)的相同的子表達式或地址計算表達式將只計算一次。 合并相同代碼:利用跳轉指令,相同的代碼塊被合并。 重復使用入口代碼:需要多次使用的共同代碼被移到子程序的前面以縮減代碼長度。 公共塊子程序:需要重復使用的多條指令被提取組成子程序。指令被重新安排以最大化一個共用子程序的長度。 第 26 頁 共 32 頁
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1