文档库 最新最全的文档下载
当前位置:文档库 › 循迹、红外避障、遥控综合程序

循迹、红外避障、遥控综合程序

循迹、红外避障、遥控综合程序
循迹、红外避障、遥控综合程序

循迹、红外避障、遥控综合程序

/**********************ZYWIFI0939C-WIFI机器人实验板例程************************ * 平台:ZYWIFI0939C-WIFI机器人+ Keil U4 + STC89C52

* 名称:ZY-1智能小车参考程序

* 公司:湖南智宇科教设备有限公司

* 淘宝:https://https://www.wendangku.net/doc/34392074.html,/

* 网站:https://www.wendangku.net/doc/34392074.html,

* 编写:智宇公司研发一部

* 日期:2015-1-15

* 交流:智能车QQ:261339276

* 晶振:11.0592MHZ

* 说明:免费开源,不提供源代码分析

* 硬件设置:要有自己动手能力,才能完成实验

* 使用说明:根据下面IO口自己用杜邦线连接各种模块,可以自己修改各种模块IO口* 视频教程:本小车配套学习C语言详细视频教程,资料统一网盘下载重点提示:本程序只做参考,不提供技术支持,请自己研究吸收。

******************************************************************/ #include

#include

#include //包含HL-1蓝牙智能小车驱动IO口定义等函数#define Left_1_led P3_7 //左循迹传感器

#define Right_1_led P3_6 //右循迹传感器

#define LeftIRBZ P3_5 //左避障传感器

#define RightIRBZ P3_4 //右避障传感器

sbit SB1=P2^3; //定义蜂鸣器端口

sbit IRIN=P3^3; //定义红外接收端口

unsigned char code LedShowData[]={0x03,0x9F,0x25,0x0D,0x99, //定义数码管显示数据

0x49,0x41,0x1F,0x01,0x19};//0,1,2,3,4,5,6,7,8,9 unsigned char code RecvData[]={0x19,0x46,0x15,0x43,0x44,0x40,0x0D,0x0E,0x00,0x0F}; unsigned char IRCOM[7];

#define ShowPort P0 //定义数码管显示端口unsigned char temp = 1;

void Delay1ms(unsigned int i)

{

unsigned char j,k;

do{

do{

k = 50;

do{

_nop_();

}while(--k);

}while(--j);

}while(--i);

}

void delay_nus(unsigned int i) //延时:i>=12 ,i的最小延时单12 us

{

i=i/10;

while(--i);

}

void delay_nms(unsigned int n) //延时n ms

{

n=n+1;

while(--n)

delay_nus(900); //延时1ms,同时进行补偿

}

void delayms(unsigned char x) //0.14mS延时程序

{

unsigned char i; //定义临时变量

while(x--) //延时时间循环

{

for (i = 0; i<13; i++) {} //14mS延时

}

}

void Delay() //定义延时子程序

{

unsigned int DelayTime=30000; //定义延时时间变量

while(DelayTime--); //开始进行延时循环

return; //子程序返回

}

void ControlCar_yaokong(unsigned char ConType) //定义电机控制子程序(红外遥控单独设置一个switch case 语句)

{

switch(ConType) //判断用户设定电机形式

{

case 1: //前进//判断用户是否选择形式1

{

stop(); //进入前进之前先停止一段时间防止电机反向电压冲击主板导致系统复位

Delay1ms(150);

// LeftLed = 0 ;

run();

break;

}

case 2: //后退//判断用户是否选择形式2

{

stop(); //进入后退之前先停止一段时间防止电机反向电压冲击主板导致系统复位

Delay1ms(150);

// LeftLed = 1 ;

back(); //M2电机反转

break;

}

case 3: //右转//判断用户是否选择形式3

{

stop(); //进入左转之前先停止一段时间防止电机反向电压冲击主板导致系统复位

Delay1ms(150);

rightrun(); //M2电机正转

break;

}

case 4: //左转//判断用户是否选择形式4

{

stop(); //进入右转之前先停止一段时间防止电机反向电压冲击主板导致系统复位

Delay1ms(150);

leftrun(); //M1电机正转//M2电机反转

break;

}

case 8: //停止//判断用户是否选择形式8

{

stop();

break; //退出当前选择

}

}

}

void Robot_Avoidance() //机器人避障子程序

{

if(LeftIRBZ==1&&RightIRBZ ==1) //LeftIRBZ RightIRBZ

{

run();

delay_nms (10);

SB1=1;

}

else

{

if(LeftIRBZ==1&&RightIRBZ ==0) //右边检测到红外信号

{

rightrun(); //右转

delay_nms (300); //停止300MS 防止电机反相电压冲击导致系统复位

}

if(RightIRBZ ==1&&LeftIRBZ==0) //左边检测到红外信号

{

leftrun(); //左转

delay_nms (300); //停止300MS 防止电机反相电压冲击导致系统复位

}

if(RightIRBZ==0&&LeftIRBZ==0) //两边传感器同时检测到红外

{

SB1=0;

stop(); //停止

delay_nms (300); //停止300MS 防止电机反相电压冲击导致系统复位

back(); //调用电机后退函数

delay_nms (300); //后退50毫秒

rightrun(); //调用电机右转函数

delay_nms (400);

}

}

run();

}

