LR(K)分析方法是嚴格的從左向右掃描,和自底向上的語法分析方法
標簽: 分析方法
上傳時間: 2013-12-23
上傳用戶:vodssv
一個很好的用java編寫的用來判斷一個文法是否是LR(1)文法及其分析器的構造
上傳時間: 2014-01-21
上傳用戶:gaojiao1999
分析文法是否是LR(0)文法,顯示分析表。對輸入的語句給出語法分析樹
上傳時間: 2013-12-29
上傳用戶:2404
超聲,紅外,激光,無線,通訊相關專輯 183冊 1.48GWPAN藍牙技術 12頁 0.2M.pdf
標簽:
上傳時間: 2014-05-05
上傳用戶:時代將軍
FANUC LR MATE 200iC機器人機構部操作說明手冊。
標簽: 機器人
上傳時間: 2022-07-08
上傳用戶:
隨著半導體工藝的飛速發展和芯片設計水平的不斷進步,ARM微處理器的性能得到大幅度地提高,同時其芯片的價格也在不斷下降,嵌入式系統以其獨有的優勢,己經廣泛地滲透到科學研究和日常生活的各個方面。 本文以ARM7 LPC2132處理器為核心,結合蓋革一彌勒計數管對Time-To-Count輻射測量方法進行研究。ARM結構是基于精簡指令集計算機(RISC)原理而設計的,其指令集和相關的譯碼機制比復雜指令集計算機要簡單得多,使用一個小的、廉價的ARM微處理器就可實現很高的指令吞吐量和實時的中斷響應。基于ARM7TDMI-S核的LPC2132微處理器,其工作頻率可達到60MHz,這對于Time-To-Count技術是非常有利的,而且利用LPC2132芯片的定時/計數器引腳捕獲功能,可以直接讀取TC中的計數值,也就是說不再需要調用中斷函數讀取TC值,從而大大降低了計數前雜質時間。本文是在我師兄呂軍的《Time-To-Count測量方法初步研究》基礎上,使用了高速的ARM芯片,對基于MCS-51的Time-To-Count輻射測量系統進行了改進,進一步論證了采用高速ARM處理器芯片可以極大的提高G-M計數器的測量范圍與測量精度。 首先,討論了傳統的蓋革-彌勒計數管探測射線強度的方法,并指出傳統的脈沖測量方法的不足。然后討論了什么是Time-To-Count測量方法,對Time-To-Count測量方法的理論基礎進行分析。指出Time-To-Count方法與傳統的脈沖計數方法的區別,以及采用Time-To-Count方法進行輻射測量的可行性。 接著,詳細論述基于ARM7 LPC2132處理器的Time-To-Count輻射測量儀的原理、功能、特點以及輻射測量儀的各部分接口電路設計及相關程序的編制。 最后得出結論,通過高速32位ARM處理器的使用,Time-To-Count輻射測量儀的精度和量程均得到很大的提高,對于Y射線總量測量,使用了ARM處理器的Time-To-Count輻射測量儀的量程約為20 u R/h到1R/h,數據線性程度也比以前的Time-To-CotJnt輻射測量儀要好。所以在使用Time-To-Count方法進行的輻射測量時,如何減少雜質時間以及如何提高計數前時間的測量精度,是決定Time-To-Count輻射測量儀性能的關鍵因素。實驗用三只相同型號的J33G-M計數管分別作為探測元件,在100U R/h到lR/h的輻射場中進行試驗.每個測量點測量5次取平均,得出隨著照射量率的增大,輻射強度R的測量值偏小且與輻射真實值之間的誤差也隨之增大。如果將測量誤差限定在10%的范圍內,則此儀器的量程范圍為20 u R/h至1R/h,量程跨度近六個數量級。而用J33型G-M計數管作常規的脈沖測量,量程范圍約為50 u R/h到5000 u R/h,充分體現了運用Time-To-Count方法測量輻射強度的優越性,也從另一個角度反應了隨著計數前時間的逐漸減小,雜質時間在其中的比重越來越大,對測量結果的影響也就越來越嚴重,盡可能的減小雜質時間在Time-To-Count方法輻射測量特別是測量高強度輻射中是關鍵的。筆者用示波器測出此輻射儀器的雜質時間約為6.5 u S,所以在計算定時器值的時候減去這個雜質時間,可以增加計數前時間的精確度。通過實驗得出,在標定儀器的K值時,應該在照射量率較低的條件下行,而測得的計數前時間是否精確則需要在照射量率較高的條件下通過儀器標定來檢驗。這是因為在照射量率較低時,計數前時間較大,雜質時間對測量結果的影響不明顯,數據線斜率較穩定,適宜于確定標定系數K值,而在照射量率較高時,計數前時間很小,雜質時間對測量結果的影響較大,可以明顯的在數據線上反映出來,從而可以很好的反應出儀器的性能與量程。實驗證明了Time-To-Count測量方法中最為關鍵的環節就是如何對計數前時間進行精確測量。經過對大量實驗數據的分析,得到計數前時間中的雜質時間可分為硬件雜質時間和軟件雜質時間,并以軟件雜質時間為主,通過對程序進行合理優化,軟件雜質時間可以通過程序的改進而減少,甚至可以用數學補償的方法來抵消,從而可以得到比較精確的計數前時間,以此得到較精確的輻射強度值。對于本輻射儀,用戶可以選擇不同的工作模式來進行測量,當輻射場較弱時,通常采用規定次數測量的方式,在輻射場較強時,應該選用定時測量的方式。因為,當輻射場較弱時,如果用規定次數測量的方式,會浪費很多時間來采集足夠的脈沖信號。當輻射場較強時,由于輻射粒子很多,產生脈沖的頻率就很高,規定次數的測量會加大測量誤差,當選用定時測量的方式時,由于時間的相對加長,所以記錄的粒子數就相對的增加,從而提高儀器的測量精度。通過調研國內外先進核輻射測量儀器的發展現狀,了解到了目前最新的核輻射總量測量技術一Time-To-Count理論及其應用情況。論證了該新技術的理論原理,根據此原理,結合高速處理器ARM7 LPC2132,對以G-計數管為探測元件的Time-To-Count輻射測量儀進行設計。論文以實驗的方法論證了Time-To-Count原理測量核輻射方法的科學性,該輻射儀的量程和精度均優于以前以脈沖計數為基礎理論的MCS-51核輻射測量儀。該輻射儀具有量程寬、精度高、易操作、用戶界面友好等優點。用戶可以定期的對儀器的標定,來減小由于電子元件的老化對低儀器性能參數造成的影響,通過Time-To-Count測量方法的使用,可以極大拓寬G-M計數管的量程。就儀器中使用的J33型G-M計數管而言,G-M計數管廠家參考線性測量范圍約為50 u R/h到5000 u R/h,而用了Time-To-Count測量方法后,結合高速微處理器ARM7 LPC2132,此核輻射測量儀的量程為20 u R/h至1R/h。在允許的誤差范圍內,核輻射儀的量程比以前基于MCS-51的輻射儀提高了近200倍,而且精度也比傳統的脈沖計數方法要高,測量結果的線性程度也比傳統的方法要好。G-M計數管的使用壽命被大大延長。 綜上所述,本文取得了如下成果:對國內外Time-To-Count方法的研究現狀進行分析,指出了Time-To-Count測量方法的基本原理,并對Time-T0-Count方法理論進行了分析,推導出了計數前時間和兩個相鄰輻射粒子時間間隔之間的關系,從數學的角度論證了Time-To-Count方法的科學性。詳細說明了基于ARM 7 LPC2132的Time-To-Count輻射測量儀的硬件設計、軟件編程的過程,通過高速微處理芯片LPC2132的使用,成功完成了對基于MCS-51單片機的Time-To-Count測量儀的改進。改進后的輻射儀器具有量程寬、精度高、易操作、用戶界面友好等特點。本論文根據實驗結果總結出了Time-To-Count技術中的幾點關鍵因素,如:處理器的頻率、計數前時間、雜質時間、采樣次數和測量時間等,重點分析了雜質時間的組成以及引入雜質時間的主要因素等,對國內核輻射測量儀的研究具有一定的指導意義。
標簽: TimeToCount ARM 輻射測量儀
上傳時間: 2013-06-24
上傳用戶:pinksun9
一.產品概述:首先感謝您選用我們的這款太陽能移動電源。該太陽能移動電源由國外名師設計,采用鋁合金外殼,外觀典雅莊重,性能穩定可靠,跟市面上的同類產品相比,具有以下特點:·由國外MODELLABS擔綱外觀結構設計,外觀典雅高貴。·真正能給蘋果設備IPOD,IPHONE充電的太陽能移動電源。·獨有的可拆卸更換電池,解決了太陽能移動電源因為電池問題導致整個產品提前報廢問題,真正體現了“以人為本”的設計思想。·采用低鐵超透光超薄鋼化玻璃封裝,透光率可達到95%以上,徹底解決了普通層壓板透光率不高及滴膠板隨著使用年限增加色澤變黃而導致光電轉換率下降的問題。·采用了當前光電轉換效率最高的優質單晶硅太陽能板,光電轉換效率高達17%,2W太陽能電池板,正常光照下可以產生超過300mA電流,4個小時左右能充滿內置電池,使產品具有超強實用性。·美國進口的IC,CPU配合我們獨有的先進控制電路,使二次轉換效率(電儲存到鋰電池的效率)達到95%,遠勝市面上的同類產品,充電更快捷。·產品采用了雙重電壓保護、過流保護和溫度保護技術,確保我們的產品不會對您的手機和數碼產品造成任何傷害·用途廣泛,可以為手機,MP3,MP4,PDA,PSP,DV家庭小型節能設備等產品提供電源。
上傳時間: 2013-10-11
上傳用戶:it男一枚
ARM指令集(2) 1.跳轉指令 在ARM中有兩種方式可以實現程序的跳轉:一種是刀‘轉指令;另一種是直接向PC寄存器(R15)中寫入目標地址值。 通過直接向PC寄存器中寫入目標地址值可以實現在46B地址空間中任意跳轉,這種跳轉指令又稱為長跳轉。如果在長跳轉指令之前使用MOV LR,PC等指令,則可以保存將來返回的地址值,這樣就實現了在46B地址空間中的子程序調用。 在ARM版本5及以上的體系中,實現了ARM指令集和Thumb指令集的混合使用。指令使用目標地址值的bit[0]來確定目標程序的類型。bit[0]的值為1時,目標程序為Thumb指令;bit[0]值為0時,目標程序為ARM指令。 在ARM版本5以前的體系中,傳送到PC寄存器中的目標地址值的低兩位bits[1∶0]被忽略,跳轉指令只能在ARM指令集中執行,即程序不能從ARM狀態切換到Thumb狀態。非T系列ARM版本5體系不含Thumb指令,當程序試圖切換到Thumb狀態時,將產生未定義指令異常中斷。 ARM跳轉指令可以從當前指令向前或向后的32MB地址空間跳轉。這類跳轉指令有以下4種。
上傳時間: 2013-11-20
上傳用戶:妄想演繹師
arm指令集(1) ARM跳轉指令可以從當前指令向前或向后的32MB地址空間跳轉。這類跳轉指令有以下4種。 (1)B 跳4專指令 B〔條件) (地址) B指令屬于ARM指令集,是最簡單的分支指令。一旦遇到一個B指令,ARM處理器將立即跳轉到給定的地址,從那里繼續執行。注意:存儲在分支指令中的實際值是相對當前R15的值的一個偏移量,而不是一個絕對地址。它的值由匯編器來計算,是24位有符號數,左移兩位后有符號擴展為32位,表示的有效偏移位為26位(+/- 32 MB)。 (2)BL 帶返回的跳轉指令 BI,〔條件) (地址) BL指令也屬于ARM指令集,是另一個分支指令。就在分支之前,在寄存器R14中裝載上R15的內容,因此可以重新裝載R14到R15中來返回到這個分支之后的那個指令處執行,它是子例程的一個基本但強力的實現。 (3)BLX 帶返回和狀態切換的跳轉指令 BLX <地址> BLX指令有兩種格式,第1種格式的BLX指令記作BLX(1)。BLX(1)從ARM指令集跳轉到指令中指定的目標地址,并將程序狀態切換到Thumb狀態,該指令同時將PC寄存器的內容復制到LR寄存器中。 BLX(1)指令屬于無條件執行的指令。 第2種格式的BLX指令記作BLX(2)。BLX(2)指令從ARM指令集跳轉到指令中指定的目標地址,目標地址的指令可以是ARM指令,也可以是Thumb指令。目標地址放在指令中的寄存器<dest>中,該地址的bit[0]值為0,目標地址處的指令類型由CPSR中的T位決定。該指令同時將PC寄存器的內容復制到LR寄存器中。 (4)BX 帶狀態切換的跳轉指令 BX(條件) (dest) BX指令跳轉到指令中指定的目標地址,目標地址處的指令可以是ARM指令,也可以是Thumb指令。目標地址值為指令的值和0xFl·FFFFFF做“與”操作的結果,目標地址處的指令類型由寄存器決定。
上傳時間: 2014-12-27
上傳用戶:laomv123
ARM處理器的工作模式 ARM處理器狀態 ARM微處理器的工作狀態一般有兩種,并可在兩種狀態之間切換:第一種為ARM狀態,此時處理器執行32位的字對齊的ARM指令;第二種為Thumb狀態,此時處理器執行16位的、半字對齊的Thumb指令。在程序的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,并且,處理器工作狀態的轉變并不影響處理器的工作模式和相應寄存器中的內容。但ARM微處理器在開始執行代碼時,應該處于ARM狀態。 ARM處理器狀態 進入Thumb狀態:當操作數寄存器的狀態位(位0)為1時,可以采用執行BX指令的方法,使微處理器從ARM狀態切換到Thumb狀態。此外,當處理器處于Thumb狀態時發生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時,自動切換到Thumb狀態。 進入ARM狀態:當操作數寄存器的狀態位為0時,執行BX指令時可以使微處理器從Thumb狀態切換到ARM狀態。此外,在處理器進行異常處理時,把PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執行程序,也可以使處理器切換到ARM狀態。ARM處理器模式 ARM微處理器支持7種運行模式,分別為:用戶模式(usr):ARM處理器正常的程序執行狀態。快速中斷模式(fiq):用于高速數據傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統使用的保護模式。數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。系統模式(sys):運行具有特權的操作系統任務。定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。ARM處理器模式 ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的。 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權模式;其中除去用戶模式和系統模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護的系統資源等情況。ARM寄存器 ARM處理器共有37個寄存器。其中包括:31個通用寄存器,包括程序計數器(PC)在內。這些寄存器都是32位寄存器。以及6個32位狀態寄存器。 關于寄存器這里就不詳細介紹了,有興趣的人可以上網找找,很多這方面的資料。異常處理 當正常的程序執行流程發生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前,當前處理器的狀態必須保留,這樣當異常處理完成之后,當前程序可以繼續執行。處理器允許多個異常同時發生,它們將會按固定的優先級進行處理。當一個異常出現以后,ARM微處理器會執行以下幾步操作:進入異常處理的基本步驟:將下一條指令的地址存入相應連接寄存器LR,以便程序在處理異常返回時能從正確的位置重新開始執行。將CPSR復制到相應的SPSR中。根據異常類型,強制設置CPSR的運行模式位。強制PC從相關的異常向量地址取下一條指令執行,從而跳轉到相應的異常處理程序處。如果異常發生時,處理器處于Thumb狀態,則當異常向量地址加載入PC時,處理器自動切換到ARM狀態。 ARM微處理器對異常的響應過程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;當運行于 ARM 工作狀態時If == Reset or FIQ then;當響應 FIQ 異常時,禁止新的 FIQ 異常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address異常處理完畢之后,ARM微處理器會執行以下幾步操作從異常返回:將連接寄存器LR的值減去相應的偏移量后送到PC中。將SPSR復制回CPSR中。若在進入異常處理時設置了中斷禁止位,要在此清除。
上傳時間: 2013-11-15
上傳用戶:hanbeidang