433M射频灯

433M射频灯(C语言if&while)

总览
在这里插入图片描述

1. KEIL建立工程
  • 1.新建文件夹
    在这里插入图片描述
  • 2.新建工程,选择芯片在这里插入图片描述
  • 3.添加C文件
    工程文件夹下新建txt,修改后缀为.c,回到keil添加C文件。
    在这里插入图片描述
    点击“锤子”,勾选生成hex文件选项
    (为什么每次打开都要勾一次!)
    (第一次点灯一直亮就是因为你!)
    在这里插入图片描述
2. 电子可编程开关继电器原理

单片机控制IN口,当控制IN口为低电平时,相当于继电器把“开关”闭合,小灯的负极和地之间接通。
在这里插入图片描述

3. 上电灯亮代码编写

代码编写完成后按下build,进行编译。
编译:把C语言翻译成机器能运行的语言
在这里插入图片描述

#include "reg52.h"	   //该单片头文件

//set bit,完整解释:定义特殊功能寄存器的位变量
sbit jidianqi = P1^0;	//定义 jidianqi 为P1口的第1位,以便进行位操作

void main(){	 //main程序入口
	jidianqi = 0 ;
}
4. 烧写程序到单片机,实现灯一亮一灭

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到这需要重新接通单片机电源
在这里插入图片描述
到这就可以了

5. 遥控灯编程实现及效果验证
#include "reg52.h"	   //该单片头文件
//set bit,完整解释:定义特殊功能寄存器的位变量
sbit jidianqi = P1^0;	//定义 jidianqi 为P1口的第1位,以便进行位操作
sbit Atn = P1^1;
sbit Btn = P1^2;


void main(){	 //main程序入口

	  while(1){

		if(Atn==1){		  //按下A,P1.1口瞬间产生高电平,松开后恢复低电平
			jidianqi=0;	//拉低P1.0口电平,灯亮
		}

		if(Btn==1){	 //按下B,P1.2口瞬间产生高电平,松开后恢复低电平
			jidianqi=1;	//拉低P1.2口电平,灯亮
		}
/*按一下灯就能保持亮灭的状态(不用保持长按),
  因为下一个循环两句if都不成立,所以一直保持之前的状态*/
	  }
	
}
6. 项目综述和行业拓展

智能家居、智能宿舍!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
)EV1527中断法解码 ① 设定定时器中断时间,设定为 80us,80us 进入中断进行解码。具体中断时间多少由自己 软件设定,但是中断时间不能太大。 ② 设定同步码解码范围,同步码定为 5.6ms - 16ms。进入中断判断到低电平,低电平判断 一直累加 Count_Lead++,累积低电平的采集时间,判断到高电平,就判断此时 Count_Lead 的值是否在 70 跟 200之间。(备注:5.6ms/80us=70 16ms/80us=200)。 ③ 引导头通过进入数据判断,刚开始是数据高电平,累积高电平的时间 Count_Data_Hi++, 当判断到低电平时候,判断 Count_Data_Hi 是否在 80us -2.4ms 之间。这里还没进行数据 0 跟 1 的区分,先把 Count_Data_Hi 的值保存在 Hi_Cnt 里面。 (备注:80us/80us=1 2.4ms/80us=30)。 ④ 高电平判断通过,开始判断低电平,累积低电平的时间 Count_Data_lo++,当判断到高电 平时候,判断 Count_Data_Lo 是否在 80us -2.4ms 之间。这里还没进行数据 0 跟 1 的区分, 先把 Count_Data_Lo 的值保存在 Lo_Cnt 里面。 (备注:80us/80us=1 2.4ms/80us=30)。 ⑤ 对 0 跟 1 进行区分,把 24bit 数据整理成三个 byte,存在数组 RfData[0],RfData[1], RfData[2]数组里面。 ⑥ 进行相应功能码的操作。 具体解码方法参考例子程序,因为不同的震荡电阻,1527 出来的编码长度不同,例子 程序是参考 1 lck=100us 波形来做的。具体时间参数可以根据自己的 1527 发射实际长度来 编写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值