//机器人循迹子程序

void Robot_Traction() //机器人循迹子程序

{

//SB1=1;

if(Left_1_led == 0 && Right_1_led == 0) //三个红外检测到黑线,就前进

Left_1_led Right_1_led

{

run(); //左侧没有信号时,开始向右转一定的角度

delay_nms (10);

SB1=0;

}

else if(Left_1_led == 0 && Right_1_led == 1)

{

rightrun(); //右侧检测到黑线,开始向右转一定的角度

delay_nms (10);

}

else if(Left_1_led == 1 && Right_1_led == 0)

{

leftrun(); //左侧检测到黑线,开始向左转一定的角度

delay_nms (10);

}

else if(Left_1_led == 1 && Right_1_led == 1)

{

SB1=1;

stop(); //左侧检测到黑线,开始向左转一定的角度

delay_nms (10);

}

}

//----------红外遥控-------------------------------------------------------------

void IR_IN() interrupt 2 using 0 //定义INT2外部中断函数

{

unsigned char j,k,N=0; //定义临时接收变量

EX1 = 0; //关闭外部中断,防止再有信号到达

delayms(15); //延时时间,进行红外消抖

if (IRIN==1) //判断红外信号是否消失

EX1 =1; //外部中断开

return; //返回

}

while (!IRIN) //等IR变为高电平,跳过9ms的前导低电平信号。

{

delayms(1); //延时等待

}

for (j=0;j<4;j++) //采集红外遥控器数据

