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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? i2c.asm

?? I2C匯編程序,用于100KB/S的I2C器件運用.
?? ASM
字號:
;********************************************************
;名稱:		I2C軟件模擬程序包							*
;語言:		51匯編										*
;日期:		2007-12-15									*
;描述:		適用于PHILIPS的LPC900,最高晶振頻率為12MHz.	*	
;			符合100Kbit/S總線標準模式.					*
;********************************************************

;需定義的:
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;I2C_SDA		BIT					;I2C數據線									  <
;I2C_SCL		BIT					;I2C時鐘線									  <
;I2C_ACK		BIT					;應答標記(為“0”表示非應答,為“1”表示應答) <
;I2C_SLA		DATA				;器件從地址									  <
;I2C_SUBA		DATA				;器件子地址									  <
;I2C_NUM		DATA				;讀/寫的字節數								  <
;I2C_MTD		DATA				;發送數據緩沖首地址							  <
;I2C_MRD		DATA				;接收數據緩沖首地址							  <
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<	



;可調用和增減的子程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;I2C_SEND_NOSUB					無子地址器件發送1個字節子程序					  >
;I2C_RCV_NOSUB					無子地址器件接收1個字節子程序					  >
;I2C_SEND_NN0SUB				無子地址器件發送N字節數據子程序					  >
;I2C_RCV_NN0SUB					無子地址器件接收N字節數據子程序					  >
;I2C_SEND_STR					有子地址器件發送N字節數據子程序					  >
;I2C_RCV_STR					有子地址器件接收N字節數據子程序					  >
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>






;************
;外部子程序:*
;************

;無子地址器件發送1個字節子程序
;//////////////////////////////////////////////////////////////////////////////////
;描述:發送無子地址器件的1字節數據
I2C_SEND_NOSUB:	PUSH	ACC
				LCALL	I2C_START
				MOV		ACC,I2C_SLA
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,SNSUB_END
				POP		ACC
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				LCALL	I2C_STOP
				RET
SNSUB_END:		POP		ACC
				LCALL	I2C_STOP
				RET
;//////////////////////////////////////////////////////////////////////////////


;無子地址器件接收1個字節子程序
;/////////////////////////////////////////////////////////////////////////////
;描述:接收無子地址器件的1個字節數據
I2C_RCV_NOSUB:	LCALL	IC2_START
				MOV		A,I2C_SLA
				INC		A
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,RNSUB_END
				LCALL	I2C_RCV_BYTE
				LCALL	I2C_MNACK
RNSUB_END:		LCALL	I2C_STOP
				RET
;////////////////////////////////////////////////////////////////////////////				



;無子地址器件發送N字節數據子程序
;////////////////////////////////////////////////////////////////////////////
;描述:向無子地址器件發送N字節數據
I2C_SEND_NN0SUB:MOV		A,I2C_NUM
				MOV		R0,A
				MOV		A,I2C_SLA
				LCALL	I2C_START
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,SNNSUB_END			
				MOV		R1,#I2C_MTD
SNNSUB1:		MOV		A,@R1
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,SNNSUB_END			
				INC		R1
				DJNZ	R0,SNNSUB1
SNNSUB_END:		LCALL	I2C_STOP
				RET
;////////////////////////////////////////////////////////////////////////				


;無子地址器件接收N字節數據子程序
;//////////////////////////////////////////////////////////////////////////
;描述:接收無子地址器件的N字節數據。
I2C_RCV_NNOSUB:	MOV		A,I2C_NUM
				MOV		R0,A
				MOV		A,IC2_SLA
				INC		A
				LCALL	I2C_START
				LCALL	I2C_CACK
				JNB		I2C_ACK,RNNSUB_END		
				MOV		R1,I2C_MDR
RNNSUB1:		LCALL	I2C_RCV_BYTE
				MOV		@R1,A
				DJNZ	R0,RNNSUB2
				LCALL	I2C_MNACK
				LCALL	I2C_STOP							
				RET
RNNSUB2:		LCALL	I2C_MACK
				INC		R1
				SJMP	RNNSUB1
;/////////////////////////////////////////////////////////////////////////				



