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

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

?? iic.src

?? 一個完整的51單片機的操作糸統源程序! 內容十分豐富!很有借鑒價值!
?? SRC
?? 第 1 頁 / 共 2 頁
字號:
; .\iic.SRC generated from: ..\SourceFile\iic.c
; COMPILER INVOKED BY:
;        C:\Program Files\Keil\C51\BIN\C51.EXE ..\SourceFile\iic.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\iic.lst) SRC(.\iic.SRC)

$NOMOD51

NAME	IIC

P0	DATA	080H
P1	DATA	090H
P2	DATA	0A0H
P3	DATA	0B0H
T0	BIT	0B0H.4
AC	BIT	0D0H.6
T1	BIT	0B0H.5
T2	BIT	090H.0
EA	BIT	0A8H.7
IE	DATA	0A8H
EXF2	BIT	0C8H.6
RD	BIT	0B0H.7
ES	BIT	0A8H.4
IP	DATA	0B8H
RI	BIT	098H.0
INT0	BIT	0B0H.2
CY	BIT	0D0H.7
TI	BIT	098H.1
INT1	BIT	0B0H.3
RCAP2H	DATA	0CBH
PS	BIT	0B8H.4
SP	DATA	081H
T2EX	BIT	090H.1
OV	BIT	0D0H.2
RCAP2L	DATA	0CAH
C_T2	BIT	0C8H.1
WR	BIT	0B0H.6
RCLK	BIT	0C8H.5
TCLK	BIT	0C8H.4
SBUF	DATA	099H
PCON	DATA	087H
SCON	DATA	098H
TMOD	DATA	089H
TCON	DATA	088H
IE0	BIT	088H.1
IE1	BIT	088H.3
AUXR	DATA	08EH
B	DATA	0F0H
CP_RL2	BIT	0C8H.0
ACC	DATA	0E0H
ET0	BIT	0A8H.1
ET1	BIT	0A8H.3
TF0	BIT	088H.5
ET2	BIT	0A8H.5
TF1	BIT	088H.7
TF2	BIT	0C8H.7
RB8	BIT	098H.2
TH0	DATA	08CH
EX0	BIT	0A8H.0
IT0	BIT	088H.0
TH1	DATA	08DH
TB8	BIT	098H.3
EX1	BIT	0A8H.2
IT1	BIT	088H.2
TH2	DATA	0CDH
P	BIT	0D0H.0
SM0	BIT	098H.7
TL0	DATA	08AH
SM1	BIT	098H.6
TL1	DATA	08BH
SM2	BIT	098H.5
TL2	DATA	0CCH
PT0	BIT	0B8H.1
PT1	BIT	0B8H.3
RS0	BIT	0D0H.3
PT2	BIT	0B8H.5
TR0	BIT	088H.4
RS1	BIT	0D0H.4
TR1	BIT	088H.6
SDA	BIT	0B0H.4
TR2	BIT	0C8H.2
PX0	BIT	0B8H.0
PX1	BIT	0B8H.2
DPH	DATA	083H
DPL	DATA	082H
IPH	DATA	0B7H
SCL	BIT	0B0H.5
EXEN2	BIT	0C8H.3
REN	BIT	098H.4
T2MOD	DATA	0C9H
T2CON	DATA	0C8H
SADEN	DATA	0B9H
RXD	BIT	0B0H.0
SADDR	DATA	0A9H
CKCON	DATA	08FH
TXD	BIT	0B0H.1
AUXR1	DATA	0A2H
F0	BIT	0D0H.5
PSW	DATA	0D0H
?PR?StartI2c?IIC     SEGMENT CODE 
?PR?StopI2c?IIC      SEGMENT CODE 
?PR?_SendByte?IIC    SEGMENT CODE 
?PR?RcvByte?IIC      SEGMENT CODE 
?PR?AckI2c?IIC       SEGMENT CODE 
?BI?AckI2c?IIC       SEGMENT BIT OVERLAYABLE 
?PR?_iic_send_byte?IIC                   SEGMENT CODE 
?PR?_iic_rcv_byte?IIC                    SEGMENT CODE 
?PR?_iic_send_str?IIC                    SEGMENT CODE 
?XD?_iic_send_str?IIC                    SEGMENT XDATA OVERLAYABLE 
?PR?_iic_rcv_str?IIC SEGMENT CODE 
?XD?_iic_rcv_str?IIC SEGMENT XDATA OVERLAYABLE 
?PR?_iiv_send_long_str?IIC               SEGMENT CODE 
?XD?_iiv_send_long_str?IIC               SEGMENT XDATA OVERLAYABLE 
?PR?_iic_rcv_long_str?IIC                SEGMENT CODE 
?XD?_iic_rcv_long_str?IIC                SEGMENT XDATA OVERLAYABLE 
?BI?IIC              SEGMENT BIT 
?ID?_SendByte?IIC    SEGMENT IDATA OVERLAYABLE 
?ID?RcvByte?IIC      SEGMENT IDATA OVERLAYABLE 
?ID?_iic_send_str?IIC                    SEGMENT IDATA OVERLAYABLE 
?ID?_iic_rcv_str?IIC SEGMENT IDATA OVERLAYABLE 
?ID?_iiv_send_long_str?IIC               SEGMENT IDATA OVERLAYABLE 
?ID?_iic_rcv_long_str?IIC                SEGMENT IDATA OVERLAYABLE 
	EXTRN	CODE (?C?CLDPTR)
	EXTRN	CODE (?C?CSTPTR)
	PUBLIC	ack
	PUBLIC	?_iic_rcv_long_str?BYTE
	PUBLIC	_iic_rcv_long_str
	PUBLIC	?_iiv_send_long_str?BYTE
	PUBLIC	_iiv_send_long_str
	PUBLIC	?_iic_rcv_str?BYTE
	PUBLIC	_iic_rcv_str
	PUBLIC	?_iic_send_str?BYTE
	PUBLIC	_iic_send_str
	PUBLIC	_iic_rcv_byte
	PUBLIC	_iic_send_byte

	RSEG  ?XD?_iic_rcv_str?IIC
