单片机之间的短程双向光通信链路的软硬件设计(源码+万字报告+实物)

目 录
摘 要 2
Abstract 3
1 绪论 1
1.1 课题设计目的及意义 1
1.2 红外遥控的设计思路 1
2 课题的方案设计与论证 2
2.1 红外编码方案 2
2.2 硬件系统设计架构 3
2.3 系统功能需求 6
3 系统的硬件结构设计 6
3.1 AT89C51系列单片机功能特点 6
3.2 红外发射电路 10
3.3 红外检测接收电路 11
3.4 光电耦合控制电路 12
3.5 电源电路设计 13
3.6 LCD1602显示部分的设计 14
3.7 键盘设计 16
4 系统软件的设计 18
4.1 定时/计数器应用 18
4.2 遥控码的发射 21
4.3 红外接收 23
4.4 按键抖动问题 26
4.5 系统的软硬件的调试 27
结 论 29
参考文献 30
附 录 31
附录1:发射程序 31
附录2:接收程序 37
附录3:红外发射电路图 46
附录4:红外接收电路图 46
致 谢 47

1 绪论
1.1 课题设计目的及意义
随着科学技术的发展,人们的生活节奏越来越快,对方便和速度的要求也越来越高。遥控器的外观在一定程度上满足了这一要求。遥控是由多产的发明家Luobote在20世纪50年代发明的,红外遥控是20世纪70年代发展起来的一种遥控技术。它的原理是利用红外线发送控制信号来实现对被控对象的远程控制,尤其是发送红外信号的发射机,接收和处理信号的接收机。最终实现各种功能的遥控器。
红外遥控具有独立性、物理特性和可见光相似性,无穿透障碍物能力,隐蔽性强等特点。随着红外遥控技术的发展和迅速发展,许多电器被用于红外遥控。红外遥控技术的成熟,也使得遥控风扇设计简单、成本低廉。
本设计通过红外遥控仿真,实现了红外遥控按键的模拟。
1.2国外研究现状
红外遥控技术的发展起源于20世纪,最初主要是由一些发达国家进行研究的技术,由于各项技术发展不成熟,所以也导致其红外遥控技术发展也不顺利,二十世纪七十年后,随着各项计算机技术以及各种集成电路技术的不断发展,红外遥控技术也得到快速的发展。并且通过多年技术积累,红外遥控技术都开始不断的完善与进步。遥控技术的发展由最初的有线遥控发展到可以颈无线遥控。这都是遥控技术的巨大飞跃。最初的无线遥控技术主要是由电磁波来进行信号的控制,但是由于电磁波信号在传输工程中很容易受到干扰,因此关于信号的遥控开始使用红外线信号进行信号的传递。红外遥控技术的发展得到了许多pc企业的支持,例如微软、苹果等公司的支持,并且都在计算中选择采用高速红外通信在pc机上。
1.3国外研究现状
红外遥控技术主要应用在家电的使用上,红外遥控因为在进行信号接收时,不会受到外界因素的影响,在使用其他电器时也不会影响红外信号的传输,并且它的价格便宜、设置编码简单。所以得到了很大的发展。
目前我国关于红外遥控类型的电子元件竞争不叫激烈。这也是导致其元件价格比较低廉。从短期来看,这样的竞争对消费者很有利,但是从长远角度来看,随着竞争的恶性循环,随着价格的走低,导致其质量也会出现下降。因此对我国红外相关技术很不利的。所以红外遥控技术道路还需要走很远。
1.4 红外遥控的设计思路
1.4.1 红外线简介
红外线,又称红外线光波,可见光和不可见光可以根据不同的波长来划分。波长为0.38微米~0.76微米的光波可以是可见光,其次是红、橙、黄、绿、绿、蓝、紫。0.01微米~0.38微米的光波是紫外线(谱线),0.76微米~1000微米的光波是红外线。红外光按波长范围分为近红外、中红外、远红外和极端红外。红外线遥控是利用近红外线来传送遥控指令,波长0.76微米~1.5微米。近红外光被用作远程光源,因为目前红外线发射器(红外线发射管)和红外线接收装置(光电二极管、晶体管和光伏电池)的光和光的峰值波长一般为0.8微米至0.94微米,在近红外波段,光谱重叠可以很好地匹配,以达到更高的传输效率和高可靠性。
1.4.2 红外遥控系统简介
红外遥控系统主要由遥控发射机、集成接收头、单片机、接口电路组成,如图1所示。远程控制用于产生远程控制编码脉冲,驱动红外发射管输出红外远程控制信号,远程控制接收头完成对远程控制编码脉冲的放大、检测、定型和解锁。远程控制编码脉冲是一组串行二进制码。对于一般的红外遥控系统,该串行码被输入到微控制器中,其内部cpu完成遥控指令的解码,并执行相应的遥控功能。利用遥控作为控制系统的输入,需要解决的关键问题有:如何接收红外遥控信号;如何识别红外遥控信号和解码软件的设计、控制程序的设计。

