最新基于51单片机控制红外通信.pdf

合集下载

基于51单片机的红外遥控程序(新)

基于51单片机的红外遥控程序(新)
P2=0x7f;//0x78
P1=table[shuma];
/* delay_ms(3);
P2=0xb8;
P1=table[bai];
delay_ms(3);
P2=0xd8;
P1=table[shi];
delay_ms(3);
P2=0xe8;
P1=table[ge];
}
///////////////////////////////////////////////////////////////////////
void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数
{
static unsigned char i;
//使用12M晶振 适用于TC9012芯片,其他芯片请自行更改解码时序
#include <REGX52.h>
#include<stdio.h>
#include<intrins.h>
////////////////////////////////////////////////
#define TURE 1
break;//2
case 2:
display(3);
fengming();
SBUF=3;
TI=0;
delay_ms(10);
break;//3
case 3:
display(4);
}
IRcord[i]=value;
value=0;
}
irpro_ok=1;//处理完毕标志位置1
}
/******************************************************************/

基于51多功能红外遥控器设计

基于51多功能红外遥控器设计
本次设A计lt的i开u发m和电D路e设s计ig主n要e是r在6Al开tium发De环sign境er 6环境下进行的。Altium Designer 是业
界首例将设计流程、集成化 PCB 设计、可编程器件(如 FPGA)设计和基于处理器设计的嵌入式软件开 发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案 从概念转变为最终成品所需的全部功能。
Altium Designer 6具有以下几个特点: 在PCB部分,实现了自动引脚优化和非凡的布线效果,提供了对高密度封装(如 BGA)的交互布 线功能, 总线布线功能,器件精确移动,快速铺铜等功能; 在原理图部分,新增加“灵巧粘帖”可以将一些不同的对象拷贝到原理图当中; 在嵌入式设计部分,增强了JTAG器件的实时显示功能,增强型基于FPGA的逻辑分析仪,可以支持 32位或64位的信号输入。
图为STC89C54RD+芯片 及其电路,该芯片与 STC89C51引脚基本相同, 但速度更快,存储空间更大。 本设计采用的是40DIP封装 的双列直插式芯片。
p 电源模块
电源模块包括电源接 口,自锁式电源开关 及红色发光二极管作 为电源指示灯,其中, 电源接口采用了5V圆 孔式接口,与原理图略 有不同
p NEC协议
一直按住按键,一串信息只能发送一次,而后发送的是以110ms 为周期的重复码,如有图所示,重复码是由9ms的AGC高电平和 4.5ms的低电平及一个560us的高电平组成。如左图所示。
红外学习
使用说明
下载程序
红外解码
红外发射
控制外部设备
LOGO
p PCB板开发流程
第一步
第二步
第三步
第四步
NEC协议

基于51单片机的红外遥控设计-毕业设计论文

基于51单片机的红外遥控设计-毕业设计论文

基于51单片机的红外遥控设计摘要很多电器都采用红外遥控,那么红外遥控的工作原理是什么呢?本文将介绍其原理和设计方法。

红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。

常用的红外遥控系统一般分发射和接收两个部分。

红外遥控常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的,在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9 kHz≈38kHz。

也有一些遥控系统采用36kHz、40kHz、56kHz等,一般由发射端晶振的振荡频率来决定。

接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。

“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms左右。

一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便后级适时地来取数据。

这种输出形式一般用于与单片机或微机接口。

除以上输出形式外,还有“锁存”和“暂存”两种形式。

所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。

关键词:80c51单片机、红外发光二极管、晶振目录第一章1、引言 (3)2、设计要求与指标 (3)3、红外遥感发射系统设计 (4)4、红外发射电路设计 (4)5、调试结果及分析 (9)6、结论 (10)第二章1、引言 (10)2、设计要求与指标 (11)3、红外遥控系统设计 (11)4、系统功能实现方法 (15)5、红外接收电路 (16)6、软件设计 (17)7、调试结果及分析 (18)8、结论 (19)参考文献附录绪论人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。

其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。

比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。

基于51单片机的红外报警器(初稿)

基于51单片机的红外报警器(初稿)

目录一、系统设计任务与要求 (1)二、基础知识介绍 (2)2.1 热释电红外传感器简单介绍 (2)2.2 PIR的原理特性 (2)2.3 AT89C51单片机简单概述 (3)2.3.1 AT89C51单片机的结构 (3)2.3.2 AT89C51管脚说明 (4)3 方案设计 (6)3.1 总体设计思路 (6)3.2 具体电路模块设计 (7)3.2.1 热释电红外传感器原理 (7)3.2.2 放大电路的设计 (8)3.2.3 时钟电路的设计 (8)3.2.4 复位电路的设计 (9)3.2.5 发光二极管报警电路的设计 (9)3.2.6 声音报警电路的设计 (10)4 软件的程序流程图及程序 (11)5 总结 (15)参考文献 (15)附件总原理图 (16)红外报警系统的设计与制作内容摘要:本系统采用了热释电红外传感器,它的制作简单、成本低、安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。

