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

📄 qin.lst

📁 这是芯片PMC6388的硬件初始化程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 213   2          	XBYTE[addr_e1_pm6388 + 0x2c] = 0;
 214   2          	XBYTE[addr_e1_pm6388 + 0x2d] = 0;
 215   2          	XBYTE[addr_e1_pm6388 + 0x51] = 0x00;
 216   2          	XBYTE[addr_e1_pm6388 + 0x52] = 0x00;
 217   2          	XBYTE[addr_e1_pm6388 + 0x58] = 0x03;
 218   2          	XBYTE[addr_e1_pm6388 + 0x59] = 0;
 219   2          	XBYTE[addr_e1_pm6388 + 0x5a] = 0xff;
 220   2          	XBYTE[addr_e1_pm6388 + 0x5c] = 0x00;//??????????????????
 221   2          	XBYTE[addr_e1_pm6388 + 0x60] = 0x02;
 222   2          }
 223   1         for(i = 0; i < 8; i++)
 224   1          {
 225   2          	addr_e1_pm6388 = PM6388 + i * 0x80;
 226   2          	l = 0;
 227   2          	k = 0;
 228   2          	for(k = 0x20;k < 0x40;k++)
 229   2          	{
 230   3          	   l = XBYTE[addr_e1_pm6388 + 0x61];
 231   3          	   while((l & 0x80) != 0)
 232   3          	   {
 233   4          	   		l = XBYTE[addr_e1_pm6388 + 0x61];
 234   4          	   }
 235   3          	   XBYTE[addr_e1_pm6388 + 0x63] = 0x13;
 236   3          	   XBYTE[addr_e1_pm6388 + 0x62] = k;
 237   3          	   
 238   3          	}
 239   2          	for(k = 0x40;k < 0x60;k++)
 240   2          	{
 241   3          	   l = XBYTE[addr_e1_pm6388 + 0x61];
C51 COMPILER V3.96,  SN-83203013  QIN                                                      06/04/06  15:21:01  PAGE 5   

 242   3          	   while((l & 0x80) != 0)
 243   3          	   {
 244   4          	   		l = XBYTE[addr_e1_pm6388 + 0x61];
 245   4          	   }
 246   3          	   XBYTE[addr_e1_pm6388 + 0x63] = 0xbb;
 247   3          	   XBYTE[addr_e1_pm6388 + 0x62] = k;
 248   3          	}
 249   2          	for(k = 0x60;k < 0x80;k++)
 250   2          	{
 251   3          	   l = XBYTE[addr_e1_pm6388 + 0x61];
 252   3          	   while((l & 0x80) != 0)
 253   3          	   {
 254   4          	   		l = XBYTE[addr_e1_pm6388 + 0x61];
 255   4          	   }
 256   3          	   XBYTE[addr_e1_pm6388 + 0x63] = 0xdb;
 257   3          	   XBYTE[addr_e1_pm6388 + 0x62] = k;
 258   3          	}
 259   2          	XBYTE[addr_e1_pm6388 + 0x60] = 0x01;
 260   2          	XBYTE[addr_e1_pm6388 + 0x64] = 0x02;
 261   2          	l = 0;
 262   2          	k = 0;
 263   2          	for(k = 0x40;k < 0x60;k++)
 264   2          	{
 265   3          	   l = XBYTE[addr_e1_pm6388 + 0x65];
 266   3          	   while((l & 0x80) != 0)
 267   3          	   {
 268   4          	   		l = XBYTE[addr_e1_pm6388 + 0x65];
 269   4          	   }
 270   3          	   XBYTE[addr_e1_pm6388 + 0x67] = 0x00;
 271   3          	   XBYTE[addr_e1_pm6388 + 0x66] = k;
 272   3          	}
 273   2          	XBYTE[addr_e1_pm6388 + 0x64] = 0x01;
 274   2          }
 275   1      }
 276          void wr_pm6388 (void) /* 写值 */
 277          {
 278   1          uint  xdata addr_e1_pm6388; /* 每路e1接口的起始地址 */
 279   1          uchar xdata i,l,k;
 280   1         for(i = 0; i < 8; i++)
 281   1          {
 282   2            	addr_e1_pm6388 = PM6388 + i * 0x80;
 283   2          	l = 0;
 284   2          	k = 0;
 285   2          	XBYTE[addr_e1_pm6388 + 0x0a] = 0x08;
 286   2          	XBYTE[addr_e1_pm6388 + 0x60] = 0x03;
 287   2          	for(k = 0x61;k < 0x80;k++)
 288   2          	{
 289   3          		l = XBYTE[addr_e1_pm6388 + 0x61];
 290   3          	   	while((l & 0x80) != 0)
 291   3          	   	{
 292   4          	   		l = XBYTE[addr_e1_pm6388 + 0x61];
 293   4          	   	}
 294   3      			if(k==0x70)
 295   3      			{
 296   4      				k++;
 297   4      			}
 298   3      			XBYTE[addr_e1_pm6388 + 0x63] = 0x03 + 0xd0;
 299   3      			XBYTE[addr_e1_pm6388 + 0x62] = k;
 300   3      			
 301   3          	}
 302   2          	XBYTE[addr_e1_pm6388 + 0x60] = 0x01;
 303   2          }
C51 COMPILER V3.96,  SN-83203013  QIN                                                      06/04/06  15:21:01  PAGE 6   

 304   1         
 305   1      }
 306          void wr_pm6388_flag(void) //单写1
 307          {
 308   1      	uint  xdata addr_e1_pm6388;
 309   1      	uchar xdata i,l,k; 
 310   1      	addr_e1_pm6388 = PM6388;
 311   1      	XBYTE[addr_e1_pm6388 + 0x60] = 0x03;
 312   1      	l = XBYTE[addr_e1_pm6388 + 0x61];
 313   1          while((l & 0x80) != 0)
 314   1          {
 315   2          	 l = XBYTE[addr_e1_pm6388 + 0x61];
 316   2          }
 317   1          XBYTE[addr_e1_pm6388 + 0x63] = 0x0b + 0xd0;
 318   1      	XBYTE[addr_e1_pm6388 + 0x62] = 0x61;
 319   1          XBYTE[addr_e1_pm6388 + 0x60] = 0x01;
 320   1      }
 321          uchar rd_pm6388_flag(void) /* 读数 */
 322          {
 323   1          uint  xdata addr_e1_pm6388; /* 每路e1接口的起始地址 */
 324   1          uchar xdata i,l,k;
 325   1          k = 0;
 326   1          for(i = 0; i < 8; i++)
 327   1          {   	
 328   2          	addr_e1_pm6388 = PM6388 + i * 0x80;
 329   2          	XBYTE[addr_e1_pm6388 + 0x0a] = 0x00;
 330   2         	 	
 331   2          	XBYTE[addr_e1_pm6388 + 0x64] = 0x41;
 332   2            	l = XBYTE[addr_e1_pm6388 + 0x67];
 333   2            	if((l & 0x01) == 0x01)
 334   2          	{
 335   3          		k++;		
 336   3          	}
 337   2          	XBYTE[addr_e1_pm6388 + 0x64] = 0x01;	
 338   2          }
 339   1          return(k);
 340   1      }
 341          
 342          uchar rd_pm6388_data (void)  //读值 
 343          {
 344   1      	uint  xdata addr_e1_pm6388;
 345   1          uchar xdata i,l,k,data_pm;
 346   1          uchar xdata ceshi[8];
 347   1          data_pm = 0;
 348   1          
 349   1          addr_e1_pm6388 = PM6388 + 0 * 0x80;
 350   1          XBYTE[addr_e1_pm6388 + 0x0a] = 0x0;
 351   1        	for(i = 0; i < 8; i++)
 352   1          {
 353   2          	XBYTE[addr_e1_pm6388 + 0x64] = 0x03;
 354   2        		l = 0x80;
 355   2          	while((l & 0x80) != 0)
 356   2          	{
 357   3          		l = XBYTE[addr_e1_pm6388 + 0x65];
 358   3          	}
 359   2          	XBYTE[addr_e1_pm6388 + 0x66] = 0x80 + 0x11 + i;
 360   2          	l = 0x80;
 361   2          	while((l & 0x80) != 0)
 362   2          	{
 363   3          		l = XBYTE[addr_e1_pm6388 + 0x65];
 364   3          	}
 365   2          	ceshi[i] = XBYTE[addr_e1_pm6388 + 0x67]; 
C51 COMPILER V3.96,  SN-83203013  QIN                                                      06/04/06  15:21:01  PAGE 7   

 366   2          	XBYTE[addr_e1_pm6388 + 0x64] = 0x01;
 367   2          }	
 368   1          return(data_pm);
 369   1      }
 370          
 371              	    
 372          main()
 373          {
 374   1      	
 375   1      	P1 = 0xff;
 376   1      	P1 = 0x0;
 377   1      	P1 = 0xff;
 378   1      	P3= 0xff;
 379   1      	RUN_LED=1;
 380   1      	init_pm4314();
 381   1          delay();
 382   1          init_pm6388();
 383   1          delay();
 384   1          TMOD=0x21;
 385   1          IT1 = 1;	
 386   1        	TH0=-40680/256;                                 
 387   1      	TL0=-40680%256;
 388   1      	TH1 = 0xfd;
 389   1         	TL1 = 0xfd; 
 390   1         	TR0 = 1;
 391   1         	TR1 = 1;
 392   1      	IE = 0x86;
 393   1      	EA = 1;
 394   1      	led_flag = 0;
 395   1      	k = 0;
 396   1      	wr_pm6388();
 397   1      	fsn = rd_pm6388_flag();
 398   1      	wr_pm6388_flag();
 399   1      	delay();
 400   1      	while(1)
 401   1      	{
 402   2      		if(led_flag == 1)
 403   2      		{
 404   3      			e1_alarm_led();
 405   3      			led_flag = 0;
 406   3      			fsn = rd_pm6388_flag();
 407   3      			h = rd_pm6388_data();
 408   3      		}
 409   2      	}
 410   1      		
 411   1      }
 412          		
 413          
 414          		
 415          
 416          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3084    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     51    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     13    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.
C51 COMPILER V3.96,  SN-83203013  QIN                                                      06/04/06  15:21:01  PAGE 8   



C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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