;有子地址器件發送N字節數據子程序
;////////////////////////////////////////////////////////////////////////
;描述:向有子地址器件的指定地址發送N字節數據
I2C_SEND_STR:	MOV		A,I2C_NUM
				MOV		R0,A
				MOV		A,I2C_SLA
				LCALL	I2C_START
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,SS_END			
				MOV		A,I2C_SUBA
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,SS_END			
				MOV		R1,I2C_MTD
SS1:			MOV		A,@R1
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,SS_END			
				INC		R1
				DJNZ	R0,SS1
SS_END			LCALL	I2C_STOP
				RET
;////////////////////////////////////////////////////////////////////////



;有子地址器件接收N字節數據子程序
;////////////////////////////////////////////////////////////////////////
;描述:接收有子地址器件指定的N字節數據
I2C_RCV_STR:	MOV		A,I2C_NUM
				MOV		R0,A
				MOV		A,I2C_SLA
				LCALL	I2C_START
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,RS_END			
				MOV		A,I2C_SUBA
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				MOV		A,I2C_SLA
				INC		A
				LCALL	I2C_START
				LCALL	I2C_SEND_BYTE
				LCALL	I2C_CACK
				JNB		I2C_ACK,RS_END			
				MOV		R1,I2C_MRD
RS1:			LCALL	I2C_RCV_BYTE
				MOV		@R1,A
				DJNZ	R0,RS2
				LCALL	I2C_MNACK
RS_END:			LCALL	I2C_STOP
				RET
RS2:			INC		R1
				LCALL	I2C_MACK
				SJMP	RS1
;////////////////////////////////////////////////////////////////////////
					




;************
;內部子程序 *
;************
;延時子程序(延時5uS)
;............................................................................
I2C_DELAY:		MOV		R0,#15
				DJNZ	R0,$
				RET
;............................................................................


;啟動I2C總線子程序
;............................................................................
;描述:SDA在SCL為高時由高到低跳變.

I2C_START:		SETB	I2C_SDA
				NOP
				SETB	I2C_SCL
				LCALL	I2C_DELAY		;起始條件建立時間大于4.7uS
				CLR		I2C_SDA
				LCALL	I2C_DELAY		;起始條件鎖定時間大于4uS
				CLR		I2C_SCL			;鉗住總線,準備發送數據
				NOP		
				RET
;............................................................................



;結束總線子程序
;............................................................................
;描述:SDA在SCL為高時由低向高跳變.

I2C_STOP:		CLR		I2C_SDA
				NOP
				SETB	I2C_SCL
				LCALL	I2C_DELAY		;總線結束時間大于4uS
				SETB	I2C_SDA
				LCALL	I2C_DELAY		;保證結束信號和起始信號空閑時間大于4.7uS
				RET
;...............................................................................


;發送應答信號子程序
;...............................................................................
;描述:應答信號由"接收器"產生;每成功接收到1個字節后,如還需要接收數據則發送
;     一個應答;"接收器"在第9個時鐘周期將SDA拉低(應答).

I2C_MACK:		CLR		I2C_SDA
     			NOP
				NOP
				SETB	I2C_SCL			
				LCALL	I2C_DELAY		;保持數據時間大于4.7uS
				CLR		I2C_SCL	
				NOP
				NOP
				RET
;..................................................................................


;發送非應答信號子程序
;..................................................................................
;描述: 應答信號由“接收器”產生;每成功接收到1個字節后,如不再接收新發送
;      一個非應答;"接收器"在第9個時鐘周期將SDA拉高(非應答).

I2C_MNACK:		SETB	I2C_SDA
				NOP
				NOP
				SETB	I2C_SCL
				LCALL	I2C_DELAY		;保持數據時間大于4.7uS
				CLR		I2C_SCL
				NOP
				NOP
				RET
;..................................................................................



;檢查應答信號子程序
;..................................................................................
;描述:獲得"接收器"發出的應答或非應答信號;如應答ACK=1,否則(非應答)ACK=0.
 
I2C_CACK:		SETB	I2C_SDA
				NOP
				NOP
				SETB	I2C_SCL
				CLR		I2C_ACK
				NOP
				NOP
				MOV		C,SDA
				JC		CACK_END
				SETB	I2C_ACK			;應答
