Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C 來開發(fā),體會更加深刻。Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹 Keil C51 開發(fā)系統(tǒng)各部分功能和使用。第二節(jié) Keil C51 單片機軟件開發(fā)系統(tǒng)的整體結(jié)構C51 工具包的整體結(jié)構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉(zhuǎn)換成標準的Hex 文件,以供調(diào)試器dScope51 或tScope51 使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結(jié)構圖第三節(jié) Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統(tǒng)正常工作須進行以下操作(設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 目錄下。第四節(jié) Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內(nèi)容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發(fā)人員可根據(jù)自己的習慣指定,它適于用控制指令較多的場合。(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源程序的多個模塊分別經(jīng) C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內(nèi)容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統(tǒng)RTX51 是一個實時多任務操作系統(tǒng),它改變了傳統(tǒng)的編程模式,甚至不必用main( )函數(shù),單片機系統(tǒng)軟件向RTOS 發(fā)展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結(jié)構等都不太復雜,RTX51 作用顯得不太突出,其專業(yè)版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統(tǒng),因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調(diào)試器和模擬器,它可以調(diào)試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產(chǎn)生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內(nèi)部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
Keil C51語言使用技巧及實戰(zhàn)(周立功) 這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊
上傳時間: 2014-12-27
上傳用戶:lhw888
這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法.為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊
上傳時間: 2014-01-14
上傳用戶:honyeal
以典型的9S08 系列為例,當你選擇了一個MCU 型號后,在圖1-4 右側(cè)會顯示出所有針對該型號芯片可用的項目調(diào)試場景。其中:Full Chip Simulator是芯片全功能模擬仿真,即無需任何目標系統(tǒng)的硬件資源,直接在你的PC 機上模擬運行單片機的程序,在模擬運行過程中可以觀察調(diào)試程序的各項控制和運行流程,分析代碼運行的時間,觀察各種變量,等等。CW 提供了功能強大的模擬激勵功能,可以在模擬運行時模擬一些外部事件的輸入,配合程序調(diào)試;P&E Multilink/Cyclone Pro是基于P&E 公司的硬件調(diào)試工具實現(xiàn)實時在線硬件調(diào)試。實際就是我們經(jīng)常說的BDM 調(diào)試。BDM 調(diào)試是基于芯片本身內(nèi)含的在線調(diào)試功能,可實現(xiàn)程序下載,單步/全速運行,可以設若干個斷點,可以觀察和修改任意寄存器或RAM 內(nèi)存空間。BDM 幾乎是開發(fā)飛思卡爾8 位(9S08 和RS08 系列)、16 位(9S12 系列)和32 位(Coldfire V1 系列)單片機的標準調(diào)試模式,運用最為廣泛;SofTec HCS08是另外一家SofTec 公司提供的硬件調(diào)試工具,國內(nèi)使用較少;HCS08 Serial Monitor是基于芯片串口的監(jiān)控調(diào)試開發(fā)模式。由于開發(fā)效率較低,現(xiàn)在幾乎無人使用。
上傳時間: 2013-10-10
上傳用戶:alex wang
本文以f1禁系統(tǒng)的可靠性和低成本為立足點,提出了一種基于AT89C2051單片機的RF卡門禁系統(tǒng)設 系計方法。首先簡單介紹了組成這個系統(tǒng)的非接觸式IC卡,然后詳細描述了其軟硬件設計的過程。在實際的應用 統(tǒng)設過程中已經(jīng)驗證了該設計方法的合理性。
上傳時間: 2013-10-15
上傳用戶:takako_yang
本文主要描述 PCF8563 的中斷輸出功能,并給出相應的范例。范例實現(xiàn)每1s 從/ INT腳產(chǎn)生一次中斷輸出的功能。用戶可以修改范例中定時器時鐘源和倒計數(shù)數(shù)值寄存器的值,以得到滿足自己需要的中斷輸出周期,輕松實現(xiàn)PCF8563 中斷輸出功能。
上傳時間: 2013-11-08
上傳用戶:阿譚電器工作室
世界著名廠家單片機簡介1.Motorola 單片機:Motorola是世界上最大的單片機廠商,品種全,選擇余地大,新產(chǎn)品多,在8位機方面有68HC05和升級產(chǎn)品68HC08,68HC05有30多個系列200多個品種,產(chǎn)量超過20億片.8位增強型單片機68HC11也有30多個品種,年產(chǎn)量1億片以上,升級產(chǎn)品有68HC12.16位單片機68HC16也有十多個品種.32位單片機683XX系列也有幾十個品種.近年來以PowerPC,Codfire,M.CORE等作為CPU,用DSP作為輔助模塊集成的單片機也紛紛推出,目前仍是單片機的首選品牌.Motorola單片機特點之一是在同樣的速度下所用的時鐘較Intel類單片機低的多因而使得高頻噪聲低,抗干擾能力強,更適合用于工控領域以及惡劣環(huán)境.Motorola 8位單片機過去策略是掩膜為主,最近推出OTP計劃以適應單片機的發(fā)展,在32位機上,M.CORE在性能和功耗上都勝過ARM7.2.Microchip 單片機:Microchip 單片機是市場份額增長最快的單片機.他的主要產(chǎn)品是16C系列8位單片機,CPU采用RISC結(jié)構,僅33條指令,運行速度快,且以低價位著稱,一般單片機價格都在1美元以下.Microchip 單片機沒有掩膜產(chǎn)品,全部都是OTP器件(現(xiàn)已推出FLASH型單片機).Microchip強調(diào)節(jié)約成本的最優(yōu)化設計,是使用量大,檔次低,價格敏感的產(chǎn)品.3.Scenix單片機:Scenix單片機的I/O模塊最有創(chuàng)意.I/O模塊的集成與組合技術是單片機技術不可缺少的重要方面.除傳統(tǒng)的I/O功能模塊如并行I/O,URT,SPI,I2C,A/D,PWM,PLL,DTMF等,新的I/O模塊不斷出現(xiàn),如USB,CAN,J1850,最具代表的是Motorola 32位單片機,它集成了包括各種通信協(xié)議在內(nèi)的I/O模塊,而Scenix單片機在I/O模塊的處理上引入了虛擬I/O的概念. Scenix單片機采用了RISC結(jié)構的CPU,使CPU最高工作頻率達50MHz.運算速度接近50MIPS.有了強有力的CPU,各種I/O功能便可以用軟件的辦法模擬.單片機的封裝采用20/28引腳.公司提供各種I/O的庫函數(shù),用于實現(xiàn)各種I/O模塊的功能.這些軟件完成的模塊包括多路UART,多種A/D,PWM,SPI,DTMF,FSK,LCD驅(qū)動等,這些都是通常用硬件實現(xiàn)起來相當復雜的模塊.4.NEC單片機:NEC單片機自成體系,以8位機78K系列產(chǎn)量最高,也有16位,32位單片機.16位單片機采用內(nèi)部倍頻技術,以降低外時鐘頻率.有的單片機采用內(nèi)置操作系統(tǒng).NEC的銷售策略注重服務大客戶,并投入相當大的技術力量幫助大客戶開發(fā)新產(chǎn)品.5.東芝單片機:東芝單片機從4位倒64位,門類齊全.4位機在家電領域仍有較大市場.8位機主要有870系列,90系列等.該類單片機允許使用慢模式,采用32KHz時鐘功耗低至10uA數(shù)量級.CPU內(nèi)部多組寄存器的使用,使得中斷響應與處理更加快捷.東芝公司的32位機采用MIPS3000 ARISC的CPU結(jié)構,面向VCD,數(shù)字相機,圖象處理市場.6.富士通單片機:富士通也有8位,16位和32位單片機,但是8位機使用的是16位的CPU內(nèi)核.也就是說8位機與16位機指令相同,使得開發(fā)比較容易.8位機有名是MB8900系列,16位機有MB90系列.富士通注重服務大公司,大客戶,幫助大客戶開發(fā)產(chǎn)品.7.Epson 單片機:Epson公司以擅長制造液晶顯示器著稱,故Epson單片機主要為該公司生產(chǎn)的LCD配套.其單片機的LCD驅(qū)動做的特別好.在低電壓,低功耗方面也很有特色.目前0.9V供電的單片機已經(jīng)上市,不久LCD顯示手表將使用0.5V供電.
上傳時間: 2014-12-28
上傳用戶:leyesome
為了解決一些遠程單片機設備不方便升級內(nèi)部程序的困難,本文提出了利用單片機系統(tǒng)中現(xiàn)有的數(shù)據(jù)獲取方式來升級單片機內(nèi)部程序的方法。本文利用凌陽16 位單片機可以自讀寫片內(nèi)程序空間的特性,通過在片內(nèi)駐留BootLoader 程序的方式實現(xiàn)了凌陽16 位單片機片內(nèi)程序的在需要時的遠程升級。單片機獲取數(shù)據(jù)的方式可以有很多,本文選取通過串口獲取數(shù)據(jù)進行程序升級為例,并選取常見的凌陽單片機SPCE061A 為例介紹了此方法的設計思路以及實現(xiàn)過程。單片機的應用非常廣泛,在某些情況下,單片機內(nèi)部程序的升級在所難免,但是往往需要對單片機產(chǎn)品進行收回才能實現(xiàn),這樣在一些遠程設備的程序升級問題上就顯得非常不方便。但是有些遠程設備本身留有遠程通訊的方式:例如某些遠程數(shù)據(jù)傳輸模塊,為了把數(shù)據(jù)上報總會留有通訊的接口,比如422、485 甚至GPRS 或者局域網(wǎng)接口;又或者某些車載定位設備,為了和監(jiān)控中心通訊會留有GSM、CDMA 或者GPRS 等通訊方式。在這種情況下就可以利用其現(xiàn)有的通訊方式對其內(nèi)部單片機程序進行升級而不需要收回產(chǎn)品。本文的主要內(nèi)容就是來研究這種遠程升級單片機程序的方法。由于近年來凌陽科技的單片機,尤其是 16 位單片機,得到了越來越多的推廣,其應用領域越來越廣泛。本文選取一種常見的凌陽科技的16 位單片機SPCE061A 為例,來介紹單片機程序遠程升級的方法。SPCE061A 里內(nèi)嵌了32K 字的閃存(FLASH),即可以作為程序存儲空間又可以存儲數(shù)據(jù),并且有自讀寫任意閃存地址的能力,本文利用這一功能,提出了通過在單片機中駐留BootLoader 程序的方法,來實現(xiàn)單片機程序的遠程升級。遠程升級的實現(xiàn),需要單片機自身的響應同時還需要遠程服務器提供升級所需的代碼。下文將通過這兩個方面來分別介紹。
上傳時間: 2013-10-31
上傳用戶:yxgi5
離散傅里葉變換,(DFT)Direct Fouriet Transformer(PPT課件) 一、序列分類對一個序列長度未加以任何限制,則一個序列可分為: 無限長序列:n=-∞~∞或n=0~∞或n=-∞~ 0 有限長序列:0≤n≤N-1有限長序列在數(shù)字信號處理是很重要的一種序列。由于計算機容量的限制,只能對過程進行逐段分析。二、DFT引入由于有限長序列,引入DFT(離散付里葉變換)。DFT它是反映了“有限長”這一特點的一種有用工具。DFT變換除了作為有限長序列的一種付里葉表示,在理論上重要之外,而且由于存在著計算機DFT的有效快速算法--FFT,因而使離散付里葉變換(DFT)得以實現(xiàn),它使DFT在各種數(shù)字信號處理的算法中起著核心的作用。三、本章主要討論離散付里葉變換的推導離散付里葉變換的有關性質(zhì)離散付里葉變換逼近連續(xù)時間信號的問題第二節(jié)付里葉變換的幾種形式傅 里 葉 變 換 : 建 立 以 時 間 t 為 自 變 量 的 “ 信 號 ” 與 以 頻 率 f為 自 變 量 的 “ 頻 率 函 數(shù) ”(頻譜) 之 間 的 某 種 變 換 關 系 . 所 以 “ 時 間 ” 或 “ 頻 率 ” 取 連 續(xù) 還 是 離 散 值 , 就 形 成 各 種 不 同 形 式 的 傅 里 葉 變 換 對 。, 在 深 入 討 論 離 散 傅 里 葉 變 換 D F T 之 前 , 先 概 述 四種 不 同 形式 的 傅 里 葉 變 換 對 . 一、四種不同傅里葉變換對傅 里 葉 級 數(shù)(FS):連 續(xù) 時 間 , 離 散 頻 率 的 傅 里 葉 變 換 。連 續(xù) 傅 里 葉 變 換(FT):連 續(xù) 時 間 , 連 續(xù) 頻 率 的 傅 里 葉 變 換 。序 列 的 傅 里 葉 變 換(DTFT):離 散 時 間 , 連 續(xù) 頻 率 的 傅 里 葉 變 換.離 散 傅 里 葉 變 換(DFT):離 散 時 間 , 離 散 頻 率 的 傅 里 葉 變 換1.傅 里 葉 級 數(shù)(FS)周期連續(xù)時間信號 非周期離散頻譜密度函數(shù)。 周期為Tp的周期性連續(xù)時間函數(shù) x(t) 可展成傅里葉級數(shù)X(jkΩ0) ,是離散非周期性頻譜 , 表 示為:例子通過以下 變 換 對 可 以 看 出 時 域 的 連 續(xù) 函 數(shù) 造 成 頻 域 是 非 周 期 的 頻 譜 函 數(shù) , 而 頻 域 的 離 散 頻 譜 就 與 時 域 的 周 期 時 間 函 數(shù) 對 應 . (頻域采樣,時域周期延 拓)2.連 續(xù) 傅 里 葉 變 換(FT)非周期連續(xù)時間信號通過連續(xù)付里葉變換(FT)得到非周期連續(xù)頻譜密度函數(shù)。
上傳時間: 2013-11-19
上傳用戶:fujiura
在確定采用CAN總線作為系統(tǒng)的通訊標準后,如何選擇合適的處理器芯片就將成為很重要的問題,是采用內(nèi)部帶有CAN控制器的單片機,還是采用SJA1000等片外CAN控制器,采用的芯片是否能滿足系弘的實時性要求。
上傳時間: 2013-10-26
上傳用戶:xiaohanhaowei