{

for (k=0;k<8;k++) //分次采集8位数据

{

while (IRIN) //等IR 变为低电平,跳过4.5ms 的前导高电平信号。

{

delayms(1); //延时等待

}

while (!IRIN) //等IR 变为高电平

{

delayms(1); //延时等待

}

while (IRIN) //计算IR高电平时长

{

delayms(1); //延时等待

N++; //计数器加加

if (N>=30) //判断计数器累加值

{

EX1=1; //打开外部中断功能

return; //返回

}

}

IRCOM[j]=IRCOM[j] >> 1; //进行数据位移操作并自动补零

if (N>=8) //判断数据长度

{

IRCOM[j] = IRCOM[j] | 0x80; //数据最高位补1 }

N=0; //清零位数计录器

}

if (IRCOM[2]!=~IRCOM[3]) //判断地址码是否相同

{

EX1=1; //打开外部中断

return; //返回

}

for(j=0;j<10;j++) //循环进行键码解析

{

if(IRCOM[2]==RecvData[j]) //进行键位对应

{

// ControlCar(j);

ControlCar_yaokong(j); //数码管显示相应数码}

}

EX1 = 1; //外部中断开

}

//-------------------------------------------------------------------------------------------------------

void main() //主程序入口

{

TMOD=0X01;

TH0= 0XFc; //1ms定时

TL0= 0X18;

TR0= 1;

ET0= 1;

EA = 1; //开总中断

//EX1=1; //同意开启外部中断1

IT1=1; //设定外部中断1为低边缘触发类型

while(1) //程序主循环

{

if(P3_2 == 0)

{

delay_nms(10);

if(P3_2 == 0)

{

temp++;

while(!P3_2);

}

}

if(temp > 3)

temp = 1;

}

switch(temp)

{

case 1: ShowPort = LedShowData[1];Robot_Traction();EX1 = 0;break;

case 2: ShowPort = LedShowData[2];Robot_Avoidance();EX1 = 0;break;

case 3: ShowPort = LedShowData[3];SB1 = 1; EX1 = 1;break;

}

}

}

红外避障小车讲解

目的: 本毕业设计是红外蔽障小车的设计,通过设计使学生系统的熟悉和掌握单片机控制系统设计方面的内容体系、开发流程和程序设计,培养学生具有综合运用所学的理论知识去开拓创新及解决实际问题的能力。培养学生掌握设计题的思想和方法,树立严肃认真的工作作风、培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。同时是为了掌握电路设计的方法和技巧。如何将学习到的理论知识运用到实际当中去,怎样能够活学活用,深入的了解电子元器件的使用方法,了解各种元器件的基本用途和方法,能够灵活敏捷的判断电路中出现的故障,学会独立设计电路,积累更多的设计经验,加强焊接能力和技巧,完成基本的要求。并能完美的完成这次实训。 目录 一、任务书...............................P1 二、引言..............................P2 二、要求与发挥...........................P4 三、设计摘要.............................P6 四、模块方案比较.......................P7 1.避障模块 2.驱动模块

3.控制模块 五、程序设计.........................P9 1.程序流程图 2.程序编写 六、工作原理.........................P13 七、结论............................P13 八、参考文献........................P14 九、毕业设计(论文)成绩评定表.....P15 任务: 利用单片机、红外实现避障,要求具有下述功能: 1.小车前进可以避开(前、左、右)20cm的障碍物; 2.实现下车前进时,不碰障碍物; 3.具有声音播报功能。 引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人

红外遥控器电路(接收电路)

电子技术基础课程设计任务书2014-2015学年第一学期第18周-19周

目录 1、总体方案的设计与选择........................... 错误!未定义书签。 1.1、选题及要求 (1) 1.2、原理与方案 (1) 1.2.1、红外线与红外接收二极管 (1) 1.2.2、红外接收电路 (1) 1.2.3、电源电路 (3) 1.2.4、红外接收总电路 (3) 1.2.5、元器件的选择 (4) 1.2.3方案确定 (4) 2、总电路图,印刷图及相关说明 (5) 2.1、原理图 (5) 2.2、清单图 (5) 2.3、PCB (6) 2.4、PCB三维图 (6) 2.5、PCB板3D显示图 (7) 3、计算机仿真及相关说明 (9) 3.1、仿真电路图 (9) 3.2、仿真过程 (9) 4、电路制作与调试 (11) 4.1、元件确定 (11) 4.2、元件检测 (11) 4.3、仪表仪器 (11) 4.4、电路板制作 (11) 4.5、电路板调试 (13) 4.6、调试常见故障与处理方法 (15) 5、心得体会 (16) 6、参考文献 (17)

引言 随着时代的发展,人民的生活水平不断提高,各种家用电器设备也随之进入千家万户,一些家用电器开关在使用的时候非常麻烦,为了方便大家使用,现在社会上也设计出了各种各样的控制开关,其中包括红外遥控开关,红外遥控是目前家用电器中用的较多的遥控方式。 红外遥控有以下特点: 1、抗干扰能力强。由于其无法穿透墙壁,故不同房间的家用电器可以使用通用的遥控器而不会产生相互的干扰; 2、电路调试简单,操作简单; 3、成本低,符合大众消费观念。 由于其抗干扰能力强,操作简单等诸多有点,红外遥控已经广泛应用于彩色电视机、DVD、空调、组合音响等各种家用电器上。 基于红外遥控发射与接收原理,我们小组设计了一款简易红外遥控电路,通过这个设计,不仅可以明白红外遥控的工作原理,还能在之后自己DIY红外遥控开关。相信通过这个设计也能让其他人对红外遥控开关的工作原理有进一步的了解。

基于51单片机的红外遥控器设计

天津职业大学 二○一五~二○一六学年第1学期 电子信息工程学院 通信系统综合实训报告书 课程名称:通信系统综合实训 班级:通信技术(5)班 学号:1304045640 1304045641 1304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松 2015年11月17日

一、任务要求 利用C51单片机设计开发一套红外线收发、显示系统。 具体要求: ●编写相关程序(汇编、C语言均可); ●用Proteus绘制电路图并仿真实现基本功能; ●制作出实物 二、需求分析(系统的应用场景、环境条件、参数等) 现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。 机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。当人走到大门口,身体挡住红外线,电管接收不到红外线了。根据设计好的指令,触发相应开关,就把门打开了。等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。 在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。利用它我们可以非常方便的转换电视频道或设定空调的温度档次。 三、概要设计(系统结构框图/系统工作说明流程图) 红外线收发、显示系统硬件由以下几部分组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。 红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。 红外遥控系统电路框图

基于单片机的红外遥控智能小车设计报告

基于单片机的红外遥控智能小车设计报告

毕业设计(论文)题目:基于单片机的红外遥控智能小车

西安邮电学院 毕业设计(论文)任务书 学生姓名指导教师职称工程师学院电子工程学院系部光电子技术 专业光电信息工程 题目基于单片机的红外遥控智能小车 任务与要求 任务:以51单片机为控制核心,实现具有自动避障、加速、减速等功能的红外遥控智能小车。 要求:1 搜集资料,熟悉单片机开发流程;熟悉红外传感器等相关器件; 掌握单片机接口和外围电路应用;具备一定的单片机开发经 验。 2 学会电路设计、仿真等相关软件的使用; 3 具备一定的硬件调试技能。 4 学会查阅资料; 5 学会撰写科技论文。 开始日期2010年3月22日完成日期2010年6月27日主管院长(签字) 年月日

西安邮电学院 毕业设计 (论文) 工作计划 学生姓名赵美英指导教师崔利平职称工程师学院电子工程学院系部光电子技术 专业光电信息工程 题目基于单片机的红外遥控智能小车 工作进程

主要参考书目(资料) 1、何立民,单片机应用系统设计,北京:航天航空大学出版社; 2、李广弟,单片机基础,北京:北京航空航天大学出版社,2001; 3、何立民,MCS-51系列单片机应用系统设计系统配置与接口技术,北 京航空航天大学出版社,1990.01; 4、赵负图,传感器集成电路手册,第一版,化学工业出版社,2004; 5、Atmel.AT89S51数据手册.https://www.wendangku.net/doc/34392074.html, 主要仪器设备及材料 1.普通计算机一台,单片机开发环境; 2.电路安装与调试用相关仪器和工具。 (如示波器、万用表、电烙铁、镊子、钳子等)。 论文(设计)过程中教师的指导安排 每周四进行交流与总结;其余时间灵活安排,及时解决学生问题。 对计划的说明 依学生实际情况,适当调整工作进度。

红外遥控信号的解码

红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、V CD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。

图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反) 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 图4 遥控连发信号波形 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据

