磁动力电子网-雕刻机DIY论坛,单片机论坛,CNCDIY,DIYCNC

 找回密码
 加入磁动力

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 13110|回复: 33

用STC12C2052-1T单片机学习型红外遥控开关

[复制链接]
发表于 2011-2-27 21:21:00 | 显示全部楼层 |阅读模式

/********************************************************************
                          学习型红外遥控开关程序
用家庭常用的电视机、空调、VCD/DVD遥控器,CPU 用STC12C2052系列 晶振12MHZ
通电后运行指示灯闪烁便于晚上找开关哈哈,按动按钮开关后P1.3输出取反,当负载灯泡点亮时运行指示灯熄灭
长按按钮开关约5s以上待运行指示灯点亮(长亮)时再松开按钮则已进入键值遥控学习状态。
把要学习的遥控器对准红外头,按下后要学习的键,待运行指示灯转为闪烁时学习完成。
P1.3  =  OUT控制高电平有效接NPN型三极管驱动继电器
P1.0  =  BZ输出低电平有效接PNP型三极管驱动蜂鸣器
P1.7  =  运行指示灯(闪烁)+学习指示灯(长亮)
P3.2  =  红外一体化接收头接(INT0)
P3.0  =  按钮开关低电平有效
    程序设计:LBQ691477940   2011-02-27
**********************************************************************/
#include<reg51.h>
#include<intrins.h>
#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
//=======================================================================
/*STC12C0052 ~ STC12C4052  //内置EEPROM容量起始地址0000H~13FFH
  STC12C5408~16 STC12C5401~06 //内置EEPROM容量起始地址0000H~2FFFH  */
#define EEPROM_ADD 0x1000   //STC12C2052系列
//=======================================================================           
//============STC89C系列==STC12C5410AD系列==STC12C2052AD系列===================
sfr ISP_DATA = 0xe2;   //STC89C系列 SP/IAP操作时的数据寄存器。
sfr ISP_ADDRH = 0xe3; //STC89C系列 ISP/IAP操作时的地址寄存器高八位。
sfr ISP_ADDRL = 0xe4; //STC89C系列 ISP/IAP操作时的地址寄存器低八位。
sfr ISP_CMD = 0xe5;  //STC89C系列 ISP/IAP操作时的命令模式寄存器,须命令触发寄存器触发方可生效。
sfr ISP_TRIG = 0xe6; //STC89C系列 ISP/IAP操作时的命令触发寄存器。
sfr ISP_CONTR = 0xe7; //STC89C系列 ISP/IAP控制寄存器。
//===========================================================================
//======================STC12C5A系列========================================
//sfr ISP_DATA = 0xC2;   //STC12C5A系列 SP/IAP操作时的数据寄存器。
//sfr ISP_ADDRH = 0xC3; //STC12C5A系列 ISP/IAP操作时的地址寄存器高八位。
//sfr ISP_ADDRL = 0xC4; //STC12C5A系列 ISP/IAP操作时的地址寄存器低八位。
//sfr ISP_CMD = 0xC5;  //STC12C5A系列 ISP/IAP操作时的命令模式寄存器,须命令触发寄存器触发方可生效。
//sfr ISP_TRIG = 0xC6; //STC12C5A系列 ISP/IAP操作时的命令触发寄存器。
//sfr ISP_CONTR = 0xC7; //STC12C5A系列 ISP/IAP控制寄存器。
//============================================================================ 

欢迎欣赏我做的STC12C2052学习型红外遥控开关视频
http://www.tudou.com/programs/view/OFb5lfPQV_k/
 
FOLWfbFX.rar (976.56 KB, 下载次数: 5352)
回复

使用道具 举报

发表于 2011-2-28 08:18:00 | 显示全部楼层

可不可以分享代码,学习学习

回复 支持 反对

使用道具 举报

发表于 2011-2-27 22:01:00 | 显示全部楼层
不错,加精
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-2-28 12:38:00 | 显示全部楼层
QUOTE:
以下是引用明浩在2011-2-27 22:01:00的发言:
不错,加精

多谢!浩哥。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-3-1 21:54:00 | 显示全部楼层
QUOTE:
以下是引用weiwei在2011-3-1 11:02:00的发言:
是啊,能否开放一下源码吧!大家学习学习撒! 图片点击可在新窗口打开查看学习的人儿送图片点击可在新窗口打开查看给你、、、

还是先自己试用下效果先

