红外光通信装置-电赛报告
红外光通信装置设计与总结报告
红外光通信装置设计与总结报告摘 要 随着计算机与通信技术的飞速发展,计算机通信得到广泛应用,硬件技术可谓是日新月异,其总体趋势向着高集成、高稳定性、高速和高性价比方向发展。
而红外无线通信系统装置则是目前应用较为广泛的通信形式。
该红外通信系统通过将音频信号调制在465KHZ 的载波上,然后再经红外发射电路发射出去,在接受指令时通过红外接收管接受红外信号,经选频放大电路和滤波电路完成解调,最后通过功率放大电路经扬声器还原声音。
另一方面,本实验利用PIC18f4520进行信息的采集和处理,利用放大电路跟内置A/D 转换芯片,对温度进行测量并显示在1602上。
一丶方案设计信号的调制方式有三种,即调幅、调频、调相其中调频调制具有比幅度调制调频率高、带宽宽、抗干扰强,同时比调相方式经济等特点。
锁相环技术(PLL )是一种能自动跟踪输入信号相位的闭环自动控制系统。
该技术在频率调制方面应用十分广泛,遍及广播、电视、雷达、导航、计算机及仪表等领域。
锁相环集成电路CD4046( 能跟踪输入信号相位的闭环自动控制系统)是一种低频多功能单片机数字锁相环集成电路,最高工作频率1.3MHz,电源电压3~18V 。
与类似的双极性单片锁相环集成电路相比,功耗仅为其数百分之一,因而它在频率调制与解调、频率合成、电视机彩色副波提取、FM 立体声解码、遥控系统、频率的编码和译码等诸多方面均得到了应用。
集成环路部件以其低成本、性能优良、使用简便而得到了青睐。
本文介绍了集成锁相环cd4046在频率的调制与解调方面的应用。
基于频率调制和锁相环技术的优点,本文在文献【1】的基础上介绍一种应用锁相环和红外技术制作而成,采用频率调制方式,用红外线传送音频信号的调频红外无线耳机。
该耳机具有供电方式多样,传输距离10m 以内,音质较好,红外信号基本不受电磁干扰,性价比高等特点。
二丶 设计框图(1)设计框图思路发射部分 接收部分(2)设计细节框图发射机接收机三丶电路设计调制电路音频信 号预放大电 路 CD4046调制 红外线二极管发射 接受信号并放大CD4046解调 功放电路电路当从9脚输入载波信号Ui时,从4脚可输出受输入信号调制的调频信号Uo,由于调频时VCO有一定的频偏,所以不需要12脚外接电阻,仅用R5和C6确定、VCO的中心频率fo如果对频偏有要求,则根据实际需要选择12脚电阻。
红外收发系统设计-电子设计大赛报告论文
目录一、摘要 (1)二、关键词 (2)三、系统方案的设计与比较 (4)1. 方案一:单片机处理法 (4)2. 方案二:电压放大法 (5)3. 方案三:调制解调法 (6)四、单元模块的设计 (6)1. 声-电转换模块 (6)2. 红外发射模块 (7)3. 红外接收模块 (8)4.电-声转换模块 (9)五、系统测试与结果 (10)六、设计总结 (11)七、参考文献 (11)红外光通信装置设计报告一、摘要本装置预计采用红外光通信系统,该系统由声-电转换模块、红外光发送模块、红外光接收模块和电-声转换模块四部分构成。
实现对声音信号的产生、发送、接收以及实现对声音的滤波消除干扰和功率放大。
为了增大接收距离,增加发射能量,我们增加了一级简单的功率放大器,同时推动7支红外发射管(见后文图)发射语音信号,为了滤除干扰光接收部分采用了廉价简易的滤光片,实验采用音频插孔线路输入语音信号,耳机输出语音信号,用示波器测试输出发射与接收波形(见后文图)。
为了完成以上几个基本要求设计了三套方案,经过对方案的论证与比较后,选出了一套简易可行,成本较低的方案。
AbstractThis device uses infrared light communication system, which by the sound - electric conversion module, the infrared light transmitting module, an infrared light receiving module and the electric - acoustic conversion module of four parts. To achieve the sound signal generation, transmission, reception and filtering to achieve the sound eliminate interference and power amplification. Using audio jack line input speech signal,headphone output speech signal, using protel software designed to send and receive voice circuits, and then practice the welding circuit, the test output waveform with an oscilloscope.More than a few basic requirements in order to complete the design of the three programs, through the program of the demonstration and comparison, we have selected a set of simple and feasible, low cost solution.二、关键词:红外光、音频放大、滤光片、TL084运放、CD40106斯密特触发器三、系统方案的设计与比较方案一:单片机处理法发射部分由晶振CRY,反相器74HC04及电阻、电容构成的振荡器产生方波信号。
2013电子设计大赛F题-红外通信
2013年全国大学生电子设计竞赛红外光通信装置(F题)2013年9月7日摘要设计红外通信收发系统,该系统由信号产生模块、红外光发送模块和红外光接收模块三部分构成,实现对信号的产生、发送、接收以及实现对信号的功率放大。
掌握系统的原理,用Altium designer软件绘制原理图并生成PCB 板,然后实际操作搭建电路板。
系统主要由信号产生电路,红外光发射系统,红外光接收系统三个模块构成,由音乐芯片构成的信号产生电路发出电信号,通过发送系统转化为光信号发送,通过接收系统接受光信号并将其转化为电信号,再通过喇叭将其重新转化为语音信号,实现红外光通信的全过程。
首先主要用LM386芯片构成音乐产生电路,发出电信号,由于发出的信号比较微弱,所以需要再经过一个分压式共射电路适当放大信号,并通过LED红外发送管转化为光信号发送。
?信号经接收管接收后,通过运放电路得到较高的输出功率,驱动喇叭发出音乐芯片的音乐。
利用放大器LM386、AD623、AD8608可以得到200的增益,驱动喇叭得到所需功率。
AbstractDesign of infrared communication transceiver system, the system module, the infrared light generated by the signal of sending module and infrared receiving module, realize the signal producing, sending, receiving, and realize the signal of power amplifier. The principle of control system, with Altium designer software map principle and generate the PCB, and then practical building circuit boards. System is mainly composed of signal generation circuit, infrared launch system, the infrared receiving system three modules, which composed the music chip issue electrical signal circuit, by sending system is converted into optical signals to send, receive light signals by receiving system and convert it into electrical signals, then convert it to speech signal over the loudspeaker, realize the whole process of infrared communication. First mainly with LM386 circuit chip music, send electrical signals, because the signals are faint, so need to pass a partial pressure type radio appropriate amplified signals, and through the LED infrared transmitting tube into the light signal transmission. Signal after receiving tube, high output power is obtained by op-amp circuit, drive the horn music chip music. Using amplifier LM386, AD623, AD8608 can get the gain of 200, and drive the horn to get the required power.目录1系统方案 (4)1.1 发射管的论证与选择 (4)1.2 输入端运放的论证与选择 (4)1.3 信号传输的论证与选择 (4)1.4 功率放大器的论证与选择 (6)1.5 温度信号的获取与传输 (6)1.6 显示模块 (6)2系统理论分析与计算 (6)2.1 语音信号的放大与接受 (6)2.2 温度信号的接受 (6)2.3 传输距离的测试 (6)3电路与程序设计 (6)3.1电路的设计 (6) (6) (7) (7) (8) (8) (8)3.2程序的设计 (9) (9) (9) (10)4测试方案与测试结果 (10)4.1测试方案 (10)4.2 测试条件与仪器 (10)4.3 测试结果及分析 (10)5总结 (11)附录1:电路原理图 (12)附录2:源程序 (13)红外光通信装置(F题)1、系统方案论证:总体系统由信号产生电路、红外光发射系统、红外光接收系统三个模块构成,由音乐芯片构成的信号产生电路发出电信号,通过发送系统转化为光信号发送,通过接收系统接收光信号并将其转化为电信号,再通过喇叭将其重新转化为语音信号,实现红外光通信的全过程。
红外光通信装置 设计报告
红外光通信装置设计报告红外光通信装置设计要求 (1)基本实现方案分析 (2)2.1模拟调制方案 (2)方式1:调幅 (2)方式2:调频 (2)2.2数字调制方案 (2)3. 红外通信信道测试和数字调制方案选择 (3)3.1发送管接收管性能测试 (3)3.1数字调制方案选择 (3)4.硬件电路设计 (4)4.1 AD输入部分 (4)4.2 DA输出部分 (5)4.3 红外发送部分 (6)4.4 红外接收部分(技术难点) (6)4.6 MIC接收电路 (7)5.软件设计 (8)5.1基本工作方式 (8)5.4数字通信方式 (8)5.2发送模式 (8)5.3接收模式 (9)5.4转发模式 (9)红外光通信装置设计要求设计一款红外通讯装置,可以传送频率范围为300~3400Hz的语音信号和数字信号。
基本实现方案分析2.1模拟调制方案方式1:调幅原理:红外发送端发送固定频率的红外信号,利用声音信号对红外信号进行幅度调制。
优点:方案简单,纯模拟电路即可实现。
缺点:1)抗干扰特性较差,很容易受外界光强影响。
2)传输距离较近,距离变远后声音变小,接收效果明显下降,噪声增大。
3)很难实现产地数字信号的功能。
方式2:调频原理:红外发送端发送一定幅度的红外信号,利用声音信号对红外信号的频率进行调制。
优点:1)抗干扰性比调幅方案好2)不怕信号衰减,传输距离比调幅方案远。
缺点:1)调频发送和调频接收电路复杂,调试难度大。
2)很难实现产地数字信号的功能。
2.2数字调制方案原理:把声音信号首先按照一定速率进行AD采样量化,然后把AD采样值通过红外发送给接收端,接收端再按照采样速率进行重现声音。
优点:1)因为传输过程为数字信号,信号的抗干扰特性好,不怕信号远距离衰减。
2)红外传输的为数字信号,所以可以把其他数字信号一起发送,从而达到同时传送数字信号和声音信号的功能。
3)因为传输的是数字信号,所以系统调试相对模拟电路可能会简单些。
红外通信原理实验报告
一、实验目的通过本次实验,掌握红外通信的基本原理,了解红外通信系统的工作流程,学会使用红外发射和接收模块进行数据传输,并能够分析红外通信的优缺点。
二、实验原理红外通信是利用红外线传输信息的通信方式,其原理是将要传输的信息(如数字信号、模拟信号等)调制到一定频率的红外载波上,通过红外发射管发射出去,接收端接收红外信号,解调出原始信息。
1. 红外发射原理红外发射器主要由红外发射管、驱动电路、调制电路等组成。
驱动电路将信号放大后驱动红外发射管,调制电路将信号调制到一定频率的红外载波上。
2. 红外接收原理红外接收器主要由红外接收管、放大电路、检波电路、解调电路等组成。
放大电路将接收到的微弱信号放大,检波电路将调制信号中的原始信息提取出来,解调电路将提取出的信息解调为原始信号。
3. 红外通信系统红外通信系统由红外发射器和红外接收器组成,两者之间通过红外线进行信息传输。
系统工作流程如下:(1)信息编码:将原始信息编码为二进制信号。
(2)调制:将编码后的二进制信号调制到一定频率的红外载波上。
(3)发射:通过红外发射管将调制后的信号发射出去。
(4)接收:通过红外接收管接收发射的信号。
(5)解调:将接收到的信号解调为原始信息。
(6)信息处理:对解调后的信息进行处理,如显示、存储等。
三、实验器材1. 红外发射模块2. 红外接收模块3. 51单片机4. 信号源5. 电源6. 接线板7. 实验台四、实验步骤1. 连接红外发射模块和51单片机,将信号源输出信号连接到单片机的输入端。
2. 编写程序,实现信号编码、调制、发射等功能。
3. 连接红外接收模块,将接收到的信号输入到单片机的输入端。
4. 编写程序,实现信号接收、解调、信息处理等功能。
5. 检查实验结果,观察红外通信系统的性能。
五、实验结果与分析1. 通过实验,成功实现了红外通信系统的基本功能。
2. 红外通信具有以下优点:(1)传输速度快,抗干扰能力强。
(2)成本低,易于实现。
红外光通信课程设计报告
苏州科技学院红外光通信装置课程设计报告院系:电子信息工程班级:姓名:指导老师:红外光通信一、红外光通信的定义红外线通信是一种廉价、近距离、无线、低功耗、保密性强的通讯方案,主要应用于近距离的无线数据传输,也有用于近距离无线网络接入。
从早期的IRDA规范(115200bps)到ASKIR(1.152Mbps),再到最新的FASTIR(4Mbps),红外线接口的速度不断提高,使用红外线接口和电脑通信的信息设备也越来越多。
红外线接口是使用有方向性的红外线进行通讯,由于它的波长较短,对障碍物的衍射能力差,所以只适合于短距离无线通讯的场合,进行“点对点”的直线数据传输,因此在小型的移动设备中获得了广泛的应用。
二、红外光通信的特点红外通信技术适合于低成本、跨平台、点对点高速数据连接,尤其是嵌入式系统。
其主要应用:设备互联、信息网关。
设备互联后可完成不同设备内文件与信息的交换。
信息网关负责连接信息终端和互联网。
红外通信技术是在世界范围内被广泛使用的一种无线连接技术,被众多的硬件和软件平台所支持其特点主要有:主要优点如下:(1)通过数据电脉冲和红外光脉冲之间的相互转换实现无线的数据收发。
(2)主要是用来取代点对点的线缆连接。
(3)新的通信标准兼容早期的通信标准。
(4)小角度(30度锥角以内),短距离,点对点直线数据传输,保密性强。
(5)传输速率较高,4M速率的FIR技术已被广泛使用,16M速率的VFIR技术已经发布。
红外数据通信技术的缺点:(1)受视距影响其传输距离短;(2)要求通信设备的位置固定;(3)其点对点的传输连接,无法灵活地组成网络等。
但是这些缺点并没有给IRDA的应用带来致命的障碍,红外技术已在手机和笔记本电脑等设备上得到了广泛的应用。
三、红外光通信的技术原理红外线可分为三部分,即近红外线,波长为0.75~1.50μm之间;中红外线,波长为1.50~6.0μm之间;远红外线,波长为6.0~l000μm 之间。
红外光通信系统实训报告
一、实训背景随着信息技术的飞速发展,无线通信技术已成为人们生活中不可或缺的一部分。
红外光通信作为一种新兴的无线通信技术,具有传输速度快、抗干扰能力强、保密性好等特点,在军事、工业、医疗等领域具有广泛的应用前景。
为了提高学生对红外光通信技术的了解和掌握,本实训旨在通过实际操作,让学生熟悉红外光通信系统的组成、工作原理和调试方法。
二、实训目的1. 了解红外光通信系统的基本组成和工作原理;2. 掌握红外光通信系统的主要技术参数和性能指标;3. 学会红外光通信系统的调试方法;4. 培养学生的动手能力和团队协作精神。
三、实训内容1. 红外光通信系统原理介绍红外光通信系统主要由发射器、接收器、调制解调器、传输介质等组成。
发射器将电信号调制为光信号,通过传输介质传输到接收器,接收器将光信号解调为电信号。
2. 红外光通信系统硬件设计实训中,我们使用以下硬件设备:(1)红外发射器:采用850nm波长红外发光二极管作为发射器件;(2)红外接收器:采用850nm波长红外光敏二极管作为接收器件;(3)调制解调器:采用单片机(如STM32)作为控制核心,实现数字通信;(4)传输介质:采用光纤或空气作为传输介质;(5)电源:为红外发射器、接收器和单片机提供电源。
3. 红外光通信系统软件设计实训中,我们使用以下软件:(1)Keil uVision:用于编写和编译单片机程序;(2)Proteus:用于仿真和调试单片机程序;(3)MATLAB:用于分析和处理信号。
4. 红外光通信系统调试(1)硬件调试:连接红外发射器、接收器和单片机,确保各部件正常工作;(2)软件调试:编写和编译单片机程序,实现数字通信功能;(3)信号处理:使用MATLAB对信号进行分析和处理,优化系统性能。
四、实训结果与分析1. 红外光通信系统性能指标(1)传输距离:在无明显失真条件下,最大传输距离可达5m;(2)传输速率:采用串行通信方式,传输速率可达9600bps;(3)抗干扰能力:红外光通信系统具有较强的抗干扰能力,适用于恶劣环境;(4)保密性:红外光通信系统采用数字通信方式,具有较强的保密性。
红外通信装置设计报告
*******大学****学院***********(设计报告)题目红外通信装置学院********学院专业************班级********学生******学号**********指导教师**********二〇** 年 ** 月 ** 日目录前言 ............................................................................................................................................. - 3 -1 系统方案.................................................................................................................................. - 4 -1.1方案总框图................................................................................................................... - 4 -1.2方案选择....................................................................................................................... - 5 -1.2.1 语音输入模块.................................................................................................. - 5 -1.2.2 运算放大模块.................................................................................................. - 5 -1.2.3 脉宽调制模块.................................................................................................. - 5 -1.2.4 语音输出模块.................................................................................................. - 5 -1.2.5 温度传感模块.................................................................................................. - 5 -1.2.6 显示模块.......................................................................................................... - 5 -1.3 理论分析与计算.......................................................................................................... - 6 -1.3.1 滤波电路参数的计算...................................................................................... - 6 -1.3.2 信号处理分析.................................................................................................. - 6 -2 电路与程序设计.................................................................................................................... - 7 -2.1 总体电路图.................................................................................................................. - 7 -2.2 电路设计...................................................................................................................... - 8 -2.2.1 运算放大模块.................................................................................................. - 8 -2.2.2 红外发送接收模块.......................................................................................... - 9 -2.2.3 语音输出模块................................................................................................ - 10 -2.3 程序设计.................................................................................................................... - 11 -2.3.1程序框图........................................................................................................ - 11 -2.3.2 发送端............................................................................................................ - 12 -2.3.3 接收端............................................................................................................ - 12 -3 测试方案与测试结果............................................................................................................ - 13 -3.1 测试方案.................................................................................................................... - 13 -3.2 测试数据.................................................................................................................... - 14 -3.3 测试结果分析............................................................................................................ - 15 -4 结语 ....................................................................................................................................... - 15 -参考文献.............................................................................................................................. - 16 -红外通信装置摘要本系统设计红外光通信装置,主要由前置电路模块、脉宽调制模块、红外发送接收模块和语音输出模块四部分组成。
电子大赛技术报告
全国大学生电子设计大赛技术报告智能小车摘要本系统以以freescale单片机MC9S12XS128作为核心,实现小车控制。
红外传感器收集路面信息给单片机从而控制舵机和电动机实现小车行车方向的控制,即可以使小车尽量沿跑道的中线走。
超车,最终实现乙车对甲车的超车领跑功能。
关键词关键词:红外检测单片机MC9S12XS128 电机驱动舵机控制转向目录摘要 (2)关键词 (2)一.方案论证与选择 (3)1.方向控制方案的选择: (4)2. 电机的选择: (4)3. 车体的选择 (4)二.系统设计 (4)1.方案设计: (4)2.系统框图: (5)3.理论分析与参数设计: (5)三.硬件设计 (6)1单片机模块: (6)2.电机驱动模块: (6)3.黑白线检测模块 (8)四.软件设计 (9)1寻路径 (9)2超车 (9)五.系统调试与测试 (11)1.测试方法: (11)2开发调试工具 (11)3.测量数据: (11)六.总结 (14)附录一参考书目录 (14)附录二小车尺寸:................................................................................................错误!未定义书签。
一.方案论证与选择1.方向控制方案的选择:方案一:采用后轮动力驱动,前轮由舵机控制其转向。
这种方式的优点是转向快速度快,转向灵敏,适合于高速场合,但是其缺点是转弯半径大,不易控制转角,不适合用在对转角精度要求较高的场合,但是经测试基本可以满足本题目的需求。
方案二:采用左右两个独立电机驱动,通过控制两电机的转速和正反转来控制车的方向,即通过左右速度差来控制转向。
其优点是转弯半径可以很小,甚至可以原地转弯,角度也可以精确控制,适合转向角度比较精确的场合,但是其缺点是转弯速度较慢。
根据本次题目对转弯的精度和速度的要求,并且考虑到成本的可行性,所以方向控制选择第一种方案。
红外光通信报告
摘要
本题目要求设计一个红外光通信装置,能够定向并实时传输语音和温度信息。
语音信号通过功率放大后,与经过ASK调制的温度信号相加,由红外发射管实现定向传输。
红外接收端接收到的信号经过低通滤出音频信号,再经过功率放大,重新恢复语音信号;通过高通滤出温度的ASK信号,再经过放大,整流,低通滤波,波形整形,以非相干解调的方式还原温度信号,并由单片机处理和显示。
在2m传输距离下,语音信号无明显失真,可以实时准确传输发射端的环境温度。
整个系统抗干扰性强,满足基础部分要求和部分发挥部分要求。
关键词:红外通信ASK 非相干解调。
红外光通信装置设计报告
2013年全国大学生电子设计竞赛红外光通信装置设计报告(F题)【本科组】2013年9月7日目录一、前言 (1)二、系统方案设计 (2)(一)设计原理 (2)1、红外红外线的特点 (2)2、红外线发射和接收 (2)(二)设计方案 (3)整体方案图 (3)(三)单元电路设计 (4)1、发射端 (4)(1)音频发射端电路图 (4)(2)数字信号发射端 (4)(3)发射部分用到的元器件及其相关参数 (5)2、接收端 (5)三、红外通信接口的硬件电路设计 (5)1、红外发送器 (6)2、NE555时基电路芯片 (6)3、红外发射二极管 (7)四、调试与测试 (8)1、红外发射模块通信的调试与测试 (8)2、红外接收模块通信的调试与测试 (8)五、系统软件设计 (8)系统软件设计整体流程图 (8)六、测试方案与测试结果 (11)(一)测试方案 (11)(二)测试条件与仪器 (11)(三)测试结果 (11)七、结语 (11)八、参考文献 (11)九、附录 (12)1、程序 (12)2、系统结构原理图 (13)红外光通信装置设计报告(F题)一、前言本设计利用已学电路知识,将电路分成红外发射模块、红外接收模块、环境温度传输模块三个模块,完成了红外光通信收发系统设计,以话筒为输入信号,由发送电路调试后,再由输入电路的红外接收管接收,经由(LM-386)放大,高通滤波器过滤后,在喇叭(耳机)中听到输入的语音。
关键词:红外通信;发射;接收;温感;The design used the knowledge of circuit , and it has been divided into three parts as infrared emission circuit module, the infrared receiving module, and temperature transmission module , then we completed the design of infrared communication transceiver system, we used microphone to input signal, the debugging by sending circuit and then received by the input circuits of infrared receiving tube, via (LM - 386) amplifier, filter high-pass filter, I we could heard a voice input in the horn (headphones).二、 系统方案设计(一)设计原理1、红外红外线的特点人的眼睛能看到的可见光,若按波长排列,依次(从长到短)为红、橙、黄、绿、青、蓝、紫。
2013全国电子设计大赛无线红外语音传输系统解析
2013年全国大学生电子设计竞赛红外光通信装置(F题)【本科组】2013年9月7日摘要:随着科技的进步,无线电通信技术得到了前所未有的发展,而红外无线数据通信相对于无线电数据通信具有低功耗、低价格、低电磁干扰、高保密性等优点,目前发展迅猛,尤其在近距离无线数据通信中得到了广泛的应用.尤其是随着编码调制技术的发展,红外无线数据通信的数据速率越来越高,成为许多移动设备、室内办公设备以及手持设备无线数据通信的一个重要途径。
本系统通过红外光通信装置将语音信号和环境温度无线传输出来,接收端口显示温度并将语音信号从耳机传出。
环境温度由STM32单片机检测,语音信号和数字信号能同时传输。
关键词:红外光通信,无线传输,STM32单片机Abstract:With the advancement of technology, wireless communication technology has been an unprecedented development, and infrared wireless data communications relative to the radio data communication with low power consumption, low price, low electromagnetic interference, high security, etc., is currently developing rapidly, especially in in the short-range wireless data communication has been widely used. Especially with the coding and modulation technology, infrared wireless data communications increasingly high data rates, as many mobile devices, office equipment, and handheld devices indoor wireless data communication is an important way. The system communication device via infrared light and ambient temperature voice signal wireless transmission out, the receiving port display temperature and outgoing voice signal from the headphones. The ambient temperature detected by the STM32 MCU, voice signals and digital signals can be transmitted simultaneously.Key words:infrared optical communications, wireless transmission, STM32 microcontroller目录一、方案比较及论证 (1)1.1 控制器的选择与论证 (1)1.2 功率放大器的选择与论证 (1)1.3 显示模块的选择与论证 (1)二、系统理论分析与计算 (2)2.1 系统整体设计 (2)2.2 系统工作原理 (2)三、电路设计 (3)3.1 红外发射电路 (3)3.2 红外接收电路 (4)3.3 功率放大器电路 (5)3.4 电源模块电路 (5)四、系统测试方案与测试结果 (6)4.1 测试方案 (6)4.2 测试条件与仪器 (6)4.3 测试结果及分析 (6)4.3.1 接收装置能否接收发送的信号 (6)4.3.2 检测环境温度能否传送 (7)4.3.3 红外光通信中继转发节点测试(发射与中继节点距离2m) (7)五、设计总结 (7)附录 (9)附录一:STM32核心板原理图 (9)附录二:部分程序 (10)附录三:实物图 (11)参考文献 (12)红外光通信装置(F题)【本科组】一、方案比较及论证1.1 控制器的选择与论证方案一:采用STM32F103,STM32F103价格便宜,应用范围广,功能强大,处理速度快,抗静电抗干扰强,低功耗,内部集成7个定时器,2个12位ADC,9个通信接口。
2013年全国大学生电子设计竞赛
2013年全国大学生电子设计竞赛2013 National Undergraduate Electronic Design Contest设计报告design report参赛题目:红外光通信装置(F题)队伍编号:20130136日期:2013年9月7日红外光通信装置(F题)摘要本装置由32位MCU为主控制器。
采集音频信号及温度信号后,利用红外发光管和红外光接收模块作为收发器件,用来定向传输。
另配有一个红外光通信中继转发节点,以改变通信方向90°,传输距离为2m。
接收装置在接收到信号后用耳机播放出语音,用液晶屏显示当前温度。
当接收装置不能接收发射端发射的信号时,用发光管指示。
装置如图所示:关键词:MCU ;红外通信;语音信号;定向传输Abstract::This communication device is based on a 32-bit MCU controller . First , the system Acquisition audio signal and temperature . Then , we use infrared receiver and infrared transmitter to transport audio signal . Beside , there is a relay node.we can use relay node to change transmission direction 90°, and relay distance no less than 2 meters . Last , the system play audio by earphone and show the temperature by LCD . If infrared receiver can’t receive signals , the LED turned on .Keyword:MCU Infrared Communication Audio Transmission1.引言我们在分析题目之后认为难点是利用红外收发装置尽可能完整的传输信号而且信号中要包含音频信息和温度信息。
电子设计大赛F题红外通信
2013年全国大学生电子设计比赛红外光通讯装置( F 题)2013年9月7日纲要设计红外通讯收发系统,该系统由信号产生模块、红外光发送模块和红外光接收模块三部分组成,实现对信号的产生、发送、接收以及实现对信号的功率放大。
掌握系统的原理,用 Altium designer 软件绘制原理图并生成 PCB 板,而后实质操作搭建电路板。
系统主要由信号产生电路,红外光发射系统,红外光接收系统三个模块组成,由音乐芯片组成的信号产生电路发出电信号,经过发送系统转变为光信号发送,经过接收系统接受光信号并将其转变为电信号,再经过喇叭将其从头转变为语音信号,实现红外光通讯的全过程。
第一主要用 LM386 芯片组成音乐产生电路,发出电信号,因为发出的信号比较轻微,所以需要再经过一个分压式共射电路适合放大信号,并经过 LED 红外发送管转化为光信号发送。
?信号经接收管接收后,经过运放电路获得较高的输出功率,驱动喇叭发出音乐芯片的音乐。
利用放大器 LM386 、AD623 、 AD8608能够获得200的增益,驱动喇叭获得所需功率。
AbstractDesign of infrared communication transceiver system,the system module, the infrared light generated by the signal of sending module and infrared receiving module,realize the signal producing, sending,receiving,and realize the signal of power amplifier.The principle of control system, with Altium designer software map principle and generate the PCB, andthen practical building circuit boards. System is mainly composed ofsignal generation circuit,infrared launch system,the infrared receiving system three modules, which composed the music chip issueelectrical signal circuit, by sending system is converted into opticalsignals to send, receive light signals by receiving system and convertit into electrical signals, then convert it to speech signal over theloudspeaker,realize the whole process of infrared communication.First mainly with LM386 circuit chip music, send electrical signals, becausethe signals are faint, so need to pass a partial pressure type radioappropriate amplified signals,and through the LEDinfrared transmitting tube into the light signal transmission. Signal after receiving tube,high output power is obtained by op-amp circuit, drive the horn musicchip music. Using amplifier LM386, AD623, AD8608can get the gain of200, and drive the horn to get the required power.目录1 系统方案 (4)1.1 发射管的论证与选择 (4)1.2 输入端运放的论证与选择 (4)1.3 信号传输的论证与选择 (4) (6)...6...6 26 (6)66 3 (6)...6 67 .7 (8)88 3.2 (9)...9...9..10 4..10 (10)..10 ..10 5 (11)112 213红外光通讯装置( F 题)11①② 22输 3.4KHz 正弦波距离能够达到 2m,幅值可达几百毫伏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
红外光通信装置-电赛报告————————————————————————————————作者:————————————————————————————————日期:[键入文档标题]红外光通信装置(F题)【本科组】2013年9月6日目录摘要 (3)1.系统方案设计 (5)1.1设计任务 (5)1.2方案的设计与论证 (5)1.2.1红外光通信装置总体方案设计 (5)1.2.2单片机模块的选择 (6)1.2.3红外发射接收装置模块的选择 (7)1.2.4语音采集模块方案的选择 (7)2.单元硬件电路设计 (7)2.1发射部分电路的设计 (7)2.2中转部分电路的设计 (8)2.3接收部分电路的设计 (8)3.程序设计 (9)3.1发射装置程序流程图 (9)3.2接收装置程序流程图 (10)4.系统测试 (10)5.理论分析与计算 (11)6.结论 (12)参考文献 (12)附录 (13)摘要随着红外技术的发展,红外光通信已经成为越来越普及的无线通信方式。
在本次设计作品中,红外光通信装置采用红外光传输及无线工作机制,其组成结构主要包括:红外发射装置、中继转发节点、红外接收装置三部分组成。
红外发射装置主要是由声音采集系统经单片机存储后发射,红外接收装置接收到的信息经单片机存储后再经过D/A转换播放。
通过采用A/D,D/A 转换的方法达到了本次作品设计的目的。
在电子消费领域当中,红外产品的使用较为普遍,它多用于简单的近距离控制,如家电、玩具、各种抄表系统、工业控制、娱乐设施等领域。
所以,其具有很强的现实意义。
关键词:红外通信发射接收 A/D转换 D/A转换AbstractWith the development of infrared, and infrared optical communication has become more and more popular way of wireless communication.This design works, infra-red communication devices use infrared light transmission and wireless working mechanisms, its composition include: infrared emitting device, relay node, an infrared receiver unit is composed of three parts. Infrared Launcher corresponds with sound collection system by single-chip computer memory after the launch, IR receiver receives the information via a single-chip storage, and then after d/a conversion play. Through the use of a/d,d/a conversion way to achieve the purpose of the production design.In the field of consumer electronics, using infrared products are more prevalent, it is used for simple control at close range, such as household appliances, toys, metering systems, industrial control, recreational facilities, and other fields. So, it has a lot of practical significance.Key words: Infrared Communication launch receive A/D conversion D/A conversion1系统方案设计1.1设计任务根据命题要求,设计并制作一个红外光通信装置。
红外光通信装置利用红外发光管和红外接收模块作为收发器件用来定向传输语音信号,传输距离为2m.传输的语音信号频率范围为300–3400HZ,接收的声音应无明显失真。
此外,增加一路数字信道,实时传输发射端环境温度,并能在接收端显示。
数字信号传输时延不超过10s,温度测量误差不超过2℃,语音信号和数字信号能同时传输。
同时,设计并制作一个红外光通信中继转发节点,以改变通信方向90℃,延长通信距离2m,中继转发节点采用5V直流单电源供电,尽量减小转发节点供电电流。
1.2方案的设计与论证1.2.1红外光通信装置总体方案设计整套方案主要由红外发射装置、中继转发节点、红外接收装置三部分组成。
先把传输进红外发射装置的声音经过放大电路进行放大,然后由STC12C5A08S2单片机自身带有的A/D转换功能把模拟信号转换为数字信号对放大之后的语音进行采集,同时把采集到的数字信号存储到STC12C5A08S2单片机中。
然后,经555定时器电路产生38K载波,并利用三极管对单片机中存储的数据和555定时器产生的38K载波进行调制到达中继转发节点,并由1838红外接收头进行解调,接着把解调后的信号编码发送给中继点上的单片机STC11F04E,并由此单片机对其数据进行取反。
再由555定时器电路产生38K载波,利用三极管对经单片机取反后的数据和38K载波进行调制,之后到达接收点。
到达接收点的信号经STC12C5A08S2进行解码,送给 TLC5615CP 芯片构建的D/A转换电路把数字信号转换为模拟信号,最后再将此模拟信号发送给耳机,并由耳机播放。
采用此方案的框图如下:温度、音频1.2.2单片机模块的选择方案一:传统51系列是的单片机,受其结构本身的限制很大,尤其模拟功能部件的增加更显困难,而且运行速度很慢,功耗比较高,抗干扰能力也不是很强。
方案二:STM32系列具有一流的外设、低功耗、最大的集成度、简单的结构和易用的工具,是ARM 公司的高性能Cortex-M3内核。
但我们对此系列的单片机的编程操作不太熟练。
方案三:宏晶芯片STC12C5A08S2是增强型的51系统单片机,具有一个时钟,高速、高可靠、宽电压、增加第二复位功能脚和外部掉电检测电路,采用低功耗设计,最重要的是其内部有AD 外设和45K 的EEPROM,我们可由此进行模数转换和信息存储。
STC11F04E 单片机超强抗干扰,超强抗静电,速度快,输入/输出口多,超低功耗,在系统可编程,无需编程器,无需仿真器,放单片中继转显示音频A/D单片红外单片DA播温度可远程升级。
由于对于中继点低功耗的要求,所以把此单片机用于中继转发节点。
基于我们对各种系列单片机运用的熟练程度和此次作品中所要实现的各项基本功能,我们决定在此方案设计中采用方案三。
1.2.3红外发射接收装置模块的选择方案一:红外模拟信号。
这种方法速度快,能达到实时传输效果。
但是,在传输过程中,噪音比较大,容易受干扰。
而且,传输的距离也比较近。
方案二:红外数字信号。
将要发射出去的模拟信号转换成数字信号,将数字信号送给红外发射电路,经该电路的调制转变成红外光信号在空中传输,到达中继转发节点后,转发到红外接收电路,接收电路收到该红外光信号,经过该电路的解调,将此红外光信号还原成可被单片机或其他处理系统处理的信号,由单片机或其他处理系统内部处理得到原来的数据编码。
比较方案一和方案二,又考虑到我们对模拟部分的知识和数字部分的知识的掌握程度,我们决定选择方案二。
1.2.4语音采集模块方案的选择方案一:采用语音编解码芯片。
这种方法失真度小,信噪比较低,数据量大。
但在数字图像处理中,由于数据量大,算法难度高,因此实时性成为技术难点之一。
而且,在传输过程中所运用的1838红外接收头传输信息速度慢,而语音编码解码芯片数据量过大,与后续装置不协调。
方案二:采用A/D,D/A转换装置。
先把模拟信号转换为数字信号,再经中继转换节点在通信协议的控制下把数字信号转换为模拟信号。
比较两种方案,并基于现实的情况,此模块选择方案二。
2单元硬件电路设计2.1发射部分电路的设计发射部分主要由双运放NE5532组成的放大器、STC12C5A08S2单片机和NE555定时器构建的电路组成。
其电路图如图1:图12.2中转部分电路的设计中转部分主要由1838红外接收头、STC11F04E单片机NE555定时器、三极管等搭建的电路组成,其电路图如图2:图22.3接收部分电路的设计接收部分主要由1838红外接收头、STC12C5A08S2单片机、TLC5615数模转换器、TL431可控精密稳压源等搭建的电路组成。
其电路图如图3:图33 程序设计系统程序主要由发射装置程序和接收装置程序两部分组成。
系统程序流程图如下所示。
3.1发射装置程序流程图NY初采集单片机存储读发NY开读存结YN3.2接收装置程序流程图4 系统测试传输距离测试:传输距离 传输情况 1m 良好 2m 良好 3m 良好 4m良好中继点电流大小:100MA 左右初接单片机NNY Y 读D/A转接收Y YNN开结温度误差:1°C无发射信号时无噪音800HZ信号输出0.3V有信号时8个LED闪烁,无信号时LED不闪烁5 理论分析与计算本系统使用数字信号传输,编码规则自定,具体如下:每串数据有1.5MS高电平,2MS低电平的引导码高电平时间0.5低电平时间0.6MS代表二进制数0高电平时间1.0MS代表二进制数1传输波形如图:波形1波形2波形36 结论本系统功能上和参数上都达到了题目的要求,基本上完成了题目的各项设计。
并按照要求完成了其发挥部分,可以精确的显示温度,也可以利用中继点进行转接,但是声音信号传输延时较大。
优点:本系统采用数字信号传输数据,能够最大限度的减少干扰且传输距离较长,适用于信息量较少、环境干扰较大的情况传输数据。
本系统的不足:由于红外数字信号传输使用38K载波频率,很大程度上限制了数据传输的速度,所以本系统不适合音频等数据量较大的数据传输。
所以本系统还有较大的提升空间,如声音信号使用模拟信号传输、温度信号使用数字信号传输能达到声音信号和温度信号实时传输。
参考文献[1]阎石.数字电子技术基础(第五版)[M].北京:高等教育出版社,2006.[2]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:高等教育出版社,2006.[3]黄智伟.全国大学生电子设计竞赛技能训练(第2版)[M].北京:北京航空航天大学,2011.[4]代万辉,陈松方.全国电子设计大赛培训宝典[M].北京:北京航空航天大学,2012.[5]求是科技.8051系列单片机C程序设计完全手册[M].北京:人民邮电出版社,2006.[6]杨欣,王玉凤,刘湘黔.电子设计从零开始[M].北京:清华大学出版社2005. 附录:源程序//*************************sendmessage**************************//#include "STC12C5A60S2.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned chartypedef unsigned char BYTE;typedef unsigned int WORD;uchar codestr1[]={0x28,0xA6,0x4A,0x0E,0x05,0x00,0x00,0x84};//ROM 1 uchar codestr2[]={0x28,0xA5,0x86,0x40,0x04,0x00,0x00,0x80};//ROM 2 sbit D1=P3^7;sbit DQ=P3^3;/*Define ISP/IAP/EEPROM command*/#define CMD_IDLE 0 //Stand-By#define CMD_READ 1 //Byte-Read#define CMD_PROGRAM 2 //Byte-Program#define CMD_ERASE 3 //Sector-Erase/*Define ISP/IAP/EEPROM operation const for IAP_CONTR*/#define ENABLE_IAP 0x80 //if SYSCLK<30MHzsfr ADC_DATA = 0XBD;sfr ADC_LOW = 0XBE;sbit CS=P2^0;sbit SCLK=P2^1;sbit DIN=P2^2;sbit left = P1^0;double j;uchar flag,t;void Delay(BYTE n);void IapIdle();BYTE IapReadByte(WORD addr);void IapProgramByte(WORD addr, BYTE dat);void IapEraseSector(WORD addr);uchar tvalue;//温度值void Delay999ms() //@30.000MHz{unsigned char i, j, k;_nop_();_nop_();i = 114;j = 226;k = 60;do{do{while (--k);} while (--j);} while (--i);}/******************************ds1820 *********************/ void Delay1us() //@30.000MHz{unsigned char i;i = 5;while (--i);}void Delay10us() //@30.000MHz {unsigned char i;_nop_();_nop_();i = 72;while (--i);}void Delay48us() //@30.000MHz {unsigned char i, j;i = 2;j = 99;do{while (--j);} while (--i);}void Delay700us() //@30.000MHz {unsigned char i, j;i = 21;j = 106;do{while (--j);} while (--i);}void Delay1ms() //@30.000MHz {unsigned char i, j;i = 30;j = 43;do{while (--j);} while (--i);void rst_Ds18b20(){DQ=1;Delay1us();DQ=0;Delay700us();//延迟700usDQ=1;Delay1ms();}void writeDs18b20(uchar date)//写数据{uchar i;DQ=1;Delay1us();for (i=0;i<8;i++){DQ=0;Delay10us();DQ=date&0x01;Delay48us();DQ=1;date>>=1;Delay1us();}}uchar readDs18b20() //读数据{uchar i,date;DQ=1;_nop_();for(i=0;i<8;i++){DQ=0;Delay10us();DQ=1;Delay1us();Delay1us();date>>=1;if(DQ==1)date=date+0x80;Delay48us();}return date;}void MatchromDs18b20(uchar a) //匹配ROM{char j;writeDs18b20(0x55); //发送匹配ROM命令if(a==1){for(j=0;j<8;j++)writeDs18b20(str1[j]); //发送18B20的序列号,先发送低字节}if(a==2){for(j=0;j<8;j++)writeDs18b20(str2[j]); //发送18B20的序列号,先发送低字节}}uint read_temp(uchar z)/*读取温度值并转换*/{uchar a,b;rst_Ds18b20();if(z==1)MatchromDs18b20(1); //匹配ROM 1if(z==2)MatchromDs18b20(2); //匹配ROM 2writeDs18b20(0x44);//*启动温度转换*/// delay(1000);rst_Ds18b20();if(z==1)MatchromDs18b20(1); //匹配ROM 1if(z==2)MatchromDs18b20(2); //匹配ROM 2writeDs18b20(0xbe);//*读取温度*/a=readDs18b20();b=readDs18b20();tvalue=((a>>4)|(b<<4));return(tvalue);}void DAC(uchar w) //转换,将数据写入芯片{int a;CS=0;for(a=0;a<12;a++){SCLK=1;_nop_();_nop_();if((w&0x80)!=0)//判断写入数据从第一位开始,看是否有数据输入DIN=1;//将信号1写入芯片中elseDIN=0;//将0写入芯片中_nop_();_nop_();SCLK=0;//开启下一个写入数据w<<=1;}CS=1; //关闭芯片}void Timer1Init(void) //142微秒@24.000MHz{AUXR &= 0xBF; //定时器时钟12T模式TMOD &= 0x0F; //设置定时器模式TMOD |= 0x10; //设置定时器模式TL1 = 0x7A; //设置定时初值TH1 = 0xFE; //设置定时初值TF1 = 0; //清除TF1标志TR1 = 1; //定时器1开始计时}/*----------------------------initialization function----------------------------*/void init(){EA = 1; //开总中断ET1 = 1; //开定时器1中断PT1 = 1; //定时器1中断设为高优先级P1M0 = 0XFF;P1M1 = 0;P1ASF = 0X01; //设置P1.0作为输入Timer1Init();}/*----------------------------Software delay function----------------------------*/void Delay7us() //@30.000MHz{unsigned char i;i = 50;while (--i);}/*----------------------------Software delay function----------------------------*/void Delay(BYTE n){WORD x;while (n--){x = 0;while (++x);}}/*----------------------------Disable ISP/IAP/EEPROM functionMake MCU in a safe state----------------------------*/void IapIdle(){IAP_CONTR = 0; //Close IAP functionIAP_CMD = 0; //Clear command to standby IAP_TRIG = 0; //Clear trigger register IAP_ADDRH = 0x80; //Data ptr point tonon-EEPROM areaIAP_ADDRL = 0; //Clear IAP address to prevent misuse}/*----------------------------Read one byte from ISP/IAP/EEPROM areaInput: addr (ISP/IAP/EEPROM address)Output:Flash data----------------------------*/BYTE IapReadByte(WORD addr){BYTE dat; //Data bufferIAP_CONTR = ENABLE_IAP; //Open IAP function, and set wait timeIAP_CMD = CMD_READ; //Set ISP/IAP/EEPROM READ commandIAP_ADDRL = addr; //Set ISP/IAP/EEPROM address lowIAP_ADDRH = addr >> 8; //Set ISP/IAP/EEPROM address highIAP_TRIG = 0x5a; //Send trigger command1(0x5a)IAP_TRIG = 0xa5; //Send trigger command2 (0xa5)_nop_(); //MCU will hold here until ISP/IAP/EEPROM operation completedat = IAP_DATA; //Read ISP/IAP/EEPROM data IapIdle(); //Close ISP/IAP/EEPROM functionreturn dat; //Return Flash data}/*----------------------------Program one byte to ISP/IAP/EEPROM areaInput: addr (ISP/IAP/EEPROM address)dat (ISP/IAP/EEPROM data)Output:-----------------------------*/void IapProgramByte(WORD addr, BYTE dat){IAP_CONTR = ENABLE_IAP; //Open IAP function, and set wait timeIAP_CMD = CMD_PROGRAM; //Set ISP/IAP/EEPROM PROGRAM commandIAP_ADDRL = addr; //Set ISP/IAP/EEPROM address lowIAP_ADDRH = addr >> 8; //Set ISP/IAP/EEPROM address highIAP_DATA = dat; //Write ISP/IAP/EEPROM data IAP_TRIG = 0x5a; //Send trigger command1(0x5a)IAP_TRIG = 0xa5; //Send trigger command2(0xa5)_nop_(); //MCU will hold here until ISP/IAP/EEPROM operation completeIapIdle();}/*----------------------------Erase one sector areaInput: addr (ISP/IAP/EEPROM address)Output:-----------------------------*/void IapEraseSector(WORD addr){IAP_CONTR = ENABLE_IAP; //Open IAP function, and set wait timeIAP_CMD = CMD_ERASE; //Set ISP/IAP/EEPROM ERASE commandIAP_ADDRL = addr; //Set ISP/IAP/EEPROM address lowIAP_ADDRH = addr >> 8; //Set ISP/IAP/EEPROM address highIAP_TRIG = 0x5a; //Send trigger command1(0x5a)IAP_TRIG = 0xa5; //Send trigger command2(0xa5)_nop_(); //MCU will hold here until ISP/IAP/EEPROM operation completeIapIdle();}void Delay100us() //@30.000MHz{unsigned char i, j;i = 3;j = 232;do{while (--j);} while (--i);}/*----------------------------擦除eeprom----------------------------*/void Eraseeeprom(){uint i;double a;a=0;for(i = 0; i <90; i++){a = 512+a;IapEraseSector(a); //Erase current sector}}/***********************************************sendmess****** ********************************//************************************************************* *********************************//***************************************发送红外数据**************************/void send(uchar date){uchar i;/*************发送验证信息*************/TR0=0;TH0 = 0xF1;TL0 = 0x5A; //装入初值设置波延时为1.5ms D1 = 1; //发送1.5ms的高电平TR0 = 1; //启动定时器0while(!TF0); //等待TF0 = 0;TH0 = 0xEC;TL0 = 0x78;D1 = 0; //发送2ms的低电平while(!TF0); //等待TF0 = 0;/**************发送数据****************/for(i=0;i<8;i++){TL0 = 0x1E; //设置定时初值 0.5MSTH0 = 0xFB; //设置定时初值TR0=1;D1=1;while(!TF0);TF0=0;if(date&0x01){TL0 = 0x3C; //设置定时初值 1MS 发1TH0 = 0xF6; //设置定时初值}else{TL0 = 0x24; //设置定时初值 0.6MS 发0TH0 = 0xFA; //设置定时初值 TH0 = 0xFD; //0为窄的低电平,持续时间 0.6ms}D1=0;while(!TF0); //等待TF0 = 0;date=date>>1;}TL0 = 0x1E; //设置定时初值 0.5MSTH0 = 0xFB; //设置定时初值TR0=1;D1=1;while(!TF0);TF0=0;D1=0;/************************************结尾**************************/TH0 = 0x0EC; //延时2msTL0 = 0x078;TR0=1;while(!TF0);TF0=0;TR0=0;}void sendtem(uchar date){uchar i;/*************发送验证信息*************/TR0=0;TH0 = 0xF1;TL0 = 0x5A; //装入初值设置波延时为1.5ms D1 = 1; //发送1.5ms的高电平TR0 = 1; //启动定时器0while(!TF0); //等待TF0 = 0;TH0 = 0xE2;TL0 = 0xB4;D1 = 0; //发送3ms的低电平while(!TF0); //等待TF0 = 0;/**************发送数据****************/for(i=0;i<8;i++){TL0 = 0x1E; //设置定时初值 0.5MSTH0 = 0xFB; //设置定时初值TR0=1;D1=1;while(!TF0);TF0=0;if(date&0x01){TL0 = 0x3C; //设置定时初值 1MS 发1TH0 = 0xF6; //设置定时初值}else{TL0 = 0x24; //设置定时初值 0.6MS 发0TH0 = 0xFA; //设置定时初值 TH0 = 0xFD; //0为窄的低电平,持续时间 0.6ms}D1=0;while(!TF0); //等待TF0 = 0;date=date>>1;}TL0 = 0x1E; //设置定时初值 0.5MSTH0 = 0xFB; //设置定时初值TR0=1;D1=1;while(!TF0);TF0=0;D1=0;/************************************结尾**************************/TH0 = 0x0EC; //延时2msTL0 = 0x078;TR0=1;while(!TF0);TF0=0;TR0=0;}/*********************************************main************ ******************************************/void main(){read_temp(2);Delay999ms();/*******************sendinit**********************/ AUXR &= 0x7F; //定时器时钟12T模式TMOD &= 0xF0; //设置定时器模式TMOD |= 0x01; //设置定时器模式TR0=0;/**************************************************/ sendtem(read_temp(2));Eraseeeprom(); //擦除EEPROMflag = 0;j =t=0;init();while (1);}void timer1() interrupt 3{// send(0x55);TL1 = 0x7A; //设置定时初值TH1 = 0xFE; //设置定时初值ADC_CONTR= 0xe8;Delay7us(); //@24.000MHzif(flag == 0){IapProgramByte(j, ADC_DATA); ////写EEPROMj++;if(j == 46079){flag = 1;j = 0;}}ADC_CONTR= 0x80;if(flag == 1){while(j!=46079){send(IapReadByte(j));j++;t++;if((t%500)==0){t=0;sendtem(read_temp(2));}}while(1);// DAC(IapReadByte(j)); //读EEPROM并DAC转化/* j++;if(j == 46079){Eraseeeprom(); //擦除EEPROM*/flag = 0;j = 0;}}------------------------------------------------------------------------------------------------------------------------------------ //*************************receive******************************// #include "STC12C5A60S2.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned chartypedef unsigned char BYTE;typedef unsigned int WORD;uchar code str[]="Temperature";/*Define ISP/IAP/EEPROM command*/#define CMD_IDLE 0 //Stand-By#define CMD_READ 1 //Byte-Read#define CMD_PROGRAM 2 //Byte-Program#define CMD_ERASE 3 //Sector-Erase/*Define ISP/IAP/EEPROM operation const for IAP_CONTR*/#define ENABLE_IAP 0x80 //if SYSCLK<30MHzsbit CS=P2^0;sbit SCLK=P2^1;sbit DIN=P2^2;sbit re=P3^2;sbit test=P0^0;sbit test1=P0^1;sbit lcden=P3^4;sbit lcdrs=P3^5;double LowTime, HighTime;//储存高、低电平的宽度 0-65535uchar mess;uchar tem;double j;uchar flag,ge,shi;void Delay(BYTE n);void IapIdle();BYTE IapReadByte(WORD addr);void IapProgramByte(WORD addr, BYTE dat);void IapEraseSector(WORD addr);/*************************lcd1602程序**************************/ void Delay4ms() //@30.000MHz{unsigned char i, j;i = 117;j = 184;do{while (--j);} while (--i);}void writeCommend_Lcd(uchar com)//写指令{lcdrs=0;P0=com;lcden=1;Delay4ms();lcden=0;Delay4ms();}void writeData_Lcd(uchar date)//写数据{lcdrs=1;P0=date;lcden=1;Delay4ms();lcden=0;Delay4ms();}void init_Lcd()//初始化设置1602{uchar i;lcden=0;writeCommend_Lcd(0x38);writeCommend_Lcd(0x0c);writeCommend_Lcd(0x06);writeCommend_Lcd(0x01);writeCommend_Lcd(0x80);for(i=0;i<11;i++){writeData_Lcd(str[i]);}writeCommend_Lcd(0x80+14);writeData_Lcd(0xdf);writeData_Lcd(0x43);}void display(uchar date){shi=date/10;ge=date%10;writeCommend_Lcd(0x80+12);writeData_Lcd(0x30+shi);writeData_Lcd(0x30+ge);}/***********************************************DAC*************** ********************************//***************************************************************** ********************************/void Delay120us() //@30.000MHz{unsigned char i, j;i = 4;j = 125;do{while (--j);} while (--i);}void DAC(uchar w) //转换,将数据写入芯片{int a;CS=0;for(a=0;a<12;a++){SCLK=1;_nop_();_nop_();if((w&0x80)!=0)//判断写入数据从第一位开始,看是否有数据输入 DIN=1;//将信号1写入芯片中elseDIN=0;//将0写入芯片中_nop_();_nop_();SCLK=0;//开启下一个写入数据w<<=1;}CS=1; //关闭芯片}/**********************************************************EEPROM* ********************************//***************************************************************** ********************************//*----------------------------Disable ISP/IAP/EEPROM functionMake MCU in a safe state----------------------------*/void IapIdle(){IAP_CONTR = 0; //Close IAP functionIAP_CMD = 0; //Clear command to standbyIAP_TRIG = 0; //Clear trigger registerIAP_ADDRH = 0x80; //Data ptr point to non-EEPROM areaIAP_ADDRL = 0; //Clear IAP address to prevent misuse}/*----------------------------Read one byte from ISP/IAP/EEPROM areaInput: addr (ISP/IAP/EEPROM address)Output:Flash data----------------------------*/BYTE IapReadByte(WORD addr){BYTE dat; //Data bufferIAP_CONTR = ENABLE_IAP; //Open IAP function, and set wait timeIAP_CMD = CMD_READ; //Set ISP/IAP/EEPROM READ commandIAP_ADDRL = addr; //Set ISP/IAP/EEPROM address low IAP_ADDRH = addr >> 8; //Set ISP/IAP/EEPROM address high IAP_TRIG = 0x5a; //Send trigger command1 (0x5a) IAP_TRIG = 0xa5; //Send trigger command2 (0xa5) _nop_(); //MCU will hold here untilISP/IAP/EEPROM operation completedat = IAP_DATA; //Read ISP/IAP/EEPROM dataIapIdle(); //Close ISP/IAP/EEPROM functionreturn dat; //Return Flash data}/*----------------------------Program one byte to ISP/IAP/EEPROM areaInput: addr (ISP/IAP/EEPROM address)dat (ISP/IAP/EEPROM data)Output:-----------------------------*/void IapProgramByte(WORD addr, BYTE dat){IAP_CONTR = ENABLE_IAP; //Open IAP function, and set wait timeIAP_CMD = CMD_PROGRAM; //Set ISP/IAP/EEPROM PROGRAM commandIAP_ADDRL = addr; //Set ISP/IAP/EEPROM address low IAP_ADDRH = addr >> 8; //Set ISP/IAP/EEPROM address high IAP_DATA = dat; //Write ISP/IAP/EEPROM dataIAP_TRIG = 0x5a; //Send trigger command1 (0x5a) IAP_TRIG = 0xa5; //Send trigger command2 (0xa5) _nop_(); //MCU will hold here untilISP/IAP/EEPROM operation completeIapIdle();}/*----------------------------Erase one sector areaInput: addr (ISP/IAP/EEPROM address)Output:-----------------------------*/void IapEraseSector(WORD addr){IAP_CONTR = ENABLE_IAP; //Open IAP function, and set wait timeIAP_CMD = CMD_ERASE; //Set ISP/IAP/EEPROM ERASE commandIAP_ADDRL = addr; //Set ISP/IAP/EEPROM address low IAP_ADDRH = addr >> 8; //Set ISP/IAP/EEPROM address high IAP_TRIG = 0x5a; //Send trigger command1 (0x5a) IAP_TRIG = 0xa5; //Send trigger command2 (0xa5)_nop_(); //MCU will hold here until ISP/IAP/EEPROM operation completeIapIdle();}/*----------------------------擦除eeprom----------------------------*/void Eraseeeprom(){uint i;double a;a=0;for(i = 0; i <90; i++){a = 512+a;IapEraseSector(a); //Erase current sector}}/****************************************************************接收*******************************************/void init_ex0(){EA = 1; //开总中断EX0 = 1; //开外部中断0PX0 = 1; //外部中断0设为高优先级IT0 = 1; //设为INT0下降沿触发方式}bit DeCode(void){uchar i,temp;for(i=0;i<8;i++) //每个码有8位数字{temp=temp>>1; //temp中的各数据位右移一位,因为先读出的是低位数据TH0=0; //定时器清0TL0=0; //定时器清0TR0=1; //开启定时器T0while(re==0) ;//如果是低电平就等待低电平计时TR0=0; //关闭定时器T0LowTime=TH0*256+TL0; //保存低电平宽度TH0=0; //定时器清0TL0=0; //定时器清0TR0=1; //开启定时器T0while(re==1); //如果是高电平就等待TR0=0; //关闭定时器T0HighTime=TH0*256+TL0; //保存高电平宽度if((LowTime<800)||(LowTime>1600))return 0; //如果低电平长度不在合理范围,则认为出错,停止解码if((HighTime>1200)&&(HighTime<1850)) //如果高电平时间在600微秒左右,{temp=temp&0x7f; //则该位是0}if((HighTime>2000)&&(HighTime<3000)) //如果高电平时间在1000微秒左右,{temp=temp|0x80; //则该位是1}}mess=temp;return 1;}void Delay999ms() //@30.000MHz{unsigned char i, j, k;_nop_();_nop_();i = 114;j = 226;k = 60;do{do{while (--k);} while (--j);} while (--i);}/***********************************************main************** *******************************/void main(){init_Lcd();mess=0;Eraseeeprom(); //擦除EEPROMflag = 0;j =0;tem = 29;TMOD = 0x01;TR0=0;init_ex0();while (1){// display(tem);// Delay999ms();}}/**********************红外线触发中断处理函数**********************/void ex0() interrupt 0{// display(mess);EX0=0; //关闭外中断0,不再接收二次红外信号的中断,只解码当前红外信号TH0=0; //定时器T0的高8位清0TL0=0; //定时器T0的低8位清0TR0=1; //开启定时器T0while(re==0);//如果是低电平就等待TR0=0;LowTime=TH0*256+TL0; //保存低电平时间TH0=0; //定时器T0的高8位清0TL0=0; //定时器T0的低8位清0TR0=1; //开启定时器T0while(re==1); //如果是高电平就等待// test1=0;TR0=0; //关闭定时器T0HighTime=TH0*256+TL0; //保存引导码的高电平长度// test=0;if((LowTime>3000)&&(LowTime<4500)){//P0=0xaa;if((HighTime>4500&&HighTime<5600)){if(flag == 0){DeCode(); // 执行遥控解码功能P0=mess;IapProgramByte(j, mess); ////写EEPROMj++;if(j == 20000){flag = 1;j = 0;}}if(flag == 1){while(1){while(j!=20000){DAC(IapReadByte(j)); //读EEPROM并DAC 转化Delay120us();j++;}j=0;// P0=0xaa;}Eraseeeprom(); //擦除EEPROMflag = 0;j = 0;}}else if((HighTime>6800&&HighTime<8300)){if(flag==0){DeCode();tem=mess;display(tem);// Delay999ms();}}}EX0=1; //开启外中断EX0}//*************************程序END******************************//。