红外遥控原理及解码程序

红外遥控系统原理及单片机 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC 的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周

期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

基于单片机的红外遥控小车设计

单片机系统设计实例 红外遥控小车 专业:信息对抗技术 姓名:吴志飞 学号:1411050121 指导教师:张东阳

目录 1 绪论 (1) 2 系统分析 (2) 2.1系统框架 (2) 2.2电机驱动模块 (3) 2.3 LCD显示模块 (4) 3 系统硬件设计 (5) 3.1主控模块的电路设计 (6) 3.1.1AT89C51单片机的简介 (8) 3.1.2AT89C51管脚功能 (8) 3.2红外遥控模块的电路设计 (9) 3.2.1红外遥控的实现原理 (10) 3.2.2红外发射器 (11) 3.2.3红外接收器 (12) 3.3电机驱动模块的电路设计 (12) 3.4显示模块的电路设计 (13) 4 系统软件设计 (14) 4.1程序代码 (14) 4.2软件流程图 (17) 5 调试与仿真 (18) 5.1在keil中进行调试 (18) 5.2在Proteus中进行仿真 (19) 6 总结 (21) 参考文献 (22) I

沈阳理工大学课程设计说明书 1 绪论 随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,,智能化程度越来越高,应用范围也越来越广,包括海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科。主要由路径识别、角度控制及车速控制等功能模块组成。同时,当今机器人技术发展的如火如荼,其在国防等众多领域的应用广泛开展。神五、神六升天、无人飞船等等无不得益于机器人技术的迅速发展。一些发达国家已把机器人制作比赛作为创新教育的战略性手段,参加者多数为学生,目的在于通过大赛全面培养学生的动手能力、创造能力、合作能力和进取精神,同时也普及智能机器人的知识。从某种意义上来说,机器人技术反映了一个国家综合技术实力的高低,而智能电动小车是机器人的雏形,它的控制系统的研制将有助于推动智能机器人控制系统的发展,同时为智能机器人的研制提供更有利的手段。 本次课设设计的红外遥控智能小车可以分为四大组成部分:红外遥控部分、显示部分、执行部分、控制部分。智能小车可以实现按遥控指示前行,后退,左转和右转。该设计主要通过对系统硬件电路的设计,软件设计和程序的编写,然后通过后期软硬件调试达到设计初衷。 1

单片机红外电视遥控器C51程序代码单片机程序

单片机红外电视遥控器C51程序代码单片机程序 //************************************************************** //名称:单片机红外电视遥控器C51程序代码() /*-------------------------------------------------------------- 描述: 一般红外电视遥控器的输出都是用编码后串行数据对38~40kHz的方波进行 脉冲幅度调制而产生的.当发射器按键按下后,即有遥控码发出,所按的键 不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。上述“0”和“1”组成的32位二进制码经38kHz 的载频进行二次调制,然后再通过红外发射二极管产生红外线向空间发射。 一般电视遥控器的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位 为8位的操作码和8位的操作反码,用于核对数据是否接收准确。 根据红外编码的格式,发送数据前需要先发送9ms的起始码和4.5ms的结果码。接收方一般使用TL0038一体化红外线接收器进行接收解码,当TL0038接收到38kHz红外信号时,输出端输出低电平,否则为高电平。 所以红外遥控器发送红外信号时,参考上面遥控串行数据编码波形图,在低 电平处发送38kHz红外信号,高电平处则不发送红外信号。 ----------------------------------------------------------------*/ //编辑: //日期: //**************************************************************** #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include //包括一个51标准内核的头文件 static bit OP; //红外发射管的亮灭 static unsigned int count; //延时计数器 static unsigned int endcount; //终止延时计数 static unsigned char flag; //红外发送标志 char iraddr1; //十六位地址的第一个字节 char iraddr2; //十六位地址的第二个字节 void SendIRdata(char p_irdata); void delay(); //************************************************************** void main(void) {

红外寻迹避障电路总结讲解

