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

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

?? iic.src

?? 單片機實現消息隊列的例子
?? 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一区二区三区免费野_久草精品视频
久久综合久久99| 中文幕一区二区三区久久蜜桃| 国产精品久久精品日日| 国产综合成人久久大片91| 日韩欧美在线1卡| 国产精品一卡二卡在线观看| 欧美极品美女视频| 成人av影视在线观看| 国产精品福利av| 欧美日韩国产欧美日美国产精品| 亚洲一区二区三区四区在线免费观看 | 欧美另类高清zo欧美| 亚洲成人一区二区| 精品久久久久久综合日本欧美| 日本最新不卡在线| 久久精品人人做人人综合| 久久亚洲捆绑美女| 成人sese在线| 秋霞影院一区二区| 国产精品久线观看视频| 欧美挠脚心视频网站| 成人av在线资源| 捆绑调教美女网站视频一区| 中文字幕一区二区不卡| 亚洲天堂成人在线观看| 国产成人在线看| 国产天堂亚洲国产碰碰| 91精品国产综合久久精品| 99免费精品在线观看| 国产91对白在线观看九色| 婷婷一区二区三区| 亚洲国产中文字幕在线视频综合| 久久精品一区二区三区四区| 精品国产乱码久久久久久浪潮| 欧美午夜不卡在线观看免费| 色悠久久久久综合欧美99| 99在线精品观看| 欧美午夜不卡在线观看免费| 成人h版在线观看| 色先锋久久av资源部| 91亚洲男人天堂| 欧美夫妻性生活| 欧美日韩国产欧美日美国产精品| 欧美日韩国产综合久久| 91精品国产综合久久精品麻豆 | 奇米影视一区二区三区| 蜜臀va亚洲va欧美va天堂| 蜜臀a∨国产成人精品| 久久99国产精品免费网站| 粉嫩嫩av羞羞动漫久久久| 91网站最新地址| 欧美一区二区三区公司| 国产精品色婷婷| 日韩国产精品大片| 国产成人精品三级麻豆| 色综合天天性综合| 麻豆精品在线看| 成人国产亚洲欧美成人综合网| 欧美性淫爽ww久久久久无| 久久久久久免费网| 亚洲一区在线播放| 国产一区二区三区四区五区入口| 99久久婷婷国产| 国产亚洲欧美激情| 亚洲一区二区综合| 99久久婷婷国产综合精品| 久久久影视传媒| 五月激情综合色| 色女孩综合影院| 洋洋成人永久网站入口| 99久久精品国产一区| 国产日韩欧美综合一区| 极品少妇一区二区三区精品视频 | 毛片一区二区三区| 91精品福利在线一区二区三区| 综合色天天鬼久久鬼色| 成人一区二区三区视频在线观看| 91精品国产日韩91久久久久久| 亚洲精品乱码久久久久久黑人| 国产精品亚洲人在线观看| 国产亚洲欧洲一区高清在线观看| 麻豆freexxxx性91精品| 欧美成va人片在线观看| 国产福利91精品一区二区三区| 国产日韩欧美不卡| 色噜噜久久综合| 婷婷综合另类小说色区| 精品美女在线播放| 裸体在线国模精品偷拍| 宅男噜噜噜66一区二区66| 国产在线精品一区在线观看麻豆| 欧美成人一级视频| 色综合av在线| 国产一区二区三区| 综合久久国产九一剧情麻豆| 欧美日韩国产123区| 国产91高潮流白浆在线麻豆| 亚洲人精品午夜| 337p亚洲精品色噜噜噜| 成人黄色777网| 麻豆91在线观看| 亚洲最新视频在线播放| 国产亚洲1区2区3区| 日本高清不卡在线观看| 国产一区不卡在线| 日本成人在线网站| 亚洲免费观看在线视频| 久久久91精品国产一区二区精品 | 亚洲国产精品久久久久秋霞影院 | 久久99精品国产麻豆婷婷| 欧美精品一区二区三区视频| 色噜噜狠狠色综合欧洲selulu| 国产曰批免费观看久久久| 日韩av高清在线观看| 日产国产欧美视频一区精品| 天堂一区二区在线免费观看| 亚洲三级小视频| 国产精品短视频| 亚洲激情图片一区| 一区二区三区小说| 亚洲午夜影视影院在线观看| 亚洲免费成人av| 亚洲人成在线播放网站岛国| 亚洲色图一区二区三区| 亚洲丝袜自拍清纯另类| 亚洲va韩国va欧美va| 日韩电影在线一区二区三区| 水蜜桃久久夜色精品一区的特点| 亚洲午夜一区二区三区| 美女网站在线免费欧美精品| 老司机精品视频线观看86| 国产91在线|亚洲| 不卡一区二区中文字幕| 欧美精品一卡二卡| 国产午夜精品一区二区三区视频 | 精品国产一区二区在线观看| 久久久蜜臀国产一区二区| 国产精品免费丝袜| 亚洲bdsm女犯bdsm网站| 国内精品国产成人| 91丨九色丨尤物| 欧美日本在线观看| 中日韩免费视频中文字幕| 午夜视频在线观看一区| 99这里只有久久精品视频| 欧美一级国产精品| 亚洲视频免费在线| 国产精品自产自拍| 欧美日本一区二区| 国产精品国产三级国产有无不卡| 五月天中文字幕一区二区| 成人ar影院免费观看视频| 久久久久免费观看| 久久99精品一区二区三区三区| 色婷婷综合久久久中文字幕| 久久女同精品一区二区| 久久精品国产秦先生| 91精品欧美久久久久久动漫| 亚洲狠狠爱一区二区三区| 色综合一个色综合| 亚洲精品视频在线观看网站| av一区二区三区在线| 欧美国产精品一区二区| zzijzzij亚洲日本少妇熟睡| 久久精品人人做人人爽人人| 国产在线精品不卡| 久久久久国产一区二区三区四区| 美女网站在线免费欧美精品| www精品美女久久久tv| 国产91露脸合集magnet| 亚洲精品国产成人久久av盗摄 | 成人av动漫网站| 一区二区三区精品久久久| 欧美午夜精品一区| 国产在线观看免费一区| 亚洲精品成人精品456| 欧美丰满嫩嫩电影| 国产99精品国产| 污片在线观看一区二区| 国产视频911| 777午夜精品视频在线播放| 国产精品一区二区黑丝| 亚洲另类在线制服丝袜| 久久精品网站免费观看| 欧美色图天堂网| 国产成人av电影在线| 日韩av在线播放中文字幕| 日本一区二区久久| 精品噜噜噜噜久久久久久久久试看| 菠萝蜜视频在线观看一区| 日韩综合小视频| 一区二区三区丝袜| 国产精品久久一级| 国产日韩欧美一区二区三区乱码| 欧美在线不卡一区| 白白色 亚洲乱淫| 国产精品99久久久久久有的能看 | 亚洲人一二三区| 亚洲国产精品成人综合色在线婷婷 | 欧美三区免费完整视频在线观看|