51单片机红外遥控格力空调程序
更新时间:2024-03-25 14:45:01 阅读量: 综合文库 文档下载
51单片机红外遥控格力空调程序
#include
#define uchar unsigned char #define uint unsigned int
sbit key1=P3^4;//按键控制开机 sbit key2=P3^5;//按键控制关机 sbit key3=P3^6;//按键控制温度+ sbit key4=P3^7;//按键控制温度- sbit out=P1^5;//发送IO口
uchar wd1[15]={0x00,0x08,0x04,0x0c,0x02, 0x0a,0x06,0x0e,0x01,0x09,
0x05,0x0d,0x03,0x0b,0x07
};
uchar wd2[15]={0x0a,0x06,0x0e,0x01,0x09, 0x05,0x0d,0x03,0x0b,0x07,
0x0f,0x00,0x08,0x04,0x0c
};
uchar x=12;//开机28度
/************晶振11.0592MHz**************/ void delay(uint xms) {
uint i,j;
}
for(i=xms;i>0;i--)
//i=xms即延时约xms毫秒
for(j=112;j>0;j--);
void delay560us(void) //560us延迟函数 { }
void delay4500us(void) //4.5ms延迟函数 { }
void khz_2(uint num) {
for(;num>0;num--) }
void send0_a(void) //发送0
{
out=~out; }
uint j;
for(j=516;j>0;j--); uint j;
for(j=63;j>0;j--);
//38KHZ脉冲 占空比1:2
{
khz_2(42) ; //khz_3(21) ; out=1; delay560us(); }
void send1_a(void) {
khz_2(42) ; out=1; delay560us(); delay560us(); delay560us(); }
void leadcode_a(void) //发送引导码 {
khz_2(690) ; }
/***************************关机****************************/
out=1; delay4500us();
//发送1
void close( uchar a,uchar b,uchar c,uchar d) {
if(a) else if(b) else if(c) else if(d) else
send0_a(); send1_a(); send0_a(); send1_a(); send0_a(); send1_a(); send0_a(); send1_a(); uint i; leadcode_a(); send1_a(); for(i=0;i<7;i++) send0_a();
send0_a(); send0_a(); send0_a(); send0_a(); for(i=0;i<5;i++) send0_a(); send1_a(); for(i=0;i<6;i++) send0_a(); send1_a(); send0_a(); send1_a(); send0_a();
send0_a(); send1_a(); send0_a();
khz_2(42) ;
out=1; delay(20);
}
void close1(uchar e,uchar f,uchar g,uchar h ) { uchar i;
for(i=0;i<13;i++)
send0_a(); send1_a(); send0_a(); send0_a(); for(i=0;i<12;i++) send0_a(); if(e) else if(f) else if(g) else if(h) else
send1_a(); send0_a(); send0_a(); send1_a(); send0_a(); send1_a(); send0_a(); send1_a();
khz_2(42) ;
out=1;
delay(1000);
/*******************************************/
/****************开机************************/ }
void open(uchar a,uchar b,uchar c,uchar d ) { uint i;
leadcode_a(); send1_a(); send0_a(); send0_a(); send1_a(); for(i=0;i<4;i++) send0_a(); if(a) else if(b) else if(c) else if(d)
send0_a(); send1_a(); send0_a(); send1_a(); send0_a(); send1_a();
else
send1_a();
send0_a();
send0_a(); send0_a(); send0_a(); send0_a(); for(i=0;i<5;i++) send0_a(); send1_a(); for(i=0;i<6;i++) send0_a(); send1_a(); send0_a(); send1_a(); send0_a();
send0_a(); send1_a(); send0_a();
khz_2(42) ;
out=1; delay(20);
}
void open1(uchar e,uchar f,uchar g,uchar h) { uchar i;
for(i=0;i<13;i++) send0_a(); send1_a(); send0_a(); send0_a(); for(i=0;i<12;i++) send0_a(); if(e) else if(f) else if(g) else if(h) else
send0_a(); send1_a(); send0_a(); send1_a(); send0_a(); send1_a(); send0_a(); send1_a();
khz_2(42) ;
out=1; }
void keyscan() {
if(wd1[x] & 0x08)
uchar a,b,c,d,e,f,g,h; if(key1==0) {
delay(10); if(key1==0) {
while(!key1);
delay(1000);
a=1; else
a=0;
if(wd1[x] & 0x04) else b=0;
if(wd1[x] & 0x02) else
c=1; b=1;
c=0;
if(wd1[x] & 0x01) else
d=0;
if(wd2[x] & 0x08)
d=1;
e=1; else
e=0;
if(wd2[x] & 0x04) else f=0;
if(wd2[x] & 0x02) else
g=0;
g=1; f=1;
if(wd2[x] & 0x01) else }
if(key2==0)
h=0; }
open(a,b,c,d); open1(e,f,g,h);
h=1;
{ else
a=0; delay(10); if(key2==0) { a=1;
while(!key2); if((wd1[x] & 0x08))
if((wd1[x] & 0x04)) else
b=0; b=1;
if((wd1[x] & 0x02)) else
c=0; c=1;
if((wd1[x] & 0x01)) else
d=0;
if((wd2[x] & 0x08)) d=1;
e=1; else
e=0;
if((wd2[x] & 0x04))
else f=0;
f=1;
if((wd2[x] & 0x02)) else else
h=0;
close(a,b,c,d); close1(e,f,g,h);
g=0;
if((wd2[x] & 0x01)) h=1;
g=1;
}
}
if(key3==0) { else
delay(10); if(key3==0) { a=1;
while(!key1); x++;
if((wd1[x] & 0x08))
a=0;
if((wd1[x] & 0x04)) else
b=0; b=1;
if((wd1[x] & 0x02)) else
c=0; c=1;
if((wd1[x] & 0x01)) else
d=0;
if((wd2[x] & 0x08))
d=1;
e=1; else
e=0;
if((wd2[x] & 0x04)) else f=0;
if((wd2[x] & 0x02)) else
g=0;
g=1; f=1;
if((wd2[x] & 0x01))
else }
h=1;
h=0; }
open(a,b,c,d); open1(e,f,g,h);
if(key4==0) {
delay(10); if(key4==0) {
while(!key1); x--;
if((wd1[x] & 0x08))
a=1; else
a=0;
if((wd1[x] & 0x04)) else
b=0;
b=1;
if((wd1[x] & 0x02)) else
c=0; c=1;
if((wd1[x] & 0x01)) else
d=0;
if((wd2[x] & 0x08))
d=1;
e=1; else
e=0;
if((wd2[x] & 0x04)) else f=0;
if((wd2[x] & 0x02)) else
g=0;
g=1; f=1;
if((wd2[x] & 0x01)) else
h=0;
open(a,b,c,d); open1(e,f,g,h);
h=1;
}
}
} void init() { }
void main() { }
init(); while(1) { }
keyscan(); key1=1; key2=1; key3=1; key4=1; out=1;
正在阅读:
51单片机红外遥控格力空调程序03-25
学习小学科学新课标心得体会07-21
会展管理概论复习要点05-15
浙江省导游基础第一章至第四章练习题07-06
基于人工神经网络的预测研究05-20
现代翻译发展动向的多视角考察-文档04-14
行政经费管理制度模板05-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 格力
- 单片机
- 红外
- 遥控
- 空调
- 程序
- 2018年6月大学英语六级真题试卷及详细答案(第一套)
- 出口退税无纸化操作流程及要求
- 爱考:2015年北京大学中国语言文学系语言学及应用语言学考研专业
- 2015年北京市西城区初三物理二模试题及答案(word版)
- 人民版 - 九年级(思想品德)知识要点整理
- 2017-2022年中国文化旅游业供求分析及其发展预测分析 - 图文
- 渗透检测习题
- 整体式单向板楼盖结构课程设计
- 四下复习资料
- 试业、开业前工作细分提纲
- 安全确认制度
- 我市农村小学开展“阳光体育”的现状与思考
- 重庆五大商圈市调报告2011.6
- 停车场设计 - 交安设施示意图配置说明
- 东营河流概况
- 2004年 教育心理学试卷及答案(教师资格证)
- 工伤保险先行支付亟待完善
- G代码
- 解析几何的最值问题是数学竞赛和高考的常见
- 证券投资学测验1