光电传感器 一、反射式光电传感器简介 反射式光电传感器在机器人中有着广泛的应用。可以用来检测地面明暗和颜色的变化,也可以探测有无接近的物体。这种光电传感器的基本原理是,自带一个光源和一个光接收装置,光源发出的光经过待测物体的反射被光敏元件接收,再经过相关电路的处理得到所需要的信息。相应的,光谱范围,灵敏度,抗干扰能力,输出特性等都是反射式光电传感器的重要参数。 二、简单比较型光电传感器 在上左图中,JP1是光电管,接收光强在上面转换成电流,在R上成为电压信号,与RA1的标准值进行比较,从LM339输出逻辑电平给单片机。 R越大,光电流产生的电压变化越大,传感器也就越灵敏。但是若R过大,当光比较强的时候,R上的电压会达到VCC而不再变化,这就是所谓的饱和。在这种比较型的传感器电路中,饱和只会使强光与强光难以分辨,但仍可以区分强光和弱光,它并不是影响比较结果的重要因素。但在后面介绍的几种调制型传感器中,饱和是必须避免的,因为它会掩盖交流分量。高灵敏度和饱和是一对矛盾,在后面提到了一些相关的解决方案。 LM339是开路输出的,10K的电阻是为了使输出电压正确。如果后面是51之类开路输入的单片机,这个电阻可以省略。 假如把光敏管放在下边,电阻放在上边。这样当光线较暗时比较器输入电压接近VCC,超过比较器LM339能够正常工作的最高输入电压Vm,比较器不能正常工作(LM339的共模输入电压最低能低到0,但是最高达不到VCC),因此灵敏度做不高。为了使比较器正常工作,电阻值应使得光照时比较器输入电压Vi大幅下降,满足VCC-I*RVCC-Vm。这样,光再强一点,I*R接近VCC,Vi 就会降到0附近,光敏管就会饱和,降低了区分颜色的可靠性。 而现在把光敏管放在上边,电阻放在下边,就可以解决这个问题:这时Vi=I*R,使用较小的R可以保证Vi

红外遥控控制系统设计

河南科技学院机电学院单片机课程设计报告 题目:红外遥控控制系统设计 专业班级:电气工程及其自动化103 姓名:张明军 时间:2012.12.15 ~2012.12.28 指导教师:田丰庆邵锋张素君完成日期:2012年12月28 日

红外遥控控制课程设计任务书 1.设计目的与要求 设计出一个用于红外遥控控制的控制器。准确地理解有关要求,独立完 成系统设计,要求所设计的电路具有以下功能: (1)有效遥控距离大于10米。 (2)遥控控制的路数在5路以上。 (3)采用数码管显示当前工作的控制电路。 (4)通过遥控器可以任意设置用户密码(1-16位长度),只有合法用户才能有修改电路控制的功能,同时系统掉电后能自动记忆和存储密码在系统中。 (5)密码的输入时间超过12秒或者连续3次输入失败,声音报警同时锁定系统,不让再次输入密码。此时只有使用管理员密码方能对系统解锁。 2.设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。 论文结构清晰,层次分明,理论严谨

目录 1引言 (1) 2总体设计方案 (2) 2.1 设计思路 (2) 2.2设计方框图 (3) 3设计原理分析 (4) 3.1发射电路设计 (4) 3.2接收电路设计 (7) 3.3 软件设计 (9) 4 结束语 (12) 参考文献 (13) 附录一 (14) 附录二 (15)

红外遥控控制系统 摘要:本设计由发射器和接收器两部分组成。指令键、指令信号产生电路、调制电路、驱动电路及红外线发射器组成。当指令键被按下时,指令信号产生电路便产生所需要的控制信号,控制指令信号经调制电路调制后,最终由驱动电路驱动红外线发射器,发出红外线遥控指令信号。 接收器由红外线接收器件、前置放大电路、解调电路、指令信号检出电路、记忆及驱动电路、执行电路组成。当红外接收器件收到发射器的红外指令信号时,它将红外光信号变成电信号并送到前置放大电路进行放大,再经过解调器后,由信号检出电路将指令信号检出,最后由记忆电路和驱动电路驱动执行电路,实现各种操作。 控制信号一般以某些不同的特征来区分,常用的区分指令信号的特征是频率和码组特征,即用不同的频率或者编码的电信号代表不同的指令信号来实现遥控。所以红外遥控系统通常按照产生和区分控制指令信号的方式和特征分类,常分为频分制红外线遥控和码分制红外线遥控。 关键词:4×4矩阵键盘;AT89C51;接收器件;震荡特性 1 引言 红外线遥控是目前使用很广泛的一种通信和遥控技术。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可*而且能有效地隔离电气干扰。 远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备广泛采用,并越来越多的应用到计算机系统中。红外线又称红外光波,在电磁波谱中,光波的波长范围为 0.01um~1000um 。根据波长的不同可分为可见光和不可见光,波长为0.38um~0.76um 的光波可为可见光,红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um 。用近红外作为遥控光源,是因为目前红外发射器件( 红外发光管 ) 与红外接收器件 ( 光敏二极管、三极管及光电池 ) 的发光与受光峰值波长一般为 0.8um~0.94um ,在近红外光波段内,二者的光谱正好重合,可获得较高的传输效率及较高的可靠性。随着远程教育系统的不断发展和日趋完善,利用多媒体作为教学手段各级各类学校都得到了广泛应用。但经常会遇到同时使用多种设备,如: DVD 、 VCD 、录像机、电视机等,由于各种设备都自带遥控器,而且不同的设备所遵循的红外传输规约也不尽相同,操纵这些设备得用多种控器,给使用者带来了诸多不便。基于单片机的控制指令来对多种设备进行远程控制,从而方便快捷的实现远程控制。红外遥控的特点是不影响周边环境的、于10 米)遥控中得到了广泛的应用。

c51、c52单片机红外线遥控接收解码c程序(可直接使用)