CACK_END:		CLR		I2C_SCL
				NOP
				NOP
				RET
;..................................................................................



;發送一字節數據
;..................................................................................
;描述:將ACC中的數據發送出去.

I2C_SEND_BYTE:	MOV		R0,#8
SB3:			RLC		A
				JC		SB1
				SJMP	SB0
SB4:			DJNZ	R0,
				NOP
				NOP
				RET
SB1:			SETB	I2C_SDA
				NOP
				NOP
				SETB	I2C_SCL
				LCALL	I2C_DELAY
				CLR		I2C_SCL
				SJMP	SB4
SB0:			CLR		I2C_SDA
				NOP
				NOP
				SETB	I2C_SCL
				LCALL	I2C_DELAY
				CLR		I2C_SCL
				SJMP	SB4
;................................................................................


	
;接收一字節數據
;................................................................................
;描述:將接收到的數據存入ACC中.

I2C_RCV_BYTE:	MOV		R0,#8
				MOV		A,#0
RB1:			SETB	I2C_SDA
				NOP
				NOP
				SETB	I2C_SCL
				NOP
				NOP
				MOV		C,I2C_SDA
				RLC		A
				NOP
				NOP
				CLR		I2C_SCL
				NOP
				NOP
				DJNZ	R0,RB1
				RET
;..................................................................................
;********************************************************************************************************





































