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

📄 pt2262_decode.lst

📁 pt2262芯片解码,at89c51的,如果要用到产品用,需再增加一些软件滤波来提高其可靠性,供学习用,
💻 LST
📖 第 1 页 / 共 3 页
字号:
 246          ** 功能描述: 初始化
 247          ** 输 入: 无
 248          ** 输 出: 
 249          ** 全局变量: 
 250          ** 调用模块: 
 251          **
 252          ** 作 者: gl
 253          ** 日 期: 2007年01月15日
 254          **-------------------------------------------------------------------------------------------------------
 255          ** 修改人: gl
 256          ** 日 期: 2007年01月21日
 257          **------------------------------------------------------------------------------------------------------
 258          ********************************************************************************************************/
 259          void 	init() //端口初始化
 260          { 
 261   1      	P0 = 0xff;		//p0.0为ir输入引脚,作为输一定要执行这一条
 262   1      	FUCTIONOUT_IO = 0;//输出功能,关所有继电器
 263   1      	IE = 0;
 264   1      	EA = 0;
 265   1      	ET0 = 1;
 266   1      	TMOD = 0X02;	//T0工作在模式2下,
 267   1      	TL0 = 0x06;		//定时中断时间为250us,12M晶振
 268   1      	TH0 = 0x06;		//重装初值
 269   1      	TR0 = 1;
 270   1      	TR1 = 0;
 271   1      	_synbitokFG = 0;	//同步位检测标志
 272   1        	IRPINOLDFG = 1;		//因为无信号时,为高电平
 273   1      	LCD_Initial();		//LCM1602A初始化
 274   1      	EA = 1;
 275   1      }
 276          /*********************************************************************************************************
 277          ** 函数名称: KeyScan
 278          ** 功能描述: 读键
 279          ** 输 入: 无
 280          ** 输 出: 
 281          ** 全局变量: 
 282          ** 调用模块: 
 283          **
 284          ** 作 者: gl
 285          ** 日 期: 2007年01月15日
 286          **-------------------------------------------------------------------------------------------------------
 287          ** 修改人: gl
 288          ** 日 期: 2007年01月15日
 289          **------------------------------------------------------------------------------------------------------
 290          ********************************************************************************************************/
 291          void KeyScan()
 292          {
 293   1      	
 294   1      
 295   1      }
 296          /*********************************************************************************************************
 297          ** 函数名称: Display
 298          ** 功能描述: LCM1602A显示
 299          ** 输 入: 无
 300          ** 输 出: 
 301          ** 全局变量: 
C51 COMPILER V6.12  PT2262_DECODE                                                          01/23/2007 00:22:16 PAGE 6   

 302          ** 调用模块: 
 303          **
 304          ** 作 者: gl
 305          ** 日 期: 2007年01月15日
 306          **-------------------------------------------------------------------------------------------------------
 307          ** 修改人: gl
 308          ** 日 期: 2007年01月21日
 309          **------------------------------------------------------------------------------------------------------
 310          ********************************************************************************************************/
 311          void Display()
 312          {
 313   1      
 314   1      	IntToStr(Count,&TempBuffer[0],8);	
 315   1      	GotoXY(0,0);
 316   1      	Print("CODE:");Print(&TempBuffer[0]);
 317   1      	GotoXY(0,1);
 318   1      	switch (keys)
 319   1      	{
 320   2      		case 0:	Print("key0            ");	
 321   2      		break;
 322   2      		case 1:	Print("key1            ");	
 323   2      		break;
 324   2      		case 2:	Print("key2            ");	
 325   2      		break;
 326   2      		case 3:	Print("key3            ");	
 327   2      		break;
 328   2      		case 4:	Print("key0+key1       ");	
 329   2      		break;
 330   2      		case 5:	Print("key0+key2       ");	
 331   2      		break;
 332   2      		case 6:	Print("key0+key3       ");	
 333   2      		break;
 334   2      		case 7:	Print("key1+key2       ");	
 335   2      		break;
 336   2      		case 8:	Print("key1+key3       ");
 337   2      		break;
 338   2      		case 9:	Print("key2+key3       ");
 339   2      		break;
 340   2      /*
 341   2      		case 10:Print("key0+key1+key2  ");	//由于data空间不够,只做了10个键,有个问题不理解
 342   2      		break;								//当是当增大KEY值时,data是以每4个字节增加的
 343   2      		case 11:Print("key0+key1+key3  ");	//如果真是这样那么24位解码将占用很大的data
 344   2      		break;								//空间,建议码值改为12位(悬空地址信号不知如何处理).
 345   2      		case 12:Print("key0key1key2key3");	
 346   2      		break;
 347   2      */
 348   2      		default :Print("NO key          ");
 349   2      		break;
 350   2      	}
 351   1      }
 352          
 353          /*********************************************************************************************************
 354          ** 函数名称: GetAd
 355          ** 功能描述: 读ad转换结果
 356          ** 输 入: 无
 357          ** 输 出: 
 358          ** 全局变量: 
 359          ** 调用模块: 
 360          **
 361          ** 作 者: gl
 362          ** 日 期: 2007年01月15日
 363          **-------------------------------------------------------------------------------------------------------
C51 COMPILER V6.12  PT2262_DECODE                                                          01/23/2007 00:22:16 PAGE 7   

 364          ** 修改人: gl
 365          ** 日 期: 2007年01月15日
 366          **------------------------------------------------------------------------------------------------------
 367          ********************************************************************************************************/
 368          void GetAd()
 369          {
 370   1      	
 371   1      
 372   1      }
 373          
 374          /*********************************************************************************************************
 375          ** 函数名称: time
 376          ** 功能描述: 系统时间处理
 377          ** 输 入: 无
 378          ** 输 出: 
 379          ** 全局变量: 
 380          ** 调用模块: 
 381          **
 382          ** 作 者: gl
 383          ** 日 期: 2007年01月15日
 384          **-------------------------------------------------------------------------------------------------------
 385          ** 修改人: gl
 386          ** 日 期: 2007年01月15日
 387          **------------------------------------------------------------------------------------------------------
 388          ********************************************************************************************************/
 389          void time()
 390          {
 391   1      	if(_1SFG)
 392   1      	{
 393   2      		P3 ^= 0xff;						//DEBUG COMMAND,每秒闪烁一次
 394   2      		_1SFG = 0;						//0.5秒
 395   2      		if(++_1Scount >=120)
 396   2      		{
 397   3      			_1Scount = 0;				//1分
 398   3      			if(++_1Mcount > 60)
 399   3      			{
 400   4      				_1Mcount = 0;			//1小时
 401   4      				if(++_1Hcount >=24)
 402   4      				{
 403   5      					_1Hcount = 0;		//1天
 404   5      				}
 405   4      			}
 406   3      		}
 407   2      	}	
 408   1      
 409   1      }
 410          /*********************************************************************************************************
 411          ** 函数名称: function1
 412          ** 功能描述: 功能处理,输出功能控制
 413          ** 输 入: 无
 414          ** 输 出: 无
 415          ** 全局变量: 
 416          ** 调用模块: 
 417          **
 418          ** 作 者: gl
 419          ** 日 期: 2007年01月15日
 420          **-------------------------------------------------------------------------------------------------------
 421          ** 修改人: gl
 422          ** 日 期: 2007年01月21日
 423          **------------------------------------------------------------------------------------------------------
 424          ********************************************************************************************************/
 425          