/ 亲,此程序以经过测试,可直接使用!!!/ #include #define uchar unsigned char #define uint unsigned int void delay(uchar x); sbit IRIN = P3^2; uchar IRCOM[4]; void main() { IE = 0x81; TCON = 0x01; IRIN=1; /* 此处可以根据按键码自由编写程序 /以下为3*7遥控按键码/ /(也可以应用与其他类型遥控,本程序只以3*7遥控为例)/ / 0x45 0x46 0x47 / / 0x44 0x40 0x43 / / 0x07 0x15 0x09 / / 0x16 0x19 0x0d / / 0x0c 0x18 0x5e / / 0x08 0x1c 0x5a / / 0x42 0x52 0x4a / 例如: while(1) {switch(IRCOM[2]) {case 0x45: P2=0x7f; break; case 0x44: P2=0xbf; break; case 0x07: P2=0xdf; break; case 0x16: P2=0xef; break; case 0x0c: P2=0xf7; break; case 0x08: P2=0xfb; break; case 0x42: P2=0xfd; break; case 0x52: P2=0xfe; break; case 0x4a: P2=0xff; break; case 0x5a: P2=0x00; break;} } */ while(1); } //end main /**********************************************************/ void IR_IN(void) interrupt 0 //外部中断服务程序 {unsigned char j,k,N=0; EX0 = 0; delay(15); if (IRIN==1) { EX0 =1;

红外避障电动小车C51程序

红外避障电动小车C51程序 时间:2009-05-13 来源: 作者: 点击:1400 字体大小:【大中小】 #include"reg51.h" #include #define uchar unsigned char #define uint unsigned int #define left_infrare 0 #define right_infrare 1 #define dj_state1 0X5F //前进 #define dj_state2 0X4F //右转 #define dj_state3 0X1F //左转 #define dj_state4 0X0F //后退 #define dj_state5 0XfF //停车 #define light_off 0x0f //关转向灯 #define left_light 0X5F //左转向灯两个是5f #define right_light 0XaF //右转向灯0xaf,两个是0xbf #define back_light 0XcF //刹车灯即后灯 #define front_light 0x3f //前灯 #define light_on 0xff //开所有灯 #define true 1 #define false 0 #define LCD_Data P0 #define Busy 0x80 //用于检测LCD状态字中的Busy标识 sbit c=P1^2; //转向灯使能端 uchar code talk1[]={"backward"}; uchar code talk2[]={"forward"}; uchar code talk3[]={"Turnleft"}; uchar code talk4[]={"Turn right"}; uchar flage =0x00; sbit ledcs=P1^2; //74H573的片选信号 //sbit left_led=P0^2; //左红外发射管 //sbit right_led=P0^3; //右红外发射管 sbit LCD_RS = P1^5; //LCD定义引脚 sbit LCD_RW = P1^6; // sbit LCD_E = P1^7 ; void Delay5Ms(void) { uint TempCyc = 5552; while(TempCyc--); } //400ms延时 void Delay400Ms(void)

红外遥控课程设计

单片机与接口技术课程设计 题目: 基于单片机红外线遥控控制 LED灯显示系统设计与制作班级:电子科学与技术1101 姓名:李婷 学号:110803025 2013年12月11日

目录 第一章设计要求 (3) 第二章硬件系统设计 (3) 2.1基于单片机红外线遥控控制LED灯显示系统框架图 (3) 2.2单片机控制系统及其基本电路 (4) 2. 2.1 单片机最小系统 (4) 2.2.2时钟电路 (5) 2.2.3复位电路 (5) 2.3基于单片机红外遥控控制LED系统的设计原理 (6) 2.3.1单片机红外遥控控制LED显示系统原理 (6) 2.3.2单片机红外遥控控制LED系统码分制原理 (7) 2.4红外遥控发射系统电路设计 (8) 2.4.1指令按键电路 (8) 2.4.2 发射电路 (9) 2.4.3 显示模块 (9) 2.5红外遥控接收系统电路设计 (11) 2.5.1接收电路 (11) 2.5.2 LED灯显示电路 (11) 2.6硬件原理图 (12) 第三章软件系统设计 (12) 3.1 红外线发射电路程序流程图设计 (13) 3.2 红外线接收电路程序流程图设计 (13) 第四章系统测试与分析 (14) 4.1 利用Proteus和keil进行仿真调试 (14) 4.2 仿真图 (16) 第五章总结 (18) 附录1 (18) 附录2 (22) 参考文献 (25)

赣南师范学院 2013 — 2014 学年第_1_学期课程论文行政班级:电子科学与技术1101 学号:110803025 姓名:李婷

图2-1 系统的设计总框图 2.2单片机控制系统及其基本电路 2.2.1单片机最小系统 单片机晶振电路:对于MSC-51一般的晶振频率可以在1.2MHz—12MHz 之间选择,这是电容C可以对应的选择10pF—30pF。当使用89C55时晶振频率可以提高到24MHZ。对于本设计的电容C用30pF,晶振选用11.0592MHz。晶振电路如下图3-1所示,一条引脚接在XTAL1,另一条接在XTAL2。单片机的复位电路:为了防止程序执行过程中失步或运行紊乱,此处采用了上电复位及手动复位电路,电路图如下图2-1所示: 图2-2-1 单片机最小系统图

