⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 i2c.lst

📁 I2C实用源代码。KEIL C51编译器编写。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 237   3      
 238   3      		       		     I2CStop();
 239   3              	       		     break;
 240   3      
 241   3                    		    case 14: /* write to day register */
 242   3      		       		     RTC_Data = _getkey();	
 243   3      		       		     I2CStart();
 244   3      		       		     if (I2CMasterWrite(Dev_Add))
 245   3      	   	          	     	I2CStop();    
 246   3      
 247   3      		       		     if (I2CMasterWrite(DOW_Add_Reg))
 248   3      	   	          		I2CStop();
 249   3      
 250   3              	       		     if (I2CMasterWrite(RTC_Data))
 251   3      	   	         		I2CStop();
 252   3      
 253   3      		       		     I2CStop();
 254   3              	       		     break;
 255   3      
 256   3                    		    case 15: /* write to date register */
 257   3                             		     RTC_Data = _getkey();	
C51 COMPILER V5.50,  I2C                                                                   02/12/03  05:12:36  PAGE 5   

 258   3      		       		     I2CStart();
 259   3      		       		     if (I2CMasterWrite(Dev_Add))
 260   3      	   	          		I2CStop();    
 261   3      
 262   3      		       		     if (I2CMasterWrite(DOM_Add_Reg))
 263   3      	   	          		I2CStop();
 264   3      
 265   3              	       		     if (I2CMasterWrite(RTC_Data))
 266   3      	   	          		I2CStop();
 267   3      
 268   3      		       		     I2CStop();
 269   3              	       		     break;
 270   3      
 271   3                   		    case 16: /* write to month register */
 272   3      		       		     RTC_Data = _getkey();	
 273   3      		       	 	     I2CStart();
 274   3      		       		     if (I2CMasterWrite(Dev_Add))
 275   3      	   	          	     	I2CStop();    
 276   3      
 277   3      		       		     if (I2CMasterWrite(Mon_Add_Reg))
 278   3      	   	          		I2CStop();
 279   3      
 280   3              	       		     if (I2CMasterWrite(RTC_Data))
 281   3      	   	          		I2CStop();
 282   3      
 283   3      		       		        I2CStop();
 284   3              	      		     break;
 285   3      
 286   3                    		    case 17: /* write to year register */
 287   3      		       		     RTC_Data = _getkey();	
 288   3      		       		     I2CStart();		
 289   3      		       		     if (I2CMasterWrite(Dev_Add))
 290   3      	   	          		I2CStop();    
 291   3      
 292   3      		       		     if (I2CMasterWrite(Yr_Add_Reg))
 293   3      	   	          		I2CStop();
 294   3      
 295   3              	       		     if (I2CMasterWrite(RTC_Data))
 296   3      	   	          		I2CStop();
 297   3      
 298   3      		       		     I2CStop();
 299   3              	       		     break;
 300   3      
 301   3                    		    case 18: /* write to control register */
 302   3      		       		     RTC_Data = _getkey();	
 303   3      		       		     I2CStart();
 304   3      		       		     if (I2CMasterWrite(Dev_Add))
 305   3      	   	          		I2CStop();    
 306   3      
 307   3      		       		  
 308   3        				     if (I2CMasterWrite(Cont_Add_Reg))
 309   3      	   	          		I2CStop();
 310   3      
 311   3              	       		     if (I2CMasterWrite(RTC_Data))
 312   3      	   	          		I2CStop();
 313   3      
 314   3      		       		     I2CStop();
 315   3              	       		     break;
 316   3      
 317   3                    		    case 19: /* write to watchdog register */
 318   3      		       		     RTC_Data = _getkey();	
 319   3      		       		     I2CStart();
 320   3      		       		     if (I2CMasterWrite(Dev_Add))
 321   3      	   	          		I2CStop();    
 322   3      
 323   3      		       		     if (I2CMasterWrite(Wdog_Add_Reg))
C51 COMPILER V5.50,  I2C                                                                   02/12/03  05:12:36  PAGE 6   

 324   3      	   	          		I2CStop();
 325   3      
 326   3              	       		     if (I2CMasterWrite(RTC_Data))
 327   3      	   	          		I2CStop();
 328   3      
 329   3      		       		     I2CStop();
 330   3              	       		     break;
 331   3      
 332   3      
 333   3                    		    case 20: /* write to alarm month register */
 334   3      		       		     RTC_Data = _getkey();	
 335   3      		       		     I2CStart();
 336   3      		       		     if (I2CMasterWrite(Dev_Add))
 337   3      	   	          		I2CStop();    
 338   3      
 339   3      		       		     if (I2CMasterWrite(Al_Mon_Add_Reg))
 340   3      	   	          		I2CStop();
 341   3      
 342   3              	       		     if (I2CMasterWrite(RTC_Data))
 343   3      	   	          		I2CStop();
 344   3      
 345   3      		       		     I2CStop();
 346   3              	       		     break;
 347   3      
 348   3      
 349   3                    		    case 21: /* write to alarm date register */
 350   3      		       		     RTC_Data = _getkey();	
 351   3      		       		     I2CStart();
 352   3      		      		     if (I2CMasterWrite(Dev_Add))
 353   3      	   	          		I2CStop();    
 354   3      
 355   3      		       		     if (I2CMasterWrite(Al_DOM_Add_Reg))
 356   3      	   	          		I2CStop();
 357   3      
 358   3              	       		     if (I2CMasterWrite(RTC_Data))
 359   3      	   	          		I2CStop();
 360   3      
 361   3      		       		     I2CStop();
 362   3              	       		     break;
 363   3      
 364   3                    		    case 22: /* write to alarm hour register */
 365   3      		       		     RTC_Data = _getkey();	
 366   3      		       		     I2CStart();
 367   3      		       		     if (I2CMasterWrite(Dev_Add))
 368   3      	   	          		I2CStop();    
 369   3      
 370   3      		       		     if (I2CMasterWrite(Al_Hr_Add_Reg))
 371   3      	   	          		I2CStop();
 372   3      
 373   3              	       		     if (I2CMasterWrite(RTC_Data))
 374   3      	   	          		I2CStop();
 375   3      
 376   3      		      		     I2CStop();
 377   3              	       		     break;
 378   3      
 379   3                    		    case 23: /* write to alarm minute register */
 380   3      		       		     RTC_Data = _getkey();	
 381   3      		       		     I2CStart();
 382   3      		       		     if (I2CMasterWrite(Dev_Add))
 383   3      	   	          		I2CStop();    
 384   3      
 385   3      		       		     if (I2CMasterWrite(Al_Min_Add_Reg))
 386   3      	   	          		I2CStop();
 387   3      
 388   3              	       		     if (I2CMasterWrite(RTC_Data))
 389   3      	   	          		I2CStop();