C51 COMPILER V6.12  PT2262_DECODE                                                          01/23/2007 00:22:16 PAGE 8   

 426          void	function1() 
 427          {
 428   1      	if(have_count >= 5)
 429   1      	{
 430   2      		have_count = 0;
 431   2      		switch(keys)
 432   2      		{
 433   3      			case 0:
 434   3      			{
 435   4      				FUCTIONOUT_IO ^= 0X01;		//第1路继电器
 436   4      				break;
 437   4      			}
 438   3      			case 1:
 439   3      			{
 440   4      				FUCTIONOUT_IO ^= 0X02;		//第2路继电器
 441   4      				break;
 442   4      			}
 443   3      			case 2:
 444   3      			{
 445   4      				FUCTIONOUT_IO ^= 0X04;		//第3路继电器
 446   4      				break;
 447   4      			}
 448   3      			case 3:
 449   3      			{
 450   4      				FUCTIONOUT_IO ^= 0X08;		//第4路继电器
 451   4      				break;
 452   4      			}
 453   3      			case 4:
 454   3      			{
 455   4      
 456   4      			}
 457   3      			case 5:
 458   3      			{
 459   4      
 460   4      			}
 461   3      			case 6:
 462   3      			{
 463   4      
 464   4      			}
 465   3      			case 7:
 466   3      			{
 467   4      
 468   4      			}
 469   3      			case 8:
 470   3      			{
 471   4      
 472   4      			}
 473   3      			case 9:
 474   3      			{
 475   4      				FUCTIONOUT_IO = 0X00;		//关掉所有继电器
 476   4      				break;
 477   4      			}
 478   3      			default:
 479   3      			{
 480   4      				break;
 481   4      			}
 482   3      
 483   3      		}
 484   2      
 485   2      	}
 486   1      	
 487   1      	
C51 COMPILER V6.12  PT2262_DECODE                                                          01/23/2007 00:22:16 PAGE 9   

 488   1      } 
 489          
 490          
 491          /*********************************************************************************************************
 492          ** 函数名称: error
 493          ** 功能描述: 出错处理
 494          ** 输 入: 无
 495          ** 输 出: 无
 496          ** 全局变量: 
 497          ** 调用模块: 
 498          **
 499          ** 作 者: gl
 500          ** 日 期: 2007年01月15日
 501          **-------------------------------------------------------------------------------------------------------

⌨️ 快捷键说明

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