Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機(jī)C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C 來開發(fā),體會更加深刻。Keil C51 軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹 Keil C51 開發(fā)系統(tǒng)各部分功能和使用。第二節(jié) Keil C51 單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51 工具包的整體結(jié)構(gòu),如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51 創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51 連接定位生成絕對目標(biāo)文件(.ABS)。ABS 文件由OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex 文件,以供調(diào)試器dScope51 或tScope51 使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結(jié)構(gòu)圖第三節(jié) Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運(yùn)行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統(tǒng)正常工作須進(jìn)行以下操作(設(shè)C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運(yùn)行Autoexec.bat2. C51 for Windows 的安裝及注意事項(xiàng):在 Windows 下運(yùn)行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設(shè)置最簡單(設(shè)安裝于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ù)自己的習(xí)慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標(biāo)文件(.ABS),其使用方法為:L51 目標(biāo)文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經(jīng) C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標(biāo)文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內(nèi)容是包括了目標(biāo)文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標(biāo)模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點(diǎn)特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統(tǒng)RTX51 是一個實(shí)時多任務(wù)操作系統(tǒng),它改變了傳統(tǒng)的編程模式,甚至不必用main( )函數(shù),單片機(jī)系統(tǒng)軟件向RTOS 發(fā)展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結(jié)構(gòu)等都不太復(fù)雜,RTX51 作用顯得不太突出,其專業(yè)版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機(jī)系統(tǒng),因而可用面很窄,在本文中不作介紹。Bank switching 技術(shù)因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調(diào)試器和模擬器,它可以調(diào)試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產(chǎn)生的程序。它不需目標(biāo)板(for windows 也可通過mon51 接目標(biāo)板),只能進(jìn)行軟件模擬,但其功能強(qiáng)大,可模擬CPU 及其外圍器件,如內(nèi)部串口,外部I/O 及定時器等,能對嵌入式軟件功能進(jìn)行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
Keil C51語言使用技巧及實(shí)戰(zhàn)(周立功) 這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊
上傳時間: 2014-12-27
上傳用戶:lhw888
這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法.為使問題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊
標(biāo)簽: C51 單片機(jī)語言 程序設(shè)計(jì)
上傳時間: 2014-01-14
上傳用戶:honyeal
以典型的9S08 系列為例,當(dāng)你選擇了一個MCU 型號后,在圖1-4 右側(cè)會顯示出所有針對該型號芯片可用的項(xiàng)目調(diào)試場景。其中:Full Chip Simulator是芯片全功能模擬仿真,即無需任何目標(biāo)系統(tǒng)的硬件資源,直接在你的PC 機(jī)上模擬運(yùn)行單片機(jī)的程序,在模擬運(yùn)行過程中可以觀察調(diào)試程序的各項(xiàng)控制和運(yùn)行流程,分析代碼運(yùn)行的時間,觀察各種變量,等等。CW 提供了功能強(qiáng)大的模擬激勵功能,可以在模擬運(yùn)行時模擬一些外部事件的輸入,配合程序調(diào)試;P&E Multilink/Cyclone Pro是基于P&E 公司的硬件調(diào)試工具實(shí)現(xiàn)實(shí)時在線硬件調(diào)試。實(shí)際就是我們經(jīng)常說的BDM 調(diào)試。BDM 調(diào)試是基于芯片本身內(nèi)含的在線調(diào)試功能,可實(shí)現(xiàn)程序下載,單步/全速運(yùn)行,可以設(shè)若干個斷點(diǎn),可以觀察和修改任意寄存器或RAM 內(nèi)存空間。BDM 幾乎是開發(fā)飛思卡爾8 位(9S08 和RS08 系列)、16 位(9S12 系列)和32 位(Coldfire V1 系列)單片機(jī)的標(biāo)準(zhǔn)調(diào)試模式,運(yùn)用最為廣泛;SofTec HCS08是另外一家SofTec 公司提供的硬件調(diào)試工具,國內(nèi)使用較少;HCS08 Serial Monitor是基于芯片串口的監(jiān)控調(diào)試開發(fā)模式。由于開發(fā)效率較低,現(xiàn)在幾乎無人使用。
標(biāo)簽: FSL 08 C語言編程 單片機(jī)開發(fā)
上傳時間: 2013-10-10
上傳用戶:alex wang
本文以f1禁系統(tǒng)的可靠性和低成本為立足點(diǎn),提出了一種基于AT89C2051單片機(jī)的RF卡門禁系統(tǒng)設(shè) 系計(jì)方法。首先簡單介紹了組成這個系統(tǒng)的非接觸式IC卡,然后詳細(xì)描述了其軟硬件設(shè)計(jì)的過程。在實(shí)際的應(yīng)用 統(tǒng)設(shè)過程中已經(jīng)驗(yàn)證了該設(shè)計(jì)方法的合理性。
上傳時間: 2013-10-15
上傳用戶:takako_yang
為了解決一些遠(yuǎn)程單片機(jī)設(shè)備不方便升級內(nèi)部程序的困難,本文提出了利用單片機(jī)系統(tǒng)中現(xiàn)有的數(shù)據(jù)獲取方式來升級單片機(jī)內(nèi)部程序的方法。本文利用凌陽16 位單片機(jī)可以自讀寫片內(nèi)程序空間的特性,通過在片內(nèi)駐留BootLoader 程序的方式實(shí)現(xiàn)了凌陽16 位單片機(jī)片內(nèi)程序的在需要時的遠(yuǎn)程升級。單片機(jī)獲取數(shù)據(jù)的方式可以有很多,本文選取通過串口獲取數(shù)據(jù)進(jìn)行程序升級為例,并選取常見的凌陽單片機(jī)SPCE061A 為例介紹了此方法的設(shè)計(jì)思路以及實(shí)現(xiàn)過程。單片機(jī)的應(yīng)用非常廣泛,在某些情況下,單片機(jī)內(nèi)部程序的升級在所難免,但是往往需要對單片機(jī)產(chǎn)品進(jìn)行收回才能實(shí)現(xiàn),這樣在一些遠(yuǎn)程設(shè)備的程序升級問題上就顯得非常不方便。但是有些遠(yuǎn)程設(shè)備本身留有遠(yuǎn)程通訊的方式:例如某些遠(yuǎn)程數(shù)據(jù)傳輸模塊,為了把數(shù)據(jù)上報(bào)總會留有通訊的接口,比如422、485 甚至GPRS 或者局域網(wǎng)接口;又或者某些車載定位設(shè)備,為了和監(jiān)控中心通訊會留有GSM、CDMA 或者GPRS 等通訊方式。在這種情況下就可以利用其現(xiàn)有的通訊方式對其內(nèi)部單片機(jī)程序進(jìn)行升級而不需要收回產(chǎn)品。本文的主要內(nèi)容就是來研究這種遠(yuǎn)程升級單片機(jī)程序的方法。由于近年來凌陽科技的單片機(jī),尤其是 16 位單片機(jī),得到了越來越多的推廣,其應(yīng)用領(lǐng)域越來越廣泛。本文選取一種常見的凌陽科技的16 位單片機(jī)SPCE061A 為例,來介紹單片機(jī)程序遠(yuǎn)程升級的方法。SPCE061A 里內(nèi)嵌了32K 字的閃存(FLASH),即可以作為程序存儲空間又可以存儲數(shù)據(jù),并且有自讀寫任意閃存地址的能力,本文利用這一功能,提出了通過在單片機(jī)中駐留BootLoader 程序的方法,來實(shí)現(xiàn)單片機(jī)程序的遠(yuǎn)程升級。遠(yuǎn)程升級的實(shí)現(xiàn),需要單片機(jī)自身的響應(yīng)同時還需要遠(yuǎn)程服務(wù)器提供升級所需的代碼。下文將通過這兩個方面來分別介紹。
標(biāo)簽: 單片機(jī)程序 遠(yuǎn)程升級
上傳時間: 2013-10-31
上傳用戶:yxgi5
離散傅里葉變換,(DFT)Direct Fouriet Transformer(PPT課件) 一、序列分類對一個序列長度未加以任何限制,則一個序列可分為: 無限長序列:n=-∞~∞或n=0~∞或n=-∞~ 0 有限長序列:0≤n≤N-1有限長序列在數(shù)字信號處理是很重要的一種序列。由于計(jì)算機(jī)容量的限制,只能對過程進(jìn)行逐段分析。二、DFT引入由于有限長序列,引入DFT(離散付里葉變換)。DFT它是反映了“有限長”這一特點(diǎn)的一種有用工具。DFT變換除了作為有限長序列的一種付里葉表示,在理論上重要之外,而且由于存在著計(jì)算機(jī)DFT的有效快速算法--FFT,因而使離散付里葉變換(DFT)得以實(shí)現(xiàn),它使DFT在各種數(shù)字信號處理的算法中起著核心的作用。三、本章主要討論離散付里葉變換的推導(dǎo)離散付里葉變換的有關(guān)性質(zhì)離散付里葉變換逼近連續(xù)時間信號的問題第二節(jié)付里葉變換的幾種形式傅 里 葉 變 換 : 建 立 以 時 間 t 為 自 變 量 的 “ 信 號 ” 與 以 頻 率 f為 自 變 量 的 “ 頻 率 函 數(shù) ”(頻譜) 之 間 的 某 種 變 換 關(guān) 系 . 所 以 “ 時 間 ” 或 “ 頻 率 ” 取 連 續(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ù) 對 應(yīng) . (頻域采樣,時域周期延 拓)2.連 續(xù) 傅 里 葉 變 換(FT)非周期連續(xù)時間信號通過連續(xù)付里葉變換(FT)得到非周期連續(xù)頻譜密度函數(shù)。
標(biāo)簽: Fouriet Direct DFT Tr
上傳時間: 2013-11-19
上傳用戶:fujiura
在確定采用CAN總線作為系統(tǒng)的通訊標(biāo)準(zhǔn)后,如何選擇合適的處理器芯片就將成為很重要的問題,是采用內(nèi)部帶有CAN控制器的單片機(jī),還是采用SJA1000等片外CAN控制器,采用的芯片是否能滿足系弘的實(shí)時性要求。
標(biāo)簽: Infinenon C166 CAN 單片機(jī)
上傳時間: 2013-10-26
上傳用戶:xiaohanhaowei
采用飛利浦公司的Mifare卡作IC卡,設(shè)計(jì)以射頻技術(shù)為核心,以單片機(jī)為控制器的IC公交自動收費(fèi)系弘中的應(yīng)用。
標(biāo)簽: 非接觸IC卡 讀寫器 應(yīng)用設(shè)計(jì)
上傳時間: 2014-12-28
上傳用戶:lliuhhui
單片計(jì)算機(jī)(簡稱單片機(jī))在工作時,因某種原因造成突然掉電,將會丟失數(shù)據(jù)存儲器(RAM)里的數(shù)據(jù),沖掉前期工作的所有信息。為了在突然掉電時能夠保持?jǐn)?shù)據(jù)存儲器(RAM)的數(shù)據(jù),保證單片機(jī)系統(tǒng)穩(wěn)定、可靠地工作,數(shù)據(jù)信息處理的安全,雖然單片機(jī)主電源里有大容量濾波電容器,當(dāng)?shù)綦姇r,單片機(jī)靠貯存在電容器里的能量,一般能維持工作半個周期(10ms)左右。為此,要求一旦市電發(fā)生瞬間斷電時,必須要有一種電源能在小于10ms 的時間內(nèi)重新送電,確保單片機(jī)系統(tǒng)正常運(yùn)行,這一任務(wù)就由UPS 來完成。電源系統(tǒng)瞬時掉電所產(chǎn)生的干擾會造成單片機(jī)的計(jì)算錯誤和數(shù)據(jù)丟失,有了UPS 可以使單片機(jī)系連續(xù)可靠地工作。單片機(jī)系統(tǒng)除使用UPS 外,下面介紹一種行之有效的后備電源。通過理論和實(shí)踐證明,當(dāng)供電電壓由5V 下降到4 5V時單片機(jī)通常均能正常運(yùn)行,但電壓再往下跌落時,單片機(jī)就不能繼續(xù)正常運(yùn)行。在一般情況下CPU、CMOS、TTL 電路將因電源電壓跌落而首先不能正常運(yùn)行,RAM在電壓跌落到比較低時尚能工作。因?yàn)閱纹瑱C(jī)使用的主電源均有大容量電容,所以在主電源失電時,如果按放電曲線在下跌到單片機(jī)能正常運(yùn)行工作的最低電壓之前,把后備電源接上便能保持單片機(jī)正常運(yùn)行。
上傳時間: 2013-11-02
上傳用戶:niumeng16
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1