?_iic_rcv_str?BYTE:
SlaveAddress?854:   DS   1
    address?855:   DS   1
     source?856:   DS   3
        len?857:   DS   1

	RSEG  ?XD?_iiv_send_long_str?IIC
?_iiv_send_long_str?BYTE:
SlaveAddress?959:   DS   1
    address?960:   DS   2
     source?961:   DS   3
        len?962:   DS   1

	RSEG  ?XD?_iic_rcv_long_str?IIC
?_iic_rcv_long_str?BYTE:
SlaveAddress?1064:   DS   1
   address?1065:   DS   2
    source?1066:   DS   3
       len?1067:   DS   1

	RSEG  ?XD?_iic_send_str?IIC
?_iic_send_str?BYTE:
SlaveAddress?749:   DS   1
    address?750:   DS   1
     source?751:   DS   3
        len?752:   DS   1

	RSEG  ?BI?AckI2c?IIC
?AckI2c?BIT:
      bFlag?444:   DBIT   1

	RSEG  ?BI?IIC
            ack:   DBIT   1

	RSEG  ?ID?_SendByte?IIC
          i?241:   DS   1

	RSEG  ?ID?RcvByte?IIC
          i?342:   DS   1

	RSEG  ?ID?RcvByte?IIC
       retc?343:   DS   1

	RSEG  ?ID?_iic_send_str?IIC
          i?753:   DS   1

	RSEG  ?ID?_iic_rcv_str?IIC
          i?858:   DS   1

	RSEG  ?ID?_iiv_send_long_str?IIC
          i?963:   DS   1

	RSEG  ?ID?_iic_rcv_long_str?IIC
         i?1068:   DS   1
