学习型PT2262 无线遥控开关程序 STC 系列89C58RD 晶振11.0952MHZ ~ 12MHZ 发射芯片采用的是PT2262 芯片用4.7M 的震荡电阻315M 发射 通电后运行指示灯闪烁,按动按钮开关后P0.4 输出取反,当输出为低时运行指示灯熄灭 长按按钮开关约5s 以上待运行指示灯点亮时再松开按钮则已进入键值遥控学习状态。 把 NEC 编码方式类型的摇控器对准红外头,按下后要学习的键,待运行指示灯转为闪烁时学习完成。 P0.4 = OUT 控制高电平有效接 NPN 型三极管驱动继电器 P2.2 = BZ 输出低电平有效接 PNP 型三极管驱动蜂鸣器 P0.7 = 运行指示灯(闪烁)+学习指示灯(长亮) 即学习板上的D1 指示灯 P3.2 = 315MHZ 无线一体化接收头接(INT0) P3.7 = 按钮开关低电平有效 即学习板上的S5 程序设计:LBQ691477940 2011-03-11 **********************************************************************/ #include #include #define uchar unsigned char #define uint unsigned int #define RdCommand 0x01 //定义 ISP 的字节读操作命令 #define PrgCommand 0x02//定义 ISP 的字节编程操作命令,前提是该字节是空,0FFh #define EraseCommand 0x03// 定义 ISP 的扇区擦除操作命令,要某字节为空,要擦一扇区 #define WaitTime 0x01 //设置等待时间 /*========================================================================= STC89C51 STC89C52 内置 EEPROM 容量起始地址 2000~ 2FFFH */ //#define EEPROM_ADD 0x2000 /*====================================================================== STC89C54RD ~ STC89C58RD 内置EEPROM 容量起始地址8000H~ F3FFH */ #define EEPROM_ADD 0x8000 //======================================================================= sfr AUXR = 0x8E; //扩展RAM 管理及禁止ALE 输出控制寄存器 (不可位寻址) 如调用AUXR=0x01;禁止ALE 输出,降低辐射干扰 sfr ISP_DATA = 0xe2; //SP/IAP 操作时的数据寄存器。 sfr ISP_ADDRH = 0xe3;//ISP/IAP 操作时的地址寄存器高八位。 sfr ISP_ADDRL = 0xe4;//ISP/IAP 操作时的地址寄存器低八位。 sfr ISP_CMD = 0xe5;//ISP/IAP 操作时的命令模式寄存器,须命令触发寄存器触发方可生效。 sfr ISP_TRIG = 0xe6;//ISP/IAP 操作时的命令触发寄存器...