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處理器正常的程序執行狀態??焖僦袛嗄J?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
4.1 編程的步驟、方法和技巧4.1.2 編程的方法和技巧 4.1.3 匯編語言程序的基本結構 4.2 匯編語言源程序的編輯和匯編 4.2.1 源程序編輯 4.2.2 源程序的匯編 4.2.3 偽指令 計算機在完成一項工作時,必須按順序執行各種操作。這些操作是程序設計人員用計算機所能接受的語言把解決問題的步驟事先描述好的,也就是事先編好計算機程序,再由計算機去執行。匯編語言程序設計,要求設計人員對單片機的硬件結構有較詳細的了解。編程時,對數據的存放、寄存器和工作單元的使用等要由設計者安排;而高語言程序設計時,這些工作是由計算機軟件完成的,程序設計人員不必考慮。 4.1.1 編程步驟 一、分析問題 首先,要對需要解決的問題進行分析,以求對問題有正確的理解。例如,解決問題的任務是什么?工作過程是什么?現有的條件,已知的數據,對運算的精確和速度方面的要求是什么?設計的硬件結構是否方便編程等等。 二、確定算法 算法就是如何將實際問題轉化成程序模塊來處理。 解決一個問題,常常有幾種可選擇的方法。從數學角度來描述,可能有幾種不同的算法。在編制程序以前,先要對不同的算法進行分析、比較,找出最適宜的算法。 ? 三、畫程序流程圖 程序流程圖是使用各種圖形、符號、有向線段等來說明程序設計過程的一種直觀的表示,常采用以下圖形及符號:橢圓框( )或桶行框( )表示程序的開始或結束。 矩形框( )表示要進行的工作。 菱形框( )表示要判斷的事情,菱形框內的表達式表示要判斷的內容。 圓圈( )表示連接點。 指向線(→)表示程序的流向。 流程圖步驟分得越細致,編寫程序時也就越方便。
上傳時間: 2013-10-10
上傳用戶:18888888888
入口條件:被除數在R2、R3、R4、R5中,除數在R6、R7中。出口信息:OV=0時商在R2、R3中,OV=1時溢出。影響資源:PSW、A、B、R1~R7 堆棧需求: 5字節DIVS: LCALL MDS ;計算結果的符號和兩個操作數的絕對值PUSH PSW ;保存結果的符號LCALL DIVD ;計算兩個絕對值的商JNB OV,DVS1 ;溢出否?POP ACC ;溢出,放去結果的符號,保留溢出標志
上傳時間: 2013-11-09
上傳用戶:lht618
ADC 單片機的應用隨著數字化時代的來臨,使得現代家庭的生活愈來愈便利。以前的洗衣機,有好幾個旋鈕,使用者只能選擇幾項功能,轉來轉去,操作非常麻煩;自從加上了單片機之后,我們可以發現,洗衣機的功能變強了,但是操作變簡單了,只要按幾下按鈕,就等著洗完衣服。除了洗衣機之外,家里的冰箱、電磁爐、電子鍋、熱水瓶等電器產品也都漸漸走向了數字化。數字化有以下優點:一是容易操作和控制,另一個是可以使用單片機來控制其功能,使其功能增強及使用方便。自然界的各種信號,如溫度、濕度、壓力、光、聲音、氣體都是模擬信號,要對自然界里的信號做處理,就需要一個傳感器將自然界的各種信號,轉換成電壓或是電流信號,再將這些模擬信號,通過一個模擬-數字轉換器(ADC),轉成數字信號,由單片機來對數字信號做處理。要是將ADC 內建于單片機中,則使用上更加便利,也可大幅度降低成本。將模擬信號數字化有利于處理、運算及顯示,尤其是我們日常生活中的各種家電產品如:冷氣機、除濕機、電冰箱、洗衣機、微波爐、電磁爐等,不勝枚舉。
上傳時間: 2013-10-20
上傳用戶:debuchangshi
本文檔著重介紹如何使用Philips 半導體的收發器PCA82C250[1]和PCA82C251[2]實現物理媒體連接子層物理信令子層和數據鏈路層之間的連接是通過集成的協議控制器實現的這些產品有像Philips 的PCx82C200 SJA1000 等而媒體相關接口負責連接傳輸媒體譬如將總線節點連接到總線的連接器像Philips 的TJA1050[3]或PCA82C250[4]等收發器
上傳時間: 2013-10-19
上傳用戶:31633073
基于AT89C51應用系統的串行通信設計:介紹了基于AT89C51應用系統中的串行通信軟硬件設計方法和實現過程,在基于紅外成像技術的電力設備狀態檢測系統中,將紅外測溫儀檢測到設備的溫度數據傳給控制電路,進行數據格式的轉換后,在RAM 中存儲,同時上傳給PC機。系統利用MAX232實現RS 232C的EIA 電平與單片機的TTI 電平之聞轉換,利用通用串口芯片8251A擴展串行接13',實現PC機與單片機之問的串行通信。 關鍵詞:串行通信;單片機;接口;RS232C
上傳時間: 2014-12-21
上傳用戶:aeiouetla
51單片機實訓指南:一、 實習課題基于單片機最小系統的頻率計設計二、 實習內容單片機最小系統電路原理設計分析與講解,PCB設計分析與講解,電路板焊接培訓與實際操作,程序設計、調試分析與講解,程序調試實際操作。三、硬件資源※ 89S51單片機;※ 6位共陽極數碼管;※ 段碼驅動器74HC573,位選譯碼器74HC138;※ 4路獨立式按鍵;※ 外部晶振電路;※ ISP下載接口(In system program,在系統編程);※ DC+5V電源試配器(選配);※ ISP下載線(選配);※ 單片機實訓模塊(頻率計分頻預處理電路)。四、電路原理分析與設計P1為外部電源輸入座(DC+5V),S8為電源最小系統的電源開關,E1和C3為電源濾波,去耦電容。D1為系統電源指示燈。J2為ISP下載接口,S7系統復位按鍵。CRY1,C1,C2為外部時針電路。IC1為89S51(DIP-40),左上角為第一腳。PRE1,PRE2。為上拉排阻(阻值4.7k—10k)。J5,J9,J6,J10分別對應單片機的P0,P1,P2,P3口。便于二次開發。6路共陽極數碼管動態顯示電路,P0口通過74HC573(起驅動和隔離作用,讓電流通過74CH573流入公共地),來控制數碼管的8路段碼,P20-P22通過74HC138譯碼器(使用其中的6路)控制數碼管的公共端(中間還有三極管做驅動器)。這樣設計的理由:為了保證該單片機最小系統的二次開發的資源充足和合理性。
標簽: 51單片機
上傳時間: 2013-10-14
上傳用戶:ryb
電梯的開關門過程是一個變速運動過程 ,需要對電梯門系統的驅動電機進行調速控制;本文提出了一種以高性能單片微機87C196MC 為核心的電梯門機變頻調速控制系統,功率驅動電路采用驅動MOSFET 的專用集成電路IR2130;分析了基于PWM 技術控制電梯門機運行的方法;采用單片微機和功率驅動專用集成電路將門系統電機的交流變頻器和驅動控制器集為一體,得到了一種可靠性高、控制靈活、成本低、體積小的電梯門機控制器。關鍵字:變頻器;正弦脈寬調制;電梯門機系統 電梯的門機系統是電梯的一個非常重要的子系統。門機系統性能的優劣直接關系著整個電梯系統能否正常地運行。所以說,對門機系統的設計開發及制造是電梯系統設計開發及制造的一個關鍵環節。從控制這個角度來說,研究的重點應側重于如何把先進的變頻調速技術應用到門機系統中,使門機系統能高效經濟可靠地運行。在目前的工程實踐中,交流電機的變頻調速策略主要有兩種方法,即正弦脈寬調制方法(SPWM)和空間矢量脈寬調制方法(SVPWM)。其中SPWM 的基本原理就是用正弦波和高頻三角載波比較產生PWM 脈沖序列:當基波(正弦波)高于三角載波時,相應的開關器件導通,反之,當基波低于三角載波時,相應的開關器件截止。產生的PWM 脈沖序列作為逆變器功率開關器件的驅動控制信號。本電梯門機變頻調速系統就是采用SPWM 調制方法,采用INTEL 公司的16 位高性能微控制器87C196MC 作為核心控制芯片,由87C196MC 的PWM 波形發生模塊產生PWM 信號去驅動功率電路,從而帶動門機按照預先設定的運行曲線運行。
上傳時間: 2013-10-16
上傳用戶:zhaoman32
為了解決一些遠程單片機設備不方便升級內部程序的困難,本文提出了利用單片機系統中現有的數據獲取方式來升級單片機內部程序的方法。本文利用凌陽16 位單片機可以自讀寫片內程序空間的特性,通過在片內駐留BootLoader 程序的方式實現了凌陽16 位單片機片內程序的在需要時的遠程升級。單片機獲取數據的方式可以有很多,本文選取通過串口獲取數據進行程序升級為例,并選取常見的凌陽單片機SPCE061A 為例介紹了此方法的設計思路以及實現過程。單片機的應用非常廣泛,在某些情況下,單片機內部程序的升級在所難免,但是往往需要對單片機產品進行收回才能實現,這樣在一些遠程設備的程序升級問題上就顯得非常不方便。但是有些遠程設備本身留有遠程通訊的方式:例如某些遠程數據傳輸模塊,為了把數據上報總會留有通訊的接口,比如422、485 甚至GPRS 或者局域網接口;又或者某些車載定位設備,為了和監控中心通訊會留有GSM、CDMA 或者GPRS 等通訊方式。在這種情況下就可以利用其現有的通訊方式對其內部單片機程序進行升級而不需要收回產品。本文的主要內容就是來研究這種遠程升級單片機程序的方法。由于近年來凌陽科技的單片機,尤其是 16 位單片機,得到了越來越多的推廣,其應用領域越來越廣泛。本文選取一種常見的凌陽科技的16 位單片機SPCE061A 為例,來介紹單片機程序遠程升級的方法。SPCE061A 里內嵌了32K 字的閃存(FLASH),即可以作為程序存儲空間又可以存儲數據,并且有自讀寫任意閃存地址的能力,本文利用這一功能,提出了通過在單片機中駐留BootLoader 程序的方法,來實現單片機程序的遠程升級。遠程升級的實現,需要單片機自身的響應同時還需要遠程服務器提供升級所需的代碼。下文將通過這兩個方面來分別介紹。
上傳時間: 2013-10-31
上傳用戶:yxgi5
ATM即異步轉移模式,ATM是一種基于信元的交換和復用技術,綜合了電路交換和分組交換的特點:ATM是面向連接的即任何一個ATM終端用戶在與另一用戶通信時都需要建立連接;另一方面ATM傳輸采用了固定長的信元因而其又具有分組交換的特點,ATM又利用了統計復用的原理使各連接可以共享帶寬資源。
標簽: ATM
上傳時間: 2014-04-16
上傳用戶:lihairui42