这种防盗器安装隐蔽,不易被盗贼发现,同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理。

本设计包括硬件和软件设计两个部分。

硬件部分包括单片机控制电路、红外探头电路、驱动执行报警电路、LED控制电路等部分组成。

处理器采用51系列单片机AT89C51,整个系统是在系统软件控制下工作的。

关键词:单片机;红外传感器;数据采集;报警电路1系统设计任务与要求(1)、该设计包括硬件和软件设计两个部分。

模块划分为数据采集、键盘控制、报警等模块子函数。

(2)、本红外线防盗报警系统由热释电红外传感器、报警器、单片机控制电路、LED控制电路及相关的控制管理软件组成。

用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。

终端由中央处理器、输入模块、输出模块、通信模块、功能设定模块等部分组成。

(3)、系统可实现功能。

当人员外出时,可把报警系统设置在外出布防状态,探测器工作起来,当有人闯入时,热释电红外传感器将探测到动作,设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,经放大电路、比较电路送至门限开关,打开门限阀门送出TTL 电平至AT89C51单片机,经单片机处理运算后驱动执行报警电路使警号发声。

基于51单片机的 红外遥控电机正反转程序 要求:P3.2接红外接收头 控制两个电机正反

基于51单片机的 红外遥控电机正反转程序 要求:P3.2接红外接收头 控制两个电机正反
{
cord=irdata[k];
// if(cord>7)//大于某值为1, 1.792mS
if(cord>6)//大于某值为1,11.0592M
Hale Waihona Puke { value=value|0x80;
unsigned char irtime;//红外用全局变量
bit irpro_ok,irok;
unsigned char IRcord[4]; //一次发射有4个编码值,还是5个 应该是4个,但编号为0-3
unsigned char irdata[33];//一次发射其有33 位
//////////////////////////////////////////////
数据码以及他们的反码的先导。同步位(SY)是标志最后一位编码是“0”或“1”的标识位,它只有0.56ms的有载波信号构成。*/
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
////////////////////////////////////////////////
}
///////////////////////////////////////////////////////////////////
void EX0init(void)
{
IT0 = 1; // Configure interrupt 0 for falling edge(下降沿) on /INT0 (P3.2)
void TIM0init(void)//定时器0初始化
{
TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值,约256US

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

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

目录第一章设计简介 (2)第二章系统方案 (2)一、设计方案对比 (2)二、方案设计 (4)第三章硬件设计 (4)一、红外遥控器 (4)二、红外接收模块部分 (6)第四章软件设计 (7)一、红外遥控器软件设计 (7)二、红外接收模块软件设计 (10)三、程序代码 (10)第五章测试及分析 (10)第六章结论 (10)第七章参考文献 (11)附录一(程序代码): (12)第一章设计简介本设计分为红外遥控器与红外接收模块两部分。

红外遥控器包括矩阵键盘、增强型51单片机(STC11L04E)、红外发射电路组成。

单片机扫描矩阵键盘后,将按键状态进行信源编码与信道编码,载波(38k脉冲)后由红外发射器发射。

红外接收模块部分由传统51单片机、数码管、一体化红外接收头组成。

一体化红外接收头将信号进行限幅放大、带通滤波、解调、积分、整形后输出解调信号至单片机,并由单片机输出解调信号。

第二章系统方案一、设计方案对比红外遥控器部分2.1.1 主控芯片方案一:HT6222方案二:STC11L04E分析:传统红外遥控器芯片HT6222具有性价比高、功能强大、稳定可靠、使用简单等特点,但该芯片难以零购。

STC11L04E为增强型51单片机,控制灵活(载波频率可调、通信协议可变更、用户码可变换)、价格较HT6222稍贵。

STC11L04E最大的特别是低功耗,功作电压低3.3V,易于应用于移动设备。

结论:由于STC11L04E单片机的灵活性以及学习性(可增强我们对一个完整通信系统的理解)。

因此我们采用方案二。

2.1.2 矩阵键盘方案一:3*6*2.5 贴片轻触开关方案二:6*6*6 直插轻触开关分析:3*6*2.5贴片轻触开关虽然体积小巧、美观,但与6*6*6直插轻触开关对比,在制板布线上较繁锁。

结论:综上,我们采用6*6*6直插轻触开关,使得整体布线简单,可布单面版,简化制板流程。

2.1.3电源模块方案一:钮扣电池CR2032方案二:可充电锂电池18650分析:可充电锂电池18650容量大,节能环保(可多次利用),但体积大。

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

基于51单片机的红外遥控开关设计
1)微处理器(CPU):一个8位的CPU,与通常的CPU基本相同,同样还包括了运算器和控制器两部分,只是增加了面向控制的出路功能,不仅可以处理字节数据还可以进行变量的处理。
2)数据存储器(RAM):片内为128B,片外最多可以外扩64KB。片内的128B的RAM以告诉RAM形式集成在单片机内。可以加快但单片机的运行速度,而且这种结果的RAM可以降低功耗。
2.方式1:当M1、M0为01是,定时器/计数器工作于方式1,这时定时器/计数器的等效电路如下图3-3
图3-3定时器/计数器方式1逻辑结构图
3方式2:
方式0和方式1的最大特点是计数溢出后,计数器为全0.因此在循环定时或循环计数用时就存在反复装入计数初值的问题。这不仅影响定时精数,而且也给程序设计带来麻烦。方式2就是针对此问题而设置的。当M1、M2为10时,定时器/计数器处于工作方式2,这时定时器/计数器得等效框图如图3-4所示。这种工作方式可以省去用户软件中得重装初值的程序,简化定时初值的计算方法,可以相当精确的确定定时时间。
3)程序存储器(ROM/EPROM):用来存储程序,8031没有此部件,8051为4KB的ROM;8751为4KB的EPROM。片外最多可以扩至64KB。
4)4个8位并行I/O口(P0、P1、P2、P3)
5)1个串行口:1个全双工的串行口,具有4种工作方式。可以用来进行串行通信,扩展并行I/O口,甚至与多个单片机相连接构成多机系统,从而使单片机的功能更加强且应用更广。
系统组成如图2-2所示【5】。系统由发射部分和接收部分组成。发射部分采用脉冲个数编码,将待发射信号调制成38KHz的载波信号,由红外发射管进行发射。接收部分由红外接收管进行解码接收,单片机通过对所接收信号的分析,输出相应的控制信号,由发光二极管和数码管指示出发射部分按下的按键号。