2 课题的方案设计与论证
2.1 红外编码方案
有许多方法可以编码红外代码。 以下是两个实现选项:
解决方案1:脉宽调制串行码。 遥控代码具有以下特征:脉冲宽度为0.565毫秒,间隔为0.56毫秒,周期为1.125毫秒,表示二进制“0”; 脉冲宽度为0.565毫秒,间隔为1.685毫秒,周期为2.25毫秒,表示二进制“1”。 相关波形图如图2-1所示:

图2-1 串行码编码
选项二:代码共享。用脉冲数编码,不同的脉冲数代表不同的控制对象,至少有2个脉冲。为便于可靠的接收,第一码宽度为3ms,其余为1ms,距离控制码数
帧间隔大于10ms,如图2-2所示。

图2-2 码分制编码波形图
该设计采用第二种方案,码分编码易于编程,并且在按钮较少的情况下优点很明显。
2.2 硬件系统设计架构
2.2.1 手持段遥控器电路框图:
单片微机系统由显示电路,红外传输电路,按钮电路,稳压电路等组成。该
手持式遥控电路设计示意图如图2-3所示。

图2-3手持段遥控器方框图
2.2.2 红外接收端电路框图:
单片机系统和显示电路,红外发光电路和按钮电路,电源电路,控制单元等。 红外接收器设计示意图如图2-4所示。

图2-4 红外接收端方框图

2.2.3 红外遥控的现状
目前,家用电器最常用的遥控方法是红外遥控。红外遥控器不会对周围环境产生影响,也不会干扰其他电气设备。价格低,编码简单,使用红外遥控器进行遥控非常有利。
由于红外集成接收头的外观,红外遥控器的成本和技术难度大大降低。目前,它不仅用于家用电器领域,还广泛应用于玩具,安防等领域。红外遥控系统主要由红外遥控发射器,红外接收装置和遥控微处理器组成。因此,遥控系统是涉及单片微计算机的数字系统。
目前,我国红外遥控电子元器件的竞争非常激烈,导致价格低廉,对消费者有利。然而,长期的恶性竞争和价格的相互压力将不可避免地导致产品质量下降。最终的损害只能由消费者造成。红外遥控技术的发展前景仍然十分广阔,但红外遥控技术的发展现状并不乐观。
红外遥控器是一种单红外通信方法。在整个通信中,需要发送器和接收器。发送端使用单片机调制发送的二进制信号,使其成为一系列突发信号,并通过红外发射管发送红外信号。红外接收端一般采用集成红外接收头,接收红外信号成本低,性能可靠。同时,对信号进行放大,检查和整形,得到ttl级编码信号,然后发送到单片机进行解码和控制相关对象。

图2-5 遥控器原理框图
2.3 系统功能需求
远程控制系统需要单片机作为控制芯片来执行远程控制[4],并且可以远程控制其他单片机控制系统。 主芯片控制采用AT89C51单片机,接收头采用红外HS0038,采用LCD1602模拟显示遥控器按键的按键值,从而实现控制红外遥控功能。

3 系统的硬件结构设计
3.1 AT89C51系列单片机功能特点
对于主控芯片的选择需要满足很好兼容性,同时也可以实现对各种数据的检测如对键盘参数的的检测,此外,也可以实现对显示器的驱动,保证其正常的工作,基于以上要求,我们在主控芯片的选择上所采用的是AT89C52单片机。
该单片机的引脚数一共为40个,其中有一个引脚为两个串行口,16位的计时器以及定时器有2个,中断源的数量为5个,并行的8位I/O口数量为4个以及优先级端口2个。它的存储系统是由ROM以及182B的RAM所组成。具体的结构框图见3.1图。