; /*************************************************/
; 
; /*****************I2C串行總線********************/
; 
; /****************2003年1月15日*******************/
; 
; /************WROTE BY ZLGMCU********************/
; 
; /************MODIFY BY WANGSW********************/
; 
; 
;   
; #include <intrins.h>              
; #include "reg52x2.h"           /*頭文件的包含*/
; 
; #include "define.h"
; #include "interrupt.h"
; #include "iic.h"
; 
; 
;                                                  /*端口位定義*/
; sbit SDA=P3^4;            /*模擬I2C數據傳送位*/
; sbit SCL=P3^5;            /*模擬I2C時鐘控制位*/
; 
;                                                  /*狀態標志*/
; bool ack;	         /*應答標志位*/
; 
; static void StartI2c(void);
; static void StopI2c(void);
; static bool SendByte(byte value);
; static byte RcvByte(void);
; static void AckI2c(bool bFlag);
; 
; 
; /**********************************************************************/
; 
; 
; 
; static void StartI2c()

	RSEG  ?PR?StartI2c?IIC
StartI2c:
			; SOURCE LINE # 39
; {
			; SOURCE LINE # 40
; 	SDA = 1;   /*發送起始條件的數據信號*/
			; SOURCE LINE # 41
	SETB 	SDA
; 	//_nop_();
; 	SCL = 1;
			; SOURCE LINE # 43
	SETB 	SCL
; 	//_nop_();
; 	SDA = 0;   /*發送起始信號*/
			; SOURCE LINE # 45
	CLR  	SDA
; 	//_nop_();
; 	SCL = 0;   /*鉗住I2C總線,準備發送或接收數據 */
			; SOURCE LINE # 47
	CLR  	SCL
; }
			; SOURCE LINE # 48
	RET  	
; END OF StartI2c

; 
; static void StopI2c()

	RSEG  ?PR?StopI2c?IIC
StopI2c:
			; SOURCE LINE # 50
; {
			; SOURCE LINE # 51
; 	SDA = 0;  /*發送結束條件的數據信號*/
			; SOURCE LINE # 52
	CLR  	SDA
; 	//_nop_();
; 	SCL = 1;  /*結束條件建立時間大于4μs*/
			; SOURCE LINE # 54
	SETB 	SCL
; 	//_nop_();
; 	SDA = 1;  /*發送I2C總線結束信號*/
			; SOURCE LINE # 56
	SETB 	SDA
; }
			; SOURCE LINE # 57
	RET  	
; END OF StopI2c

; 
; static bool SendByte(byte value)

	RSEG  ?PR?_SendByte?IIC
L?0050:
	USING	0
	LCALL	StartI2c
_SendByte:
	USING	0
			; SOURCE LINE # 59
;---- Variable 'value?240' assigned to Register 'R7' ----
; {
			; SOURCE LINE # 60
; 	byte idata i;
; 	
; 	for(i = 0; i < 8; i++)  /*要傳送的數據長度為8位*/
			; SOURCE LINE # 63
	CLR  	A
	MOV  	R0,#LOW (i?241)
	MOV  	@R0,A
?C0003:
	MOV  	R0,#LOW (i?241)
	MOV  	A,@R0
	MOV  	R6,A
	CLR  	C
	SUBB 	A,#08H
	JNC  	?C0004
; 	{
			; SOURCE LINE # 64
; 		SCL = 0;
			; SOURCE LINE # 65
	CLR  	SCL
; 		
; 	    	SDA = (value >> (7 - i))&0x01;
			; SOURCE LINE # 67
	CLR  	C
	MOV  	A,#07H
	SUBB 	A,R6
	MOV  	R6,A
	MOV  	A,R7
	MOV  	R0,AR6
	INC  	R0
	SJMP 	?C0049
?C0048:
	CLR  	C
	RRC  	A
?C0049:
	DJNZ 	R0,?C0048
	RRC  	A
	MOV  	SDA,C
; 	    //	_nop_();
; 	    	SCL = 1;               /*置時鐘線為高,通知被控器開始接收數據位*/    
			; SOURCE LINE # 69
	SETB 	SCL
; 	    //	_nop_();
; 	}
			; SOURCE LINE # 71
	MOV  	R0,#LOW (i?241)
	INC  	@R0
	SJMP 	?C0003
?C0004:
; 	
; 	SCL = 0;
			; SOURCE LINE # 73
	CLR  	SCL
; 	//_nop_();
; 	SDA = 1;               /*8位發送完后釋放數據線,準備接收應答位*/
			; SOURCE LINE # 75
	SETB 	SDA
; 	//_nop_();
; 	SCL = 1;
			; SOURCE LINE # 77
	SETB 	SCL
; 	_nop_();
			; SOURCE LINE # 78
	NOP  	
; 	ack = ~SDA;
			; SOURCE LINE # 79
	MOV  	C,SDA
	CPL  	C
	MOV  	ack,C
; 	//_nop_();
; 	SCL = 0;
			; SOURCE LINE # 81
	CLR  	SCL
; 	
; 	return(ack);
			; SOURCE LINE # 83
	MOV  	C,ack
; }
			; SOURCE LINE # 84