红外遥控接收程序

#include "remote.h" UINT IrCode; //高8位为系统码,低八位为数据码 /*************************************************************************** *FUNCTION NAME: DelayIr *CREATE DATE: 2012/6/7 *CREATED BY: XS *FUNCTION: IR采样延时:0.14ms *MODIFY DATE: 2012/6/7 *INPUT: 无 * *RETURN: 无 ***************************************************************************/ void DelayIr(UCHAR timer) { UCHAR i; while(timer--) { for (i = 0; i<13; i++); } } /*************************************************************************** *FUNCTION NAME: RemoteDecode *CREATE DATE: 2012/6/7 *CREATED BY: XS *FUNCTION: IR遥控解码 *MODIFY DATE: 2012/6/7 *INPUT: 无 * *RETURN: 无 ***************************************************************************/ void RemoteDecode(void) { UCHAR i,j,n = 0; UCHAR irDat[4] = {0}; EX0 = 0;

红外遥控小车

红 外 遥 控 小 车 系别:电气电子工程系 专业:电子信息技术 姓名:魏来方艳霞 班级:10级电子信息一班学号:2010010201026 2010010201028 指导老师:汪涛

目录 一、绪论 二、方案设计与论证 三、硬件设计 1)控制器模块选取 2)电机模块选取 3)电机驱动器模块选取 4)电源模块选取 5)红外遥控模块选取 6)工作原理 四、软件设计 五、调试中存在的问题 六、致谢 七、参考文献

一、绪论: 随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。可见其研究意义很大。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。根据题目的要求,确定如下方案:在现有电动车模型的基础上,加装无线控制模块,电机驱动模块,实现对电动车的无线遥控,并将数据传送至单片机进行处理,然后由单片机根据所接收到检测的数据实现对电动车的控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。所以本设计与实际相结合,现实意义很强。二、方案设计与论证 本章围绕系统的总体设计,介绍系统的组成,并提出各个组成部分系统的各种方案,并综合比较,并选出最佳方案。根据题目的要求,整个系统的构成是由两部分组成。一部分是硬件系统,一部分是软件系统。硬件方案确定如下:在现有电动车模型的基础上,加装无线控制模块,电机驱动模块,实现对电动车的无线遥控,并将数据传送至单片机进行处理,然后由单片机根据所接收到检测的数据实现对电动车的控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。 三、硬件设计 1)控制器模块选取 本设计采用MCS-51系列中的80C51单片机。80C51是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。它是第三代单片机的代表。第三代单片机包括了Intel公司发展MCS-51系列的新一代产品,如8xC152﹑80C51FA/FB﹑80C51GA/GB﹑8xC451﹑8xC452,还包括了Philips﹑Siemens﹑ADM﹑Fujutsu﹑OKI﹑Harria-Metra﹑A TMEL等公司以80C51为核心推出的大量各具特色﹑与80C51兼容的单片机。新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,将一些外部接口功能单元如A/D﹑PWM﹑PCA(可编程计数器阵列)﹑WDT(监视定时器)﹑高速I/O口﹑计数器的捕获/比较逻辑等。这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。Philips公司还为这一代单片机80C51系列8xC592单片机引入了具有较强功能的设备间网络系统总线----CAN(Controller Area Network BUS). 新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。本设计就采用了比较先进

课程设计-红外遥控开关(完整版附程序)

2008届计算机与信息学院 计算机科学与技术专业 一.课程设计题目:红外遥控开关 二.课程设计任务内容 1.课程设计的目的意义: 通过课程设计培养同学们的系统设计能力,使同学们达到以下能力训练: ⑴、调查研究、分析问题的能力; ⑵、使用设计手册、技术规范的能力; ⑶、查阅中外文献的能力; ⑷、制定设计方案的能力; ⑸、计算机应用的能力; ⑹、设计计算和绘图的能力; ⑺、技术经济指标的分析能力; ⑻、语言文字表达的能力。 2.本课题研究的主要内容: 设计一个多路红外遥控开关,利用市售彩电遥控器(以编码芯片LC7461为例),发送遥控器键盘数字信号,控制器接收解码,控制相应的输出。 基本要求: ⑴、设计实验电路(要求利用实验仪的硬件资源) ⑵、分析实验原理 ⑶、列出实验接线表 ⑷、采用汇编语言编写实验程序 ⑸、通过实验验证功能的实现 ⑹、编写课程设计说明书

红外遥控技术的出现,大大方便了人们的生活,而单片机技术的出现,给现代工业测控领域带来了一次新的革命。红外线遥控器具有体积小、功耗低、功能强、成本低等特点从而成为了当今非常流行的一种控制方式,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 红外遥控器是一种利用红外遥控系统来控制被控对象的系统.整个系统由数字电路和模拟电路两个部分组成。发射部分包括键盘矩阵、编码调制、红外发射器;接收部分包括红外接收、解调、解码电路。 关键字:红外遥控器,红外发射,红外接收,单片机

