Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
Keil是業界最好的51單片機開發工具之一,它擁有流暢的用戶界面與強大的仿真功能。ARM將Keil公司收購之后,正式推出了針對ARM微控制器的開發工具RVMDK,它將ARM編譯器RVCT與Keil的工程管理、調試仿真工具集成在一起,是一款非常強大的ARM微控制器開發工具。2007年5月,ARM正式授權中國深圳英蓓特公司代理中文版RVMDK的出售事務。很多嵌入式系統開發工程師對ARM的老版本開發工具ADS1.2非常熟悉,而RVMDK與ADS相比較,從外觀、仿真流程以及內部二進制編譯鏈接工具上都有了不少改進,用法稍有不同。本主的主旨是介紹通用的流程,以及一些注意事項,幫助ADS1.2用戶將老的,遺留的ADS1.2工程轉化成在RVMDK上進行開發調試的工程。 ARM新推出的微控制器開發工具RVMDK與ADS1.2在工具架構組成上有一些不同,這些區別包括:不同版本的ARM編譯器(compiler),不同的調試器(debugger),不同的仿真器(simulator),以及不同的硬件調試單元。作為ARM的新一代微控制器開發工具,RVMDK不但包含ARM的最新版本編譯鏈接工具,即RVDS3.0的編譯鏈接工具,而且根據微控制器調試開發的特點采用了與ADS,RVDS完全不同的調試、仿真環境,uVision debugger 與simulator。 RVMDK集成了RVDS3.0的編譯工具RVCT3.0,與ADS1.2相比,除去編譯、連接工具的可執行二進制文件不同之外,RVCT3.0的很多編譯連接選項與ADS編譯器也有不同。
上傳時間: 2013-11-01
上傳用戶:1051290259
LFM連續波雷達系統中,從發射通道泄露的強發射信號、近距離目標的強回波信號和天線罩的強反射信號會對接收機性能造成嚴重影響。低相噪高線性度的發射信號會顯著提升雷達系統性能。介紹了LFM連續波雷達信道的設計。對其中的低相噪高線性度信號產生、收發隔離度控制和頻率靈敏度控制(SFC)等關鍵技術進行了研究,這些技術在工程上有較高的應用價值。
上傳時間: 2013-10-26
上傳用戶:看到了沒有
虛擬儀器作為一種基于計算機的自動化檢測儀器系統,是現代計算機技術和儀器技術完美結合的產物,也是當今計算機輔助測試領域的一項重要技術。它利用加在計算機上的一組軟件與儀器模塊相連接,以計算機為核心、充分利用計算機強大的圖形界面和數據處理能力提供對測量數據的分析和顯示。
上傳時間: 2013-10-22
上傳用戶:ysystc670
本文簡要介紹一種基于Monte Carlo模型和時隙驅動相結合的WCDMA R99 HSDPA網絡規劃仿真模型,并通過該模型對一則案例在動態功率分配和靜態功率分配情況下分別進行仿真。在最后部分,文章給出仿真結果,討論聯合載頻和獨立載頻吞吐量差別,并分析功率分配方式對下行吞吐量和資源利用率的影響。
上傳時間: 2013-11-08
上傳用戶:ljmwh2000
一.實驗目的: 1.加深理解材料的彈塑性過程,材料進入塑性后的性態與卸載后的殘余應力分布情況。 2.X射線法與電測法相結合。用電測法觀察試件加、卸載時的應力、應變情況,用X射線法進行表面應力的測定。通過自行制定實驗方案(貼片、布線、測試等),分析兩種方法所測實驗結果的全過程,對靜態電測的基本測試技術、X射線表面應力測量方法進行一次綜合訓練,以進一步鞏固理論知識,從一般材料力學處理的彈性問題擴展至塑性問題,特別是會涉及到一些目前尚未有完整理論解的問題,與工程實際相結合,培養獨立分析問題、解決問題的能力,培養實驗動手能力,培養科學工作作風。
上傳時間: 2013-10-20
上傳用戶:黑漆漆
Hopfield 網——擅長于聯想記憶與解迷路 實現H網聯想記憶的關鍵,是使被記憶的模式樣本對應網絡能量函數的極小值。 設有M個N維記憶模式,通過對網絡N個神經元之間連接權 wij 和N個輸出閾值θj的設計,使得: 這M個記憶模式所對應的網絡狀態正好是網絡能量函數的M個極小值。 比較困難,目前還沒有一個適應任意形式的記憶模式的有效、通用的設計方法。 H網的算法 1)學習模式——決定權重 想要記憶的模式,用-1和1的2值表示 模式:-1,-1,1,-1,1,1,... 一般表示: 則任意兩個神經元j、i間的權重: wij=∑ap(i)ap(j),p=1…p; P:模式的總數 ap(s):第p個模式的第s個要素(-1或1) wij:第j個神經元與第i個神經元間的權重 i = j時,wij=0,即各神經元的輸出不直接返回自身。 2)想起模式: 神經元輸出值的初始化 想起時,一般是未知的輸入。設xi(0)為未知模式的第i個要素(-1或1) 將xi(0)作為相對應的神經元的初始值,其中,0意味t=0。 反復部分:對各神經元,計算: xi (t+1) = f (∑wijxj(t)-θi), j=1…n, j≠i n—神經元總數 f()--Sgn() θi—神經元i發火閾值 反復進行,直到各個神經元的輸出不再變化。
上傳時間: 2015-03-16
上傳用戶:JasonC
經典c程序100例==1--10 【程序1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少? 1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: main() { int i,j,k printf("\n") for(i=1 i<5 i++) ?。?以下為三重循環*/ for(j=1 j<5 j++) for (k=1 k<5 k++) { if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k) }
上傳時間: 2014-01-07
上傳用戶:lizhizheng88
一般認為Windows CE是一個適合嵌入式應用的通用作業系統,然而,從系統的角度來看,Windows CE並不只是一個作業系統,它還包括對多種目標處理器以及週邊設備的支援,並提供了系統開發工具、應用開發工具、整合的應用程式
上傳時間: 2015-07-01
上傳用戶:asasasas
鎖相與頻率合成技術,莊卉等編著。講述模擬和數字鎖相環及頻率合成器的理論、組成、測試和設計。
上傳時間: 2015-09-04
上傳用戶:氣溫達上千萬的