单片机红外发射(原理与设计程序
- 格式:doc
- 大小:199.50 KB
- 文档页数:14
单片机红外发射(原理与设计程序)一、引言随着科技的发展和人们对智能化生活的需求增加,红外发射技术在家电遥控、无线通讯等领域得到广泛应用。
单片机是红外发射的一个重要组成部分,通过学习单片机红外发射的原理和设计相关的程序,我们可以更好地理解和应用该技术。
二、红外发射原理1. 红外通信原理红外通信是利用红外线传输信息的一种无线通信方式。
红外线是一种波长较长、能量较低的电磁波,不会对人体和周围环境产生明显危害。
通过调制红外线的频率和幅度,可以传输数字信号和模拟信号。
2. 红外发射原理红外发射是通过调制器件发射调制后的红外信号。
在单片机红外发射中,通常使用红外发射二极管作为发射器件。
通过控制单片机的输出引脚,可以使红外发射二极管发射出不同频率和占空比的红外信号。
3. 红外编码原理在红外通信中,通常需要对信号进行编码,以区分不同的按键和数据。
红外编码有多种方式,常用的有NEC编码和RC-5编码。
通过将特定的按键和数据映射成不同的编码,可以实现红外通信的多样化功能。
三、单片机红外发射设计程序1. 硬件连接,需要将红外发射二极管连接到单片机的输出引脚。
具体连接方式可参考所使用的单片机的引脚定义和电路原理图。
2. 程序设计步骤设计单片机红外发射程序的步骤如下:1. 初始化单片机的IO引脚,将输出引脚设置为输出模式。
2. 设置红外发射的调制频率和占空比。
3. 根据需要发送的数据,将数据转换成对应的红外编码。
4. 根据红外编码,控制输出引脚的电平变化,以模拟红外信号的调制。
5. 持续一定时间后,停止红外发射,将输出引脚恢复到默认状态。
3. 程序示例下面是一个简单的单片机红外发射程序示例:cinclude <reg52.h>// 红外发射引脚sbit IR_Pin = P1^0;// 发射红外信号的函数void transmitIRSignal() {// 设置调制频率和占空比//// 发送红外编码//// 控制引脚电平变化,模拟红外信号//// 停止红外发射IR_Pin = 0;}void mn() {// 初始化IO引脚IR_Pin = 0;// 发射红外信号transmitIRSignal();while(1) {//}}四、通过对单片机红外发射的原理和设计程序的学习,我们了解到红外发射是利用红外通信原理,通过控制红外发射二极管发射相应的红外信号。
基于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。
比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。
单片机的红外通信原理
单片机的红外通信原理是通过红外发射器和红外接收器进行数据的发送和接收。
红外发射器是一个用于发射红外光信号的器件,它通过电流激励而发射出红外光。
红外接收器则是一个用于接收红外光信号的器件,它可以将接收到的红外光信号转换成对应的电压信号。
在红外通信过程中,发送端的单片机首先将需要发送的数据转换成红外光信号。
这可以通过对红外发射器施加电压的方式来实现。
当电压施加在红外发射器上时,它会以特定的频率发射红外光信号。
这个特定的频率一般是在红外光线可见范围之外,人眼无法看到。
接收端的单片机上安装了红外接收器,它可以接收来自发送端发射的红外光信号。
红外接收器将接收到的红外光信号转换成电压信号,并通过单片机进行处理。
单片机根据接收到的信号特征,判断出是哪个发射器发出的信号,并解码出相应的数据信息。
然后,单片机可以根据接收到的数据进行相应的操作,比如控制其他器件的开关或者进行数据的存储和处理。
红外通信在遥控器、红外设备和红外传感器等方面有着广泛的应用。
通过红外通信,可以实现无线传输和控制,具有灵活性高、成本低的优势。
单片机红外发射原理及设计程序一、红外发射原理红外发射器是利用电子技术发射红外光信号的设备,其原理是通过电流和电压的作用,使红外发射二极管中的半导体材料产生拉格朗日反射(Lumogen) 效应而发射出红外光。
红外发射器主要由红外发射二极管和控制器组成。
控制器通过控制发射二极管的工作状态,即调节发射二极管的电压和电流,从而控制红外发射的功率和波长。
二、红外发射器的设计1.红外发射二极管选型选择适合的红外发射二极管至关重要。
常见的红外发射二极管有850nm和940nm两种波长,前者适用于大多数应用场景,后者适用于有特殊需求的场景。
2.红外发射驱动电路设计红外发射二极管一般工作在连续电流模式下,通过调节电流的大小来控制红外发射的功率。
可以采用可调电流源或者恒流源来驱动红外发射二极管。
可调电流源的原理是通过使用可调电阻和反馈电路,调节输出电流的大小。
恒流源的原理是通过使用运算放大器和负反馈电路,使输出电流保持不变。
3.单片机控制程序设计通过单片机来控制红外发射器的工作状态,可以实现各种功能。
以下是一个简单的红外发射程序设计示例:#include <reg52.h>sbit IR_LED = P1^0; // 红外发射器连接的IO口void delay_us(unsigned int n) // 微秒级延时函数unsigned char i;while (n--)for(i=0;i<10;i++);}void send_IR_data(unsigned char data) // 发送红外数据unsigned char i;for(i=0;i<8;i++)if(data & 0x01)IR_LED=1;//发射高电平表示逻辑1delay_us(560);IR_LED=0;delay_us(560);}elseIR_LED=1;//发射高电平表示逻辑0delay_us(560);IR_LED=0;delay_us(1700);}data >>= 1;}void mainsend_IR_data(0xAA); // 发送数据0xAAwhile(1);这个程序通过控制红外发射器连接的IO口的输出电平和延时函数,模拟了红外码的发送过程。
单片机红外发射一、红外发射原理:红外发射是一种通过发射红外光信号进行通信或控制的技术。
其基本原理是利用发光二极管(LED)产生特定频率的红外光信号,并通过电路将其调制成所需要的信号波形。
红外发射的工作原理如下:1.红外发光二极管(LED):在发射端,使用发光二极管(LED)作为红外发射源。
LED通过正向电流激发P-N结,产生光子能量,进而发射红外光信号。
2.调制电路:为了实现红外信号的调制,需要设计一个调制电路。
调制电路的作用是将待发送的信号转换成特定的脉冲信号,使LED以一定的频率闪烁,并通过改变脉冲信号的宽度和周期来实现信息的传输。
3.通信协议:在设计程序时,需要根据具体的通信协议来编写发送指令的代码。
通信协议包括红外信号的编码、解码规则,以及通信双方之间的数据传输格式等。
二、红外发射的设计程序:设计红外发射程序需要考虑以下几个方面:1.选择合适的单片机:根据实际需求选择适合的单片机作为控制核心,常用的单片机有51系列、AVR系列、STM32系列等。
2.硬件设计:搭建与单片机连接的硬件电路,包括红外发射二极管(LED)的连接,调制电路的设计以及红外发射电路的供电和接地等。
3.红外发射的代码编写:根据具体的单片机型号和开发环境,编写控制红外发射的代码。
代码中需要设置与红外发射相关的参数,包括调制频率、调制波形、发送信号的格式等。
4.调试和测试:将程序烧录到单片机中,连接红外发射电路并供电后,通过测试红外发射是否正常工作。
可以使用红外接收器来接收红外发射的信号,以验证发送的信号是否正确。
5.优化和改进:根据实际需求和测试结果进行优化和改进,可以通过调整参数、改善硬件电路等方式来提升红外发射的性能和可靠性。
三、总结:红外发射技术是一种通过发射红外光信号进行通信和控制的技术,其基本原理是利用发光二极管(LED)产生特定频率的红外光信号,并通过电路将其调制成所需的信号波形。
在设计红外发射程序时,需要选择合适的单片机,设计相应的硬件电路,编写相应的代码,进行调试和测试并进行优化和改进。
用AT89S51单片机制作红外电视遥控器一般红外电视遥控器的输出都是用编码后串行数据对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红外信号,高电平处则不发送红外信号。
单片机红外电视遥控器电路图如下:C51程序代码:#include <AT89X51.h>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 ){count = 0;flag = 0;OP = 0;P3_4 = 0;EA = 1; // 允许CPU中断TMOD = 0x11; // 设定时器0 和1 为16 位模式1ET0 = 1; // 定时器0 中断允许TH0 = 0xFF;TL0 = 0xE6; // 设定时值0 为38K 也就是每隔26us中断一次TR0 = 1 ;// 开始计数iraddr1=3;iraddr2=252;do{delay();SendIRdata(12);} while (1);}// 定时器0 中断处理void timeint( void ) interrupt 1{TH0=0xFF;TL0=0xE6; // 设定时值为38K 也就是每隔26us 中断一次count++;if (flag==1){OP=~OP;}else{OP = 0;}P3_4 = OP;}void SendIRdata( char p_irdata){int i;char irdata=p_irdata;// 发送9ms的起始码endcount=223;flag=1;count=0;do{} while (count<endcount);// 发送4.5ms 的结果码endcount=117flag=0;count=0;do{} while (count<endcount);// 发送十六位地址的前八位irdata=iraddr1;for (i=0;i<8;i++){// 先发送0.56ms 的38KHZ红外波(即编码中0.56ms 的低电平)endcount=10;flag=1;count=0;do {} while (count<endcount);// 停止发送红外信号(即编码中的高电平)if (irdata-(irdata/2)*2) // 判断二进制数个位为 1 还是0 {endcount=41; //1 为宽的高电平}else{endcount=15; //0 为窄的高电平}flag=0;count=0;do{} while (count<endcount);irdata=irdata>>1;}// 发送十六位地址的后八位irdata=iraddr2;for (i=0;i<8;i++){endcount=10;flag=1;count=0;do{} while (count<endcount);if (irdata-(irdata/2)*2){endcount=41;}else{endcount=15;}flag=0;count=0;do{} while (count<endcount);irdata=irdata>>1;}// 发送八位数据irdata=p_irdata;for( i=0;i<8;i++){endcount=10;flag=1;count=0;do{} while (count<endcount);if( irdata-(irdata/2)*2){endcount=41;}else{endcount=15;}flag=0;count=0;do{} while (count<endcount);irdata=irdata>>1;}// 发送八位数据的反码irdata=~p_irdata;for (i=0;i<8;i++){endcount=10;flag=1;count=0;do{} while (count<endcount);if (irdata-(irdata/2)*2){endcount=41;}else{endcount=15;}flag=0;count=0;do{} while (count<endcount);irdata=irdata>>1;}endcount=10;flag=1;count=0;do{} while (count<endcount); flag=0;}void delay(){int i,j;for (i=0;i<400;i++){for (j=0;j<100;j++){}}}制作的实物如下图所示:1、引言红外通信是目前比较常用的一种无线数据传输手段,其具有无污染、信息传输稳定、信息安全性高以及安装使用方便等优点,并且可以在很多场合应用,如家电产品,工业控制、娱乐设施等领域。
深圳市技新电子科技有限公司www.jixin.pro红外收发模块51单片机程序部分V1.0.0.0红外收发模块51单片机程序部分1、红外收发原理介绍1.1红外接收头决定了通信的频率是38KHZ红外通信模块发射红外光的频率是38KHZ,这个频率是由红外接收探头决定的,市场上还有其他频率的产品这里不讨论。
技小新的红外收发模块上面用的接收头就是这种38KHZ 的,型号是IRM-3638T。
红外发射的探头没有这个频率限制,所以可以用单片机自由控制。
1.2红外通信的流程单片机A控制红外发光管,发射38KHZ频率的光,同时遵守一定的通信规则,比如电影里常见的“摩斯密码”。
红外接收头连接着单片机B,红外接收头收到红外光后会输出一连串的高低电平到单片机B,单片机B根据“摩斯密码”的规则解码。
这样就完成了一次红外通信。
1.3红外载波调制的约定我们使用的通信方式叫做载波调制。
(1)由于发射频率是38KHZ,很容易得出发射一个信号的周期是26.3uS.(2)对于发射端:“载波发射”一个周期是,发光8.77uS+不发光17.53uS。
“载波不发射”一个周期是,26.3uS不发光。
(3)对于接收端:如果收到了一个“载波发射”信号,输出低电平26.3uS。
如果收到了一个“载波不发射”信号(其实就是没有收到信号),输出高电平26.3uS。
真正使用时候要发送一连串的“载波发射”和“载波不发射”,这样接收端输出的是连续的脉冲。
(注意,仅仅一个“载波发射”并不能让接收端正确输出。
)1.4NEC_upd6121红外通信协议。
这是很多遥控器厂商都在使用的协议。
它的协议约定如下:(1)引导码:342个连续“载波发射”+171个“载波不发射”。
接收端的反应是9mS的低电平+4.5mS的高电平。
(2)数据“0”表示为:21个连续“载波发射”+21个连续“载波不发射”。
接收端的反应是:0.56mS的低电平+0.56mS的高电平。
(3)数据“1”表示为:21个连续“载波发射”+64个连续“载波不发射”。
基于单片机的红外通信系统设计1 简介红外通信是指利用红外线进行信息传输的一种无线通讯方式。
其传输距离在10米以内,速度较快,常用于遥控器、智能家居、安防监控等领域。
本文将介绍基于单片机的红外通信系统设计。
2 系统原理红外通信系统需包含红外发射器、红外接收器和处理器三个部分。
通信原理是将信息编码成红外信号,通过红外发射器发出,再由红外接收器接收,经过解码后传输到处理器中处理。
3 系统设计步骤3.1 红外接收器电路设计红外接收器采用红外管接收器,其特点是灵敏度高,在不同角度能接收到较远的红外信号。
红外管接收器与电路板焊接,电路板再选用较长的电线接到处理器的端口上。
3.2 红外发射器电路设计红外发射器采用红外二极管,其工作电压一般为1.2-1.4V。
通过接通1kHz以上的方波信号控制二极管的导通,使其发出红外光。
为保证其稳定性和较远的有效距离,需在电路中添加反向电流保护二极管。
3.3 处理器设计处理器选用常用的单片机,如AT89C51等。
单片机内置了红外通信模块,可用来发送和接收红外信号。
同时,还需通过编程实现对红外信号的解码和编码,实现信息传输与处理。
4 系统测试测试时,可用遥控器模拟发送红外信号,系统接收并解码后显示在液晶屏幕上。
测试距离一般在10米以内,且需保持天空无其它遮挡物。
5 总结基于单片机的红外通信系统设计,具有灵敏度高、速度快、传输距离短等特点。
其应用广泛,在智能家居、安防监控、车载通信等领域均有应用。
但需注意遮挡物的影响,以及信号干扰等问题。
单片机系统中红外通信的软硬件设计方法,并给出了具体的电路原理和通信源程序。
关键词:单片机,红外通信,遥控在许多基于单片机的应用系统中,系统需要实现遥控功能,而红外通信则是被采用较多的一种方法。
一般市场上的摇控器协议简单、保密性不强、抗干扰能力较弱。
这里,我们介绍一种基于字节传输的红外遥控系统,可以适合于各种复杂的应用场合。
红外通信的基本原理红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
本系统采用的为永时市制方法。
数据比特的传送仿照不带奇侧校验的RS232通信,首先产生一个同步头,然后接着8位数据比特,如图1所示。
硬件电路设计复费率电能表系统可分为手持遥控器和复费率电能表两部分.手持遥控器为发射部分,其基本电路如图2所示。
采用塑封的SE303ANC-发射二极管,波长为940nm。
CPU按照协议规定导通或截止发射二极管,从而产生特定频率的发射信号,这里选用的频率为38.9kHz。
复费率电能表红外接收部分的基本电路如图3所示。
接收管采用日本光电子公司的PIC-12034,其接收频率为37.9kHz,它直接将37.9kHz的调制信号解调为基带信号,提供缎带接收CPU。
该芯片接收灵敏度高,性能稳定。
其基本工作过程为:当接收至37.9kHz 信号时,输出低电平,否则输出为高电平。
电能表部分采用的是51系列单片机,以中断方式检测接收信号。
这里的非门对收信号起整形作用。
软件设计发射部分的程序相对来说非常简单,主要是生产不同时间间隔的37.9kHz脉冲串信号控制发射管的通断。
在发射端,CPU不断扫描键盘,一旦发现有键按下,即启动发射子程序将相应的数值发送出。
在我们的设计中,采用的是4×4的小键盘,正如和0~F编码对应,为了提高可靠性,采用最简单的纠错编码――将每位数重复发送一次,即和键盘数字对应的编码为00~FF。
51单片机红外发射程序一定要用灌电流驱动,拉电流驱动最远遥控距离2米,改用灌电流之后,可以遥控6米,PK遥控板,通过中间串联一个3v电池之后,遥控距离达30米以上(亲测)。
#include ;#define uchar unsigned char#define uint unsigned intsbit IR_OUT=P1^0 ;void delay_ms(uint ms){uint i,j;for(i=0;i<120;i++){for(j=0;j<ms;j++);}}//T1 13us产生一次中断用于产生38K载波//T0 方式1 16位用于定时void Init_Timer(void){TMOD=0x21; //T0 mode 1T1 mode 2TH1=256-(1000*11.0592/38.0/12)/2+0.5;//特殊TL1=TH1;ET1=1;EA=1;}//发送引导码发送方:4.5ms高电平 4.5ms低电平void Send_Start_Bit(void)//TR1的值=发送的电平{//4.5ms 1TH0=(65536-8295)/256;TL0=(65536-8295)%256;TR0=1;TR1=1;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=1;//4.5ms 0TH0=(65536-4146)/256; TL0=(65536-4146)%256; TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=1;}//发送0void Send_Bit_0(void) {//0.565ms 1TH0=(65536-521)/256; TL0=(65536-521)%256; TR0=1;TR1=1;while(!TF0);TR1=0;TF0=0;IR_OUT=1;//0.565ms 0TH0=(65536-521)/256; TL0=(65536-521)%256; TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=1;}//发送1void Send_Bit_1(void) {//0.565ms 1TH0=(65536-521)/256; TL0=(65536-521)%256; TR0=1;TR1=1;while(!TF0);TF0=0;TR0=0;IR_OUT=1;//1.685ms 0TH0=(65536-1563)/256;TL0=(65536-1563)%256;TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=1;}void Send_over(void)//发送一个结束码,因为最后一个位只有遇到下降沿才能读取(发射端的上升沿){//0.500ms 1//小于0.5ms 接收端很难识别到TH0=(65536-500)/256; TL0=(65536-500)%256; TR0=1;TR1=1;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=1;//0.500ms 0TH0=(65536-500)/256; TL0=(65536-500)%256; TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=1;}//发送一字节 8位void Send_Char(){unsigned char i,j1,j2,j3,j4; j1=0xBE;j2=0x41;j3=0xDE;j4=0x20;Send_Start_Bit();Send_Bit_0();//发射引导吗for(i=0;i<8;i++){if(j1&0x80)Send_Bit_0();elseSend_Bit_1();j1=j1<<1;//先发射低位}for(i=0;i<8;i++){if(j2&0x80)Send_Bit_0();elseSend_Bit_1(); j2=j2<<1;//先发射低位}for(i=0;i<8;i++) {if(j3&0x80)Send_Bit_0(); elseSend_Bit_1(); j3=j3<<1;//先发射低位}for(i=0;i<8;i++) {if(j4&0x80)Send_Bit_0(); elseSend_Bit_1(); j4=j4<<1;//先发射低位}Send_over();//结束符}void T1_ISR(void) interrupt 3 {IR_OUT=!IR_OUT;}void main(void){Init_Timer();while(1){Send_Char();delay_ms(1000);}}。
红外发射实例一:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit IR_OUT=P1^0 ;void delay_ms(uint ms){uint i,j;for(i=0;i<120;i++){for(j=0;j<ms;j++);}}//T1 13us产生一次中断用于产生38K载波//T0 方式1 16位用于定时void Init_Timer(void){TMOD=0x21; //T0 mode 1 T1 mode 2 TH1=256-(1000*11.0592/38.0/12)/2+0.5;//特殊TL1=TH1;ET1=1;EA=1;}//发送引导码发送方:4.5ms高电平 4.5ms低电平void Send_Start_Bit(void) //TR1的值=发送的电平{//4.5ms 1TH0=(65536-8295)/256;TL0=(65536-8295)%256;TR0=1;TR1=1;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;//4.5ms 0TH0=(65536-4146)/256;TL0=(65536-4146)%256;TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;}//发送0void Send_Bit_0(void) {//0.565ms 1TH0=(65536-521)/256;TL0=(65536-521)%256; TR0=1;TR1=1;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;//0.565ms 0TH0=(65536-521)/256; TL0=(65536-521)%256; TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;}//发送1void Send_Bit_1(void) {//0.565ms 1TH0=(65536-521)/256;TL0=(65536-521)%256;TR0=1;TR1=1;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;//1.685ms 0TH0=(65536-1563)/256;TL0=(65536-1563)%256;TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;}void Send_over(void) //发送一个结束码,因为最后一个位只有遇到下降沿才能读取(发射端的上升沿){//0.500ms 1 //小于0.5ms 接收端很难识别到TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;TR1=1;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;//0.500ms 0TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;TR1=0;while(!TF0);TR1=0;TF0=0;TR0=0;IR_OUT=0;}//发送一字节 8位void Send_Char(){unsigned char i,j1,j2,j3,j4;j1=0xBE;j2=0x41;j3=0xDE;j4=0x20;Send_Start_Bit();Send_Bit_0();//发射引导吗for(i=0;i<8;i++){if(j1&0x80)Send_Bit_0();elseSend_Bit_1();j1=j1<<1;}for(i=0;i<8;i++) {if(j2&0x80)Send_Bit_0();elseSend_Bit_1();j2=j2<<1;//先发射低位}for(i=0;i<8;i++) {if(j3&0x80)Send_Bit_0();elseSend_Bit_1();j3=j3<<1;}for(i=0;i<8;i++){if(j4&0x80)Send_Bit_0();elseSend_Bit_1();j4=j4<<1;//先发射低位}Send_over();//结束符}/*void Delay10ms(void) {TH0=(65536-10000)/256;TL0=(65536-10000)%256;TR0=1;while(!TF0);TF0=0;}*/void T1_ISR(void) interrupt 3 {IR_OUT=!IR_OUT;}void main(void){Init_Timer();while(1){// Send_Start_Bit();// Send_Bit_1();Send_Char();delay_ms(1000);}}//-----------------------------------------------------------------------//T1 ISR红外发射程序实例二:*******************************/#include<reg52.h> //包含单片机寄存器的头文件#include<intrins.h> //包含_nop_()函数定义的头文件sbit IR=P3^2; //将IR位定义为P3.2引脚sbit RS=P2^4; //寄存器选择位,将RS位定义为P2.0引脚sbit RW=P2^5; //读写选择位,将RW位定义为P2.1引脚sbit E=P2^6; //使能信号位,将E位定义为P2.2引脚sbit BF=P0^7; //忙碌标志位,,将BF位定义为P0.7引脚sbit BEEP = P3^0; //蜂鸣器控制端口P36unsigned char flag;unsigned char code string[ ]= {"1602IR-CODE TEST"}; unsigned char a[4]; //储存用户码、用户反码与键数据码、键数据反码unsigned int LowTime,HighTime; //储存高、低电平的宽度unsigned int a0,a1,a2,a3,a4,a5,a6,a7;sbit p37=P3^7;/***************************************************** 函数功能:延时1ms***************************************************/ void delay1ms(){unsigned char i,j;for(i=0;i<10;i++)for(j=0;j<33;j++);}/***************************************************** 函数功能:延时若干毫秒入口参数:n***************************************************/void delay(unsigned char n){unsigned char i;for(i=0;i<n;i++)delay1ms();}/*********************************************************/ void beep() //蜂鸣器响一声函数{unsigned char i;for (i=0;i<100;i++){delay1ms();BEEP=!BEEP; //BEEP取反}BEEP=1; //关闭蜂鸣器delay(250); //延时}/*****************************************************函数功能:判断液晶模块的忙碌状态返回值:result。
基于51单片机的红外遥控器设计近年来,随着智能家居的兴起,红外遥控器在我们的生活中扮演着越来越重要的角色。
本文将基于51单片机,设计一个简单的红外遥控器。
首先,我们需要了解红外遥控器的工作原理。
红外遥控器使用红外线来传输指令。
当用户按下遥控器上的按键时,红外发射器发射一个特定的红外信号。
接收器接收到这个信号后,将其转换成电信号,并将其发送到电子设备中,实现对设备的控制。
接下来,我们需要选择合适的红外发射器和接收器。
常见的红外发射器有红外LED,常见的红外接收器有红外接收头。
在选择红外发射器和接收器时,要根据其工作频率、传输距离、灵敏度等因素进行选择。
在本设计中,我们选择了工作频率为38kHz的红外发射器和接收器。
接下来,我们需要设计电路,并进行程序开发。
首先,我们需要连接红外发射器和接收器到51单片机上。
红外发射器的一个引脚连接到51单片机的I/O口,另一个引脚连接到正极电源,第三个引脚连接到电源的接地端。
红外接收器的输出引脚连接到51单片机的I/O口,电源和接地端分别连接到正负电源。
接下来,我们需要编写程序。
首先,我们需要设置51单片机的I/O 口为输入或输出。
然后,我们需要编写程序来发送红外信号。
我们可以使用PWM技术来模拟红外信号的脉冲。
当用户按下遥控器上的按键时,我们可以发送一个特定的脉冲序列,来控制电子设备。
同时,我们还需要编写程序来接收红外信号。
当红外接收器接收到红外信号时,会输出一个特定的电平信号。
我们可以使用外部中断来检测这个信号,并进行相应的处理。
在程序开发过程中,我们需要注意红外信号的协议。
常见的红外信号协议有NEC、SONY等。
我们需要根据所使用的红外接收器的协议来编写相应的程序。
最后,我们需要测试代码的功能和稳定性。
可以通过连接电子设备,按下遥控器上的按键,来测试红外信号的发送和接收功能。
如果一切正常,我们的红外遥控器设计就完成了。
总结起来,基于51单片机的红外遥控器设计是一个简单而有趣的项目。
基于51单片机的红外传感器原理下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!基于51单片机的红外传感器原理1. 简介红外传感器是一种常用于检测物体距离、障碍物识别等的传感器。
基于单片机红外遥控开关的设计一、引言随着科技的发展和人们对生活品质的追求,智能化家居逐渐成为人们生活中的一部分。
其中,红外遥控技术是实现智能化家居的重要手段之一、本文将介绍基于单片机的红外遥控开关的设计方案,通过学习该方案,读者可以了解到红外遥控技术的原理和应用。
二、设计方案1.硬件设计本设计方案采用AT89S52单片机作为控制核心,通过红外接收头接收红外信号,并通过解码,将信号转化为数字信号;同时,使用继电器作为开关,通过控制继电器的通断,实现对电器设备的开关控制。
2.红外信号解码红外信号解码是实现遥控开关的关键步骤。
当用户按下遥控器上的按键时,红外发射器会发射一组特定的红外信号。
这组信号会被红外接收头接收,并通过解码器进行解码。
解码器将解码后的信号与预设的数据进行比对,确认遥控指令是否有效。
如果有效,则向单片机发送指令,控制继电器通断。
3.程序设计在单片机中,需要编写相关的程序,实现对红外信号的解码和继电器的控制。
首先需要配置单片机的I/O口为输入和输出模式,然后初始化红外接收头,设置外部中断,以便能够接收到红外信号。
接收到红外信号后,将解码后的数据与预设的数据进行比对,如果相同,则通过单片机的输出口控制继电器的通断,实现开关控制。
三、实验结果通过实验验证,基于单片机红外遥控开关的设计方案可以正常工作。
用户可以通过按下遥控器上的按键,控制继电器的通断,从而实现对电器设备的开关控制。
四、应用展望基于单片机红外遥控开关的设计方案可以广泛应用于智能化家居中,通过设置不同的红外编码,可以实现对不同设备的开关控制。
例如,通过不同编码实现对灯光、电视、空调等设备的开关控制。
此外,还可以通过增加传感器模块,实现对环境的监测和控制。
比如,根据温度传感器的数据,自动控制空调的开关,实现智能化温度控制。
总结:基于单片机红外遥控开关的设计方案利用了红外遥控技术和单片机控制技术,实现了对电器设备的智能化控制。
通过学习该方案,读者可以了解到红外遥控技术的原理和应用,以及单片机的应用。
51单片机红外解码程序1、红外遥控系统通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。
发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。
下面,我们将使用下面两种设备:另外,使用51单片机进行解码。
2、原理图从原理图看出,IR的data脚与51的PD2(P3.2)相连。
2、红外发射原理要对红外遥控器所发的信号进行解码,必须先理解这些信号。
a) 波形首先来看看,当我们按下遥控器时,红外发射器是发送了一个什么样的信号波形,如下图:由上图所示,当一个键按下超过22ms,振荡器使芯片激活,将发射一组108ms的编码脉冲(由位置1所示)。
如果键按下超过108ms仍未松开,接下来发射的代码(连发代码由位置3所示)将仅由起始码(9ms)和结束码(4.5ms)组成。
下面把位置1的波形放大:由位置1的波形得知,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(用户编码)(9ms~18ms),高8位地址码(用户编码)(9ms~18ms),8位数据码(键值数据码)(9ms~18ms)和这8位数据的反码(键值数据码反码)(9ms~18ms)组成。
b) 编码格式遥控器发射的信号由一串0和1的二进制代码组成.不同的芯片对0和1的编码有所不同。
通常有曼彻斯特编码和脉冲宽度编码。
XS-091遥控板的0和1采用PWM方法编码,即脉冲宽度调制。
下图为一个发射波形对应的编码方法:放大0和1的波形如下图:这种编码具有以下特征:以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。
3、红外接收原理a) 波形红外接收头将38K载波信号过虑,接收到的波形刚好与发射波形相反:放大,位定义0和位定义1波形如下:4、解码原理及算法注:代码宽度算法:16位地址码的最短宽度:1.12×16=18ms 16位地址码的最长宽度:2.24ms×16=36ms可以得知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)×8=27ms所有32位代码的宽度为(18ms+27ms)~(36ms+27ms)对于红外线遥控对于很多电子爱好者来讲,都感觉到非常神奇,看不到,摸不着,但能实现无线遥控,其实控制的关键就是我们要用单片机芯片来识别红外线遥控器发出红外光信号,即我们通常所说的解码。
单片机红外接受发送实验报告单片机红外发射与接收实验报告指导老师报告人一·实验选题基于单片机的设计任务要求设计一个以单片机为核心控制器件的红外收发系统发射载频38KHz 工作温度-40--85℃接收范围2m系统概述方案设计与论证红外遥控收发系统以下简称红外遥控系统是指利用红外光波作为信息传输的媒介以实现远距离控制的装置从实际系统的硬件结构看红外遥控系统包括发射装置和接收装置其中发射装置包括电源模块输入模块红外发射模块和单片机最小系统接收装置包括电源模块红外接收模块输出模块和单片机最小系统本设计选题设计任务要求设计一个以单片机为核心控制器件的红外收发系统其中发射载波 38KHz电源 V02A 5V01A工作温度-40--85℃接收范围 2m传输速率 27bits反应时间 2ms 利用单片机的定时功能或使用载波发生器用于产生载波的芯片均可产生 38KHz 的发射载波单片机系统可以直接由 5V01A 的电源供电也可以通过三端稳压芯片由 9V02A 电源供电采用工业级单片机可以工作在-40--85℃为保证接收范围达到 2m在发射载频恒为 38KHz 的前提下应采用电流放大电路使红外发射管发射功率足够大传输速率和反应时间取决于所使用的编码芯片或程序的执行效率通过上述分析可知为实现设计任务并满足设计指标应采用工业级单片机由电流放大电路驱动红外发射管针对设计任务提出设计方案程序功能将程序编译通过并下载成功后两个板上的红外光电器件都要套上黑色遮光罩就可以进行实验了测距实验手持号板和号板两管相对慢慢拉远或移近两管的距离观察LED的读数变化阻断实验可请另一人协助将一张纸或其他障碍物放在两管之间再拿开会看到读数有大幅度的变化反射实验将号和号实验板并排拿在手中并形成一个小夹角向一张白纸移动观察读数变化寻迹实验将白纸的部分区域涂黑让你手中的这对红外发射与接收器件在黑色区域与白色区域之间来回移动观察读数变化另外我们选用的红外接收管灵敏很高对室内散射光计算机显示器的辐射日光灯管甚至冬天的暖气等都有感应实验时要注意这些因素的干扰注意实验场地要适当遮光不要有直射光或在窗前进行实验红外线接收模块的原理如下以小型红外接收解调模块SFH506-38超小型红外接收解调模块RPM-638CBR为例来介绍分析一般的红外接收模块主要由CX2016APC1373等集成电路外加阻容元件红外线接收管及滤波光片等组成因而体积较大而新一代一体化红外遥控接收头SFH506-38与RPM-638CBR将红外接收管前置放大解调等电路集成在同一基片上内电路框图如图1所示具有体积小无外部元件抗干扰性能好接收角度宽价格低等优点1小型红外接收解调模块SFH506-38该接收模块采用黑色环氧树脂封装灵敏度较高用小功率红外发射管发射信号接收距离达35米其外型及管脚如图2所示主要电参数如下电源电压VCC为5V 接收峰值波长为095um接收角度为-55度接受距离为35米最大静态电流05mA接收频率为38KHz另有派为3033364056KHz系列供选用2超小型红外接收解调模块RPM-638CBR次模块采用树脂封装有直立与卧式两种封装形式其主要电参数VCC为45--55V静态电流无光照及信号输入Icc为3MA峰值波长为094uM接收最大距离为8--15M水平接收角为33度上下接收角为14度接收频率为38KHz工作温度为-25度----75度由于SFH506-38和RPM-638CBR能直接与红外遥控专用解码电路配合使用因此完全可以取代电视音响等设备中的常规红外接收头且实践证明效果很好红外线接收模块的技术参数1工作电压DC5-20V 可订做范围DC3V-DC24V2静态功耗lt50微安3集电极开路输出负载电流 500mA 其它电流值需订做4延时时间可订做零点几秒几十分钟5封锁时间可订做零点几秒几十秒6触发方式L不可重复触发H可重复触发7感应范围 140度距离5-7米以内 25时8尺寸直径 23mm 默认另有127mm8mm可选9工作温度-20-70℃10外形尺寸2638mm螺丝孔距325mm 注可按客户的各种要求生产模块11感光度可按要求订做 21 红外接收电路一体化的红外接收装置将遥控信号的接收放大检波整形集于一身并且输出可以让单片机识别的TTL 信号这样大大简化了接收电路的复杂程度和电路的设计工作方便使用在本系统中我们采用红外一体化接收头HS0038外观图如图 3 所示HS0038 黑色环氧树脂封装不受日光荧光灯等光源干扰内附磁屏蔽功耗低灵敏度高在用小功率发射管发射信号情况下其接收距离可达35m它能与TTLCOMS 电路兼容HS0038 为直立侧面收光型它接收红外信号频率为38 kHz周期约26 μs同时能对信号进行放大检波整形得到TTL 电平的编码信号三个管脚分别是地+5 V 电源解调信号输出端红外一体化接收头的测试可以利用图4 所示的电路进行在HS0038 的电源端与信号输出端之间接上一只二极管及一只发光二极管后再配上规定的工作电源为+5V当手拿遥控器对着接收头按任意键时发光二极管会闪烁说明红外接收头和遥控器工作都正常如果发光二极管不闪烁发光说明红外接收头和遥控器至少有一个损坏只要确保遥控器工作正常很容易判断红外接收头的优劣HS0038的内部结构1PINPIN光敏二极管光敏二极管工作时加有反向电压没有光照时其反向电阻很大只有很微弱的反向饱和电流暗电池当有光照时就会产生很大的反向电流亮电流光照越强该亮电流就越大光敏二极管是一种光电转换二极管所以又叫光电二极管PN结光敏二极管由于相应速度慢不能再通信系统中得到应用PIN光敏二极管就是在PN结中间夹入一层轻掺杂本征半导体PIN光敏二极管特点响应时间短暗电流小入射光量与输出电流的直线性良好PIN光敏二极管的主要用途遥控传真机光通信短距离2AGC Automatic Gain Control 自动增益控制放大器增益表示放大器功率放大倍数以输出功率同输入功率比值的常用对数表示单位为分贝它是输出限幅装置的一种是利用线性放大和压缩放大的有效组合对输出信号进行调整当输入信号较弱时线性放大电路工作保证输出信号的强度当输入信号强度达到一定程度时启动压缩放大线路使输出幅度降低满足了对输入信号进行衰减的需要也就是说AGC功能可以通过改变输入输出压缩比例自动控制增益的幅度它能够在输入信号幅度变化很大的情况下使输出信号幅度保持恒定或仅在较小范围内变化不至于因为输入信号太小而无法正常工作也不至于因为输入信号太大而使接收机发生饱和或堵塞3Band Passband-pass filter 带通滤波器带通滤波器是指能通过某一频率范围内的频率分量但将其他范围的频率分量衰减到极低水平的滤波器4Demodulator解调器解调是将模拟信号- 数字信号HS0038参考电路在实际的应用中可以参考以下电路进行电路原理图的设计TSAL62是指红外发射头TSAL6200uc是指微控制器HS0038对数据格式的要求 The data signal should fullfill the following condition载波频率接近38kHz1要求脉冲的长度不小于10个周期2脉冲之间的时间距离不小于14个周期3如果每个脉冲的长度超过18ms那么需要在数据流中添加一些空隙空隙的长度要在脉冲长度的4倍以上4每秒钟可以连续接收800个短脉冲符合数据格式的列子有 Some examples for suitable data format areNEC CodeToshiba Micom Format Sharp Code RC6 Code R–2000 Code等红外通信解调功能从图中我们可以看出HS0038接收到的信号正好与发射信号是不对应的当输出脉冲为高时对应HS0038的低电平也就是说发送的红外信号与接收到的红外信号互为相反hs0038 应用 C51编程五·外围器件一.电阻器简介11 电阻器的含义在电路中对电流有阻碍作用并且造成能量消耗的部分叫电阻12 电阻器的英文缩写RResistor 及排阻RN13 电阻器在电路符号 R14 电阻器的常见单位千欧姆KΩ兆欧姆MΩ15 电阻器的单位换算 1兆欧 103千欧 106欧16 电阻器的特性电阻为线性原件即电阻两端电压与流过电阻的电流成正比通过这段导体的电流强度与这段导体的电阻成反比即欧姆定律I UR 表 17 电阻的作用为分流限流分压偏置滤波与电容器组合使用和阻抗匹配等18 电阻器在电路中用R加数字表示如R15表示编号为15的电阻器19 电阻器的在电路中的参数标注方法有3种即直标法色标法和数标法a直标法是将电阻器的标称值用数字和文字符号直接标在电阻体上其允许偏差则用百分数表示未标偏差值的即为±20b数码标示法主要用于贴片等小体积的电路在三为数码中从左至右第一二位数表示有效数字第三位表示10的倍幂或者用R表示 R表示0 如472 表示 47×102Ω即47KΩ 104则表示100KΩR22表示022Ω 122 1200Ω 12KΩ 1402 14000Ω 14KΩ R22 022Ω 50C 324100 324KΩ17R8 178Ω000 0Ω 0 0Ωc色环标注法使用最多普通的色环电阻器用4环表示精密电阻器用5环表示紧靠电阻体一端头的色环为第一环露着电阻体本色较多的另一端头为末环现举例如下如果色环电阻器用四环表示前面两位数字是有效数字第三位是10的倍幂第四环是色环电阻器的误差范围见图一四色环电阻器普通电阻标称值第一位有效数字标称值第二位有效数字标称值有效数字后0的个数 10的倍幂允许误差颜色第一位有效值第二位有效值倍率允许偏差黑0 0 棕 1 1 ±1 红 2 2 ±2 橙3 3 黄4 4 绿5 5 ±05 蓝6 6 ±025 紫7 7 ±01 灰8 8白9 9 ―20 50 金 5 银10无色20 图1-1 两位有效数字阻值的色环表示法如果色环电阻器用五环表示前面三位数字是有效数字第四位是10的倍幂第五环是色环电阻器的误差范围见图二五色环电阻器精密电阻标称值第一位有效数字标称值第二位有效数字标称值第三位有效数字标称值有效数字后0的个数10的倍幂允许误差颜色第一位有效值第二位有效值第三位有效值倍率允许偏差黑0 0 0 棕 1 1 1 1 红 2 2 22 橙3 3 3 黄4 4 4 绿55 5 05 蓝6 6 6 025 紫7 7 7 01灰8 8 8 白9 9 9 -20~50 金±5 银±10图1-2 三位有效数字阻值的色环表示法110 SMT电阻的尺寸表示用长和宽表示如0201060308051206等具体如02表com111 一般情况下电阻在电路中有两种接法串联接法和并联接法电阻的计算R1 R1 R2R2串连并联R R1R2 R 1R11R2112 多个电阻的串并联的计算方法串联R总串 R1R2R3Rn并联1R总并 1R2R3R1Rn二.电容器1 电容器的含义衡量导体储存电荷能力的物理量2 电容器的英文缩写C capacitor3 电容器在电路中的表示符号 C 或CN 排容4 电容器常见的单位毫法mF微法uF纳法nF皮法pF5 电容器的单位换算 1法拉 103毫法 106微法 109纳法 1012皮法1pf 10-3nf 10-6uf 10-9mf 10-12f6 电容的作用隔直流旁路耦合滤波补偿充放电储能等7 电容器的特性电容器容量的大小就是表示能贮存电能的大小电容对交流信号的阻碍作用称为容抗它与交流信号的频率和电容量有关电容的特性主要是隔直流通交流通低频阻高频8 电容器在电路中一般用C加数字表示如C25表示编号为25的电容9 电容器的识别方法与电阻的识别方法基本相同分直标法色标法和数标法3种a 直标法是将电容的标称值用数字和单位在电容的本体上表示出来如220MF表示220UF01UF表示001UFR56UF表示056UF6n8表示6800PFb 不标单位的数码表示法其中用一位到四位数表示有效数字一般为PF而电解电容其容量则为UF如3表示3PF2200表示2200PFcomFc 数字表示法一般用三为数字表示容量的大小前两位表示有效数字第三位表示10的倍幂如102表示10102 1000PF224表示22104 02UFd 用色环或色点表示电容器的主要参数电容器的色标法与电阻相同电容器偏差标志符号100-0--H100-10--R50-10--T30-10--Q50-20--S80-20--Z10 电容的分类根据极性可分为有极性电容和无极性电容我们常见到的电解电容就是有极性的是有正负极之分11 电容器的主要性能指标是电容的容量即储存电荷的容量耐压值指在额定温度范围内电容能长时间可靠工作的最大直流电压或最大交流电压的有效值耐温值表示电容所能承受的最高工作温度稳压二极管发光二极管光电二极管变容二极管3 半导体二极管在电路中常用加数字表示如D5表示编号为5的B锗二极管在两极加上电压并且电压大于02V时才能导通导通后电压保持在02-03V之间5 半导体二极管主要特性是单向导电性也就是在正向电压的作用下导通电阻很小而在反向电压作用下导通电阻极大或无穷大 7 半导体二极管的识别方法a目视法判断半导体二极管的极性一般在实物的电路图中可以通过眼睛直接看出半导体二极管的正负极在实物中如果看到一端有颜色标示的是负极另外一端是正极b用万用表指针表判断半导体二极管的极性通常选用万用表的欧姆档 R*100或R*1K 然后分别用万用表的两表笔分别出接到二极管的两个极上出当二极管导通测的阻值较小一般几十欧姆至几千欧姆之间这时黑表笔接的是二极管的正极红表笔接的是二极管的负极当测的阻值很大一般为几百至几千欧姆这时黑表笔接的是二极管的负极红表笔接的是二极管的正极 c测试注意事项用数字式万用表去测二极管时红表笔接二极管的正极黑表笔接二极管的负极此时测得的阻值才是二极管的正向导通阻值这与指针式万用表的表笔接法刚好相反变容二极管是根据普通二极管内部 PN结的结电容能随外加反向电压的变化而变化这一原理专门设计出来的一种特殊二极管变容二极管在无绳电话机中主要用在手机或座机的高频调制电路上实现低频信号调制到高频信号上并发射出去在工作状态变容二极管调制电压一般加到负极上使变容二极管的内部结电容容量随调制电压的变化而变化变容二极管发生故障主要表现为漏电或性能变差1发生漏电现象时高频调制电路将不工作或调制性能变差2变容性能变差时高频调制电路的工作不稳定使调制后的高频信号发送到对方被对方接收后产生失真三极管在电路中常用Q加数字表示如Q17表示编号为17的三极管特点三极管简称管是内部含有2个PN结并且具有放大能力的特殊器件它分NPN型和PNP型两种类型这两种类型的三极管从工性上可互相弥补所谓OTL电路中的对管就是由PNP型和NPN型配对使用按材料来分可分硅和锗管我国目前生产的硅管多为NPN型锗管多为PNP型E 发射极 C 集电极 E 发射极 C 集电极B 基极B 基极NPN型三极管 PNP 型三极管4 半导体三极管放大的条件要实现放大作用必须给三极管加合适的电压即管子发射结必须具备正向偏压而集电极必须反向偏压这也是三极管的放大必须具备的外部条件5 半导体三极管的主要参数a 电流放大系数对于三极管的电流分配规律Ie IbIc由于基极电流Ib的变化使集电极电流Ic发生更大的变化即基极电流Ib的微小变化控制了集电极电流较大这就是三极管的电流放大原理即βΔIcΔIbb极间反向电流集电极与基极的反向饱和电流c极限参数反向击穿电压集电极最大允许电流集电极最大允许功率损耗6半导体三极管具有三种工作状态放大饱和截止在模拟电路中一般使用放大作用饱和和截止状态一般合用在数字电路中a半导体三极管的三种基本的放大电路共射极放大电路共集电极放大电路共基极放大电路电路形式直流通道静态工作点交流通道微变等效电路ri Rbrbe ro RC RC 用途多级放大电路的中间级输入输出级或缓冲级高频电路或恒流源电路b三极管三种放大电路的区别及判断可以从放大电路中通过交流信号的传输路径来判断没有交流信号通过的极就叫此极为公共极注交流信号从基极输入集电极输出那发射极就叫公共极交流信号从基极输入发射极输出那集电极就叫公共极交流信号从发射极输入集电极输出那基极就叫公共极7 用万用表判断半导体三极管的极性和类型用指针式万用表a先选量程R*100或R*1K档位b判别半导体三极管基极用万用表黑表笔固定三极管的某一个电极红表笔分别接半导体三极管另外两各电极观察指针偏转若两次的测量阻值都大或是都小则改脚所接就是基极两次阻值都小的为NPN型管两次阻值都大的为PNP型管若两次测量阻值一大一小则用黑笔重新固定半导体三极管一个引脚极继续测量直到找到基极c判别半导体三极管的c极和e极确定基极后对于NPN管用万用表两表笔接三极管另外两极交替测量两次若两次测量的结果不相等则其中测得阻值较小得一次黑笔接的是e极红笔接得是c 极若是PNP型管则黑红表笔所接得电极相反d 判别半导体三极管的类型如果已知某个半导体三极管的基极可以用红表笔接基极黑表笔分别测量其另外两个电极引脚如果测得的电阻值很大则该三极管是NPN型半导体三极管如果测量的电阻值都很小则该三极管是PNP型半导体三极管五.PCB的简介1 PCB的英文缩写PCB Printed Circuit Board2 PCB的作用PCB作为一块基板他是装载其它电子元器件的载体所以一块PCB设计的好坏将直接影响到产品质量的好坏3 PCB的分类和常见的规格根据层数可分为单面板双面板和多层板我们主机板常用的是4层板或者6层板而显示卡用的是8层板而主机板的尺寸为AT规格的主机板尺寸一般为13X12 单位为英寸 ATX主机板的尺寸一般为12X96 单位为英寸 Micro Atx主机板尺寸com 单位为英寸注明1英寸 254CM六.晶振1晶振在线路中的符号是”X”Y2晶振的名词解释能产生具有一定幅度及频率波形的振荡器3晶振在线路图中的表示符号4晶振的测量方法测量电阻方法用万用表RX10K档测量石英晶体振荡器的正反com英晶体振荡器有一定的阻值或为零则说明该石英晶体振荡器已漏电或击穿损坏动态测量方法用是波器在电路工作时测量它的实际振荡频是否符合该晶体的额定振荡频率如果是说明该晶振是正常的如果该晶体的额定振荡频率偏低偏高或根本不起振表明该晶振已漏电或击穿损坏七·555定时器555集成时基电路称为集成定时器是一种数字模拟混合型的中规模集成电路其应用十分广泛该电路使用灵活方便只需外接少量的阻容元件就可以构成单稳多谐和施密特触发器因而广泛用于信号的产生变换控制与检测它的内部电压标准使用了三个5K的电阻故取名555电路其电路类型有双极型和CMOS型两大类两者的工作原理和结构相似几乎所有的双极型产品型号最后的三位数码都是555或556所有的CMOS产品型号最后四位数码都是7555或7556两者的逻辑功能和引脚排列完全相同易于互换555和7555是单定时器556和7556是双定时器双极型的电压是5V15V输出的最大电流可达200mACMOS型的电源电压是3V18V 图8-1 555定时器内部框图555电路的工作原理555电路的内部电路方框图如图8-1所示它含有两个电压比较器一个基本RS 触发器一个放电开关T比较器的参考电压由三只5KΩ的电阻器构成分压它们分别使高电平比较器A1同相比较端和低电平比较器A2的反相输入端的参考电平为和A1和A2的输出端控制RS触发器状态和放电管开关状态当输入信号输入并超过时触发器复位555的输出端3脚输出低电平同时放电开关管导通当输入信号自2脚输入并低于时触发器置位555的3脚输出高电平同时放电开关管截止是复位端当其为0时555输出低电平平时该端开路或接VCCVc是控制电压端5脚平时输出作为比较器A1的参考电平当5脚外接一个输入电压即改变了比较器的参考电平从而实现对输出的另一种控制在不接外加电压时通常接一个001uf的电容器到地起滤波作用以消除外来的干扰以确保参考电平的稳定T为放电管当T导通时将给接于脚7的电容器提供低阻放电电路555定时器的典型应用图8-2 555构成单稳态触发器上图8-2为由555定时器和外接定时元件RC 构成的单稳态触发器D为钳位二极管稳态时555电路输入端处于电源电平内部放电开关管T导通输出端Vo输出低电平当有一个外部负脉冲触发信号加到Vi端并使2端电位瞬时低于低电平比较器动作单稳态电路即开始一个稳态过程电容C 开始充电Vc按指数规律增长当Vc充电到时高电平比较器动作比较器A1翻转输出Vo从高电平返回低电平放电开关管T重新导通电容C上的电荷很快经放电开关管放电暂态结束恢复稳定为下个触发脉冲的来到作好准备波形图见图8-3 图8-3 单稳态触发器波形图暂稳态的持续时间Tw即为延时时间决定于外接元件RC的大小Tw 11RC通过改变RC的大小可使延时时间在几个微秒和几十分钟之间变化当这种单稳态电路作为计时器时可直接驱动小型继电器并可采用复位端接地的方法来终止暂态重新计时此外需用一个续流二极管与继电器线圈并接以防继电器线圈反电势损坏内部功率管如图8-4由555定时器和外接元件R1R2C构成多谐振荡器脚2与脚6直接相连电路没有稳态仅存在两个暂稳态电路亦不需要外接触发信号利用电源通过R1R2向C充电以及C通过R2向放电端放电使电路产生振荡电容C在和之间充电和放电从而在输出端得到一系列的矩形波对应的波形如图8-5所示图8-4 555构成多谐振荡器图8-5 多谐振荡器的波形图输出信号的时间参数是 T07R1R2C07R2C其中为VC由上升到所需的时间为电容C放电所需的时间555电路要求R1与R2均应不小于1KΩ但两者之和应不大于33MΩ外部元件的稳定性决定了多谐振荡器的稳定性555定时器配以少量的元件即可获得较高精度的振荡频率和具有较强的功率输出能力因此这种形式的多谐振荡器应用很广3组成占空比可调的多谐振荡器电路如图8-6它比图8-4电路增加了一个电位器和两个引导二极管D1D2用来决定电容充放电电流流经电阻的途径充电时D1导通D2截止放电时D2导通D1截止图8-6 555构成占空比可调的多谐振荡器可见若取电路即可输出占空比为50℅的方波信号图8-7 555构成施密特触发器图8-8 555构成施密特触发器的波形图实现基本和常用逻辑运算的电子电路叫逻辑门电路实现与运算的叫与门实现或运算的叫或门实现非运算的叫非门也叫做反相器等等用逻辑1表示高电平用逻辑0表示低电平2 与门逻辑表达式F=A B。
用AT89S51单片机制作红外电视遥控器
一般红外电视遥控器的输出都是用编码后串行数据对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 红外信号,高电平处则不发送红外信号。
单片机红外电视遥控器电路图如下:
C51程序代码:
#include <AT89X51.h>
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)
{
count = 0;
flag = 0;
OP = 0;
P3_4 = 0;
EA = 1; //允许CPU中断
TMOD = 0x11; //设定时器0和1为16位模式1
ET0 = 1; //定时器0中断允许
TH0 = 0xFF;
TL0 = 0xE6; //设定时值0为38K 也就是每隔26us中断一次TR0 = 1;//开始计数
iraddr1=3;
iraddr2=252;
do{
delay();
SendIRdata(12);
}while(1);
}
//定时器0中断处理
void timeint(void) interrupt 1
{
TH0=0xFF;
TL0=0xE6; //设定时值为38K 也就是每隔26us中断一次count++;
if (flag==1)
{
OP=~OP;
}
else
{
OP = 0;
}
P3_4 = OP;
}
void SendIRdata(char p_irdata)
{
int i;
char irdata=p_irdata;
//发送9ms的起始码
endcount=223;
flag=1;
count=0;
do{}while(count<endcount);
//发送4.5ms的结果码
endcount=117
flag=0;
count=0;
do{}while(count<endcount);
//发送十六位地址的前八位
irdata=iraddr1;
for(i=0;i<8;i++)
{
//先发送0.56ms的38KHZ红外波(即编码中0.56ms的低电平)
endcount=10;
flag=1;
count=0;
do{}while(count<endcount);
//停止发送红外信号(即编码中的高电平)
if(irdata-(irdata/2)*2)//判断二进制数个位为1还是0
{
endcount=41;//1为宽的高电平
}
else
{
endcount=15;//0为窄的高电平
}
flag=0;
count=0;
do{}while(count<endcount);
irdata=irdata>>1;
}
//发送十六位地址的后八位
irdata=iraddr2;
for(i=0;i<8;i++)
{
flag=1;
count=0;
do{}while(count<endcount);
if(irdata-(irdata/2)*2)
{
endcount=41;
}
else
{
endcount=15;
}
flag=0;
count=0;
do{}while(count<endcount);
irdata=irdata>>1;
}
//发送八位数据
irdata=p_irdata;
for(i=0;i<8;i++)
{
flag=1;
count=0;
do{}while(count<endcount);
if(irdata-(irdata/2)*2)
{
endcount=41;
}
else
{
endcount=15;
}
flag=0;
count=0;
do{}while(count<endcount);
irdata=irdata>>1;
}
//发送八位数据的反码
irdata=~p_irdata;
for(i=0;i<8;i++)
{
flag=1;
count=0;
do{}while(count<endcount);
if(irdata-(irdata/2)*2)
{
endcount=41;
}
else
{
endcount=15;
}
flag=0;
count=0;
do{}while(count<endcount);
irdata=irdata>>1;
}
endcount=10;
flag=1;
count=0;
do{}while(count<endcount);
flag=0;
}
void delay()
{
int i,j;
for(i=0;i<400;i++)
{
for(j=0;j<100;j++)
{
}
}
}
制作的实物如下图所示:
1、引言
红外通信是目前比较常用的一种无线数据传输手段,其具有无污染、信息传输稳定、信息安全性高以及安装使用方便等优点,并且可以在很多场合应用,如家电产品,工业控制、娱乐设施等领域。
红外通信是利用950nm近红外波段的红外线作为传递信息的载体,通过红外光在空中的传播来传递信息,由红外发射器和接收器实现。
发射端将二进制数字信号调制成某一频率的脉冲序列,经电光转换电路,驱动红外发射管
以光脉冲的形式发送到空中。
接收端将接收到的光脉冲转换成电信号,再经解调和译码后恢复出原二进制数字信号。
本文设计了一种基于单片机
PIC18F248的主从式红外通信系统,主要设计了红外接口电路以及主机和从机通信软件流程。
2、系统硬件电路设计
在主从式红外通信系统中,主机及从机的红外发射电路相同,红外线的载波频率都为38KHz,在同一时间内,可以是主机发射,从机接收;或者从机发射,主机接收。
2.1 红外发射电路设计
红外发射器电路主要由单片机,驱动管Q1和Q2、红外发射管
D1等组成,电路如下:
红外发射器工作原理为:单片机通过I/O端口控制整个发射过程。
其中,红外载波信号采用频率为38KHz的方波,由PIC18F248的*模块的PWM功能实现,并由*1端口传输到三极管
T2的基极。
待发送到数据由单片机的TX端口以串行方式送出并驱动三极管Q1,当TX为“0”时使Q1管导通,通过Q2管采用脉宽调制(PWM)方式调制成38KHz 的载波信号,并由红外发射管D1以光脉冲的形式向外发送。
当TX为“1”时使Q1管截止,Q2管也截止,连接Q1和Q2的两个上拉电阻
R1和R3把三极管的基极拉成高电平,分别保证两个三极管可靠截止,红外发射管D1不发射红外光。
因此通过待发送数据的“0”或“1”就可控制调制后两个脉冲串之间的时间间隔,即调制PWM的占空比。
比如若传送数据的波特率为1200bps,则每个数位“0”就对应32个载波脉冲调制信号。
红外发射管D1采用TSAL6200红外发射二极管
,其实现将电信号转变成一定频率的红外光信号,它发射一种时断时续的高频红外脉冲信号,由于脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小就可以确定传输的数据是“0”还是“1”。
2.2 红外接收电路设计
红外接收电路主要采用Vishay公司的专用红外接收模块
HS0038B。
接收电路及HS0038B内部结构如下:。