單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)?CPU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51 單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開發(fā)MCS-51 系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51 系列單片機(jī)的愛好者來(lái)說(shuō)是十分必要的,如果你使用C 語(yǔ)言編程,那么Keil 幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C 語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。我們將通過(guò)一些實(shí)例來(lái)學(xué)習(xí) Keil 軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序,建立工程、對(duì)工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。圖1 所示電路圖使用89C51 單片機(jī)作為主芯片,這種單片機(jī)性屬于MCS-51 系列,其內(nèi)部有4K 的FLASH ROM,可以反復(fù)擦寫,非常適于做實(shí)驗(yàn)。89C51 的P1 引腳上接8 個(gè)發(fā)光二極管,P3.2~P3.4 引腳上接4 個(gè)按鈕開關(guān),我們的第一個(gè)任務(wù)是讓接在P1 引腳上的發(fā)光二極管依次循環(huán)點(diǎn)亮。
上傳時(shí)間: 2013-11-06
上傳用戶:aesuser
如何使用高級(jí)觸發(fā)測(cè)量程序跑飛:LA系列邏輯分析儀內(nèi)部集成了32位的定時(shí)器、32位的計(jì)數(shù)器和高速比較模塊,高效的使用以上模塊資源可以使您的測(cè)量事半功倍。邏輯分析儀在實(shí)際應(yīng)用中主要作用有:1.觀察波形,看看測(cè)量波形中是否存在毛刺、干擾、頻率是否正確等;2.時(shí)序測(cè)量,對(duì)被測(cè)信號(hào)進(jìn)行時(shí)序校對(duì),看看操作時(shí)序是否符合要求。3.輔助分析,利用邏輯分析儀完善的協(xié)議分析功能來(lái)進(jìn)行輔助分析;4.查錯(cuò)功能,利用邏輯分析儀強(qiáng)大的觸發(fā)功能來(lái)進(jìn)行錯(cuò)誤捕獲。當(dāng)單片機(jī)的PC值(程序計(jì)數(shù)器)對(duì)沒有程序的地方進(jìn)行取指時(shí),稱為程序跑飛。程序跑飛的原因有多種,主要有以下原因:1) 客觀原因:?jiǎn)纹瑱C(jī)受到外界強(qiáng)干擾造成PC值寄存器改變;2)程序Bug:用戶程序調(diào)用函數(shù)指針,對(duì)非程序空間進(jìn)行對(duì)用。以80C51單片機(jī)為例子,當(dāng)程序跑到非用戶程序區(qū)時(shí),單片機(jī)使用PSEN對(duì)外部程序進(jìn)行取指,使用邏輯分析儀可以設(shè)置觸發(fā)條件,當(dāng)使用PSEN對(duì)外部程序進(jìn)行取指時(shí)進(jìn)行記錄,把出錯(cuò)情況前后的狀態(tài)記錄下來(lái)進(jìn)行分析,查找出錯(cuò)原因。如80C51的取指范圍正確為0x0000~0x3fff,則當(dāng)對(duì)0x3fff以上地址進(jìn)行取指時(shí)為程序跑飛。分析80C51對(duì)外部程序取指的時(shí)序,如圖1所示。
標(biāo)簽: 如何使用 觸發(fā) 測(cè)量程序
上傳時(shí)間: 2013-10-11
上傳用戶:panpanpan
Keil C51編譯器用戶手冊(cè) 中文版:本手冊(cè)講述對(duì)8051 的目標(biāo)環(huán)境,如何使用Cx51 優(yōu)化C 編譯器編譯C 程序Cx51 編譯器包,可以用在所有的8051 系列處理器上,可以在WINDOWS 32 位命令行中執(zhí)行本手冊(cè),假定你熟悉WINDOWS 操作系統(tǒng),知道如何編程8051處理器,并會(huì)用C 語(yǔ)言編程注意本手冊(cè)用條件窗口來(lái)指明32 位WINDOWS 版本是WINDOWS95 WINDOWS98 WINDOWS ME WINDOWS NT WINDOWS 2000 或WINDWOS XP,如果你對(duì)C 編程有問題或者你想知道C 語(yǔ)言編程的更多信息,可參考16 頁(yè)的關(guān)于C語(yǔ)言的書手冊(cè)中討論的許多例子和描述是從WINDOWS 命令提示符下調(diào)用的這對(duì)在一個(gè)集成環(huán)境,如μVision2 中運(yùn)行Cx51 的情況是不適用的本手冊(cè)中的例子是通用的可以應(yīng)用到所有編程環(huán)境。
標(biāo)簽: Keil C51 編譯器 用戶手冊(cè)
上傳時(shí)間: 2014-01-13
上傳用戶:hakim
如何導(dǎo)入ASM文件到工程(視頻教程)
上傳時(shí)間: 2013-10-22
上傳用戶:胡蘿卜醬
數(shù)據(jù)傳送的控制 數(shù)據(jù)傳送涉及的3個(gè)問題1)數(shù)據(jù)的來(lái)源;2)數(shù)據(jù)的去處;3)數(shù)據(jù)本身以及如何控制數(shù)據(jù)的傳送。 DMA方式控制的數(shù)據(jù)傳送 DMA傳送方式通常用來(lái)高速傳送大批量的數(shù)據(jù)塊。如: 硬盤和軟盤I/O; 快速通信通道I/O; 多處理機(jī)和多程序數(shù)據(jù)塊傳送; 在圖像處理中,對(duì)CRT屏幕送數(shù)據(jù); 快速數(shù)據(jù)采集; DRAM的刷新操作。 DMA傳送包括:(1)存儲(chǔ)單元傳送:存儲(chǔ)器→存儲(chǔ)器。(2)DMA讀傳送:存儲(chǔ)器→I/O設(shè)備。(3)DMA寫傳送:I/O設(shè)備→存儲(chǔ)器。4.1.2 DMA傳送的工作過(guò)程 1)I/O設(shè)備向DMAC發(fā)出DMA請(qǐng)求;2) DMAC向CPU發(fā)出總線請(qǐng)求;3)CPU在執(zhí)行完當(dāng)前指令的當(dāng)前的總線周期后,向DMAC發(fā)出總線響應(yīng)信號(hào);4)CPU脫離對(duì)系統(tǒng)總線的控制,由DMAC接管對(duì)系統(tǒng)總線的控制; 為什么DMA傳送方式能實(shí)現(xiàn)高速傳送?DMA傳送的過(guò)程是什么樣的?畫出流程。DMA有哪些操作方式?各有什么特點(diǎn)。簡(jiǎn)述DMA控制器的兩個(gè)工作狀態(tài)的特點(diǎn)。試設(shè)計(jì)一種在8088大模式下與8237連接的基本電路圖。并說(shuō)明你的設(shè)計(jì)中8237各個(gè)端口的實(shí)際地址。DMA控制器的時(shí)序包括哪幾個(gè)狀態(tài)周期?試畫出正常讀傳輸?shù)臅r(shí)序。DMAC的內(nèi)部地址寄存器是16位的,如何擴(kuò)展地址來(lái)訪問16MB的地址空間?
標(biāo)簽: DMA
上傳時(shí)間: 2013-11-18
上傳用戶:leixinzhuo
單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51 單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil 軟件是目前最流行開發(fā)MCS-51 系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51 系列單片機(jī)的愛好者來(lái)說(shuō)是十分必要的,如果你使用C 語(yǔ)言編程,那么Keil 幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C 語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。我們將通過(guò)一些實(shí)例來(lái)學(xué)習(xí)Keil 軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序,建立工程、對(duì)工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。圖1 所示電路圖使用89C51 單片機(jī)作為主芯片,這種單片機(jī)性屬于MCS-51 系列,其內(nèi)部有4K 的FLASH ROM,可以反復(fù)擦寫,非常適于做實(shí)驗(yàn)。89C51 的P1 引腳上接8 個(gè)發(fā)光二極管,P3.2~P3.4 引腳上接4 個(gè)按鈕開關(guān),我們的第一個(gè)任務(wù)是讓接在P1 引腳上的發(fā)光二極管依次循環(huán)點(diǎn)亮。 一、Keil 工程的建立首先啟動(dòng)Keil 軟件的集成開發(fā)環(huán)境,這里假設(shè)讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標(biāo)以啟動(dòng)該軟件。UVison啟動(dòng)后,程序窗口的左邊有一個(gè)工程管理窗口,該窗口有3 個(gè)標(biāo)簽,分別是Files、Regs、和Books,這三個(gè)標(biāo)簽頁(yè)分別顯示當(dāng)前項(xiàng)目的文件結(jié)構(gòu)、CPU 的寄存器及部份特殊功能寄存器的值(調(diào)試時(shí)才出現(xiàn))和所選CPU 的附加說(shuō)明文件,如果是第一次啟動(dòng)Keil,那么這三個(gè)標(biāo)簽頁(yè)全是空的。
上傳時(shí)間: 2013-12-26
上傳用戶:liulinshan2010
在單片機(jī)應(yīng)用開發(fā)中,代碼的使用效率問題、單片機(jī)抗干擾性和可靠性等問題仍困擾著 工程師。為幫助工程師解決單片機(jī)設(shè)計(jì)上的難題,《電子工程專輯》網(wǎng)站特邀Holtek香 港分公司工程部處長(zhǎng)鄧宏杰先生擔(dān)任《單片機(jī)應(yīng)用編程技巧》專題討論的嘉賓,與廣大 設(shè)計(jì)工程師交流單片機(jī)設(shè)計(jì)開發(fā)經(jīng)驗(yàn)。現(xiàn)根據(jù)論壇中的討論歸納出單片機(jī)開發(fā)中應(yīng)掌握 的幾個(gè)基本技巧。一、 如何提高C語(yǔ)言編程代碼的效率鄧宏杰指出,用C語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì)。他強(qiáng)調(diào):“ 如果使用C編程時(shí),要達(dá)到最高的效率,最好熟悉所使用的C編譯器。先試驗(yàn)一下每條C語(yǔ)言編譯以后對(duì)應(yīng)的匯編語(yǔ)言的語(yǔ)句行數(shù),這樣就可以很明確的知道效率。在今后編程的 時(shí)候,使用編譯效率最高的語(yǔ)句?!?他指出,各家的C編譯器都會(huì)有一定的差異,故編譯效率也會(huì)有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長(zhǎng)度和執(zhí)行時(shí)間僅比以匯編語(yǔ)言編寫的同樣功能程度長(zhǎng)5-20%。他說(shuō):“對(duì)于復(fù)雜而開發(fā)時(shí)間緊的項(xiàng)目時(shí),可以采用C語(yǔ)言,但前提是要求你對(duì)該MCU系統(tǒng)的C語(yǔ)言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支持的數(shù)據(jù)類型和算法。雖然C語(yǔ)言是最普遍的一種高級(jí)語(yǔ)言,但由于不同的MCU廠家其C語(yǔ)言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對(duì)這些特性不了解,那么調(diào)試起來(lái)問題就會(huì)很 多,反而導(dǎo)致執(zhí)行效率低于匯編語(yǔ)言?!?二、 如何減少程序中的bug? 對(duì)于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統(tǒng)運(yùn)行中應(yīng)考慮的超范圍管理參數(shù)有: 1.物理參數(shù)。這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵(lì)參數(shù)、采集處理中的運(yùn)行參 數(shù)和處理結(jié)束的結(jié)果參數(shù)。合理設(shè)定這些邊界,將超出邊界的參數(shù)都視為非正常激勵(lì)或 非正?;貞?yīng)進(jìn)行出錯(cuò)處理。 2.資源參數(shù)。這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、 存儲(chǔ)單元長(zhǎng)度、堆疊深度。在程式設(shè)計(jì)中,對(duì)資源參數(shù)不允許超范圍使用。 3.應(yīng)用參數(shù)。這些應(yīng)用參數(shù)常表現(xiàn)為一些單片機(jī)、功能單元的應(yīng)用條件。如E2PROM的擦 寫次數(shù)與資料存儲(chǔ)時(shí)間等應(yīng)用參數(shù)界限。 4.過(guò)程參數(shù)。指系統(tǒng)運(yùn)行中的有序變化的參數(shù)。
標(biāo)簽: 單片機(jī)開發(fā) 基本技巧
上傳時(shí)間: 2013-10-21
上傳用戶:chukeey
很多單片機(jī)初學(xué)者與我交流時(shí)總說(shuō)的一句話是我現(xiàn)在是單片機(jī)初學(xué)者,我怎樣才能更快的學(xué)好單片機(jī),我該從哪方便入手。對(duì)于這個(gè)問題,現(xiàn)在就我自己如何學(xué)單片機(jī),如何入門,如何熟練談?wù)勏敕ā? 先說(shuō)單片機(jī),現(xiàn)在用的比較多的以51為內(nèi)核的8位單片機(jī)(考慮到成本及引腳資源在實(shí)際開發(fā)中用的51單片機(jī)型號(hào)不一),它的學(xué)習(xí)資料非常多,且學(xué)習(xí)成本非常低,可能有些初學(xué)者會(huì)說(shuō)企業(yè)里用的不是51單片機(jī),更多的是松翰、義隆什么,但是我想說(shuō)的是那些單片機(jī)的輔助開發(fā)工具你有嗎。51單片機(jī)對(duì)于智能電子技術(shù)的入門學(xué)習(xí)是非常有優(yōu)勢(shì),成本低,開發(fā)簡(jiǎn)單,一線下載程序,ARM太神秘,PLC太高貴,想來(lái)想去還是51,曾經(jīng)有過(guò)AVR和PIC,但是現(xiàn)在51也不賴。 那怎樣才能更快更好的學(xué)好單片機(jī)呢? 單片機(jī)作為集電子技術(shù)與計(jì)算機(jī)編程技術(shù)為一體是一項(xiàng)非常重視動(dòng)手實(shí)踐的科目,如果你是單片機(jī)高手,那么說(shuō)明你也是計(jì)算機(jī)編程和電子技術(shù)高手。
標(biāo)簽: 工程師 單片機(jī)學(xué)習(xí) 經(jīng)驗(yàn)
上傳時(shí)間: 2014-03-24
上傳用戶:丶灬夏天
RS-485的傳輸線如何合理屏蔽為了減少電磁耦合,防止大的共模干擾損壞器件,傳輸線最好加屏蔽。屏蔽接法如下,其中電容為幾μF。
上傳時(shí)間: 2013-10-15
上傳用戶:momofiona
ICCAVR教程,ICCAVR軟件中文件使用說(shuō)明書,雙龍公司翻譯整理。建議大家認(rèn)真學(xué)習(xí)一下這個(gè)資料,內(nèi)容不是很長(zhǎng),看了之后會(huì)對(duì)ICCAVR有更深的了解。 ImageCraft ICCAVR 的中文使用說(shuō)明翻譯 詹衛(wèi)前一ImageCraft 的ICC AVR 編譯器安裝1 運(yùn)行光盤上的SETUP.EXE 程序進(jìn)行安裝方法一a 打開我的電腦b 打開光盤驅(qū)動(dòng)器所對(duì)應(yīng)的盤符c 雙擊光盤中文件SETUP.EXE 的圖標(biāo)d 按照屏幕提示選定一個(gè)安裝路徑后進(jìn)行安裝方法二a 在開始菜單中選擇運(yùn)行項(xiàng)目b 在運(yùn)行對(duì)話框中填入drive:\setup.exe注意drive 對(duì)應(yīng)你的機(jī)器中的光盤驅(qū)動(dòng)器盤符c 按確定鍵開始安裝d 其余同方法一注意按上述方法進(jìn)行安裝后得到的是一個(gè)只可以使用30 天的未注冊(cè)版對(duì)正式版用戶還要進(jìn)行第二步的注冊(cè)才可得到一個(gè)無(wú)時(shí)間限制的正式版ICC AVR 正式版分標(biāo)準(zhǔn)版和專業(yè)版在標(biāo)準(zhǔn)版中有一些功能限制如代碼的壓縮工程和文件的配置檢查在標(biāo)準(zhǔn)版中不可以使用
上傳時(shí)間: 2013-11-05
上傳用戶:zhyfjj
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1