基于51单片机的红外线控制系统 2

基于51单片机的红外线控制系统 2

单片机原理结课项目项目题目基于51单片机的红外线控制系统基于51单片机的红外线控制系统一、概述:红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。

由于红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以在设计红外线遥控器时,不必要像无线电遥控器那样,每套( 发射器和接收器) 要有不同的遥控频率或编码( 否则,就会隔墙控制或干扰邻居的家用电器) ,所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。

这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。

由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。

基于51单片机的红外线控制系统。

要求通过单片机发送和接红外信号程序,根据接收的信号,执行有关动作的系统,能够实现近距离的无线通。

二、硬件设计1. 系统框图2. 电路原理图电路由五个模块构成(最小系统模块、红外接收模块、数码管显示模块、编程下载模块、电源模块)1) 最小系统STC12C5410AD 单片机红外接收头红外遥控器复位电路时钟振荡电路数码光显示最小系统由stc12c5410ad单片机,按键复位电路,时钟振荡电路构成。

a.电源电源采用5V直流电供电。

b.时钟、复位电路本电路选用12MHz晶振。

2)红外接收模块3)显示模块三、软件设计1.红外编解码原理红外线发射编码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制‘0’;以脉宽为0.565ms、间隔1.658ms、周期为2.25ms的组合表示二进制‘1’;红外接收头接收的信号和发射编码相反;一组编码由一个引导码,四个字节数据组成;引导码由9ms的高电位和4.5ms的地电位组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(在这里特别强调: 编码与解码是一对逆过程, 不仅在原理上是一对 逆过程,在码的发收过程也是互反的, 即以前发射端原始信号是高电 平 ,那接收头输出的就是低电平,反之亦然。因此为了保证解码过程 简单方便,在编码时应该直接换算成其反码。 )
1.红外发射部分: 下图为红外发射部分的电路拟图:
编码过程: (1) 二进制信号的调制 二进制信号的调制由单片机来完成, 它把编码后的二进制信号调制成 频率为 38kHz 的间断脉冲串 (用定时器来完成 ),相当于用二进制信号 的编码乘以频率为 38kHz的脉冲信号得到的间断脉冲串, 即是调制后 用于红外发射二极管发送的信号。 (2)PPM 编码
TL0 = 0xE6; // 设定时值 0 为 38K 也就是每隔 26us 中断一次
TR0 = 1 ;// 开始计数
iraddr1=3; // 自定义的一个地址
iraddr2=252; // 地址反码
do{
delay();
SendIRdata(12);
} while (1);
}
// 定时器 0 中断处理
/***************************************************************/
// 发送十六位地址的前八位
irdata=iraddr1;
for (i=0;i<8;i++)
{ // 一个周期里规定先以高电平开始, 在以低电平结束 。先发送 0.56ms 的 38KHZ
(3)发送程序
#include <AT89X51.h>
static bit OP;
// 红外发射管的亮灭控制位
static unsigned int count;
// 延时计数器
static unsigned int endcount; // 终止延时计数
static unsigned char flag;
{
count = 0;
flag = 0;
// 无载波
OP = 0;
// 不亮
P3_4 = 0;
// 在后面会发现用 OP赋值的
EA = 1; // 允许 CPU中断
TMOD = 0x11; // 设定时器 0 和 1 为 16 位模式 1
ห้องสมุดไป่ตู้
ET0 = 1; // 定时器 0 中断允许
TH0 = 0xFF;
for (i=0;i<8;i++)
{
endcount=10;
flag=1;
count=0;
“ 1”的红外波(即编码中 0.56ms 的高电平)
endcount=10;
flag=1;
count=0;
do {} while (count<endcount);
// 停止发送红外信号(即编码中的低电平)
if (irdata-(irdata/2)*2)
// 判断二进制数个位为 1 还是 0
{endcount=41; }
{OP = 0; }
P3_4 = OP;
}
void SendIRdata( char p_irdata)
// 发送数据子函数
{
int i;
char irdata=p_irdata;
/***************************************************************/
//1 为宽的高电平 1.68ms
else
{endcount=15; }
//0 为窄的高电平 0.56ms
flag=0; count=0;
while (count<endcount);
irdata=irdata>>1;
// 依次取位
}
// 发送十六位地址的后八位
irdata=iraddr2;
// 此处已经是地址的反码
void timeint( void ) interrupt 1
{
TH0=0xFF;
TL0=0xE6; // 设定时值为 38K 也就是每隔 26us 中断一次
count++;
if (flag==1)
{OP=~OP; } // 如果是待发送的有效数据 flag=1 ,就在此产生载波 (亮灭交变)
else
// 红外发送标志
sbit P3_4=P3^4;
char iraddr1; // 十六位地址的第一个字节
char iraddr2; // 十六位地址的第二个字节
void SendIRdata(char p_irdata); // 发送子函数
void delay();
void main( void )
// 发送 9ms的起始码,并是载波模式有效
endcount=223;
flag=1;
count=0;
while (count<endcount); // 等待中断,控制亮灭交变的总时间为 9ms
// 发送 4.5ms 的结果码,并是载波模式无效
endcount=117
flag=0;
count=0;
do{} while (count<endcount);
红外通信原理
红外遥控有发送和接收两个组成部分。 发送端采用单片机 将待发送的 二进制信号编码调制为一系列的脉冲串信号, 通过红外发射管发射红 外信号 。红外接收完成对红外信号的接收、放大、检波、整形,并解 调出遥控编码脉冲 。为了减少干扰, 采用的是价格便宜性能可靠的 一体化红外接收头 (HS0038, 它接收红外信号频率为 38kHz,周期约 26μ s) 接收红外信号,它同时对信号进行放大、 检波、整形得到 TTL 电平的编码信号, 再送给单片机, 经单片机解码并执行去控制相关对 象。具体实现过程如下:
这种遥控编码具有以下特征: ○1 遥控编码脉冲由 前导码 、16 位地址码 ( 8 位地址码、 8 位地址码 的反码)和 16 位操作码 (8 位操作码、 8 位操作码的反码)组成。 前导码 :是一个遥控码的起始部分, 由一个 9ms 的高电平 ( 起始码 ) 和一个 4. 5ms的低电平 ( 结果码 )组成,作为接受数据的准备脉冲。 16 位地址码 :能区别不同的红外遥控设备,防止不同机种遥控码互 相干扰。 16 位操作码 :用来执行不同的操作。 ○2 采用脉宽调制的串行码,以脉宽为 0.56ms、间隔 0.56ms、周期为 1.12ms 的组合表示二进制的 “ 0;”以脉宽为 1.68ms、间隔 0.56ms、周 期为 2.24ms 的组合表示二进制的 “1。”
相关文档
最新文档