?C0006:
	RET  	
; END OF _SendByte

; 
; static byte RcvByte()

	RSEG  ?PR?RcvByte?IIC
RcvByte:
	USING	0
			; SOURCE LINE # 86
; {
			; SOURCE LINE # 87
; 	byte idata i;
; 	byte idata retc;
; 
; 	retc = 0; 
			; SOURCE LINE # 91
	CLR  	A
	MOV  	R0,#LOW (retc?343)
	MOV  	@R0,A
; 	SDA = 1;             /*置數據線為輸入方式*/
			; SOURCE LINE # 92
	SETB 	SDA
; 	
; 	for(i = 0; i < 8; i++)
			; SOURCE LINE # 94
	DEC  	R0
	MOV  	@R0,A
?C0007:
; 	{
			; SOURCE LINE # 95
; 	    	SCL = 0;       /*置時鐘線為低,準備接收數據位*/
			; SOURCE LINE # 96
	CLR  	SCL
; 	    	_nop_();		/*重要的延時wangsw add for emphasis*/
			; SOURCE LINE # 97
	NOP  	
; 	    	_nop_();			
			; SOURCE LINE # 98
	NOP  	
; 	    	SCL = 1;       /*置時鐘線為高使數據線上數據有效*/ 
			; SOURCE LINE # 99
	SETB 	SCL
; 	    	//_nop_();
; 	    	retc = retc << 1;
			; SOURCE LINE # 101
	MOV  	R0,#LOW (retc?343)
	MOV  	A,@R0
	ADD  	A,ACC
	MOV  	@R0,A
; 	 	if(SDA)
			; SOURCE LINE # 102
	JNB  	SDA,?C0009
; 	  	{
			; SOURCE LINE # 103
; 	       	 retc = retc + 1; /*讀數據位,接收的數據位放入retc中 */
			; SOURCE LINE # 104
	INC  	@R0
; 		}
			; SOURCE LINE # 105
; 	}
			; SOURCE LINE # 106
?C0009:
	MOV  	R0,#LOW (i?342)
	INC  	@R0
	MOV  	A,@R0
	CJNE 	A,#08H,?C0007
?C0008:
; 	SCL = 0;    
			; SOURCE LINE # 107
	CLR  	SCL
; 	
; 	return(retc);
			; SOURCE LINE # 109
	MOV  	R0,#LOW (retc?343)
	MOV  	A,@R0
	MOV  	R7,A
; }
			; SOURCE LINE # 110
?C0011:
	RET  	
; END OF RcvByte

; 
; static void AckI2c(bool bFlag)

	RSEG  ?PR?AckI2c?IIC
L?0051:
	USING	0
	MOV  	A,R7
	LCALL	?C?CSTPTR
	CLR  	?AckI2c?BIT
AckI2c:
			; SOURCE LINE # 112
; {
			; SOURCE LINE # 113
; 	SDA = bFlag;
			; SOURCE LINE # 114
	MOV  	C,bFlag?444
	MOV  	SDA,C
; 	//_nop_();
; 	SCL = 1;
			; SOURCE LINE # 116
	SETB 	SCL
; 	//_nop_();
; 	SCL = 0;                /*清時鐘線,鉗住I2C總線以便繼續接收*/ 
			; SOURCE LINE # 118
	CLR  	SCL
; }
			; SOURCE LINE # 119
	RET  	
; END OF AckI2c

; 
; 
; /***************************************************************/
; 
; 
; extern bool iic_send_byte(byte SlaveAddress, byte value)

	RSEG  ?PR?_iic_send_byte?IIC