?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久不卡毛片| 色美美综合视频| 成人激情黄色小说| 欧美一区日本一区韩国一区| 国产精品久久久久久亚洲伦| 日韩精品久久久久久| 成人福利视频网站| 欧美成人video| 日韩av一二三| 91福利国产成人精品照片| 欧美国产禁国产网站cc| 狠狠色丁香久久婷婷综合_中| 日本电影欧美片| 欧美激情一区二区三区不卡| 国产电影精品久久禁18| 欧美精品一级二级三级| 亚洲综合激情网| 99久久精品情趣| 国产女主播视频一区二区| 蜜桃视频一区二区| 3atv一区二区三区| 洋洋av久久久久久久一区| 99这里只有久久精品视频| 国产欧美综合在线| 国产一区二区精品久久| 欧美精品一区男女天堂| 美女视频黄频大全不卡视频在线播放 | 国产专区欧美精品| 日韩三级电影网址| 免费在线看成人av| 精品久久久久av影院 | 国产精品久久久久久户外露出| 韩国av一区二区三区四区| 日韩一区二区三区在线观看| 天堂影院一区二区| 日韩欧美一区中文| 久99久精品视频免费观看| 欧美mv日韩mv| 国产成人av电影在线| 欧美国产精品专区| 色伊人久久综合中文字幕| 亚洲成人手机在线| 在线播放亚洲一区| 国产在线一区观看| 国产精品麻豆视频| 色就色 综合激情| 日韩av二区在线播放| 精品国产乱码久久久久久牛牛| 日产精品久久久久久久性色| 精品奇米国产一区二区三区| 另类成人小视频在线| 国产天堂亚洲国产碰碰| 成人动漫av在线| 亚洲香肠在线观看| 日韩一区二区三区在线视频| 国产精品一区二区果冻传媒| 日韩毛片一二三区| 精品国产青草久久久久福利| 成人国产亚洲欧美成人综合网| 亚洲日本在线视频观看| 91精品欧美综合在线观看最新| 另类的小说在线视频另类成人小视频在线 | 七七婷婷婷婷精品国产| 2020国产精品久久精品美国| 99久久99久久免费精品蜜臀| 日日噜噜夜夜狠狠视频欧美人| 26uuu亚洲综合色| 91麻豆精品一区二区三区| 天天亚洲美女在线视频| 中文字幕国产一区| 欧美日韩成人在线| 成人性视频网站| 午夜成人在线视频| 国产精品久久久久久久裸模 | 久久久国产综合精品女国产盗摄| 99国内精品久久| 麻豆freexxxx性91精品| 亚洲日本在线视频观看| 久久综合久色欧美综合狠狠| 在线亚洲一区观看| 国产成人在线视频网站| 香蕉成人伊视频在线观看| 国产精品美女久久久久久久久久久| 制服丝袜日韩国产| av不卡一区二区三区| 国产在线视频不卡二| 午夜一区二区三区在线观看| 国产精品免费av| 日韩码欧中文字| 久久亚洲二区三区| 日韩三级伦理片妻子的秘密按摩| 色香蕉久久蜜桃| 成人福利视频在线| 国产精品一线二线三线| 日本女人一区二区三区| 亚洲国产sm捆绑调教视频| 日韩伦理电影网| 专区另类欧美日韩| 中文字幕一区在线| 久久精品夜夜夜夜久久| 精品日产卡一卡二卡麻豆| 制服.丝袜.亚洲.中文.综合| 91成人网在线| 色8久久人人97超碰香蕉987| 福利一区二区在线| 国产91精品在线观看| 国产乱码精品一区二区三区五月婷| 人妖欧美一区二区| 免费在线一区观看| 日本成人在线视频网站| 日本不卡一区二区| 五月婷婷久久丁香| 午夜精彩视频在线观看不卡| 午夜欧美电影在线观看| 亚洲电影一级黄| 日韩激情中文字幕| 日本不卡高清视频| 秋霞午夜鲁丝一区二区老狼| 裸体健美xxxx欧美裸体表演| 蜜桃视频第一区免费观看| 看片的网站亚洲| 国产一区二区三区| 国产宾馆实践打屁股91| 99久久99久久精品国产片果冻| 色综合天天综合网国产成人综合天 | 久久美女高清视频| 欧美国产精品劲爆| 亚洲欧美成人一区二区三区| 亚洲一线二线三线视频| 亚洲成人激情av| 蜜臀av国产精品久久久久 | 久久久噜噜噜久久中文字幕色伊伊 | 一区二区三区精品视频| 午夜伊人狠狠久久| a在线播放不卡| 在线观看国产91| 欧美一区日本一区韩国一区| 精品福利一二区| 亚洲四区在线观看| 五月天中文字幕一区二区| 紧缚捆绑精品一区二区| 99精品国产热久久91蜜凸| 欧美性大战久久久久久久| 精品美女一区二区三区| 国产精品毛片大码女人| 水野朝阳av一区二区三区| 国产一区二区毛片| 色婷婷激情久久| 精品国产百合女同互慰| 亚洲人亚洲人成电影网站色| 日韩精品色哟哟| 成人高清伦理免费影院在线观看| 欧美综合在线视频| 久久久久久麻豆| 午夜视频久久久久久| 成人av影视在线观看| 51精品秘密在线观看| 国产精品乱人伦一区二区| 日韩成人午夜精品| 播五月开心婷婷综合| 日韩欧美国产1| 一区二区三区在线观看欧美| 国产一区久久久| 欧美日韩精品高清| 自拍偷拍国产亚洲| 国产一区视频在线看| 欧美精三区欧美精三区| 亚洲欧洲精品天堂一级| 久久er99精品| 欧美美女网站色| 91黄色在线观看| 蓝色福利精品导航| 99久精品国产| 国产亚洲欧美一区在线观看| 一区二区三区四区视频精品免费| 国产精品中文字幕日韩精品| 欧美高清一级片在线| 中文字幕一区二区三区不卡| 久久er99精品| 日韩一级在线观看| 午夜精品久久久久久久99水蜜桃| 不卡欧美aaaaa| 日本一区二区三区免费乱视频| 免费成人你懂的| 91精品国产综合久久久久久久 | 99久久久国产精品免费蜜臀| 精品国产百合女同互慰| 美日韩一级片在线观看| 欧美天堂一区二区三区| 亚洲精品福利视频网站| 91亚洲精品久久久蜜桃网站| 国产午夜亚洲精品羞羞网站| 久草在线在线精品观看| 精品日韩在线一区| 国产一区啦啦啦在线观看| 久久久久久久久久久电影| 粉嫩在线一区二区三区视频| 欧美亚洲动漫精品| 亚洲宅男天堂在线观看无病毒| 97精品久久久久中文字幕 |