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

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

?? i2ce2prom.lst

?? 本人改編和測(cè)試過(guò)的用于AVR mega128關(guān)于I2C總線的應(yīng)用實(shí)例--使用EEPROM的讀寫(xiě)方法。采用ICCAVR編譯器實(shí)驗(yàn)。
?? LST
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
__text_start:
__start:
      66 EFCF      LDI	R28,0xFF
      67 E2D1      LDI	R29,0x21
      68 BFCD      OUT	0x3D,R28
      69 BFDE      OUT	0x3E,R29
      6A 52C0      SUBI	R28,0x20
      6B 40D0      SBCI	R29,0
      6C EA0A      LDI	R16,0xAA
      6D 8308      STD	Y+0,R16
      6E 2400      CLR	R0
      6F E0E0      LDI	R30,0
      70 E0F2      LDI	R31,2
      71 E012      LDI	R17,2
      72 31EA      CPI	R30,0x1A
      73 07F1      CPC	R31,R17
      74 F011      BEQ	0x0077
      75 9201      ST	R0,Z+
      76 CFFB      RJMP	0x0072
      77 8300      STD	Z+0,R16
      78 ECEC      LDI	R30,0xCC
      79 E0F0      LDI	R31,0
      7A E0A0      LDI	R26,0
      7B E0B2      LDI	R27,2
      7C E010      LDI	R17,0
      7D E000      LDI	R16,0
      7E BF0B      OUT	0x3B,R16
      7F 3CEC      CPI	R30,0xCC
      80 07F1      CPC	R31,R17
      81 F021      BEQ	0x0086
      82 95C8      LPM
      83 9631      ADIW	R30,1
      84 920D      ST	R0,X+
      85 CFF9      RJMP	0x007F
      86 940E 00CC CALL	_main
_exit:
      88 CFFF      RJMP	_exit
_EEPROM_Write:
  Data                 --> Y,+5
  M_ADD                --> R10
  H_ADD                --> R12
      89 940E 01AD CALL	push_xgset003C
      8B 0159      MOVW	R10,R18
      8C 2EC0      MOV	R12,R16
      8D 9721      SBIW	R28,1