_iic_send_byte:
	USING	0
			; SOURCE LINE # 125
;---- Variable 'value?546' assigned to Register 'R5' ----
;---- Variable 'SlaveAddress?545' assigned to Register 'R7' ----
; {
			; SOURCE LINE # 126
;    	StartI2c();               /*啟動總線*/
			; SOURCE LINE # 127
;    	
;    	if(!SendByte(SlaveAddress))            /*發送器件地址*/
			; SOURCE LINE # 129
	LCALL	L?0050
	JC   	?C0013
;    	{
			; SOURCE LINE # 130
;    		return(FALSE);
			; SOURCE LINE # 131
	RET  	
;    	}
			; SOURCE LINE # 132
?C0013:
;    	
;    	if(!SendByte(value))               /*發送數據*/
			; SOURCE LINE # 134
	MOV  	R7,AR5
	LCALL	_SendByte
	JC   	?C0015
;    	{
			; SOURCE LINE # 135
;    		return(FALSE);
			; SOURCE LINE # 136
	RET  	
;    	}
			; SOURCE LINE # 137
?C0015:
;    	
;   	StopI2c();                 /*結束總線*/ 
			; SOURCE LINE # 139
	LCALL	StopI2c
;   	
;    	return(TRUE);
			; SOURCE LINE # 141
	SETB 	C
; }
			; SOURCE LINE # 142
?C0014:
	RET  	
; END OF _iic_send_byte

; 
; 
; 
; extern bool iic_rcv_byte(byte SlaveAddress, byte value)

	RSEG  ?PR?_iic_rcv_byte?IIC
