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
上傳用戶:妄想演繹師
基于USB接口的數據采集模塊的設計與實現Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大學電子信息與自動化學院,天津300222)摘要文中給出基于USB接口的數據采集模塊的設計與實現。硬件設計采用以Adpc831與PDIUSBDI2為主的器件進行硬件設計,采用Windriver開發USB驅動,并用Visual C十十6.0對主機軟件中硬件接口操作部分進行動態鏈接庫封裝。關鍵詞USB 數據采集Adpc831 PDNSBDI2 Windriver動態鏈接庫Abstract T hed esigna ndim plementaitono fU SB-BasedD ataA cquisiitonM oduleis g iven.Th ec hips oluitonm ainlyw ithA dpc831a ndP DTUSBD12i sused for hardware design. The USB drive is developed場Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries場Visual C++6.0. Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B總 線 是新一代接口總線,最初推出的目的是為了統一取代PC機的各類外設接口,迄今經歷了1.0,1.1與2.0版本3個標準。在國內基于USB總線的相關設計與開發也得到了快速的發展,很多設計者從各自的應用領域,用不同方案設計出了相應的裝置[1,2]。數據采集是工業控制中一個普遍而重要的環節,因此開發基于USB接口的數據采集模塊具有很強的現實應用意義。雖然 US B總線標準已經發展到2.0版本,但由于工業控制現場干擾信號的情況比較復雜,高速數據傳輸的可靠性不容易被保證,并且很多場合對數據采集的實時性要求并不高,開發2.0標準產品的成本又較1.1標準產品高,所以筆者認為,在工業控制領域,目前開發基于USB總線1.1標準實現的數據采集模塊的實用意義大于相應2.0標準模塊。
上傳時間: 2013-10-23
上傳用戶:q3290766
1 /**————————————————————2 〖說明〗I2C總線驅動程序(用兩個普通IO模擬I2C總線)3 包括100Khz(T=10us)的標準模式(慢速模式)選擇,4 和400Khz(T=2.5us)的快速模式選擇,5 默認11.0592Mhz的晶振。6 〖文件〗PCF8563T.C ﹫2001/11/2 77 〖作者〗龍嘯九天 c51@yeah.net http://www.c51bbs.co /8 〖修改〗修改建議請到論壇公布 http://www.c51bbs.co m9 〖版本〗V1.00A Build 080310 —————————————————————*/1112 #ifndef SDA13 #define SDA P0_014 #define SCL P0_115 #endif1617 extern uchar SystemError;1819 #define uchar unsigned char20 #define uint unsigned int21 #define Byte unsigned char22 #define Word unsigned int23 #define bool bit24 #define true 125 #define false 02627 #define SomeNOP(); _nop_();_nop_();_nop_();_nop_();2829 /**--------------------------------------------------------------------------------30 調用方式:void I2CStart(void) ﹫2001/07/0 431 函數說明:私有函數,I2C專用32 ---------------------------------------------------------------------------------*/33 void I2CStart(void)34 {35 EA=0;36 SDA=1; SCL=1; SomeNOP();//INI37 SDA=0; SomeNOP(); //START38 SCL=0;39 }4041 /**--------------------------------------------------------------------------------42 調用方式:void I2CStop(void) ﹫2001/07/0 443 函數說明:私有函數,I2C專用44 ---------------------------------------------------------------------------------*/45 void I2CStop(void)46 {47 SCL=0; SDA=0; SomeNOP(); //INI48 SCL=1; SomeNOP(); SDA=1; //STOP49 EA=1;50 }5152 /**--------------------------------------------------------------------------------53 調用方式:bit I2CAck(void) ﹫2001/07/0 454 函數說明:私有函數,I2C專用,等待從器件接收方的應答55 ---------------------------------------------------------------------------------*/56 bool WaitAck(void)57 {58 uchar errtime=255;//因故障接收方無ACK,超時值為255。59 SDA=1;SomeNOP();60 SCL=1;SomeNOP();61 while(SDA) {errtime--; if (!errtime) {I2CStop();SystemError=0x11;return false;}}62 SCL=0;63 return true;
上傳時間: 2014-04-11
上傳用戶:xg262122
DSP算法大全C語言版本
上傳時間: 2013-10-27
上傳用戶:zhyiroy
EDA技術實用教程VHDL版本課件
上傳時間: 2013-11-22
上傳用戶:iswlkje
美信公司的高速互連 (第9版本) 資料,主要內容有: 3mm x 3mm串行器支持微型安全攝像機設計 .2吉比特、多端口、LVDS交叉點開關,有效降低系統成本 ...318位、智能型雙向LVDS SerDes,無需CAN或LIN接口 .....4帶有LVDS系統接口的GMSL SerDes,電路板尺寸縮減50% ....5GMSL SerDes提供完備的數字視頻、音頻和控制數據支持 6利用HDCP GMSL SerDes實現安全的數據傳輸 ....7降低汽車導航系統的EMI和成本 ....821位、直流平衡LVDS解串器,可編程擴頻 .....9選型指南 ....10
上傳時間: 2014-12-05
上傳用戶:athjac
針對電液比例位置控制系統由于非線性和死區特性在實際控制中難以得到滿意的控制效果的現狀,本研究采用T-S模糊控制理論的原理設計了T-S模糊控制器對電液比例位置控制系統進行控制。并以Matlab為平臺進行了仿真實驗。仿真結果表明采用T-S模糊控制的電液比例位置控制系統具有較好的控制效果
上傳時間: 2013-11-13
上傳用戶:daoxiang126
為了定位嵌入式設備當前運行軟件的版本,設計了一種獲取嵌入式軟件版本信息的方法,首先設計電路實現按鍵檢測和LED驅動復用IO腳,當IO腳為輸入方向時,通過IO狀態的讀取可以檢測按鍵的按下和彈起狀態,當IO腳為輸出方向時,可以設置高低電平實現LED的亮滅控制。具體應用時,首先設置IO腳為輸入方向,周期檢測按鍵操作,檢測到有效的按鍵按下操作后,當按鍵彈起時將IO腳設置為輸出方向,以PWM的方式驅動LED,通過不同的閃爍頻率、間歇時間和閃爍次數進行軟件版本的顯示。
上傳時間: 2013-10-17
上傳用戶:waixingren
K60-Keil版本(下載安裝MDK4.23)
上傳時間: 2014-12-30
上傳用戶:longlong12345678
程序設計基礎(吳文虎版本)
上傳時間: 2013-10-29
上傳用戶:fudong911