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

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

?? i2cdisp.s

?? ARM專輯-152M-pdf.zip
?? S
字號(hào):
;****************************************************************************** 
; 文件名:I2CDISP.S
; 功能:使用硬件I2C對(duì)ZLG7290進(jìn)行操作,使用查詢方式操作。
; 說(shuō)明:將跳線器JP5短接。
;****************************************************************************** 
			INCLUDE		LPC2294.INC
			EXPORT  	MAIN
			
I2C_BASE	EQU		0xE001C000			
			
ZLG7290		EQU	    0x70			; 定義ZLG7290從地址			

			
			AREA   	I2CDISPC,CODE,READONLY 	
			ENTRY	
		    				
MAIN 		LDR	    SP,=0x40003F00	; 設(shè)置堆棧指針SP
		    LDR	    R0,=PINSEL0		; 設(shè)置I2C控制口有效
		    MOV	    R1,#0x50		
		    STR	    R1,[R0]
		    BL		SYSCLK_INI		; 設(shè)置系統(tǒng)時(shí)鐘
		    
			; 設(shè)置I2C時(shí)鐘為30KHz (Fpclk=11.0592MHz)    
		    LDR     R0,=I2C_BASE	
		    MOV     R1,#184
		    STR     R1,[R0,#0x10]   ; I2SCLH=184			
		    STR     R1,[R0,#0x14]   ; I2SCLL=184			    
		    
		    BL		ZLG7290_DISP	; 顯示"LPC2210F"
		   
HALT	    B	    HALT
		    
		    
;******************************************************************************		
; 名稱:ZLG7290_DISP
; 功能:發(fā)送顯示數(shù)據(jù)到ZLG7290顯示。
; 入口參數(shù):無(wú)
; 出口參數(shù):無(wú)
; 占用資源:(R2、R3、R4、R5)
;******************************************************************************
ZLG7290_DISP	
			STMFD	SP!,{R0-R7,LR}
			MOV		R2,#ZLG7290		; 設(shè)置從機(jī)地址
			MOV		R3,#0x10		; 指定子地址
			LDR		R4,=DISP_DAT	; 指定數(shù)據(jù)發(fā)送區(qū)
			MOV		R5,#8			; 發(fā)送8個(gè)數(shù)據(jù)
			BL		IWRNBYTE		; 調(diào)用IWRNBYTE
			LDMFD	SP!,{R0-R7,PC}
			
		
; 定義特殊字模,字段格式:a b c d e f g h
Sa			EQU		(1<<7)
Sb			EQU		(1<<6)
Sc			EQU		(1<<5)
Sd			EQU		(1<<4)
Se			EQU		(1<<3)
Sf			EQU		(1<<2)
Sg			EQU		(1<<1)
Sh			EQU		(1<<0)

CHAR_L		EQU		(Sd|Se|Sf)
CHAR_P		EQU		(Sa|Sb|Se|Sf|Sg)
CHAR_C		EQU		(Sa|Sd|Se|Sf)
CHAR_2		EQU		(Sa|Sb|Sd|Se|Sg)
CHAR_1		EQU		(Sb|Sc)
CHAR_0		EQU		(Sa|Sb|Sc|Sd|Se|Sf)
CHAR_F		EQU		(Sa|Se|Sf|Sg)


; 顯示數(shù)據(jù)定義,"LPC2210F"	
DISP_DAT	DCD		CHAR_F, CHAR_0, CHAR_1, CHAR_2, CHAR_2, CHAR_C, CHAR_P, CHAR_L, 0x00			  
	
		    
;******************************************************************************		
; 名稱:SYSCLK_INI
; 功能:設(shè)置系統(tǒng)時(shí)鐘。(M值為4,P值為2)
; 入口參數(shù):無(wú)
; 出口參數(shù):無(wú)
; 占用資源:R0、R1		
;******************************************************************************
SYSCLK_INI	
			LDR		R0,=VPBDIV
			MOV		R1,#0x00
			STR		R1,[R0]					; VPBDIV=0x00
			
			LDR		R0,=PLLCFG
			MOV		R1,#0x23
			STR		R1,[R0]					; PLLCFG=0x23,設(shè)置M值為4,P值為2
			LDR		R0,=PLLCON
			MOV		R1,#0x01
			STR		R1,[R0]					; PLLCON=0x01
			LDR		R0,=PLLFEED
			MOV		R1,#0xAA
			STR		R1,[R0]					; PLLFEED=0xAA
			MOV		R1,#0x55
			STR		R1,[R0]					; PLLFEED=0x55
WAIT_OK		LDR		R0,=PLLSTAT				
			LDR		R1,[R0]
			ANDS	R1,R1,#0x0400
			BEQ		WAIT_OK					; 等待PLL鎖定
			
			LDR		R0,=PLLCON
			MOV		R1,#0x03
			STR		R1,[R0]
			LDR		R0,=PLLFEED
			MOV		R1,#0xAA
			STR		R1,[R0]
			MOV		R1,#0x55
			STR		R1,[R0]	
			
			MOV		PC,LR		    
		
		
;******************************************************************************		
; 名稱:START_I2C
; 功能:起動(dòng)總線
; 入口參數(shù):無(wú)
; 出口參數(shù):無(wú)
; 占用資源:R0、R1		
;******************************************************************************
START_I2C
		    LDR	    R0,=I2C_BASE
		
		    MOV	    R1,#0x2C
		    STR	    R1,[R0,#0x18]	; 清除所有標(biāo)志位(I2CONCLR=0x2C)
		
		    MOV	    R1,#0x40
		    STR	    R1,[R0]			; 設(shè)置為主機(jī)(I2CONSET=0x40) 
		    MOV	    R1,#0x60		
		    STR	    R1,[R0]			; 起動(dòng)總線,AA=0
START_I2CL1	LDR	    R1,[R0]			; 等待SI為1
		    ANDS	R1,R1,#0x08
		    BEQ	    START_I2CL1
		
		    MOV	    PC,LR			; 返回
	
;******************************************************************************		
; 名稱:SENDBYTE			
; 功能:發(fā)送一字節(jié)數(shù)據(jù)
; 入口參數(shù):R2	要發(fā)送的數(shù)據(jù),低8位有效
; 出口參數(shù):無(wú)
; 占用資源:R0、R1、R2
;******************************************************************************
SENDBYTE
		    LDR	    R0,=I2C_BASE 
				
		    STR	    R2,[R0,#0x08]	; 發(fā)送數(shù)據(jù),I2DAT=data
		    MOV	    R1,#0x28		
		    STR	    R1,[R0,#0x18]	; 清除標(biāo)志位STA,SI(I2CONCLR=0x28)
		
SENDBYTE_L1	LDR	    R1,[R0]			; 等待SI為1
		    ANDS	R1,R1,#0x08
		    BEQ	    SENDBYTE_L1
		
		    MOV	    PC,LR
	
;******************************************************************************		
; 名稱:RCVBYTE_NA
; 功能;接上I2C總線上一字節(jié)數(shù)據(jù),并發(fā)送非應(yīng)答位
; 入口參數(shù):無(wú)
; 出口參數(shù):R2		讀出的數(shù)據(jù)
; 占用資源;R0、R1、R2
;******************************************************************************
RCVBYTE_NA		
		    LDR	    R0,=I2C_BASE	
		
		    MOV	    R1,#0x0C
		    STR	    R1,[R0,#0x18]	; 清零AA,即發(fā)送非應(yīng)答位. 同時(shí)清除SI,允許接收數(shù)據(jù)(I2CONCLR=0x0C)
			
RCVBYTE_NAL1  
            LDR	    R1,[R0]			; 等待SI為1
		    ANDS	R1,R1,#0x08
		    BEQ	    RCVBYTE_NAL1
		    LDR	    R2,[R0,#0x08]	; 讀取接收到的數(shù)據(jù)		
		
		    MOV	    PC,LR
		
;******************************************************************************		
; 名稱:RCVBYTE_A
; 功能;接上I2C總線上一字節(jié)數(shù)據(jù),并發(fā)送應(yīng)答位
; 入口參數(shù):無(wú)
; 出口參數(shù):R2		讀出的數(shù)據(jù)
; 占用資源;R0、R1、R2
;******************************************************************************
RCVBYTE_A		
		    LDR	    R0,=I2C_BASE	
		
		    ; 置位AA,即發(fā)送應(yīng)答位. 同時(shí)清除SI,允許接收數(shù)據(jù)(I2CONCLR=0x08)
		    MOV     R1,#0x04
		    STR		R1,[R0]
		    MOV	    R1,#0x08
		    STR	    R1,[R0,#0x18]	
			
RCVBYTE_AL1	LDR	    R1,[R0]			; 等待SI為1
		    ANDS	R1,R1,#0x08
		    BEQ	    RCVBYTE_AL1
		    LDR	    R2,[R0,#0x08]	; 讀取接收到的數(shù)據(jù)		
		
		    MOV	    PC,LR		
		

;******************************************************************************
; 名稱:STOP_I2C
; 功能:結(jié)束總線
; 入口參數(shù):無(wú)
; 出口參數(shù):無(wú)
; 占用資源:R0、R1
;******************************************************************************
STOP_I2C
		    LDR	    R0,=I2C_BASE	
		
		    MOV	    R1,#0x2C
		    STR	    R1,[R0,#0x18]	; 清除標(biāo)志位STA,SI。(I2CONCLR=0x2C)	
		    MOV	    R1,#0x50
		    STR	    R1,[R0]			; 發(fā)送結(jié)束總線信號(hào)
		
		    MOV	    PC,LR
		
			
;******************************************************************************		
; 名稱:IWRBYTE
; 功能:向指定從機(jī),發(fā)送一字節(jié)數(shù)據(jù)。(無(wú)子地址)
; 入口參數(shù):R2		從要地址
;	   R3		所要發(fā)送的數(shù)據(jù)
; 出口參數(shù):無(wú)
; 占用資源:R0、R1、R2、R3
;******************************************************************************
IWRBYTE
		    STMFD	SP!,{R0-R7,LR}
		
		    BL	    START_I2C		; 起動(dòng)總線
		    BL	    SENDBYTE		; 發(fā)送從機(jī)地址
		    MOV	    R2,R3
		    BL	    SENDBYTE		; 發(fā)送數(shù)據(jù)
		    BL	    STOP_I2C		; 結(jié)束總線
		
		    LDMFD	SP!,{R0-R7,PC}	; 返回操作
		

;******************************************************************************
; 名稱:IWRNBYTE
; 功能:向指定從機(jī),發(fā)送多字節(jié)數(shù)據(jù)。
; 入口參數(shù):R2		從要地址
;	   R3		子地址
;	   R4		要發(fā)送的數(shù)據(jù)的地址指針
; 	   R5		要發(fā)送的數(shù)據(jù)個(gè)數(shù)
; 出口參數(shù):無(wú)
; 占用資源:R0、R1、R2、R3、R4、R5
;******************************************************************************
IWRNBYTE
		    STMFD	SP!,{R0-R7,LR}
		    CMP	    R5,#0			; 參數(shù)過(guò)濾,若發(fā)送個(gè)數(shù)為0,則直接退出
		    BEQ	    IWRNBYTE_END
		
		    BL	    START_I2C		; 起動(dòng)總線
		    BL	    SENDBYTE		; 發(fā)送從機(jī)地址
		    MOV	    R2,R3
		    BL	    SENDBYTE		; 發(fā)送子地址
		
IWRNBYTE_L1	LDR	    R2,[R4],#4		; 讀取要發(fā)送的數(shù)據(jù),且R4 = R4 + 4
		    BL	    SENDBYTE		; 發(fā)送數(shù)據(jù)
		    SUBS	R5,R5,#1
		    BNE	    IWRNBYTE_L1
		
		    BL	    STOP_I2C		; 結(jié)束總線
		
IWRNBYTE_END	
            LDMFD	SP!,{R0-R7,PC}	; 返回操作
		


;******************************************************************************		
; 名稱:IRDBYTE
; 功能:向指定從機(jī)讀取一字節(jié)數(shù)據(jù)。(無(wú)子地址)
; 入口參數(shù):R2		從要地址
; 出口參數(shù):R2		讀出的數(shù)據(jù)
; 占用資源:R0、R1、R2
; 說(shuō)明:本程序會(huì)對(duì)從機(jī)地址進(jìn)行自動(dòng)加1處理		
;******************************************************************************
IRDBYTE
		    STMFD	SP!,{R0,R1,R3-R7,LR}
		
		    ADD	    R2,R2,#1		; 設(shè)置為讀操作
		    BL	    START_I2C		; 起動(dòng)總線
		    BL	    SENDBYTE		; 發(fā)送從機(jī)地址
		    BL	    RCVBYTE_NA		; 接收1字節(jié)數(shù)據(jù),并發(fā)送非應(yīng)答位
		    BL	    STOP_I2C		; 結(jié)束總線
				
		    LDMFD	SP!,{R0,R1,R3-R7,PC}		; 返回操作
		
		
;******************************************************************************		
; 名稱:IRDNBYTE
; 功能:向指定從機(jī)讀取多字節(jié)數(shù)據(jù)。
; 入口參數(shù):R2		從要地址
;	   R3		子地址
;	   R4		要接收的數(shù)據(jù)的地址指針
; 	   R5		要發(fā)送的數(shù)據(jù)個(gè)數(shù)
; 出口參數(shù):無(wú)
; 占用資源:R0、R1、R2、R3、R4、R5、R6
; 說(shuō)明:本程序會(huì)對(duì)從機(jī)地址進(jìn)行自動(dòng)加1處理	
;******************************************************************************
IRDNBYTE
		    STMFD	SP!,{R0-R7,LR}
		    CMP	    R5,#0			; 入口參數(shù)過(guò)濾,若操作數(shù)據(jù)個(gè)數(shù)為0,直接退出
		    BEQ	    IRDNBYTE_END
		
		    BL	    START_I2C		; 起動(dòng)總線
		    BL	    SENDBYTE		; 發(fā)送從機(jī)地址
		    MOV	    R6,R2			; 暫存從機(jī)地址
		    MOV	    R2,R3
		    BL	    SENDBYTE		; 發(fā)送子地址		
		    MOV	    R2,R6
				
		    BL	    START_I2C		; 重新啟動(dòng)總線	
		    ADD	    R2,R2,#1
		    BL	    SENDBYTE		; 發(fā)送從機(jī)地址
		
IRDNBYTE_L2	CMP	    R5,#1
		    BLNE	RCVBYTE_A
		    BLEQ	RCVBYTE_NA
		    STR	    R2,[R4],#4		; 保存讀出的數(shù)據(jù)
		    SUBS	R5,R5,#1
		    BNE	    IRDNBYTE_L2		; 判斷是否讀完畢
	
		    BL	    STOP_I2C		; 結(jié)束總線		
		
IRDNBYTE_END	
            LDMFD	SP!,{R0-R7,PC}
		
		    END

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲成年网址在线观看| 日韩美女精品在线| 色综合久久久久| 国产一区二区三区免费看| 亚洲三级免费电影| 久久人人超碰精品| 欧美一区午夜精品| 欧洲人成人精品| 成人不卡免费av| 国产精品一区二区视频| 日韩高清在线观看| 亚洲图片欧美色图| 亚洲色图都市小说| 国产日韩欧美不卡在线| 欧美一区二区三区啪啪| 欧美在线不卡视频| 91麻豆精东视频| 国产91精品免费| 国产精品69毛片高清亚洲| 麻豆精品一区二区综合av| 亚洲成人av电影在线| 亚洲精选视频在线| 亚洲欧洲在线观看av| 26uuu久久天堂性欧美| 日韩区在线观看| 911精品国产一区二区在线| 91蜜桃网址入口| 97精品国产露脸对白| 成人免费av网站| 成人性色生活片| 国产成人aaa| 国产精品77777竹菊影视小说| 国产综合色在线视频区| 色综合天天在线| 成人网男人的天堂| youjizz久久| 99视频在线精品| av成人免费在线观看| 99久久精品免费看国产免费软件| 不卡在线观看av| 一本大道久久a久久综合婷婷| 色94色欧美sute亚洲线路一ni| 99久久久久久| 欧美在线视频不卡| 欧美日韩在线播放一区| 欧美日韩黄视频| 欧美精品18+| 欧美草草影院在线视频| 久久伊人蜜桃av一区二区| 国产婷婷色一区二区三区在线| 久久久久久日产精品| 国产欧美精品一区二区色综合| 中文字幕亚洲一区二区av在线 | 成人毛片老司机大片| 国产91在线观看丝袜| 99v久久综合狠狠综合久久| 在线这里只有精品| 在线播放91灌醉迷j高跟美女 | 国产精品久久久久久亚洲伦 | 免费观看91视频大全| 国产一区二区伦理片| 91在线国产福利| 欧美美女bb生活片| www一区二区| 亚洲欧美日韩国产中文在线| 亚洲bt欧美bt精品| 国产呦精品一区二区三区网站| 不卡高清视频专区| 欧美一a一片一级一片| 日韩一级欧美一级| 国产精品视频线看| 五月天欧美精品| 激情综合色播激情啊| av一本久道久久综合久久鬼色| 欧美性猛交xxxxxxxx| 久久久亚洲综合| 亚洲精品中文在线观看| 麻豆久久一区二区| 色香色香欲天天天影视综合网| 欧美一区二区精美| 日韩一区在线免费观看| 日本不卡在线视频| 成人99免费视频| 日韩午夜激情视频| 亚洲人精品午夜| 国产美女视频91| 欧美日韩性生活| 国产精品区一区二区三| 美女网站视频久久| 一本色道久久综合狠狠躁的推荐| 欧美va亚洲va在线观看蝴蝶网| 一区二区三区在线播放| 国内一区二区视频| 欧美久久久影院| 综合激情网...| 国产一区免费电影| 4hu四虎永久在线影院成人| 中文字幕一区二区三| 欧美日韩在线一区二区| 国产欧美精品一区aⅴ影院| 免费观看30秒视频久久| 欧美性猛交xxxxxx富婆| 国产精品动漫网站| 国产伦精品一区二区三区在线观看 | 国产亚洲精品7777| 青青草国产精品97视觉盛宴| 色婷婷国产精品| 日韩一区欧美小说| 国产.欧美.日韩| 亚洲精品一线二线三线无人区| 亚洲午夜在线电影| 一本色道久久综合亚洲aⅴ蜜桃 | 久久久久久久电影| 奇米影视一区二区三区小说| 在线精品国精品国产尤物884a| 欧美国产激情一区二区三区蜜月| 免费欧美在线视频| 91精品欧美一区二区三区综合在| 亚洲激情欧美激情| 91麻豆视频网站| 亚洲另类春色校园小说| 91麻豆国产精品久久| 18欧美亚洲精品| 91在线国产福利| 亚洲欧美日韩中文字幕一区二区三区 | 精品国产一区二区在线观看| 亚洲成av人影院在线观看网| 色猫猫国产区一区二在线视频| 亚洲欧洲日韩女同| 成人动漫一区二区在线| 国产精品黄色在线观看| 成人综合激情网| 国产精品家庭影院| 91麻豆免费观看| 亚洲国产中文字幕在线视频综合 | 欧美欧美欧美欧美首页| 亚洲成精国产精品女| 欧美精品成人一区二区三区四区| 亚洲成av人片一区二区三区| 欧美日韩精品是欧美日韩精品| 午夜精品视频一区| 91精品国产综合久久福利| 毛片一区二区三区| 国产人妖乱国产精品人妖| 国产91精品欧美| 亚洲精品日日夜夜| 欧美日韩国产小视频| 日本特黄久久久高潮| 26uuu国产电影一区二区| 国产成人亚洲综合色影视| 国产精品乱人伦| 一本到不卡精品视频在线观看| 亚洲国产一区二区三区青草影视| 欧美精品日韩精品| 六月丁香婷婷色狠狠久久| 国产清纯美女被跳蛋高潮一区二区久久w | 中国av一区二区三区| 91热门视频在线观看| 亚洲国产日产av| 精品国产91久久久久久久妲己| 国产成人综合自拍| 激情欧美一区二区| 亚洲丝袜美腿综合| 91精品国产一区二区三区| 国产精品69毛片高清亚洲| 亚洲精品一卡二卡| 欧美va在线播放| 色先锋久久av资源部| 蜜臀av性久久久久蜜臀aⅴ| 国产日韩影视精品| 欧洲另类一二三四区| 久久99国产精品免费| 亚洲人成亚洲人成在线观看图片| 制服丝袜亚洲色图| 成人黄色电影在线| 日韩极品在线观看| 国产精品久久久久精k8| 欧美女孩性生活视频| 国产精品456| 亚洲观看高清完整版在线观看 | 久久久久久久久久久久久久久99| 本田岬高潮一区二区三区| 午夜国产精品一区| 欧美国产日韩a欧美在线观看| 欧美性生活一区| 懂色av一区二区三区免费观看| 午夜伊人狠狠久久| 国产精品美日韩| 日韩欧美一级二级| 色94色欧美sute亚洲13| 国产成人av自拍| 日韩精品电影在线| 一区二区三区国产精华| 国产日韩v精品一区二区| 欧美一级视频精品观看| 93久久精品日日躁夜夜躁欧美| 免费看日韩精品| 亚洲国产欧美日韩另类综合| 亚洲国产成人在线| 久久久久亚洲综合|