Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機(jī)C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C 來開發(fā),體會(huì)更加深刻。Keil C51 軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。下面詳細(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)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51 創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51 連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS 文件由OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex 文件,以供調(diào)試器dScope51 或tScope51 使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(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è)置最簡(jiǎn)單(設(shè)安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節(jié) Keil C51 工具包各部分功能及使用簡(jiǎn)介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個(gè)連接控制文件其內(nèi)容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發(fā)人員可根據(jù)自己的習(xí)慣指定,它適于用控制指令較多的場(chǎng)合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對(duì)目標(biāo)文件(.ABS),其使用方法為:L51 目標(biāo)文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個(gè)模塊分別經(jīng) C51 與A51 編譯后生成多個(gè)OBJ 文件,連接時(shí),這些文件全列于目標(biāo)文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時(shí)為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時(shí)的所有控制功能。Commandfile 為連接控制文件,其具體內(nèi)容是包括了目標(biāo)文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標(biāo)模塊庫文件大多不止1 個(gè),因而第2 種方法較多見,這個(gè)文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點(diǎn)特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統(tǒng)RTX51 是一個(gè)實(shí)時(shí)多任務(wù)操作系統(tǒng),它改變了傳統(tǒng)的編程模式,甚至不必用main( )函數(shù),單片機(jī)系統(tǒng)軟件向RTOS 發(fā)展是一種趨勢(shì),這種趨勢(shì)對(duì)于186 和38610及68K 系列CPU 更為明顯和必須,對(duì)8051 因CPU 較為簡(jiǎn)單,程序結(jié)構(gòu)等都不太復(fù)雜,RTX51 作用顯得不太突出,其專業(yè)版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個(gè)RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機(jī)系統(tǒng),因而可用面很窄,在本文中不作介紹。Bank switching 技術(shù)因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個(gè)源級(jí)調(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 及定時(shí)器等,能對(duì)嵌入式軟件功能進(jìn)行有效測(cè)試。
上傳時(shí)間: 2013-11-01
上傳用戶:zhouxuepeng1
用51單片機(jī)設(shè)計(jì)的時(shí)鐘電路畢業(yè)論文第一章電路原理分析1-1 顯示原理1-2 數(shù)碼管結(jié)構(gòu)及代碼顯示1-3 鍵盤及讀數(shù)原理1-4 連擊功能的實(shí)現(xiàn)第 二 章 程序設(shè)計(jì)思想和相關(guān)指令介紹2-1 數(shù)據(jù)與代碼轉(zhuǎn)換2-2 計(jì)時(shí)功能的實(shí)現(xiàn)與中斷服務(wù)程序2-3 時(shí)間控制功能與比較指令2-4 時(shí)鐘誤差的分析附錄A 電路圖附錄B 存儲(chǔ)單元地址表附錄C 輸入輸出口功能分配表附錄D 定時(shí)中斷程序流程圖附錄F 調(diào)時(shí)功能流程圖附錄G 程序清單
標(biāo)簽: 51單片機(jī) 時(shí)鐘電路 畢業(yè)論文
上傳時(shí)間: 2013-10-29
上傳用戶:hoperingcong
摘要:本文介紹了一簡(jiǎn)易流水燈的軟硬件設(shè)計(jì)過程,重點(diǎn)給出了其軟件編程的思想方法,以期給單片機(jī)學(xué)習(xí)者以啟發(fā)。關(guān)鍵字:?jiǎn)纹瑱C(jī);流水燈;編程1.引言當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代,在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮正在工廠、學(xué)校及企事業(yè)單大規(guī)模地興起。學(xué)習(xí)單片機(jī)的最有效方法就是理論與實(shí)踐并重,本文筆者用AT89C51 單片機(jī)自制了一款簡(jiǎn)易的流水燈,重點(diǎn)介紹了其軟件編程方法,以期給單片機(jī)初學(xué)者以啟發(fā),更快地成為單片機(jī)領(lǐng)域的優(yōu)秀人才。
標(biāo)簽: 用單片機(jī) 流水燈 控制設(shè)計(jì)
上傳時(shí)間: 2013-11-09
上傳用戶:gundamwzc
PCA9544A 是NXP 公司生產(chǎn)的I2C 總線多路復(fù)用器,通過該器件可以將一路I2C 總線擴(kuò)展為4 路I2C 總線。將1 路上行SDA/SCL 通道擴(kuò)展為4 路下行通道。通過對(duì)內(nèi)部可編程寄存器進(jìn)行配置,在同一時(shí)間可以任意選擇一對(duì)SCx/SDx 線。器件擁有四路輸入中斷,INT0到INT3,分別對(duì)應(yīng)著四路下行通道。該器件還有一個(gè)輸出中斷,輸出中斷的狀態(tài)由四個(gè)輸入中斷通過“與”邏輯控制。
上傳時(shí)間: 2013-11-17
上傳用戶:woshinimiaoye
PCA9546A 是一款I(lǐng)2C 多路復(fù)用器和開關(guān),能實(shí)現(xiàn)I2C 總線擴(kuò)展、電平轉(zhuǎn)換及總線功能恢復(fù)
上傳時(shí)間: 2013-12-02
上傳用戶:myworkpost
PCA9547 是一款通過I2C 總線控制的八進(jìn)制雙向轉(zhuǎn)換開關(guān)。它的每對(duì)SCL/ SDA 上行通道可以擴(kuò)展為八對(duì)下行通道。但在某一時(shí)刻,由可編程控制寄存器中的內(nèi)容來決定只有一路SCx/SDx 被選擇。由多路復(fù)用器的通門,VDD 管腳可以用來限制PCA9547 通過的最高電壓,這使得每一對(duì)SCL/SDA 可以使用不同的總線電壓,因此1.8V、2.5V 或3.3V 的器件都可以在無其它保護(hù)的情況下與5V 的器件進(jìn)行通信。它的外部上拉電阻將總線拉高至每個(gè)通道所要求的電壓電平,所有I/O 管腳都可以承受5V 的電壓。設(shè)備上電時(shí)由通道0 連接,并且允許主機(jī)和下行設(shè)備進(jìn)行直接的通信
上傳時(shí)間: 2014-12-28
上傳用戶:sunshine1402
PCA9548A 是一款通過I2C 總線控制的八進(jìn)制雙向轉(zhuǎn)換開關(guān)。它的每對(duì)SCL/ SDA 上行通道可以擴(kuò)展為八對(duì)下行通道,可以通過可編程控制寄存器的內(nèi)容來選擇任意單一的SCx/SDx 通道或者組合通道。由多路復(fù)用器的通門,VDD 管腳可以用來限制PCA9547 通過的最高電壓,這使得每一對(duì)SCL/SDA 都可以使用不同的總線電壓,因此1.8V、2.5V 或3.3V的器件可以在無其它保護(hù)的情況下與5V 的器件進(jìn)行通信。它的外部上拉電阻將總線拉高至每個(gè)通道所要求的電壓電平,所有I/O 管腳都可以承受5V 電壓。
上傳時(shí)間: 2013-10-13
上傳用戶:hanli8870
用單片機(jī)制作通用型電視遙控器:本文介紹了一種用MCS-51系列單片機(jī)AT89C52代替專用遙控芯片的設(shè)計(jì)方案,通過軟件模擬實(shí)現(xiàn)了電視機(jī)遙控編碼的發(fā)射,并且達(dá)到“一器多用”。上世紀(jì)八十年代初,日本率先在電視產(chǎn)品中使用了紅外遙控技術(shù),目前已經(jīng)在電視機(jī)上得到了廣泛應(yīng)用。電視遙控器使用的是專用集成發(fā)射芯片來實(shí)現(xiàn)遙控碼的發(fā)射,如東芝TC9012,飛利浦SAA3010T等。這些芯片價(jià)格較貴,且相互之間采用的遙控編碼格式互不兼容,所以各機(jī)型的遙控器通常只能針對(duì)各自的遙控對(duì)象而無法通用。本文在試驗(yàn)驗(yàn)證的基礎(chǔ)上,介紹了如何利用低成本的MCS-51系列單片機(jī)來實(shí)現(xiàn)遙控碼的模擬發(fā)射,并實(shí)現(xiàn)遙控器的通用化。遙控發(fā)射技術(shù)的基本原理通常彩電遙控信號(hào)的發(fā)射,就是將某個(gè)按鍵所對(duì)應(yīng)的控制指令和系統(tǒng)碼(由0和1組成的序列),調(diào)制在32~56KHz范圍內(nèi)的載波上,然后經(jīng)放大、驅(qū)動(dòng)紅外發(fā)射管將信號(hào)發(fā)射出去。不同公司的遙控芯片,采用的遙控碼格式也不一樣。在此介紹較普遍的兩種,一種是NEC標(biāo)準(zhǔn),一種是PHILIPS 標(biāo)準(zhǔn)。
上傳時(shí)間: 2013-11-17
上傳用戶:jiangfire
用TPM2產(chǎn)生PWM和作脈沖寬度、周期測(cè)量:SPMC75F2413A的TPM2除具有一般的定時(shí)/計(jì)數(shù)的功能外,還有兩路的PWM輸出/兩路的捕獲功能,因此增強(qiáng)和擴(kuò)展了TPM2在一般領(lǐng)域中的應(yīng)用,本應(yīng)用例介紹TPM2產(chǎn)生脈沖及捕獲(測(cè)量)脈沖。1.2 TPM2簡(jiǎn)介SPMC75F2413A有一個(gè)通用16位TPM定時(shí)器,即TPM定時(shí)器2,支持捕獲輸入和PWM輸出功能。在電機(jī)控制速度反饋環(huán)應(yīng)用中,定時(shí)器2可以用來提供的系統(tǒng)時(shí)間基準(zhǔn)。定時(shí)器2為捕獲輸入和PWM輸出操作提供兩個(gè)輸入/輸出引腳。詳細(xì)介紹請(qǐng)參考《SPMC75F2413A編程指南》TPM定時(shí)器2模塊部分。
上傳時(shí)間: 2013-11-09
上傳用戶:司令部正軍級(jí)
用NTC熱敏電阻做溫度采集:本應(yīng)用例實(shí)現(xiàn)NTC熱敏電阻器對(duì)溫度的測(cè)量。熱敏電阻器把溫度的變化轉(zhuǎn)換為電阻阻值的變化,再應(yīng)用相應(yīng)的測(cè)量電路把阻值的變化轉(zhuǎn)換為電壓的變化;SPMC75F2413A內(nèi)建8路ADC可以把模擬的電壓值轉(zhuǎn)換為數(shù)字信號(hào),對(duì)數(shù)值信號(hào)進(jìn)行處理可以得到相應(yīng)的溫度值。1.2 熱敏電阻器熱敏電阻有電阻值隨溫度升高而升高的正溫度系數(shù)(Positive Temperature Coefficient簡(jiǎn)稱PTC)熱敏電阻和電阻值隨溫度升高而降低的負(fù)溫度系數(shù)(Negative Temperature Coefficient簡(jiǎn)稱NTC)熱敏電阻。NTC熱敏電阻器,是一種以過渡金屬氧化物為主要原材料,采用電子陶瓷工藝制成的熱敏半導(dǎo)體陶瓷組件。這種組件的電阻值隨溫度升高而降低,利用這一特性可制成測(cè)溫、溫度補(bǔ)償和控溫組件,又可以制成功率型組件,抑制電路的浪涌電流。
上傳時(shí)間: 2013-11-16
上傳用戶:sssnaxie
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1