历史上的今天
今天是:2024年08月30日(星期五)
2021年08月30日 | 51单片机-遥控器控制舵机
2021-08-30 来源:eefocus
1.题目要求
我们在第九章第2讲第一个例程“按键控制舵机桨”的基础上,实现用红外遥控器的前三行按键控制舵机桨停留在我们想要的位置,这样就实现了无线遥控控制机械结构运动的简单功能。
2.main.c测试代码
#include #include #include #include sbit PWMOUT=P1^7; u8 highval = 10; void main() { LED_Init(); //初始化LED硬件模块 EA = 1; InitInfrared(); //初始化红外接收功能 TIM0_Init(100,34); //定时0.1ms,舵机专用,34是微调使定时精度更高,每次微调都由中断函数里的内容而决定 ShowNumber(highval); while (1) { if (irflag) //接收到红外数据时刷新显示 { irflag = 0; //以下是遥控器第一行按键 if(ircode[2]==0x45)highval=5; if(ircode[2]==0x46)highval=7; if(ircode[2]==0x47)highval=10; //以下是遥控器第二行按键 if(ircode[2]==0x44)highval=12; if(ircode[2]==0x40)highval=14; if(ircode[2]==0x43)highval=16; //以下是遥控器第三行按键 if(ircode[2]==0x07)highval=19; if(ircode[2]==0x15)highval=22; if(ircode[2]==0x09)highval=24; ShowNumber(highval); } } } void TIM0_IRQHandler() interrupt 1 { static u8 pwm=0; TH0 = T0RH; //重新加载重载值 TL0 = T0RL; pwm++; if(pwm>=200)pwm=0; //pwm在0~199之间间隔0.1ms变化,周期为20ms if(pwm%10==0)SEG_Scan(); //间隔1ms刷新数码管 if(pwm }
上一篇:51单片机-电位器控制舵机
下一篇:51单片机-温度传感器与串口
史海拾趣
|
前辈们好,我是在用 AT89C2051做个频率计 ,用定时器1做1秒定时,用定时器0用来当做计数器,我的输入信号是电平为 0.5V的正玄信号,请问这个信号能被检测出来吗?… 查看全部问答> |
|
为了提高广大技术员的摄像机识别能力,特把一些常见的芯片组合列出: 专业红外夜视摄像SONY产品型号及芯片组合 1、A4212SP/G4212SP/D4212SP: 芯片: CXD3141、CXD1267、CXA2096+ICX405; 2、A4512SP/G4512SP/D451 ...… 查看全部问答> |
|
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dat2bcd ISPORT(CLK:IN STD_LOGIC; DAT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); BCD ...… 查看全部问答> |
|
电路图如上,做的是一个人体检测报警器 有采用菲涅尔透镜,传感器焊在电路板上,透镜盖在上面 现在按照以上的电路及参数做了板子,具体情况如下: 1.有人时,输出重复跳变,每次输出“1”约10秒,输出“0”约0.5秒; 2.没人时,基本跟有人的 ...… 查看全部问答> |
|
VxWorks 下的网络编程 遇到的问题 Tornado Errors while downloading 基于 vxworks 的开发工具 Tornado 下的网络编程 调试问题, 望各位仁兄慷慨解答, 小弟感激不已! 程序 服务端 与 客户端 编译通过, 逻辑上也不存在错误, 现把 服务端 与 客户端 程序以 2个任务的形式 放在 main() 中运行, 当我下载到仿真 器下的时 ...… 查看全部问答> |
|
我想学驱动开发 windows和linux的都想学 但是我现在什么都不知道 也不知道怎么去学习 希望各位前辈能介绍介绍你们觉得不错的书籍 或者介绍一下你们学习的经验啊 希望你们能抽点时间帮帮我 麻烦你们了… 查看全部问答> |