/********************************************************************
                          STC12C2052学习型2路红外遥控开关

用家庭常用的遥控器,CPU 只能用STC系列 晶振12MHZ
通电后运行指示灯闪烁,按动对应通路的按钮开关后其输出取反,当输出为低时运行指示灯熄灭
长按对应通路的按钮开关约5s以上待对应通路的运行指示灯点亮时再松开按钮则已进入键值遥控学习状态。
把要学习的遥控器对准红外头,按下后要学习的键,待运行指示灯转为闪烁时学习完成。
P1.3  =  OUT  控制低电平有效接PNP型三极管驱动继电器
P1.4  =  OUT1  控制低电平有效接PNP型三极管驱动继电器
P1.0  =  BZ  输出低电平有效接PNP型三极管驱动蜂鸣器
P1.1  =  BZ1  输出低电平有效接PNP型三极管驱动蜂鸣器
P1.6  =  1路 运行指示灯(闪烁)+学习指示灯(长亮)
P1.7  =  2路  运行指示灯(闪烁)+学习指示灯(长亮)
P3.2  =  红外一体化接收头接(INT0)
P3.6  =  1路 按钮开关低电平有效
P3.7  =  2路 按钮开关低电平有效

    程序设计:LBQ691477940   2011-03-1
**********************************************************************/

 

kld5rBAy.rar (1.39 KB, 下载次数: 2325)
Yz9Je2mf.jpg
8P6slue1.jpg
回复 支持 反对

使用道具 举报

发表于 2011-3-1 22:15:00 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

发表于 2011-3-1 11:02:00 | 显示全部楼层
是啊,能否开放一下源码吧!大家学习学习撒! [em64]学习的人儿送[em224]给你、、、
回复 支持 反对

使用道具 举报

发表于 2011-3-1 10:29:00 | 显示全部楼层
&nbsp;顶
回复 支持 反对

使用道具 举报

发表于 2011-3-8 11:57:00 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

发表于 2011-3-8 02:46:00 | 显示全部楼层
学习学习 是啊,能否开放一下源码吧
回复 支持 反对

使用道具 举报

发表于 2011-3-31 00:32:00 | 显示全部楼层
源码能全部提供吗?
回复 支持 反对

使用道具 举报

发表于 2011-4-1 10:50:00 | 显示全部楼层
好人 一个
回复 支持 反对

使用道具 举报

发表于 2011-4-4 07:45:00 | 显示全部楼层
试着做一个 看行不行
回复 支持 反对

使用道具 举报

发表于 2011-4-2 16:46:00 | 显示全部楼层
下载不了呀。
回复 支持 反对

使用道具 举报

发表于 2011-4-6 13:40:00 | 显示全部楼层
其他单片机可以吗?
回复 支持 反对

使用道具 举报

发表于 2011-4-8 20:42:00 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

发表于 2011-4-23 10:45:00 | 显示全部楼层

好人啊

回复 支持 反对

使用道具 举报

发表于 2011-5-20 21:58:00 | 显示全部楼层

只有HEX文件,8脚单片机 用不上、、、、、

回复 支持 反对

使用道具 举报

发表于 2011-6-7 16:30:00 | 显示全部楼层
不错,可惜不是万能的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-6-5 20:43:00 | 显示全部楼层

                   STC12C2052学习型1路红外遥控开关
用家庭常用的遥控器,CPU 只能用STC系列 晶振11.0592MHZ / 12MHZ
通电后运行指示灯闪烁,按动按钮开关后OUT输出取反,当输出为低时运行指示灯熄灭
长按按钮开关约5s以上待运行指示灯点亮时再松开按钮则已进入键值遥控学习状态。
把要学习的遥控器对准红外头,按下后要学习的键,待运行指示灯转为闪烁时学习完成。
P1.3  =  OUT控制高电平有效接NPN型三极管驱动继电器
P1.0  =  BZ输出低电平有效接PNP型三极管驱动蜂鸣器
P1.7  =  运行指示灯(闪烁)+学习指示灯(长亮)
P3.2  =  红外一体化接收头接(INT0)
P3.0  =  按钮开关低电平有效
升级记录:2011-6-5
1: 可以学习十个遥控键值
    最大为十个当学习第十一个时会将第一个复盖
    学习第一个BZ响一次LED快闪1次,第二个BZ响二次LED快闪2次如此类推.
2: 在灯泡亮情况下长按按钮开关约5s以上待运行指示灯点亮时再松开按钮
    则已进入键值遥控学习状态.
3: 在灯泡不亮情况下长按按钮开关约5s以上,先LED快闪亮2次& BZ 响2声
    再LED快闪亮3次 & BZ 响3声,即将擦除之前学习的所有遥控键值.
程序设计:LBQ691477940   2011-02-15
**********************************************************************/
STC12C2052学习型1路红外遥控开关(可以学习十个遥控键值,即可以学习十个不同或相同遥控器键值)

BSp58iFU.rar (2 KB, 下载次数: 2191)
回复 支持 0 反对 1

使用道具 举报

您需要登录后才可以回帖 登录 | 加入磁动力

本版积分规则

QQ|小黑屋|手机版|Archiver|www.cdle.net 磁动力电子网 2001-2017 ( 粤ICP备10098153号

粤公网安备 44040402000001号

GMT+8, 2019-1-24 07:58

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.