图3-1 微处理器的组成结构
3.1.1 STC89C52微型处理器的参数情况
1具有八位的中央处理单元。
2.对信号进行存储的模块就是来对数据信息以及系统信息进行储存的器件。当前而言微处理的发展是朝着集成化的方向发展,也就是把RAM以及ROM集成在微处理器当中,这样做的目的是为了提高其抗。
4.对于这2个定时器与计时器来说它们主要是用来对数据进行计数或者是准确的将计算的结果进行表示出来,同时它还可以实现对外部的数据进行计数以及定时。在目前的51系列单片机中为了能够方便的对串行通信进行设计,一般都设置了3个16位的计数器以及定时器。
5.4个并行的I/O口即P0~P3口,主要的作用是实现数据的输入和输出功能。可以用作输入。
7.其中SST89E58RD这个类型的微处理器,它的中断源9个。而他只有五个中断源的中断控制系统。
8. 51类型的单片机内部具有时钟电路并且可以外部连接一个时钟电路,其中能够振动的频率为十二赫兹,但是SST89E58RD执行相应速度是51的好几倍,其中最大为四十赫兹。
9.UART这个端口的主要作用就是实在微处理器和电脑或者是微处理器之间的连接功能。
AT89C52微处理器的引脚图见3-2。

图3-2 AT系列的51端口图
重要的端口进行介绍:
1.两个进行时钟电路连接的 端口XTAL1 与XTAL2:
XTAL1(19引脚):该引脚的主要功能是实现对外部晶体以及外部的微调电容的链接,同时它可以实现信号的放大作用。在连接时钟时候,应该对19引脚进行接地。
XTAL2(18引脚):连接外部晶体和微调电容的一端; 这一引脚也可以实现外部的时钟脉冲电路。
2.对信号进行控制的9号端口:
当RST的信号在1位的时候,可以开始工作,进行系统的初始化工作 。当其电源出现故障的时候,由原来的高电平降低到为低低电平,同时它的工作周期为,每一个循环为一个机械周期,所以会产生复位情况,单片机的端口功能是vpd。
30端口:当其引脚的锁存信号为低信号时才可以对外部CPU进行访问。
当其输出的是1/6的正脉冲信号时,这就使得无法对片外的存储器进行访问,所以外部输出时钟或定时信号不能是ALE信号。 如果需要检测其芯片的质量是否有问题时,只需要测量其是否有脉冲信号的输出即可。 如果8051/8031基本上是好的,通过执行就会产生信号,之后对其进行输出读写工作。
EA / Vpp(31引脚):这一引脚主要是用来实现对外部程序的输入操作的。当ROM或者是EPROM被外部的CPU进行访问时,且EA引脚为低电平时,不管片上程序存储器若何。 关于没有片上ROM的8031或8032,在EA引脚必要接地的情况下,必要扩展EPROM。 该引脚的第二个功能是当Vpp被编程为更高的施加电压(每每为12V至21V)时,Vpp是8751片内EPROM的输入[8]。
PSEN(29引脚):信号端子可以被程序存储器许可输出。 该肢体连接到EPROM的OE端(参见以下章节中的一切小型系统硬件图)。 PSEN端子有可以读取EPROM / ROM中的指令代码的作用。8个LS型TTL负载还可以被PSEN端子驱使。假如需要在该最小系统通电后,检查其能否正常工作时,可以通过CPU是否可以读取ROM或者EPROM中的指令。
3.P0~P3这四个端口主要是作为输入或者输出端口。在需要CPU进行外部访问时,其中p0位置是信号的总线内部存在上拉R。
P1模块:其中它的模块中也有一个内部上拉R,同时它也是作为一个准双向的8位I / O口使用。它也是一个八位的端口。 P1的每个端口能够驱动并且带有四个负载,对外部进行数据的访问,以及信号的 传输时都有八个进行输入和输出口
P2模块:该模块中内部具有一个上拉阻值的R其中。P2的每个端口能够驱动并且带有四个负载,对外部进行数据的访问,以及信号的 传输时都有八个进行输入和输出口
P3模块: 4个LS型TTL负载可以被P3的每个端口驱动。 P3的每个端口能够驱动并且带有四个负载,对外部进行数据的访问,以及信号的 传输时都有八个进行输入和输出口
其中任意一个连接处都有具体的功能,如下所示:
P3.1:对收集的信号进行传输。
P3.2:当为0值的时候,外部中断进行工作。
P3.3:当为1值的时候,外部中断进行工作。
P3.4:当t0为低电平的时候,开始进行计数工作。
P3.5:当t1为低电平的时候,开始进行计数工作。
P3.6:(WR#)对外部信息进行写的选通。
P3.7:(RD#)对外部信息进行读的选通。
P3.0:(RXD)串行数据接收。
3.1.2 AT89C52单片机的中断系统
该系列的微处理器中的MCU终止系统可以实现对二次服务的功能,它具有中断源的数量为5个,它的优先级的数量为2个。IE寄存器通过对CPU的控制来实现中断功能。同时中断的顺序也是有一个先后的,这主要是取决于这些数据是否存储在优先级的寄存器中。
微处理器的最小系统(MCU)是由时钟电路以及复位电路所构成的。 有一功能是为MCU提供时间参考。该功能是时钟电路运用12MHZ晶体振荡器提供时钟。 在一个机器周期内进行一个指令信息的操作。在复位键单片机将恢复到原来工作状态。 在图中,10K电阻是P0端口的上拉电阻。之所以所以它是一个开漏结构,是由于P0端口与其他IO结构各异。 因此,必要添加一个正常使用的上拉电阻。

图3-3 微控制器的最小系统图
在微控制器的最小系统中,需要按照严格的时间要求来进行输出、扫描以及检测等相关的操作。该单片机具有2个可以进行编程的计数器以及定时器。
3.2 红外发射电路
遥控发射器采用码分遥控模式,码分红外遥控器是指命令信号发生电路用不同的脉冲码(不同的脉冲数和组合数)表示不同的控制指令。
在确定选择AT89C51作为设计发射器电路的核心芯片并选择触摸开关作为控制键之后,可以通过添加简单的红外发射器电路和12M晶体振荡器来实现红外辐射。
传输部分的主要部件是红外发光二极管。实际上,它是一种特殊的发光二极管,其内部材料与普通发光二极管不同,因此当施加一定电压时,它会发出红外光而不是可见光。目前,许多红外发光二极管发出的红外波长约为940nm,形状与普通Φ5发光二极管相同,但颜色不同[6]。
遥控器通过键盘发送,并且每次按键产生具有不同代码号的脉冲,代码命令信号用40kHz载波调制,并且红外光电二极管被激励以产生不同的脉冲。遥控接收器P1端口用作按钮单元,P0.7端口用作发送器。电路图如图3-5所示。

图 3-4 红外发射电路
3.3 红外检测接收电路
在接收过程中,脉冲通过光学滤波器和红外二极管转换成40KHz电信号,放大,检测,整形,解调并传输到解码接口电路,完成相应的遥控功能。 3-9。
通常,红外遥控器使用40 kHz载波进行调制,缓冲并放大遥控信号(二进制脉冲编码)并将其发送到红外光电二极管以产生红外信号。遥控编码脉冲在载波信号上以40kHz的频率(周期为26μs)执行脉冲幅度调制(PAM),缓冲放大,并将其发送到红外管进行传输。
根据远程信号编码和传输过程,遥控信号的识别或解码过程在去除40KHz载波信号后识别二进制脉冲码中的0和1。它由MCS 51系列单片微型AT89C51,内置红外接收器,减少调制和红外管驱动电路组成。
接收器的主要部件是红外光接收管,它是一个光电二极管(事实上,三极管和低音非常敏感)。在实际应用中,红外接收二极管必须反向偏置,红外接收二极管在电路中反转,从而产生高灵敏度。

图3-5 红外接收电路
3.4 光电耦合控制电路
在控制部分的分离的驱动器电路被使用,并且一个光电装置被用作绝缘部件和光学耦合器,用于隔离所述强电功率,以避免强电功率会影响单片机的操作。
光隔离的目的是将两个电路的电气连接彼此独立地分开,从而中断从一个电路到另一个电路的噪声路径[8]。光电隔离通过光耦合器实现。光耦合器,也称为光隔离器或光耦合器,是一种通过光传输电信号的设备。照明器和感光器通常封装在一个封装中。当输入端子被供电时,照明器发射光,并且它已经接收的光后,将产生的光电流,并从输出端,由此实现了“光电光源”的转化流出。
光耦合器是一种装置,其中发光二极管和光电晶体管容纳在单个壳体中。外壳有金属或塑料两种。发光二极管和光电晶体管填充有透明绝缘体,电弧管与光敏管对准以提高其灵敏度。光电耦合器的电路图标如图3-10所示。
在数字大小中,光电晶体管关闭,输入具有低电平“0”,输出具有高电平“1”;当输入为高电平“1”时,光电晶体管饱和,输出为低电平。 “0”。

图3-6光电耦合器原理图
输入信号使用发光二极管发光,并且光使光电晶体管产生电信号输出,完成信号传输并实现电隔离。光耦合器的响应时间通常不超过几微秒。
光电耦合器的输入和输出是电隔离的,输出没有反馈到输入。这在隔离和干扰防御方面实现了独特的性能。光耦合器通常用于实现以下两个主要功能:
电平转换:电平转换可以通过在TTL电路和电源电路之间发送没有匹配电路的信号来实现。
隔离:由于此时信号电路和接收电路是隔离的,即使两个电路的接地电位不同,也不会产生干扰。
在光电耦合器中,光电晶体管的基极有两种提取和非提取。基线通常通过电阻接地。
耦合的反应速率和灵敏度可以通过接地电阻来控制。通常,电阻越小,响应速度越高。其控制电路如图3-7所示。

图3-7 光电耦合控制电路
3.5 电源电路设计
直流稳压电源主要由变压器,整流电路,滤波电路和稳压电路组成。 框图如图3-9所示。

图3-8 直流稳压电源
3.6 LCD1602显示部分的设计
LCD1602特点:每行输出16个字符、有两行、不带中文字库(只能显示数字、字母和普通字符)。此设计不检测液晶的忙与闲,采用软件延时来等待 液晶的忙操作时间。

图3-9 显示模块
LCD1602连接方法:D0~D7口接P0.0~P0.7、接10K上拉电阻提高驱动能力。
程序流程解释:
读状态:RS为低电平、R/W为高电平、E为高电平 、D0~D7=状态字1
读数据:RS为高电平、R/W为高电平、E为高电平、D0~D7=数据。
写指令:RS为低电平、R/W为低电平、D0~D7=指令码、E=高电平。
写数据:RS为高电平、R/W为低电平,E为高电平,D0~D7=电平。
液晶LCD1602模块在进行显示前要对模块进行初始化设置,包括光标、清屏等设置,当需要显示时,对液晶写地址控制,接着把要显示的数据写入,液晶显示程序中,按照时序进行编程,对液晶显示操作会非常容易,LCD1602的显示流程

连接方式如下:
电源连接:1脚接地、2脚接正,为1602供电。
背光连接:15、16脚接正和负提供背光电源。
亮度调节连接:5脚接电阻调背光。
对比度调节:3脚接电阻调对比度。
控制脚:RS、R/W、E接P2.0、P2.1、P2.2控制液晶。
数据口连接:连10Ω电阻接P0口。

3.7 键盘设计
键盘和键盘使用的SCM系统,编码两种类型的非编码键盘。
键盘本身包含用于除了键之外还生成键码的硬件电路。只要一键按下键盘编码,就可以产生这个键的代码,并且调用键码,同时还会产生一个脉冲信号,提醒CPU接收键码,编码的好处是使用键盘更方便,也没必要为复杂的程序写。缺点是使用的硬件更复杂。
2非编码键盘的键以行和列的形式排列。只是使接触开启或关闭的关键作用,因此与相应的程序协调,生成相应的键码,键盘几乎任何非编码电路都不需要额外的硬件。所以对于一个简单的电路我使用非编码键盘。然而,识别出非编码键盘的使用需要由软件解决,以及如何用键码来解决问题。
与微控制器的公式I无关的少数主要原因是连接到键盘接口,因为它使I / O端口变小。图中的每个按钮都有一个端口,彼此独立,并且不会相互影响。当上拉电阻确保未按下按键时,I / O端口输入为高电平。
独立键盘可以在查询模式下运行,并通过I / O端口读取密钥模式。按下某个键时,I / O端口变为低电平,未按下的键对应高电平。因此,通过读取水平条件,您可以判断是否有按键和按下哪个键。

图3-10 按键原理图
发射端采用矩阵按键,其中0,1,2按键用于风扇的定时,模式,调速切换。其他按键用于扩展控制其他家用电器,如电脑等,也可以用于设置密码锁等功能,其具体事情由用户自己设定。而接收端采用独立按键,根据不同的电器,其具体功能各不相同。本设计中,P1.0用于定时切换,P1.1用于模式切换,P1.2用于调速切换。

4 系统软件的设计
系统的控制软件可分为两个主要部分:温度测量和红外。 其中包括MCU初始化程序,定时服务程序,红外发射编码和红外接收解码程序等模块。
4.1 定时/计数器应用
4.1.1 定时/计数器功能简介
AT89C51微控制器有两个16位可编程定时器/计数器,称为定时器0和定时器1,分别由T0和T1表示。 该功能与通用定时计数器相同。 主要功能是:首先,作为一定时间的时间,第二,可以计算T1或T0引脚引入的脉冲数,前者可以在应用中产生正确的时间延迟和时序。 执行中断程序,后者是计数器或计数器的设计。 这两种角色都用于此设计[12]。
两个定时器本身有四种工作模式,如表4.1所示。
表4-1 四种工作模式
M1 MO 工作方式 功能说明
0 0 模式0 13位计数器
0 1 模式1 16位计数器
1 0 模式2 8位自动重装计数器
1 1 模式3 定时器0:分成两个8位计数器
定时器1:停止计数
4.1.2 定时器相关的控制寄存器
·门:港口位置。当GATE = 0时,定时器仅由软件控制位TR0或TR1控制。当该位为1时,定时器开始工作,当它为0时,定时器停止工作。当GATE = 1时,定时器的启动由外部中断引脚和位控制。定时器只能在外部开关为高电平或高电平时启动。
·C /:功能选择位。当C / = O设置为定时器模式进行操作时,内部提供计数脉冲,计数周期等于机器的周期。当C / = 1时,它被设置为计数器操作模式,而计数器脉冲是由外部引脚T0或T1引入的外部脉冲信号。
·M1,M0:工作模式控制位,2位可形成4个代码,对应4种工作模式。
TMOD模式控制寄存器位寻址不能执行,定时器只能通过工作状态和字节传输指令模式设置,低4位用于定义时间0,定时高4位用于定义1。系统复位时,TMOD的所有位均为0。
设置模式控制字的示例:
如果定时器设置为由软件启动的定时器模式,则选择操作模式2,定时器0计数,软件激活,操作模式选择。然后将TMOD设置为:
0 0 l 0 0 1 0 l 25H
使用MOV TMOD,#25H指令写入TMOD。
2个控制寄存器 - TCON
TCON的作用是控制定时器的启动和停止以及定时器的溢出标志和外部中断释放模式。
所有定义如下:
表4-2 TMOD寄存器
D7 D6 D5 D4 D3 D2 D1 D0
GATE C/ M1 M0 GATE C/ M1 M0
·门:港口位置。当GATE = 0时,定时器仅由软件控制位TR0或TR1控制。当该位为1时,定时器开始工作,当它为0时,定时器停止工作。当GATE = 1时,定时器的启动由外部中断引脚和位控制。定时器只能在外部开关为高电平或高电平时启动。
·C / = O:功能选择位。当C / = O设置为定时器模式进行操作时,内部提供计数脉冲,计数周期等于机器的周期。当C / = 1时,它被设置为计数器操作模式,而计数器脉冲是由外部引脚T0或T1引入的外部脉冲信号。
·M1,M0:工作模式控制位,2位可形成4个代码,对应4种工作模式。
TMOD模式控制寄存器位寻址不能执行,定时器只能通过工作状态和字节传输指令模式设置,低4位用于定义时间0,定时高4位用于定义1。系统复位时,TMOD的所有位均为0。
设置模式控制字的示例:
如果定时器设置为由软件启动的定时器模式,则选择操作模式2,定时器0计数,软件激活,操作模式选择。然后将TMOD设置为:
0 0 l 0 0 1 0 l 25H
使用MOV TMOD,#25H指令写入TMOD。
2个控制寄存器 - TCON
TCON的作用是控制定时器的启动和停止以及定时器的溢出标志和外部中断释放模式。
所有定义如下:
表4-3 TCON寄存器
8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
·TF1和TF0分别为;小时1小时0过渡标志。当计时器到期时,硬件自动设置为“1”并可能请求中断。输入中断路线计划后,硬件会自动删除。这两个也作为标志程序问题,应该删除软件中正在进行的查询。
•TR1和TR0:定时器1和定时器0的启动控制位。当软件删除TRi时,定时器停止。定时器启动时,该位应设置为“1”。
定时器的启动与门控位和外部中断键有关。当门设置为0时,定时器由控制器tri = 1触发;当门设置为1时,定时器另外启动tri = 1,但只有在定时器开始操作时才需要外部分接中断= 1。
·IE1和IE0:外部中断和外部中断请求标志为0.当外部中断源有相应的中断请求标志“1”时。通过快门模式设置重置。
·IT1和IT0:外部中断和外部中断触发模式选择位0. ITI当设置为“0”电平触发模式时,边沿触发模式时设置为“1”。
TCON与低4位和外部中断相关联,高4位时间位。有一个可以稍微解决的寄存器。系统复位时,所有位均为0。要启动计时器,您可以使用该位
操作命令SETB TRi已启动。
4.2 遥控码的发射
4.2.1 遥控码的发射
当按下一个键时,微控制器首先读出键并根据键设置远程代码中的脉冲数,然后产生红外发射管发出的40 kHz方波。
通常,红外遥控器是一个遥控信号(二进制脉冲码)调制在40kHz的载波上,经过缓冲放大器到红外发光二极管,转换正在传输的红外信号。为了提高抗干扰性能和降低功耗,上述遥控编码是40kHz脉冲率(周期26us)载波信号脉冲幅度调制(PAM)然后通过缓冲放大器传输红外LED,遥控信号发射。
红外信号传输程序:首先,充电点火脉冲的数量(当辐射为3毫秒时脉冲,以1毫秒的脉冲暂停),如果发射的脉冲数1回到常规,如果毛发是1毫秒脉冲然后暂停1 ms脉冲,从而结束了爆炸。
在实践中,通过使用红外遥控器,由于受影响的远程距离,角度等不是很好用,例如通过发送和接收FM或PM代码,可以增加远程距离,并且不影响角度
4.2.2 发射端程序流程图
排放控制程序包括主程序和键扫描程序以及代码传输程序。 在主程序中,键扫描子程序用于完成每个按钮的功能。 遥控器主程序的流程图如图4-1所示:

图 4-1遥控发射主程序流程图

图4-2 遥控发射器遥控码发射程序流程图
4.3 红外接收
遥控接收部分的主程序和初始化和延迟过程如下:首先,初始化,然后考虑是否有击键,如果是,数码管显示数据并发送相应的信号,如果没有按下键,则返回。
4.3.1 数码帧的接收处理
当红外接收器发出脉冲帧数据时,第一位代码的低电平启动中断程序并实时接收数据帧。 当接收到数据帧时,代码被确认为第一位(起始位)代码的宽度。 如果第一个低电平代码的脉冲宽度小于2 ms,则将其视为错误代码。 当间隔位的高度脉冲宽度大于3ms时,终止接收,然后根据累加器A中的脉冲数执行相应输出端口的操作。图4-3是从红外接收器(14)输出的遥控代码的波形。

图4-3 红外线接收器输出的一帧遥控码波形图
4.3.2 接收端程序流程图

图4-4 遥控接收器主程序流程图
中断过程:首先,确定低电平脉冲宽度是否大于2 ms,如果脉冲宽度小于2 ms,则中断返回,如果低电平大于2 ms,则接收到如此低的脉冲数,然后看到高电平脉冲宽度是否大于3 ms,如果脉冲宽度小于3 ms,则返回上一个接收编号处理,如果高电平脉冲宽度大于3 ms,则使用相应功能程序的脉冲编号。

图4-5 遥控接收器中断程序流程图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值