FILE: E:\MyWorks\SOFT\I2C_E2PROM\I2C_Demo.c
(0001) // ***************   I2C driver Demo V 1.0   *************
(0002) // IO模擬方式的I2C接口操作
(0003) // *******************************************************
(0004) 
(0005) #include <iom1281v.h>
(0006) #include <MACROS.h>
(0007) 
(0008) #include <DC_Defines.h>
(0009) 
(0010) #include "I2C.h"
(0011) 
(0012) 
(0013) 
(0014) void EEPROM_Write(unsigned char, unsigned int, unsigned char);
(0015) unsigned char EEPROM_Read(unsigned char, unsigned int);
(0016) 
(0017) 
(0018) // **************************************************************** //
(0019) // ***                     Init_I2C();							*** //
(0020) // *** This routine will setup the I2C port direction registers *** //
(0021) // **************************************************************** //
(0022) 
(0023) // ***************************************************************** //
(0024) // ***                     I2C_Start();	 		  		 	   	 *** //
(0025) // *** This routine will set the I2C start condition on the bus, *** //
(0026) // *** All commands must be preceded by a START condition 		 *** //
(0027) // ***************************************************************** //
(0028) 
(0029) // ***************************************************************** //
(0030) // ***                     I2C_Stop();	 		  		 	   	 *** //
(0031) // *** This routine will set the I2C stop condition on the bus,  *** //
(0032) // *** All commands must end with a STOP condition 		         *** //
(0033) // ***************************************************************** //
(0034) 
(0035) // *********************************************************************** //
(0036) // ***                Write_I2C_Control(0x0A,0,0);	  		  	       *** //
(0037) // *** This routine will write the I2C device code, the device address *** //
(0038) // *** setup on the hardware pins A0,A1 & A2, and also the W/R bit     *** //
(0039) // *** So for an external EEPROM, such as the 24LC04B you would need   *** //
(0040) // *** a device code of 1010 (0x0A),   	  	  		  	  			   *** //
(0041) // *** hardware address 0 (if pins A0,A1 & A2 are left unconnected,    *** //
(0042) // *** and the last parameter is R/W. Write is active low			   *** //
(0043) // *********************************************************************** //
(0044) 
(0045) // *********************************************************************** //
(0046) // ***                          I2C_Ackn();							   *** //
(0047) // *** This routine will clock the ACK bit from the I2C slave device   *** //
(0048) // *** it will return TRUE for a fail, and FALSE for a correct ACK bit *** //
(0049) // *********************************************************************** //
(0050) 
(0051) // ************************************************************** //
(0052) // ***                     Write_I2C_Byte();				  *** //
(0053) // *** This routine will clock a byte to the slave I2C device *** //
(0054) // ************************************************************** //
(0055) 
(0056) // ************************************************************************** //
(0057) // ***                       Read_I2C_Byte();					          *** //
(0058) // *** This routine will read and return a byte from the I2C slave device *** //
(0059) // ************************************************************************** //
(0060) 
(0061) 
(0062) 
(0063) // *********************************************************************** //
(0064) // ***                 Example of using Imagecraft I2C driver          *** //
(0065) // ***              to write to an external 8 bit address EEPROM       *** //
(0066) // *** H_ADD is the hardware address set on the device A0,A1 & A2 pins *** //
(0067) // *** M_ADD is the devices internal memory address                    *** //
(0068) // *** Data is user data to be writen 								   *** //
(0069) // *********************************************************************** //
(0070) 
(0071) void EEPROM_Write(unsigned char H_ADD, unsigned int M_ADD, unsigned char Data)
(0072) {
(0073)  I2C_Start();			   			   // Set I2C start condition
      8E 940E 0112 CALL	_I2C_Start
(0074) 
(0075)  Write_I2C_Control(0x0A,H_ADD,0);	   // Send the EEPROM control Byte
      90 2422      CLR	R2
      91 8228      STD	Y+0,R2
      92 2D2C      MOV	R18,R12
      93 E00A      LDI	R16,0xA
      94 940E 0158 CALL	_Write_I2C_Control
(0076) 
(0077)  Write_I2C_Byte(M_ADD>>8);				   // Send the EEPROM internal Address higher byte.
      96 0185      MOVW	R16,R10
      97 2F01      MOV	R16,R17
      98 2711      CLR	R17
      99 940E 0121 CALL	_Write_I2C_Byte
(0078)  
(0079)  Write_I2C_Byte(M_ADD);            // Send the EEPROM internal Address lower byte.
      9B 2D0A      MOV	R16,R10
      9C 940E 0121 CALL	_Write_I2C_Byte
(0080)  
(0081)  Write_I2C_Byte(Data);				   // Send the EEPROM Data
      9E 810D      LDD	R16,Y+5
      9F 940E 0121 CALL	_Write_I2C_Byte
(0082)  
(0083)  I2C_Stop();	  					   // Set I2C Stop condition
      A1 940E 0117 CALL	_I2C_Stop
      A3 9621      ADIW	R28,1
      A4 940C 01A2 JMP	pop_xgset003C
_EEPROM_Read:
  Temp                 --> R10
  M_ADD                --> R12
  H_ADD                --> R10
      A6 940E 01AD CALL	push_xgset003C
      A8 0169      MOVW	R12,R18
      A9 2EA0      MOV	R10,R16
      AA 9721      SBIW	R28,1
(0084) }
(0085) 
(0086) 
(0087) 
(0088) // *********************************************************************** //
(0089) // ***              Example of using Imagecraft I2C driver             *** //
(0090) // ***            to Read an external 8 bit address EEPROM             *** //
(0091) // *** H_ADD is the hardware address set on the device A0,A1 & A2 pins *** //
(0092) // *** M_ADD is the devices internal memory address                    *** //
(0093) // *** Data is user data to be writen 								   *** //
(0094) // *********************************************************************** //
(0095) 
(0096) unsigned char EEPROM_Read(unsigned char H_ADD, unsigned int M_ADD)
(0097) {
(0098)  unsigned char Temp;			   		// Temp RAM for EEPROM Read
(0099)  
(0100)  I2C_Start();			   			   // Set I2C start condition
      AB 940E 0112 CALL	_I2C_Start
(0101) 
(0102)  Write_I2C_Control(0x0A,H_ADD,0);	   // Send the EEPROM control Byte
      AD 2422      CLR	R2
      AE 8228      STD	Y+0,R2
      AF 2D2A      MOV	R18,R10
      B0 E00A      LDI	R16,0xA
      B1 940E 0158 CALL	_Write_I2C_Control
(0103)  									   // Dummy write to set address
(0104) 
(0105)  Write_I2C_Byte(M_ADD>>8);				// Send the EEPROM internal Address Higher byte.
      B3 0186      MOVW	R16,R12
      B4 2F01      MOV	R16,R17
      B5 2711      CLR	R17
      B6 940E 0121 CALL	_Write_I2C_Byte
(0106)  Write_I2C_Byte(M_ADD);     // Send the EEPROM internal Address lower byte.
      B8 2D0C      MOV	R16,R12
      B9 940E 0121 CALL	_Write_I2C_Byte
(0107)  
(0108)  I2C_Start();			   			   // Set I2C start condition
      BB 940E 0112 CALL	_I2C_Start
(0109)  
(0110)  Write_I2C_Control(0x0A,H_ADD,1);	   // Send the EEPROM control Byte
      BD E081      LDI	R24,1
      BE 8388      STD	Y+0,R24
      BF 2D2A      MOV	R18,R10
      C0 E00A      LDI	R16,0xA
      C1 940E 0158 CALL	_Write_I2C_Control
(0111)  
(0112)  Temp = Read_I2C_Byte();			   // Read data from EEPROM
      C3 940E 013B CALL	_Read_I2C_Byte
      C5 2EA0      MOV	R10,R16
(0113)  
(0114)  I2C_Stop();	  					   // Set I2C Stop condition
      C6 940E 0117 CALL	_I2C_Stop
(0115) 
(0116)  return Temp;						   // Return data from EEPROM
      C8 2D0A      MOV	R16,R10
      C9 9621      ADIW	R28,1
      CA 940C 01A2 JMP	pop_xgset003C
_main:
  k                    --> R12
  data                 --> Y,+1
  j                    --> R10
  i                    --> R22
  c                    --> R20
      CC 9722      SBIW	R28,2
(0117) }
(0118) 
(0119) 
(0120) 
(0121) 
(0122) //AT24C512B使用2BYTE片內(nèi)地址。
(0123) unsigned char bf[26];
(0124) void main (void)
(0125) {
(0126)   unsigned int i;
(0127)   unsigned char j, k;
(0128)   unsigned int c;			  // Temp Ram used for write delay
(0129)   volatile unsigned char data;
(0130)   
(0131)   DDRG |=BIT(PG1);
      CD 9A99      SBI	0x13,1
(0132)   PORTG |=BIT(PG1); //VCC =high.
      CE 9AA1      SBI	0x14,1
(0133)   
(0134)   I2C_DIR |= BIT(PD0)|BIT(PD1);  	 			  // Set Port B to Outputs
      CF B18A      IN	R24,0x0A
      D0 6083      ORI	R24,3
      D1 B98A      OUT	0x0A,R24
(0135)   
(0136)   Init_I2C();	   			  // Setup the hardware port
      D2 940E 010D CALL	_Init_I2C
      D4 C035      RJMP	0x010A
(0137)   
(0138)   while (true)
(0139)   {
(0140)     for (k=0,i=0x1050, j='A'; 1; i++,j++ )
      D5 24CC      CLR	R12
      D6 E560      LDI	R22,0x50
      D7 E170      LDI	R23,0x10
      D8 E481      LDI	R24,0x41
      D9 2EA8      MOV	R10,R24
      DA C025      RJMP	0x0100
(0141)     {
(0142)     	EEPROM_Write( 1 , i , j );
      DB 82A8      STD	Y+0,R10
      DC 019B      MOVW	R18,R22
      DD E001      LDI	R16,1
      DE DFAA      RCALL	_EEPROM_Write
(0143)     	
(0144)     	for(c=0;c<5000;c++);		  // Delay for EEPROM Write
      DF 2744      CLR	R20
      E0 2755      CLR	R21
      E1 C002      RJMP	0x00E4
      E2 5F4F      SUBI	R20,0xFF
      E3 4F5F      SBCI	R21,0xFF
      E4 3848      CPI	R20,0x88
      E5 E1E3      LDI	R30,0x13
      E6 075E      CPC	R21,R30
      E7 F3D0      BCS	0x00E2
(0145)     	
(0146)     	data = EEPROM_Read( 1, i );	  // Read device 1, memory address 1
      E8 019B      MOVW	R18,R22
      E9 E001      LDI	R16,1
      EA DFBB      RCALL	_EEPROM_Read
      EB 8309      STD	Y+1,R16
(0147)     	bf[k++] =data;
      EC 2C2C      MOV	R2,R12
      ED 2433      CLR	R3
      EE 2D82      MOV	R24,R2
      EF 5F8F      SUBI	R24,0xFF
      F0 2EC8      MOV	R12,R24
      F1 E080      LDI	R24,0
      F2 E092      LDI	R25,2
      F3 2DE2      MOV	R30,R2
      F4 27FF      CLR	R31
      F5 0FE8      ADD	R30,R24
      F6 1FF9      ADC	R31,R25
      F7 2E20      MOV	R2,R16
      F8 8220      STD	Z+0,R2
(0148)     	if (j=='Z') break;
      F9 2D8A      MOV	R24,R10
      FA 358A      CPI	R24,0x5A
      FB F409      BNE	0x00FD
      FC C004      RJMP	0x0101
      FD 5F6F      SUBI	R22,0xFF
      FE 4F7F      SBCI	R23,0xFF
      FF 94A3      INC	R10
     100 CFDA      RJMP	0x00DB
(0149)     	
(0150)     }
(0151)     
(0152)     for(c=0;c<5000;c++);		  // Delay for EEPROM Write
     101 2744      CLR	R20
     102 2755      CLR	R21
     103 C002      RJMP	0x0106
     104 5F4F      SUBI	R20,0xFF
     105 4F5F      SBCI	R21,0xFF
     106 3848      CPI	R20,0x88
     107 E1E3      LDI	R30,0x13
     108 075E      CPC	R21,R30
     109 F3D0      BCS	0x0104
     10A CFCA      RJMP	0x00D5
     10B 9622      ADIW	R28,2
     10C 9508      RET
FILE: E:\MyWorks\SOFT\I2C_E2PROM\I2C.c
(0001) // ***************     I2C driver V 1.0    ***************
(0002) // ***           Written By P. Fletcher-Jones          ***
(0003) // ***                Written on 16/11/01			   ***
(0004) // ***                 Last MOD 21/11/01			   ***
(0005) // ***       Compiled using ImageCraft C Comiler       ***
(0006) // *******************************************************
(0007) 
(0008) #include <iom1281v.h>
(0009) #include <MACROS.h>
(0010) 
(0011) #include "DC_Defines.h"
(0012) 
(0013) 
(0014) #include "I2C.h"
(0015) 
(0016) 
(0017) // ******************************************** //
(0018) // *** This routine will setup the I2C Port *** //
(0019) // ******************************************** //
(0020) 
(0021) void Init_I2C(void)
(0022) {
(0023)  SETBIT(I2C_DIR,SCL);   	   // Set SCL to output	
_Init_I2C:
     10D 9A50      SBI	0x0A,0
(0024)  SETBIT(I2C_DIR,SDA );	   // Set SDA to output
     10E 9A51      SBI	0x0A,1
(0025) 	
(0026)  SETBIT(I2C_PORT,SCL);		   // Set SCL high
     10F 9A58      SBI	0x0B,0
(0027)  SETBIT(I2C_PORT,SDA );		   // Set SDA high
     110 9A59      SBI	0x0B,1
     111 9508      RET
(0028) }
(0029) 
(0030) 
(0031) 
(0032) // ************************************************ //
(0033) // *** This routine will send the I2C Start Bit *** //
(0034) // ************************************************ //
(0035) 
(0036) void I2C_Start (void)
(0037) {
(0038)  SETBIT(I2C_PORT,SCL);				// Set SCL High
_I2C_Start:
     112 9A58      SBI	0x0B,0
(0039)  SETBIT(I2C_PORT,SDA);				// Set SDA High
     113 9A59      SBI	0x0B,1
(0040)  

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一二三区不卡| 亚洲精品国产成人久久av盗摄| 欧美理论电影在线| 欧美视频在线观看一区| 欧美日韩视频在线第一区| 91福利小视频| 欧美人狂配大交3d怪物一区| 欧美日韩国产一级片| 欧美精品三级日韩久久| 欧美日韩国产成人在线91| 欧美精品免费视频| 日韩午夜电影在线观看| 久久先锋影音av鲁色资源网| 国产欧美一区二区在线| 国产精品国产三级国产有无不卡| 国产精品剧情在线亚洲| 亚洲三级在线观看| 亚洲成av人**亚洲成av**| 色一情一伦一子一伦一区| 91福利精品视频| 制服丝袜成人动漫| 精品人伦一区二区色婷婷| 国产色产综合色产在线视频| 国产精品乱码妇女bbbb| 亚洲精品福利视频网站| 日韩主播视频在线| 国产一二精品视频| 91丝袜美女网| 欧美一区二区视频在线观看| 精品国产91九色蝌蚪| 国产精品二三区| 日韩中文字幕一区二区三区| 国产精品1区2区3区在线观看| av福利精品导航| 欧美视频在线观看一区二区| 精品国内二区三区| 亚洲欧美日韩成人高清在线一区| 日韩和欧美的一区| 成人国产精品免费| 欧美放荡的少妇| 欧美激情一区三区| 午夜精品久久久久久不卡8050| 国内欧美视频一区二区| 色综合天天狠狠| 日韩精品一区二区三区视频 | 亚洲高清免费在线| 国产精品一二三四区| 欧美三级韩国三级日本三斤| 久久综合精品国产一区二区三区 | 日本不卡的三区四区五区| 国产激情一区二区三区| 欧美男人的天堂一二区| 中文字幕av一区二区三区免费看 | 91在线观看成人| 欧美成人官网二区| 一区二区欧美精品| 国产精品综合二区| 5566中文字幕一区二区电影| 亚洲国产精品成人综合| 日本亚洲欧美天堂免费| 97se亚洲国产综合在线| 久久综合999| 日韩经典中文字幕一区| 91免费视频网址| 久久久久高清精品| 日本欧美加勒比视频| 色婷婷亚洲综合| 国产三级三级三级精品8ⅰ区| 日韩中文字幕麻豆| 91高清视频免费看| 国产一二精品视频| 日韩视频免费观看高清完整版| 亚洲男人都懂的| 国产精品主播直播| 日韩一区二区三区免费看| 亚洲欧美日韩国产另类专区| 国产白丝精品91爽爽久久| 欧美电影免费观看高清完整版在线| 亚洲国产日产av| 一本到高清视频免费精品| 欧美国产精品中文字幕| 激情综合网天天干| 日韩一区二区三区免费看| 午夜日韩在线电影| 欧美视频你懂的| 亚洲曰韩产成在线| 91麻豆福利精品推荐| 中文字幕av免费专区久久| 国产在线播放一区三区四| 日韩欧美一区在线| 日本va欧美va瓶| 777午夜精品视频在线播放| 亚洲国产成人va在线观看天堂| 99精品国产视频| 综合亚洲深深色噜噜狠狠网站| 国产成人免费视| 中文一区二区完整视频在线观看| 国模冰冰炮一区二区| 久久这里只有精品视频网| 国内精品久久久久影院色| 亚洲精品一区二区三区四区高清| 久久精品国产亚洲5555| 久久综合给合久久狠狠狠97色69| 精品亚洲免费视频| 精品国产一二三区| 韩国精品久久久| 久久影院午夜论| 国产不卡高清在线观看视频| 国产精品丝袜黑色高跟| 成人激情电影免费在线观看| 中文字幕在线免费不卡| 99久久精品免费| 一区二区成人在线| 欧美日韩中文字幕一区| 日韩精品一级中文字幕精品视频免费观看 | 欧美中文字幕一二三区视频| 亚洲丶国产丶欧美一区二区三区| 欧美精品高清视频| 激情综合色播激情啊| 国产精品少妇自拍| 一本色道久久综合亚洲精品按摩| 亚洲一区二区三区国产| 欧美精品自拍偷拍| 欧美精品日韩精品| 精品一区二区免费| 国产精品视频第一区| 日本韩国一区二区三区视频| 天天av天天翘天天综合网色鬼国产 | 欧美性色欧美a在线播放| 五月婷婷色综合| 久久综合九色综合欧美就去吻| 成人黄色小视频| 亚洲影院在线观看| 日韩午夜激情av| 成人99免费视频| 亚洲国产精品久久久久秋霞影院| 欧美一级艳片视频免费观看| 国产成人午夜99999| 亚洲欧美日韩国产另类专区| 欧美一区二区三区爱爱| 成人少妇影院yyyy| 午夜久久久影院| 国产三级精品三级在线专区| 色狠狠色狠狠综合| 精品综合免费视频观看| 亚洲天堂免费看| 日韩精品一区二区三区蜜臀 | www激情久久| 欧洲在线/亚洲| 国产毛片一区二区| 亚洲国产精品人人做人人爽| 精品捆绑美女sm三区| 色综合久久天天综合网| 麻豆91免费看| 一区二区三区中文免费| 久久精工是国产品牌吗| 亚洲男同性视频| 精品免费视频一区二区| 91成人在线免费观看| 国产一区久久久| 亚洲成a人在线观看| 国产亚洲成aⅴ人片在线观看| 欧美三级中文字幕| 成人晚上爱看视频| 久久国产精品72免费观看| 亚洲自拍偷拍综合| 欧美国产乱子伦| 精品日韩99亚洲| 欧美日韩精品福利| 91免费在线看| 高清不卡一区二区| 激情欧美日韩一区二区| 亚洲chinese男男1069| 亚洲欧洲国产专区| 国产清纯白嫩初高生在线观看91 | 国产精品理论片在线观看| 欧美一区二区不卡视频| 99国产精品久| 日韩精品一区二区三区在线播放 | 中文字幕一区二区三区不卡在线 | 亚洲欧洲中文日韩久久av乱码| 精品盗摄一区二区三区| 欧美精品久久一区二区三区| 91蜜桃网址入口| 国产99一区视频免费| 免费成人你懂的| 偷拍一区二区三区| 一区二区高清视频在线观看| 中文字幕在线观看一区二区| 久久精品网站免费观看| 日韩欧美国产午夜精品| 欧美日韩国产首页| 欧美色倩网站大全免费| 在线免费不卡视频| a亚洲天堂av| 成人18视频日本| 成人精品小蝌蚪| 丰满亚洲少妇av| 床上的激情91.| 国产成人精品三级麻豆|