_iic_rcv_byte:
	USING	0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合激情小说| 五月天国产精品| 欧美日韩国产高清一区| 国产999精品久久久久久| 亚洲国产成人tv| 国产精品视频免费看| 欧美一级欧美三级在线观看| 91美女视频网站| 国产伦精品一区二区三区免费迷 | 91九色02白丝porn| 国产精品自在在线| 久久爱另类一区二区小说| 亚洲综合免费观看高清完整版在线 | a亚洲天堂av| 激情亚洲综合在线| 肉肉av福利一精品导航| 亚洲视频一二区| 国产精品视频线看| 国产婷婷一区二区| 欧美变态tickle挠乳网站| 欧美欧美欧美欧美首页| 在线视频国内自拍亚洲视频| 成人黄色电影在线| 成人自拍视频在线观看| 国产麻豆视频一区| 精品一区二区在线观看| 日韩电影在线免费| 午夜亚洲福利老司机| 一区二区三区精品视频在线| 国产精品久久久久久久久晋中| 精品国产一区二区三区不卡| 日韩一区二区电影网| 91精品国产综合久久久久久久 | 中文字幕一区二区三区四区不卡| 日韩一卡二卡三卡| 91精品国产手机| 91精品婷婷国产综合久久 | 欧美伦理视频网站| 欧美三电影在线| 欧美高清精品3d| 在线成人午夜影院| 91精品视频网| 欧美一激情一区二区三区| 欧美videos大乳护士334| 日韩精品一区二区三区蜜臀| 日韩精品一区二区三区蜜臀| 亚洲精品在线免费播放| 国产三级精品视频| 一色桃子久久精品亚洲| 亚洲欧美乱综合| 一区2区3区在线看| 午夜精品久久久久久久99樱桃| 日产欧产美韩系列久久99| 美国一区二区三区在线播放| 国产在线观看免费一区| 不卡欧美aaaaa| 91国偷自产一区二区三区观看 | 欧美日韩亚洲不卡| 欧美一区2区视频在线观看| 欧美成人精品福利| 欧美激情一区二区三区不卡| 亚洲免费在线电影| 日韩国产精品久久久久久亚洲| 精久久久久久久久久久| 成人av在线一区二区三区| 91美女视频网站| 欧美日韩精品免费观看视频| 亚洲精品一区二区三区福利 | 亚洲自拍偷拍av| 日本亚洲欧美天堂免费| 国产精品自拍一区| 日本高清成人免费播放| 欧美一区二区三区喷汁尤物| 国产欧美一二三区| 亚洲伊人伊色伊影伊综合网| 三级欧美在线一区| 成人免费视频网站在线观看| 91黄色激情网站| 精品国产露脸精彩对白| 日韩一区欧美小说| 日本美女一区二区三区视频| 国产精品一区二区你懂的| 欧美丝袜自拍制服另类| 久久久高清一区二区三区| 国产精品不卡视频| 日本成人在线看| 色婷婷一区二区| 精品播放一区二区| 夜色激情一区二区| 国产不卡免费视频| 69堂成人精品免费视频| 国产精品久久二区二区| 日韩激情一二三区| 成人动漫一区二区在线| 日韩午夜中文字幕| 一区二区三区欧美视频| 韩国在线一区二区| 欧美日韩视频不卡| 中文字幕一区二区三区不卡在线 | 国产一区二区视频在线播放| 欧美亚洲丝袜传媒另类| 久久精品日韩一区二区三区| 亚洲亚洲精品在线观看| 91香蕉视频在线| 久久久国产综合精品女国产盗摄| 日韩成人一区二区| 欧美日韩精品三区| 亚洲三级理论片| 成人黄色国产精品网站大全在线免费观看 | 国产一区二区三区在线看麻豆| 欧美精品色综合| 一区二区三区精品视频| 成人av网址在线观看| 久久综合成人精品亚洲另类欧美 | 成av人片一区二区| 久久午夜免费电影| 久久69国产一区二区蜜臀| 欧美日韩一区 二区 三区 久久精品| 中文字幕日本不卡| 成人av在线一区二区| 国产欧美一区二区精品久导航| 激情深爱一区二区| 欧美不卡在线视频| 黄一区二区三区| 精品成人私密视频| 韩日精品视频一区| 2024国产精品| 国产精品中文字幕日韩精品| 久久你懂得1024| 国产一区二区精品在线观看| 精品国产成人系列| 久久av中文字幕片| 精品国产伦一区二区三区观看方式| 免费在线欧美视频| 91精品婷婷国产综合久久性色 | 欧美性一区二区| 一区2区3区在线看| 欧美午夜不卡在线观看免费| 亚洲黄色小视频| 色久优优欧美色久优优| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩中文国产| 婷婷综合久久一区二区三区| 56国语精品自产拍在线观看| 久久成人综合网| 26uuu国产一区二区三区| 国产九色sp调教91| 亚洲欧洲色图综合| 日本精品视频一区二区| 亚洲国产另类av| 日韩你懂的在线播放| 国产伦精品一区二区三区免费 | 亚洲综合在线电影| 欧美影片第一页| 日韩成人一级片| 国产午夜精品一区二区三区视频| 成人小视频免费观看| 亚洲视频中文字幕| 91精品国产综合久久福利软件| 狠狠色丁香婷婷综合| 亚洲国产精品成人综合色在线婷婷| 91丝袜国产在线播放| 天天综合天天综合色| 久久―日本道色综合久久| 成人一级视频在线观看| 亚洲国产日韩a在线播放| 日韩欧美国产麻豆| 高清国产一区二区| 亚洲高清不卡在线观看| 欧美www视频| 色综合久久久久| 免费观看日韩电影| 国产清纯美女被跳蛋高潮一区二区久久w| 99久久精品国产精品久久 | av亚洲精华国产精华| 亚洲一区在线免费观看| 久久蜜桃一区二区| 欧美午夜精品一区二区蜜桃| 国内精品不卡在线| 亚洲精品国产a久久久久久 | 欧美性色黄大片| 国产电影一区在线| 午夜视频在线观看一区| 国产精品欧美综合在线| 欧美精品高清视频| 成人动漫视频在线| 久久精品国产精品青草| 伊人性伊人情综合网| 久久久久久久免费视频了| 欧美在线观看一区二区| 国产成+人+日韩+欧美+亚洲| 日韩一区精品视频| 亚洲欧美色综合| 国产三区在线成人av| 欧美久久免费观看| 色美美综合视频| 成人精品国产福利| 久久97超碰国产精品超碰| 午夜欧美视频在线观看| 中文字幕亚洲一区二区av在线 |