亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? csi24wc02.s

?? Easyarm實(shí)驗(yàn)開發(fā)平臺
?? S
字號:
;******************************************************************************	
; File:CSI24WC02.S
; 功能:使用LPC210x模擬EEPROM器件CSI24WC02。LPC210x具有硬件I2C接口,使用其從方式進(jìn)行
;      I2C器件模擬,本例使用了256字節(jié)的RAM作為存儲單元。
; 說明:將跳線器JP12斷開,然后與主機(jī)連接。
;******************************************************************************	
		        INCLUDE     LPC2106.INC
		
CSI24WC02       EQU 	0xA1                            ; 定義從要地址,忽略通用地址
EEPROM          EQU     0x40003000                      ; 定義EEPROM存儲單元,地址為0x40003000--0x400030FF
ADRPOINT        EQU     0x40003100                      ; 定義EEPROM讀寫操作指針
SLARCV          EQU     0x40003104                      ; 定義子地址接收標(biāo)志,為1時表示己接收從機(jī)地址

		
		        AREA   	EEPROMC,CODE,READONLY 
		        ENTRY		
		    
                ; 異常向量   
Vectors         LDR     PC, ResetAddr
                LDR     PC, UndefinedAddr
                LDR     PC, SWI_Addr
                LDR     PC, PrefetchAddr
                LDR     PC, DataAbortAddr
                NOP
                LDR     PC, IRQ_Addr
                LDR     PC, FIQ_Addr

ResetAddr       DCD     Reset
UndefinedAddr   DCD     Undefined
SWI_Addr        DCD     SoftwareInterrupt
PrefetchAddr    DCD     PrefetchAbort
DataAbortAddr   DCD     DataAbort
Nouse           DCD     0
IRQ_Addr        DCD     IRQ_Handler
FIQ_Addr        DCD     FIQ_Handler

; 中斷服務(wù)程序
Undefined
SoftwareInterrupt
PrefetchAbort
DataAbort
FIQ_Handler
                B       .


