标题: 基于51单片机红外遥控LED灯的程序,求指导 [打印本页]

作者: 574402413    时间: 2020-8-19 23:38
标题: 基于51单片机红外遥控LED灯的程序,求指导
想自己设计 求指导,STC89C52RC单片机红外遥控控制LED灯的程序,要求:按键1、7、8、9,按一下灯亮,反之灯灭;按键2稍暗,按键3稍亮,按键4、5延时0.5秒闪烁,这个程序可以实现吗?在此感谢各位大佬。
按键编码值:
1:00-FF-0C-F3
2:00-FF-18-E7
3:00-FF-5E-A1
4:00-FF-08-7F
5:00-FF-1C-E3
6:00-FF-5A-A5
7:00-FF-42-BD
8:00-FF-52-AD
9:00-FF-4A-B5
作者: csmyldl    时间: 2020-8-20 08:14
可以实现的,亮暗变化采用PWM调制
作者: 心有浮生    时间: 2020-8-20 09:22
可以实现啊,互不影响的。触发条件都不同,不会干扰
作者: 574402413    时间: 2020-8-20 09:56
csmyldl 发表于 2020-8-20 08:14
可以实现的,亮暗变化采用PWM调制

请问闪烁程序应该怎么写呢,用while循环跳不出来,死循环了
作者: 心有浮生    时间: 2020-8-20 11:40
574402413 发表于 2020-8-20 09:56
请问闪烁程序应该怎么写呢,用while循环跳不出来,死循环了

用中断?
作者: 574402413    时间: 2020-8-20 14:12
心有浮生 发表于 2020-8-20 11:40
用中断?

能实现效果用什么都可以,求指导
作者: 梁廷明    时间: 2020-8-20 17:13
循环里面,判断条件再Break退出
作者: 574402413    时间: 2020-8-20 20:20
梁廷明 发表于 2020-8-20 17:13
循环里面,判断条件再Break退出

我就是不知道怎么判断按其他按键才会break跳出,麻烦可以指导下吗
作者: 喜欢你风雨无阻    时间: 2020-8-20 21:52
应该不是很难吧,首先要写出红外线的驱动函数用来接收数据,然后在判断数据做出相应指令,调亮度的那个用一个中断输出PWM波,闪烁的也可以再使用一个中断进行计时
作者: XTXB    时间: 2020-8-21 09:21
本帖最后由 XTXB 于 2020-8-21 10:42 编辑

这个需求看似很简单,对初学者其实也不容易,按键程序,闪烁程序,调光程序,红外接收程序,每一项都要吃透组合起来才能正常运行,实际应用要采用非阻塞式编程(慎用delay),哪怕是点个LED,按个开关都跟课本上的有很大不同:




作者: 574402413    时间: 2020-8-21 20:06
XTXB 发表于 2020-8-21 09:21
这个需求看似很简单,对初学者其实也不容易,按键程序,闪烁程序,调光程序,红外接收程序,每一项都要吃透 ...

太感谢您了,我定好好学习。
作者: 574402413    时间: 2020-8-21 21:22
XTXB 发表于 2020-8-21 09:21
这个需求看似很简单,对初学者其实也不容易,按键程序,闪烁程序,调光程序,红外接收程序,每一项都要吃透 ...

可以再指导指导调光程序吗?
作者: 16639745810    时间: 2020-8-21 23:34
可以实现,首先89c52没有PWM发生器,只能用定时器来模拟PWM输出。
作者: XTXB    时间: 2020-8-22 08:31
下载进板子试验一下,体会更深刻。





作者: kaillen    时间: 2020-8-22 13:15
Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列031_Infrared
作者: kaillen    时间: 2020-8-22 13:15
Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列031_Infrared   http://www.51hei.com/bbs/dpj-190080-1.html
作者: 574402413    时间: 2020-8-22 22:34
XTXB 发表于 2020-8-22 08:31
下载进板子试验一下,体会更深刻。

非常感谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1