C51 COMPILER V5.50,  I2C                                                                   02/12/03  05:12:36  PAGE 7   

 390   3      
 391   3      		       		     I2CStop();
 392   3              	       		     break;
 393   3      
 394   3                    		    case 24: /* write to alarm second register */
 395   3      		       		     RTC_Data = _getkey();	
 396   3      		       		     I2CStart();
 397   3      		       		     if (I2CMasterWrite(Dev_Add))
 398   3      	   	          		I2CStop();    
 399   3      
 400   3      		       		     if (I2CMasterWrite(Al_Sec_Add_Reg))
 401   3      	   	          		I2CStop();
 402   3      
 403   3              	       		     if (I2CMasterWrite(RTC_Data))
 404   3      	   	          		I2CStop();
 405   3      
 406   3      		       		     I2CStop();
 407   3              	       		     break;
 408   3      
 409   3                    		    case 25: /* write OF bit to the flags register */
 410   3      		       		     RTC_Data = _getkey();	
 411   3      		       		     I2CStart();
 412   3      		       		     if (I2CMasterWrite(Dev_Add))
 413   3      	   	          		I2CStop();    
 414   3      
 415   3      		       		     if (I2CMasterWrite(Flags_Add_Reg))
 416   3      	   	          		I2CStop();
 417   3      
 418   3              	       		     if (I2CMasterWrite(RTC_Data))
 419   3      	   	          		I2CStop();
 420   3      
 421   3      		       		     I2CStop();
 422   3              	       		     break;
 423   3      
 424   3                    		    case 26: /* read the flags register */
 425   3      		       		     I2CStart();
 426   3       		       		     if (I2CMasterWrite(Dev_Add))
 427   3      	   	   	 		I2CStop(); 
 428   3      
 429   3      		       		     if (I2CMasterWrite(Flags_Add_Reg))
 430   3      	      	   	 		I2CStop();      
 431   3      		       		     
 432   3      				     I2CStart();                 	                                          	
 433   3       		       		     if (I2CMasterWrite(Dev_Add+1))  	                                   
 434   3      	   	   	 		I2CStop();
 435   3                                                         
 436   3      		       		     Flags_Reg = I2CMasterRead(1);
 437   3      		       		     putchar (Flags_Reg);
 438   3      		       		     I2CStop();
 439   3              	       		     break;
 440   3      
 441   3      
 442   3      /******************************************************************************/
 443   3      /*									      */
 444   3      /*   case 27-29 are not used (reserved registers)			      */
 445   3      /*									      */
 446   3      /******************************************************************************/
 447   3      
 448   3      
 449   3                    		    case 30: /* write to SQW register */
 450   3      		       		     RTC_Data = _getkey();	
 451   3      		       		     I2CStart();
 452   3      		       		     if (I2CMasterWrite(Dev_Add))
 453   3      	   	          		I2CStop();    
 454   3      
 455   3      		       		     if (I2CMasterWrite(SQW_Add_Reg))
C51 COMPILER V5.50,  I2C                                                                   02/12/03  05:12:36  PAGE 8   

 456   3      	   	          		I2CStop();
 457   3      
 458   3              	       		     if (I2CMasterWrite(RTC_Data))
 459   3      	   	          		I2CStop();
 460   3      
 461   3      		       		     I2CStop();
 462   3              	       		     break;
 463   3      
 464   3                    		    case 31: /* write to Tamper1 register */
 465   3      		       		     RTC_Data = _getkey();	
 466   3      		       		     I2CStart();
 467   3      		       		     if (I2CMasterWrite(Dev_Add))
 468   3      	   	          		I2CStop();    
 469   3      
 470   3      		       		     if (I2CMasterWrite(Tamper1_Add_Reg))
 471   3      	   	          		I2CStop();
 472   3      
 473   3              	       		     if (I2CMasterWrite(RTC_Data))
 474   3      	   	          		I2CStop();
 475   3      
 476   3      		       		     I2CStop();
 477   3              	       		     break;
 478   3      
 479   3                    		    case 32: /* write to Tamper2 register */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -