keil c51語(yǔ)言使用技巧及實(shí)戰(zhàn)第一章 介紹這是一本關(guān)于Intel 80C51 以及廣大的51 系列單片機(jī)的書這本書介紹給讀者一些新的技術(shù)使你的8051 工程和開(kāi)發(fā)過(guò)程變得簡(jiǎn)單請(qǐng)注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問(wèn)題討論更加清晰在適當(dāng)?shù)牡胤浇o出了程序代碼我們以討論項(xiàng)目的方法來(lái)說(shuō)明每章碰到的問(wèn)題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因?yàn)楸緯皇且槐綜 和匯編的指導(dǎo)書你可以買到不少關(guān)于ANSI C 的書最佳選擇當(dāng)然是Intel的數(shù)據(jù)書可從你的芯片供應(yīng)商處免費(fèi)索取和隨編譯工具附送的手冊(cè)附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過(guò)測(cè)試這并不意味著你可以隨時(shí)把這些程序加到你的應(yīng)用系統(tǒng)或工程中有些地方必須首先經(jīng)過(guò)修改才能結(jié)合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語(yǔ)言的程序裝入你的匯編程序中這對(duì)懂得C 語(yǔ)言和8051匯編程序指令的人來(lái)說(shuō)并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語(yǔ)言進(jìn)行開(kāi)發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開(kāi)發(fā)將使你的工程開(kāi)發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開(kāi)發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴(kuò)展如果你有其它的開(kāi)發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開(kāi)發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來(lái)學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過(guò).
標(biāo)簽: keil c51 語(yǔ)言 使用技巧
上傳時(shí)間: 2013-11-03
上傳用戶:hfnishi
ARM處理器的工作模式 ARM處理器狀態(tài) ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行32位的字對(duì)齊的ARM指令;第二種為Thumb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令。在程序的執(zhí)行過(guò)程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。但ARM微處理器在開(kāi)始執(zhí)行代碼時(shí),應(yīng)該處于ARM狀態(tài)。 ARM處理器狀態(tài) 進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時(shí),可以采用執(zhí)行BX指令的方法,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此外,當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時(shí),自動(dòng)切換到Thumb狀態(tài)。 進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令時(shí)可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,在處理器進(jìn)行異常處理時(shí),把PC指針?lè)湃氘惓DJ芥溄蛹拇嫫髦校漠惓O蛄康刂烽_(kāi)始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。ARM處理器模式 ARM微處理器支持7種運(yùn)行模式,分別為:用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)。快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。數(shù)據(jù)訪問(wèn)終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。ARM處理器模式 ARM微處理器的運(yùn)行模式可以通過(guò)軟件改變,也可以通過(guò)外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問(wèn)的。 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問(wèn)受保護(hù)的系統(tǒng)資源等情況。ARM寄存器 ARM處理器共有37個(gè)寄存器。其中包括:31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi)。這些寄存器都是32位寄存器。以及6個(gè)32位狀態(tài)寄存器。 關(guān)于寄存器這里就不詳細(xì)介紹了,有興趣的人可以上網(wǎng)找找,很多這方面的資料。異常處理 當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之為異常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作:進(jìn)入異常處理的基本步驟:將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置重新開(kāi)始執(zhí)行。將CPSR復(fù)制到相應(yīng)的SPSR中。根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位。強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。如果異常發(fā)生時(shí),處理器處于Thumb狀態(tài),則當(dāng)異常向量地址加載入PC時(shí),處理器自動(dòng)切換到ARM狀態(tài)。 ARM微處理器對(duì)異常的響應(yīng)過(guò)程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;當(dāng)運(yùn)行于 ARM 工作狀態(tài)時(shí)If == Reset or FIQ then;當(dāng)響應(yīng) FIQ 異常時(shí),禁止新的 FIQ 異常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回:將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。將SPSR復(fù)制回CPSR中。若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。
上傳時(shí)間: 2013-11-15
上傳用戶:hanbeidang
Keil C51 使用技巧及實(shí)戰(zhàn):到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學(xué)習(xí)該書和使用這些例子但是你必須把C 語(yǔ)言的程序裝入你的匯編程序中這對(duì)懂得C 語(yǔ)言和8051匯編程序指令的人來(lái)說(shuō)并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語(yǔ)言進(jìn)行開(kāi)發(fā)是一個(gè)好的決定你會(huì)發(fā)現(xiàn)使用C 進(jìn)行開(kāi)發(fā)將使你的工程開(kāi)發(fā)和維護(hù)的時(shí)間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個(gè)非常好的開(kāi)發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴(kuò)展如果你有其它的開(kāi)發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務(wù)但你必須根據(jù)你所用的開(kāi)發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實(shí)例程序在這些硬件上運(yùn)行這些圖繪制地不是很詳細(xì)主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應(yīng)該把這本書看成工具書而不是用來(lái)學(xué)習(xí)各種系統(tǒng)設(shè)計(jì)通過(guò)本書你可以了解給定一定的硬件和軟件設(shè)計(jì)之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設(shè)計(jì)使你豁然開(kāi)朗當(dāng)然我希望你也能夠從本書中學(xué)到有用的知識(shí)使之能夠提升你的設(shè)計(jì)。
上傳時(shí)間: 2013-10-27
上傳用戶:Jerry_Chow
PLC 以 其 可靠性高、抗干擾能力強(qiáng)、配套齊全、功能完善、適應(yīng)性強(qiáng)等特點(diǎn),廣泛應(yīng)用于各種控制領(lǐng)域。PLC作為通用工業(yè)控制計(jì)算機(jī),是面向工礦企業(yè)的工控設(shè)備,使用梯形圖符號(hào)進(jìn)行編程,與繼電器電路相當(dāng)接近,被廣大工程技術(shù)人員接受。但是在實(shí)際應(yīng)用中,如何編程能夠提高PLC程序運(yùn)行速度是一個(gè)值得我們思考研究的問(wèn)題。1 PLC工作原理PLC 與 計(jì) 算機(jī)的工作原理基本相同,即在系統(tǒng)程序的管理下,通過(guò)運(yùn)行應(yīng)用程序完成用戶任務(wù)。但兩者的工作方式有所不同。計(jì)算機(jī)一般采用等待命令的工作方式,而PLC在確定了工作任務(wù)并裝人了專用程序后成為一種專用機(jī),它采用循環(huán)掃描工作方式,系統(tǒng)工作任務(wù)管理及應(yīng)用程序執(zhí)行都是用循環(huán)掃描方式完成的。PLC 有 兩 種基本的工作狀態(tài),即運(yùn)行(RUN)與停止(STOP)狀態(tài)。在這兩種狀態(tài)下,PLC的掃描過(guò)程及所要完成的任務(wù)是不盡相同的,如圖1所示。 PLC在RUN工作狀態(tài)時(shí),執(zhí)行一次掃描操作所的時(shí)間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產(chǎn)品則略有不同。掃描周期由內(nèi)部處理時(shí)間、輸A/ 輸出處理執(zhí)行時(shí)間、指令執(zhí)行時(shí)間等三部分組成。通常在一個(gè)掃描過(guò)程中,執(zhí)行指令的時(shí)間占了絕大部分,而執(zhí)行指令的時(shí)間與用戶程序的長(zhǎng)短有關(guān)。用戶 程 序 是根據(jù)控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對(duì)應(yīng)的程序步不同,以三菱FX2N系列的PLC為例,PLC對(duì)每一個(gè)程序步操作處理時(shí)間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個(gè)控制任務(wù)可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運(yùn)行速度,又可以保證可靠性。 提高PLC程序運(yùn)行速度的幾種編程方法2.1 用數(shù)據(jù)傳送給位元件組合的方法來(lái)控制輸出在 PL C應(yīng) 用編程中,最后都會(huì)有一段輸出控制程序,一般都是用邏輯取及輸出指令來(lái)編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執(zhí)行上述程序共需3個(gè)程序步。通常情況下,PLC要控制的輸出都不會(huì)是少量的,比如,有8個(gè)輸出,在條件滿足時(shí)要同時(shí)輸出。此時(shí),執(zhí)行圖2所示的程序共需17個(gè)程序步。若我們通過(guò)位元件的組合并采用數(shù)據(jù)傳送的方法來(lái)完成圖2所示的程序,就會(huì)大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態(tài)的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來(lái)也可以處理數(shù)據(jù)。位元件組合由Kn加首元件號(hào)來(lái)表示。位元件每4bit為一組組合成單元。如KYO中的n是組數(shù),當(dāng)n=1時(shí),K,Yo 對(duì)應(yīng)的是Y3一Yo。當(dāng)n二2時(shí),KZYo對(duì)應(yīng)的是Y7一Yo。通過(guò)位元件組合,就可以用處理數(shù)據(jù)的方式來(lái)處理位元件,圖2程序所示的功能可用圖3所示的傳送數(shù)據(jù)的方式來(lái)完成。
標(biāo)簽: PLC 程序 運(yùn)行速度 編程方法
上傳時(shí)間: 2013-11-11
上傳用戶:幾何公差
云計(jì)算是近兩年計(jì)算機(jī)領(lǐng)域發(fā)展起來(lái)的熱點(diǎn)技術(shù)之一,它把一切IT資源都抽象為服務(wù),用戶通過(guò)網(wǎng)絡(luò)來(lái)使用這些服務(wù),從而實(shí)現(xiàn)按需計(jì)算和多人協(xié)作。主要分析了云的類型和云計(jì)算部署模式及應(yīng)用類型、未來(lái)發(fā)展趨勢(shì)。通過(guò)對(duì)云的類型分析,介紹了各種云類型服務(wù)提供商,結(jié)合云的類型,重點(diǎn)介紹云計(jì)算部署模式及應(yīng)用類型等內(nèi)容,使其在網(wǎng)絡(luò)上提供更加豐富的用戶體驗(yàn)。
標(biāo)簽: 云計(jì)算 模式 應(yīng)用類型
上傳時(shí)間: 2013-11-11
上傳用戶:fairy0212
摘要! 介紹自動(dòng)割草機(jī)器人的設(shè)計(jì)和實(shí)現(xiàn)" 其硬件系統(tǒng)主要包括單片機(jī)系統(tǒng)#電機(jī)控制器以及傳感器系統(tǒng)三部分" 軟件部分實(shí)現(xiàn)單片機(jī)系統(tǒng)的控制以及割草路徑的規(guī)劃" 通過(guò)對(duì)軟硬件的整體調(diào)試使系統(tǒng)達(dá)到設(shè)計(jì)要求"關(guān)鍵詞! 自動(dòng)割草機(jī)器人$路徑規(guī)劃$多傳感器系統(tǒng)#電子籬笆
上傳時(shí)間: 2013-11-09
上傳用戶:zmy123
本書的將應(yīng)及內(nèi)容: • "源碼公開(kāi)的最入王軍寞時(shí)操作系統(tǒng)fLC/OS- 1 1 為技心介紹了般人式蠅作系統(tǒng)在侄務(wù)侄務(wù)的調(diào)度和管理任務(wù)之間的通倩相同步內(nèi)存管理等方面的實(shí)現(xiàn)陽(yáng)應(yīng)用特點(diǎn) · 語(yǔ)密文字通俗易懂盡量越免了大量喪序摞代碼的剖析講解而代之以揭圖和例題!挺重點(diǎn)突出 · 在"C/05 -11 系統(tǒng)的移植的講解方面盡量雖曹先讀者可能不太熟悉的葉算機(jī)硬件系徒從而沖擊,.,片學(xué)習(xí)的重點(diǎn)而以大多數(shù)讀者都比役了'再和熟摩的"'系列單片機(jī)為硬件系統(tǒng).
標(biāo)簽: COS-II 嵌入式 實(shí)時(shí)操作系統(tǒng)
上傳時(shí)間: 2013-10-29
上傳用戶:wettetw
SOPC嵌入式系統(tǒng)實(shí)驗(yàn)教程(一)【作者:周立功;出版社:北京航空航天大學(xué)出版社】(因網(wǎng)上資料有限,所以本資料為周立功 SOPC嵌入式系統(tǒng)實(shí)驗(yàn)教程(一)部分章節(jié)及實(shí)驗(yàn)代碼,真心想學(xué)的可以買一本書看看。) 該書是與《SOPC嵌入式系統(tǒng)基礎(chǔ)教程》相配套的實(shí)驗(yàn)教材。設(shè)計(jì)開(kāi)發(fā)了 45個(gè)實(shí)驗(yàn),包括SOPC硬件系統(tǒng)的基礎(chǔ)實(shí)驗(yàn),基于Nios II外設(shè)的基礎(chǔ)編程實(shí)驗(yàn),基于實(shí)驗(yàn)箱外設(shè)的Nios II高級(jí)編程實(shí)驗(yàn),在Nios II系統(tǒng)中進(jìn)行基于μ C/OS-II操作系統(tǒng)的應(yīng)用程序開(kāi)發(fā)實(shí)驗(yàn)和SOPC硬件系統(tǒng)的高級(jí)實(shí)驗(yàn)。各種實(shí)驗(yàn)的安排由淺人深,由硬件到軟件,相對(duì)完整,使讀者很容易學(xué)習(xí)和掌握SO PC嵌入式系統(tǒng)的開(kāi)發(fā)應(yīng)用。
標(biāo)簽: SOPC 嵌入式系統(tǒng) 實(shí)驗(yàn)教程 分
上傳時(shí)間: 2013-11-01
上傳用戶:superman111
一個(gè)炸彈人游戲的源代碼(win32 application)
標(biāo)簽: application win 32 源代碼
上傳時(shí)間: 2013-12-16
上傳用戶:D&L37
我想很多人都用過(guò)一些成熟庫(kù)的正則表達(dá)式,這個(gè)包提供了一個(gè)正則表達(dá)式解析庫(kù),值得一看喲!
上傳時(shí)間: 2015-01-09
上傳用戶:it男一枚
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1