红外遥控器信号接收和显示的设计1

电子电路综合设计总结报告 题目:红外遥控器信号接收和显示的设计 摘要: 随着电子技术的发展,红外遥控器越来越多的使用到电器设备中,但各种型号遥控器的大量使用带来的遥控器大批量多品种的生产,使得检测成为难题,因此智能的红外遥控器检测装置成为一种迫切的需要。在该红外遥控器信号的接收和显示电路以单片机和一体化红外接收器为核心技术,具体由单片机最小系统、单片机和PC机间的通信模块、红外接收模块、数码管显示模块和流水灯模块组成。在本系统的设计中,利用红外接收器接收遥控器发出的控制信号,并通过软件编程将接收信号存储、处理、比较,并将数据处理送至数码管显示模块。总之,通过对电路的设计和实际调试,可以实现红外遥控器信号的接收和显示功能。根据比较接收信号的不同,在数码管显示电路及流水灯电路上显示相应的按键数字或闪烁变化功能,并可实现单片机及PC机之间的通信功能,使得控制信号能在PC机上显示。

关键词:单片机红外接收器HS0038 解码串口调试

设计任务 结合单片机最小电路和红外线接收接口电路共同设计一个基于单片机的红外遥控信号接收和转发系统,用普通电视机遥控器控制该系统,使用数码管显示信号的接收结果。 1、实现单片机最小系统的设计。 2、当遥控器按下数字键时,在数码管上显示其键值。如按下数字键1,则在数码管上显示 号码01。 3、当遥控器按下音量△及音量▽时,用两位数码的周围段实现顺时针或者逆时针旋转的流 水灯功能。(为使得音量的增减清晰显示,试验中在单片机的P1口外接一排流水灯,具体功能的实现见方案的可行性论证) * 运用串口调试助手,在遥控器有按键按下时,将其键值显示在PC机上。 * 当遥控器按下频道△及频道▽时,在数码管上显示加1或减1后的数值。 一、系统方案比较和论证 1、方案比较和选择 为了实现系统整体功能,红外解码部分是核心,红外解码是指将遥控发射器所产生的红外遥控编码脉冲所对应的键值翻译出来的过程。下面将系统方案做一论证,通常有硬件解码和软件解码两种方案。 方案一:此方案中,使用专用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是按键数值信号或控制音量、频道等信号,当确认是何种信号后,启动子程序,然后进行查询。每次红外接收头接收到红外信号传到解码器中,解码器解码完毕后送到单片机,单片机再通过查表确定这些数值并进行相应功能的控制。设计原理图如图1所示。 图1、方案一设计原理图 方案二:此方案中,采用普通的家用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的红外线控制信号,然后把这个信号转换成电信号,传到单片机中,利用单片机对这个信号进行解码,解码完成后查表确定是按键数值信号或控制音量、频道等信号,启动子程序,进行相应的显示数字等功能。然后查询,重复上述流程。设计原理图如图2所示。

循迹、红外避障、遥控综合程序

循迹、红外避障、遥控综合程序 /**********************ZYWIFI0939C-WIFI机器人实验板例程************************ * 平台:ZYWIFI0939C-WIFI机器人+ Keil U4 + STC89C52 * 名称:ZY-1智能小车参考程序 * 公司:湖南智宇科教设备有限公司 * 淘宝:https://https://www.wendangku.net/doc/34392074.html,/ * 网站:https://www.wendangku.net/doc/34392074.html, * 编写:智宇公司研发一部 * 日期:2015-1-15 * 交流:智能车QQ:261339276 * 晶振:11.0592MHZ * 说明:免费开源,不提供源代码分析 * 硬件设置:要有自己动手能力,才能完成实验 * 使用说明:根据下面IO口自己用杜邦线连接各种模块,可以自己修改各种模块IO口* 视频教程:本小车配套学习C语言详细视频教程,资料统一网盘下载重点提示:本程序只做参考,不提供技术支持,请自己研究吸收。 ******************************************************************/ #include #include #include //包含HL-1蓝牙智能小车驱动IO口定义等函数#define Left_1_led P3_7 //左循迹传感器 #define Right_1_led P3_6 //右循迹传感器 #define LeftIRBZ P3_5 //左避障传感器 #define RightIRBZ P3_4 //右避障传感器 sbit SB1=P2^3; //定义蜂鸣器端口 sbit IRIN=P3^3; //定义红外接收端口 unsigned char code LedShowData[]={0x03,0x9F,0x25,0x0D,0x99, //定义数码管显示数据 0x49,0x41,0x1F,0x01,0x19};//0,1,2,3,4,5,6,7,8,9 unsigned char code RecvData[]={0x19,0x46,0x15,0x43,0x44,0x40,0x0D,0x0E,0x00,0x0F}; unsigned char IRCOM[7]; #define ShowPort P0 //定义数码管显示端口unsigned char temp = 1; void Delay1ms(unsigned int i) { unsigned char j,k; do{

相关文档