; IRQ中斷處理(I2C中斷處理)
IRQ_Handler
                STMFD   SP!,{R0-R12,LR}                 ; 現(xiàn)場保護(hù)
                
                ; 讀取狀態(tài)碼,然后進(jìn)行分析及控制
                LDR     R0,=I2C_BASE
                LDR     R1,[R0,#0x04]
                AND     R1,R1,#0xF8
                
                CMP     R1,#0x60                        ; 判斷是否接收到自身SLA+W                                             
                CMPNE   R1,#0x68                       
                BEQ     SLAWR                           ; 接收到自身SLA+W 
                
                CMP     R1,#0xA8                        ; 判斷是否接收到自身SLA+R
                CMPNE   R1,#0xB0
                BEQ     SLARD                           ; 接收到自身SLA+R
                
                CMP     R1,#0x80
                BEQ     RCV_DAT                         ; 前一次尋址接收到自身SLA+W,己接收數(shù)據(jù),并返回ACK
                
                CMP     R1,#0xB8
                BEQ     SEND_DAT
                
                CMP     R1,#0xC0                        ; 己發(fā)送數(shù)據(jù),并接收到非應(yīng)答信號  
                BEQ     STOP_BUS
                
                CMP     R1,#0xA0                        ; 接收到停止條件或重復(fù)起動條件A0H
                BEQ     STOP_BUS
                 
                ; 接收其它狀態(tài)值,則設(shè)置SI=0,AA=1,然后退出
OTHER_STA       MOV     R1,#0x04
                STR     R1,[R0]                         ; 設(shè)置AA=1
                B       EXIT_IRQ                        ; 退出中斷(會清除SI位)
                
;******************************************************************************		
; 從接收狀態(tài),即接收到SLA+W。
; 將子地址接收標(biāo)志置0,然后退出。
;****************************************************************************** 
SLAWR           MOV     R1,#0
                LDR     R2,=SLARCV
                STR     R1,[R2]                         ; 子地址接收標(biāo)志置0
                MOV     R1,#0x04
                STR     R1,[R0]                         ; 設(shè)置AA=1
                B       EXIT_IRQ                        ; 退出中斷(會清除SI位)      
                
;******************************************************************************		
; 從發(fā)送狀態(tài),即接收到SLA+R,或已發(fā)送數(shù)據(jù)并接收到ACK位。
; 發(fā)送當(dāng)前讀寫指針的一字節(jié)數(shù)據(jù),并將讀寫指針自動加1。
;******************************************************************************                
SLARD           
SEND_DAT        LDR     R1,=EEPROM                      ; 取得E2PROM操作實(shí)際地址
                LDR     R2,=ADRPOINT
                LDR     R2,[R2]
                ADD     R2,R2,R1
                LDRB    R1,[R2]                         ; 讀出數(shù)據(jù)
                AND     R1,R1,#0xFF
                STR     R1,[R0,#0x08]                   ; 發(fā)送數(shù)據(jù)
                LDR     R2,=ADRPOINT                    ; 讀寫指針加1
                LDR     R1,[R2]
                ADD     R1,R1,#1
                AND     R1,R1,#0xFF
                STR     R1,[R2] 
                MOV     R1,#0x04
                STR     R1,[R0]                         ; 設(shè)置AA=1
                B       EXIT_IRQ                        
 
 
;******************************************************************************		
; 接收主要發(fā)送的數(shù)據(jù)。
; 程序先判斷是否接收子地址,若沒有接收,則接收并設(shè)置讀寫指針及該標(biāo)志;
; 若程序已接收子地址,則開始接收數(shù)據(jù),并將讀寫指針自動加1。
;******************************************************************************  
RCV_DAT         LDR     R2,=SLARCV                      ; 判斷SLARCV是否為0
                LDR     R1,[R2]
                CMP     R1,#0
                BEQ     RCVSLA                          ; 若是,則接收子地址  
                
RCVDATA         LDR     R1,=EEPROM                      ; 取得E2PROM操作實(shí)際地址
                LDR     R2,=ADRPOINT
                LDR     R2,[R2]
                ADD     R2,R2,R1
                LDR     R1,[R0,#0x08]                   ; 接收數(shù)據(jù),寫入模擬E2PROM
                AND     R1,R1,#0xFF
                STRB    R1,[R2]
                LDR     R2,=ADRPOINT                    ; 讀寫指針加1
                LDR     R1,[R2]
                ADD     R1,R1,#1
                AND     R1,R1,#0xFF
                STR     R1,[R2] 
                MOV     R1,#0x04
                STR     R1,[R0]                         ; 設(shè)置AA=1
                B       EXIT_IRQ                        ; 退出中斷
                
                
RCVSLA          LDR     R1,[R0,#0x08]                   ; 讀取接收到的數(shù)據(jù)I2DAT
                LDR     R2,=ADRPOINT
                STR     R1,[R2]                         ; 設(shè)置讀寫指針ADRPOINT
                MOV     R1,#1
                LDR     R2,=SLARCV                     
                STR     R1,[R2]                         ; 設(shè)置SLARCV標(biāo)志為1
                MOV     R1,#0x04
                STR     R1,[R0]                         ; 設(shè)置AA=1
                B       EXIT_IRQ                        ; 退出中斷
                
;******************************************************************************		
; 結(jié)束總線,設(shè)置SI=0,AA=1。
;******************************************************************************
STOP_BUS        MOV     R1,#0x04
                STR     R1,[R0]                         ; 設(shè)置AA=1
                B       EXIT_IRQ                        ; 退出中斷(會清除SI位)                 
                                
EXIT_IRQ        MOV     R1,#0x38
                STR     R1,[R0,#0x18]                   ; 清除標(biāo)I2C標(biāo)志位,STA、STO、SI
                LDMFD   SP!,{R0-R12,LR}                 ; 恢復(fù)現(xiàn)場
                SUBS    PC,LR,#4



;******************************************************************************		
; 主程序,進(jìn)行I2C從機(jī)設(shè)置,并初始化EEPROM操作指針。
;******************************************************************************
Reset           MSR     CPSR_c,#0xd2                    ; 切換到IRQ模式
                LDR     R0,=0x40003F00                  ; 設(shè)置IRQ模式的堆棧,0x40003E00-0x40003EFF
                MOV     SP,R0                           
                MSR     CPSR_c,#0x53                    ; 切換到管理模式并開放IRQ中斷                
                LDR     R0,=0x40003FFF                  ; 設(shè)置管理模式的堆棧,0x40003F00-0x40003FFF
                MOV     SP,R0
                
                LDR     R0,=MEMMAP                      ; REMAP操作。(若使用0地址寫入到FLASH,則不要使用REMAP)                                     
                MOV     R1,#0x02
                STR     R1,[R0]
                          
                LDR     R0,=ADRPOINT          
                MOV     R1,#0
                STR     R1,[R0]                         ; 初始化讀寫指針為0
                LDR     R0,=SLARCV
                STR     R1,[R0]                         ; 子地址接收標(biāo)志置0
                
                ; 設(shè)置為從機(jī)方式
                LDR	    R0,=PINSEL0		                ; 設(shè)置I2C控制口有效
		        MOV	    R1,#0x50		
		        STR	    R1,[R0] 
		        
		        LDR     R0,=I2C_BASE	        
		        MOV     R1,#CSI24WC02
		        STR     R1,[R0,#0x0C]                   ; 設(shè)置從機(jī)地址,I2ADR=CSI24WC02
		        
		        MOV     R1,#0x44
		        STR     R1,[R0]                         ; I2C配置為從機(jī)模式,I2CONSET=0x44
		        
		        ; 允許I2C中斷(設(shè)置為非向量IRQ)
		        LDR     R0,=VIC_BASE_ADDR
		        MOV     R1,#0x00
		        STR     R1,[R0,#0x0C]                   ; 所有中斷設(shè)置為IRQ中斷,VICIntSelect=0x00
		        MOV     R1,#0x0200
		        STR     R1,[R0,#0x10]                   ; 允許I2C中斷,VICIntEnable=0x0200
		        
		        B       .                               ; 等待I2C中斷
		                              
                END
                
                
                
                
		    
		    
		

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久99精品久久久久久| 久久九九国产精品| 一级精品视频在线观看宜春院| 蜜桃视频在线观看一区二区| 在线观看日韩av先锋影音电影院| 亚洲天堂2014| 成人福利视频在线| 91日韩在线专区| 成人欧美一区二区三区小说| 亚洲高清免费视频| 欧美怡红院视频| 国产欧美日韩视频在线观看| 国产精品一区二区x88av| 国产成人精品一区二区三区四区| 精品国产一区二区三区不卡| 国产精品自拍一区| 欧美日免费三级在线| 久久这里都是精品| 亚洲18女电影在线观看| 中文字幕一区二区三| 成人动漫一区二区在线| 欧美高清视频在线高清观看mv色露露十八 | 狠狠色综合日日| 成人免费高清视频| 中文字幕一区二区三区在线播放| 久久精品国产秦先生| 26uuu国产电影一区二区| 国产福利一区在线| 日韩精品一区国产麻豆| 韩国一区二区三区| 中文字幕va一区二区三区| 99久久精品免费观看| 亚洲伊人色欲综合网| 99国内精品久久| 中文幕一区二区三区久久蜜桃| a级高清视频欧美日韩| 精品久久久久久久一区二区蜜臀| 亚洲主播在线观看| 91麻豆swag| 中文字幕高清一区| 欧美色视频在线| 亚洲精品福利视频网站| 韩国女主播成人在线观看| 久久久午夜电影| 在线看日本不卡| 日韩一区在线免费观看| 欧美日韩国产一级| 亚洲成人综合在线| 欧美美女视频在线观看| 精品影视av免费| 日韩女同互慰一区二区| 综合久久久久综合| 国产精品中文有码| 亚洲激情欧美激情| 欧美视频一区二区在线观看| 国产一区二区三区久久悠悠色av| 亚洲精品免费视频| 欧美无砖专区一中文字| 精品伊人久久久久7777人| 一区二区在线观看免费 | 中文字幕一区三区| 欧美精品乱人伦久久久久久| 国模冰冰炮一区二区| 日本午夜精品视频在线观看| 亚洲福利视频一区二区| 久久久亚洲高清| 久久亚洲欧美国产精品乐播 | 欧美变态tickling挠脚心| 国产精品99久久久久久宅男| 美女诱惑一区二区| 粉嫩av一区二区三区粉嫩| 久久成人精品无人区| 国产精品久久久久久久蜜臀| 欧美色老头old∨ideo| 在线看国产一区| 国产高清在线精品| 国产成人丝袜美腿| 91在线高清观看| 在线视频观看一区| 欧美日韩一区高清| 成人avav影音| 91小视频在线| 欧美在线综合视频| 欧美日韩亚洲综合在线| 制服视频三区第一页精品| 91精品国产一区二区三区| 欧美不卡在线视频| 久久精品免视看| 777奇米四色成人影色区| 日韩欧美在线综合网| 色女孩综合影院| 欧美日韩一区精品| 91视频在线观看| 国产成人精品三级| 91在线视频观看| 国产精品一级片| 日韩成人一区二区三区在线观看| 蜜臀精品一区二区三区在线观看| 美女高潮久久久| 国产经典欧美精品| 97国产一区二区| 国产呦萝稀缺另类资源| 成人av电影在线| 国产福利一区二区| 国产乱人伦偷精品视频免下载| 午夜日韩在线电影| 国产一区二区三区精品欧美日韩一区二区三区 | 精品对白一区国产伦| 国产亚洲一区字幕| 欧美精品一区男女天堂| 亚洲男同性恋视频| 中文字幕一区二区日韩精品绯色| 亚洲小少妇裸体bbw| 亚洲另类春色校园小说| 琪琪一区二区三区| 99精品偷自拍| 欧美一区二区女人| 日韩一级片在线观看| 56国语精品自产拍在线观看| 国产丝袜欧美中文另类| 久久色.com| 丝瓜av网站精品一区二区 | 天堂成人国产精品一区| 亚洲综合一二三区| 亚洲在线视频一区| 亚洲成年人影院| 不卡在线视频中文字幕| a亚洲天堂av| 欧美成人一区二区| 一区二区三区四区中文字幕| 国产精品69毛片高清亚洲| 欧美日本在线视频| 自拍av一区二区三区| 国产精品中文有码| 成人av在线播放网址| 91精品欧美综合在线观看最新| 国产精品免费久久| 狠狠狠色丁香婷婷综合激情| 国产精品羞羞答答xxdd| 欧美一区中文字幕| 亚洲国产裸拍裸体视频在线观看乱了 | 免费成人在线播放| 九九九精品视频| 欧美中文字幕一区二区三区 | 精品嫩草影院久久| 久久久久久电影| 免费国产亚洲视频| 欧美高清视频www夜色资源网| |精品福利一区二区三区| 国产成人日日夜夜| 色素色在线综合| 1区2区3区欧美| 成人福利视频在线| 国产精品理伦片| 国产91丝袜在线18| 国产午夜精品一区二区| 国产一区91精品张津瑜| 日韩精品一区二区三区四区视频| 国产精品人妖ts系列视频| 国产丶欧美丶日本不卡视频| 精品福利在线导航| 亚洲精品国产一区二区精华液| 亚洲成年人影院| 在线不卡欧美精品一区二区三区| 国产亚洲欧美日韩日本| 一区二区三区四区高清精品免费观看 | 狠狠色丁香久久婷婷综| 久久亚洲精华国产精华液| 久久99久久久久久久久久久| 欧美成人国产一区二区| 九一九一国产精品| 欧洲在线/亚洲| 国产欧美日韩亚州综合| 国产.精品.日韩.另类.中文.在线.播放| 成人黄色软件下载| 日韩视频国产视频| 国内成人免费视频| 5566中文字幕一区二区电影| 日日摸夜夜添夜夜添国产精品| 91精品国产综合久久久久久| 亚洲视频 欧洲视频| 欧美三级日本三级少妇99| 天堂影院一区二区| 色婷婷狠狠综合| 亚洲成人一二三| 91同城在线观看| 久久精品人人爽人人爽| 99久久免费国产| 婷婷成人激情在线网| 精品乱人伦小说| 成人动漫视频在线| 亚洲国产成人精品视频| 久久久久久97三级| av不卡在线观看| 亚洲国产精品激情在线观看| 久久精品国产免费| 精品久久久久久亚洲综合网| 成人sese在线| 水蜜桃久久夜色精品一区的特点| 欧洲国产伦久久久久久久|