说明书-用普通LED灯做传感器及数据传输的方法研究.doc
用普通LED灯做传感器及数据传输的方法研究含开题及2张CAD图
收藏
资源目录
压缩包内文档预览:(预览前20页/共50页)
编号:91865968
类型:共享资源
大小:6.11MB
格式:ZIP
上传时间:2020-08-10
上传人:QQ14****9609
认证信息
个人认证
郭**(实名认证)
陕西
IP属地:陕西
35
积分
- 关 键 词:
-
普通
LED
传感器
数据传输
方法
研究
开题
CAD
- 资源描述:
-
用普通LED灯做传感器及数据传输的方法研究含开题及2张CAD图,普通,LED,传感器,数据传输,方法,研究,开题,CAD
- 内容简介:
-
用普通用普通 LED 灯做传感器及数据传输的方法研究灯做传感器及数据传输的方法研究摘摘 要要随着科技技术日新月异的发展,无线技术,例如红外和蓝牙,越来越得到人们的重视,在各个领域都有广泛应用。但由于成本的问题不能得到很好的普及。随之,一种新型的传输方式诞生了利用普通 LED 用于数据传输。本设计主要要求实现 LED 用作传感器和数据传输方法的设计,在深入研究 LED发光特性后,经过比较,决定利用红色高亮 LED 和 ATMEGA16 单片机来实现数据传输,利用 ATMEGA8 单片机和透明高亮 LED 来实现触摸键功能。数据传输系统是基于ATMEGA16 单片机来进行设计的,主要包括 PC 机连接模块、主控制器模块、数据发射模块、数据接收模块及一些辅助电路等。设计时 PC 机和单片机之间进行串口通信,利用 ATMEGA16 单片机的 ADC 端口连接红色高亮 LED 实现数据的按位传输。数据传输原理在本质上和 8-N-1 RS232 是相似的,0 和 1 代码是根据调制后的光脉冲宽度来传递的。经过调试,可实现大约 5 厘米之间的数据准确通讯。LED 正向偏置和反向偏置后,根据半导体的特性,光线越强,内阻越小,内阻越小,放电越快,以此 LED 可感应周围环境光照强度,从而实现触摸键功能。由于普通 LED 灯在生活中被广泛运用,所以可以解决人们生活中因缺乏数据传输设备带来的不便,如果完善了逻辑后,还可以应用于路灯自动开关,智能楼宇等场合。关键字关键字:串口;普通高亮 LED;ATMEGA16 单片机;ATMEGA8 单片机 AbstractWith the rapid development of science and technology,more and more people pay attention to the wireless technology. The wireless technology are used widely in various fields,such as IrDA and Blue tooth.But due to cost problem,it can not get good popularity.Then a new kind of technology is born- common LED used for data transmission.The design mainly requires to realize the method of LED used for sensors and data transmission.After the deep research of LED characteristics, I decide to use ATMEGA16 SCM and red high-light LED for data transmission.Besides, I determine to use ATMEGA8 SCM and transparent high-light LED for touch key.The data transmission system is designed based on ATMEGA16. It mainly includes PC connected module, the main controller module, data launch module, data receiving module and a few auxiliary circuit and so on.When designing, serial interface is used to connect the computer and SCM.To realize data transmission,the ADC port of ATMEGA16 should be connected with red high-light LED.The principle of data transmission is essentially highly similar to 8-N-1 RS232.And MARK and SPACE symbols are sent as pulse-width-modulated light pulses instead of as voltage levels. After commissioning, the distance of data transmission can reach approximately 5cm.Whats more the data transmission is quite accurate in this distance.Due to the characteristics of semiconductor, the stronger light, the smaller resistance.While the smaller resistance, the faster discharge.After positive bias and reverse bias, LED can be used for light sensor.and it can be induced by surrounding light intensity.So we can realise the function of touch key in this way.Since the common LED is widely used in life, so we can solve the problem that people lack of data transmission equipment.It is so convenient for us.If the logic can be more perfect, LED can also used in automatic switch, intelligent building lamp and so on.Key words: serial interface;common high-light LED;ATMEGA16 SCM;ATMEGA8 SCM 目 录引言.11. 绪论.11.1 课题背景和意义 .11.2 论文研究内容 .22. 系统总体方案设计.22.1 LED 的理论基础.22.1.1LED 的工作原理.22.1.2LED 的优点.32.1.3LED 的基本特性.32.1.4LED 的调光控制.42.2 LED 感应原理和方案的选择.52.3 数据传输方案设计 .62.4 触摸键方案设计 .63. 硬件电路设计.73.1 数据传输方案硬件电路设计 .73.1.1 单片机控制系统设计(ATMEGA16) .73.1.2 串口连接电路设计.143.2 触摸键方案硬件电路设计(ATMEGA8) .164. 系统程序设计.234.1 软件设计思想 .234.2 数据传输系统程序设计 .234.2.1LED 数据传输原理.234.2.2 通信协议测试.234.2.3 详细程序方框图.254.3 触摸键功能系统程序设计 .275. 电路板制作和调试.285.1 电路原理图的绘制 .285.2 元件的选用和电路板的焊制 .285.3 电路板调试 .286. 结论.29谢 辞.30参考文献.31 附 录.32 引言引言LED,简单地理解,就是半导体发光二极管,是目前世界上最先进的照明技术。LED 是以半导体芯片为材料的固态光源。它利用电子移动来发光,直接把电能转换成光能。首先,它非常节能,比节能荧光灯还要省 60%的电。其次,LED 寿命长,可达10 万小时。第三,它没有污染。此外,智能化也是 LED 的“特长”。半导体技术已经改变了世界,半导体照明技术将再一次改变我们的世界,随着半导体照明光源的应用,以其饱满色光,无限混色,迅速切换,耐震,耐潮,冷温,超长寿,少维修优势,半导体光源以成为全球最热门,最瞩目的光源,半导体照明被认为是 21 世纪最有可能进入普通照明领域的一种新型固态冷光源和最具发展前景的高新技术之一,代表着未来世纪照明光源发展的永久方向。目前,LED 照明技术日趋成熟,LED 将会取代传统光源在照明行业内得到普及,从而引发人类照明史上的第四次革命。半导体照明光源的发展将会对相关应用领域产生革命性的技术推动作用,特别是在户外照明技术的突破会产生质的飞跃,从而加速推动市场的爆炸性增长。虽然 LED 被广泛用于电源指示等方面,但它本身从根本上是光电二极管和光探测器,可以用作传感器,而本文将用单片机来实现其传感器和数据传输方法的设计。1.1. 绪论绪论1.1 课题背景和意义课题背景和意义随着技术的不断发展,一种新型的无线传输技术就随之产生,那就是利用普通LED 来实现数据的传输。其实早在今年 1 月份的时候,德国研究人员就创造了每秒500 兆的可见光通信传输新纪录。德国西门子公司 15 日发表公报说,该公司和海因里希赫茨研究所的科学家通过特殊方式使发光二极管(LED)高频闪烁,附近的光电探测器将接收到这种光信号转换为电脉冲,其信息传输速度达到每秒 500 兆。此前可见光通信最高传输速度为每秒 200 兆,也是由西门子和海因里希赫茨研究所共同创造的。 与无线局域网相比,可见光通信技术可利用荧光灯或发光二极管等室内照明设备发射信号。利用具备接收和送发信息功能的电脑以及移动信息终端,用户可以在室内灯光照射到的地方,下载和上传数据。这种技术安全性高,只要用窗帘遮住光线,信 息就不会外泄至室外,减少了数据被窃的可能性。再者相对于其他无线技术,可见光通信技术实现起来要简单,方便,且成本低。1.2 论文研究内容论文研究内容了解普通 LED 灯的发光及相关性质参数,选用适当的方法扩展设计一个单片机系统,用以传感器和触摸键功能的设计。以普通 LED 作为发射口和接收口,要求根据LED 灯亮度的变化来判断,运用单片机系统来实现数据传输和触摸键的功能,最后通过相关软件来显示所传输的数据,编制程序进行功能的控制,完成该电路的设计、制作与调试工作。要求用 LED 做触摸触摸键及用两个 LED 灯做无线信号传输,距离为1CM。本文一共分为五章。第一章为绪论,主要介绍本课题研究的背景和意义以及要研究的主要内容,阐明课题研究的必要性。第二章介绍系统总体方案的设计,各个部分的设计内容,主要分为两大部分,即信号传输部分和触摸键功能部分,从理论上简述基本的设计。第三章主要阐述各个部分硬件电路的设计,分析各个本分所用元器件的性能参数,在本次电路设计中的作用。第四章主要介绍系统程序的设计,包括信号传输程序和触摸键功能程序。第五章主要说明硬件软件的调试过程,以及调试的结果,检查本设计是否符合最初的要求,是否完成导师布置的内容等等。2. 系统总体方案设计系统总体方案设计本文主要介绍如何利用普通 LED 灯来实现传感器及触摸键的功能,以ATMEGA16 和 ATMEGA8 单片机为核心的低成本、微型化的数据收发器及触摸键的硬件电路和软件设计方法。利用 LED 进行数据传输和实现触摸键功能,设计比较方便,成本低,且在日常生活应用比较广泛。2.1 LED 的理论基础的理论基础2.1.1 LED 的的工作原理工作原理LED 示意图如图 1-1 所示。 图 1-1 LED 示意图LED(Light Emitting Diode),发光二极管 ,是一种固态的 半导体器件,它可以直接把电转化为光。 LED 的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的 正极,使整个晶片被 环氧树脂封装起来。半导体晶片由两部分组成,一部分是P 型1半导体,在它里面空穴占主导地位,另一端是 N 型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N 结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P 区,在 P 区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的 波长也就是光的颜色,是由形成 P-N 结的材料决定的。2.1.2 LED 的优点的优点LED 的内在特征决定了它是最理想的光源去代替传统的光源,它有着广泛的用途。一、体积小: LED 基本上是一块很小的晶片被封装在环氧树脂里面,所以它非常的小,非常的轻。二、耗电量低: LED 耗电相当低,一般来说 LED 的工作电压是 2-3.6V。工作电流是 0.02-0.03A。这就是说:它消耗的电不超过 0.1W。三、使用寿命长:在恰当的电流和电压下, LED 的使用寿命可达 10 万小时。四、高亮度、低热量:LED 使用冷发光技术,发热量比普通照明灯具低很多。五、环保:LED是由无毒的材料作成,不像 荧光灯含水银会造成污染,同时 LED 也可以回收再利用。六、坚固耐用: LED 是被完全的封装在环氧树脂里面,它比灯泡和荧光灯管都坚固。灯体内也没有松动的部分,这些特点使得LED 可以说是不易损坏的。2.1.3 LED 的基本特性的基本特性LED 作为一个电致发光的 P-N 结器件,其特性可通过该 P-N 结的电学参数,以及作为一个发光器件的光学参数来进行描述。伏安特性是描述一个 P-N 结器件的重要参数,它是 P-N 结性能,P-N 结制作工艺优劣的重要标识。所谓伏安特性,即是流过 P-N 结电流随电压变化的通行,在示波器上能十分形象地展示这种变化。一个完整的伏安特性曲线包括正向特性和反向特性,通常可用反向击穿电压,反向电流和正向电压参数来进行伏安特性曲线的描述。正向电压 VF是指额定正向电流下器件两端的电压降,这个既与材料的禁带宽度有 关,同时也标识了 P-N 结的体电阻与欧姆接触电阻的高低。VF的大小一定程度上反映了电极制作的优劣。相对于 290 毫安的正向电流,红黄光类 LED 的 VF值约为 2 伏,而 GaN 基兰绿光类 LED 器件的 VF通常大于 3 伏。反向漏电流 IR是指给定的反向电压下流过器件的反向电流值,这个值的大小十分敏感于器件的质量。通常在 5 伏的反向电压下,反向漏电流应不大于 10 微安,IR过大表明结特性较差,反向击穿电压是指当反向电压大于某一值时,反向漏电流电流会急剧增大,反映了器件反向耐压的特性。对一个具体器件而言,漏电流大小的标准有所不同,在较为严格的情况下,要求在规定电压下,反向漏电流不大于 10 微安。除了电学特性,还需采用一系列的光学参数来描述 LED 器件的性能,其中较为重要的参数为器件的峰值波长与光强。可见光属电磁波范畴,通常可以用波长来表达人眼所能感受到的。可见光的辐射能量,一般可见光的波长范围在 380760nm 之间,波长越长,其相变的光子能量就越低,光的颜色也显得越红,当光子的波长变短时,光将逐渐由红转黄,进而变绿变蓝,直至变成紫色。对于一个 LED 器件,其所发的光在峰值 p 处有所展开,其波长半宽度通常为 1030nm,半宽度越小,说明 LED 器件的材料越纯,性能越均匀,晶体的完整性也越好。光强是衡量 LED 性能优劣的另一个重要参数,通常是用 Iv 来表示。光强的定义是,光在给定方向上,单位立体角内发了 1流明的光为 1 烛光,其单位用坎德拉(cd)表示。其关系可用公式 Iv=d/d 表征。式中 的单位为流明,Iv 的单位为 cd,d 是单位立体角,单位为度。一个超亮 LED 芯片的法向光强一般在 30120mcd 之间,封装成器件后,其法向光强通常要大于 1cd。光通量是判别 LED 发光效率的一个更为客观的参量,它表示单位时间内电发光体发出的光能的大小,单位为流明(lm) 。通常白炽灯与荧光灯的光效为 15lm/w 与60lm/w,灯泡的功率越大,光通量越大。对于一个性能较高的 LED 器件,光效为20lm/w,实验室水平也有达到 100lm/w 的。2.1.4 LED 的调光控制的调光控制传统上,LED 的调光是利用一个 DC 信号或滤波 PWM 对 LED 中的正向电流进行调节来完成的。减小 LED 电流将起到调节 LED 光输出强度的作用,然而,正向电流的变化也会改变 LED 的彩色,因为 LED 的色度会随着电流的变化而变化。许多应用(例如汽车和 LCD TV 背光照明)都不能允许 LED 发生任何的色彩漂移。在这些应用中,由于周围环境中存在不同的光线变化,而且人眼对于光强的微小变化都很敏感,因此宽范围调光是必需的。通过施加一个PWM 信号来控制 LED 亮度的做法允许不改变彩色的情况下完成LED 的调光。人们常说的真正彩色( True Color)PWM 调光是利用一个 PWM 信号来调节LED 的亮度。 调节 LED 亮度有三种常用方法:(1)用 SET 电阻,在 LED 驱动控制 IC 引脚 RSET 两端并联不同的转换电阻,使用一个直流电压设置 LED 驱动控制 IC 引脚 RSET 的电流,从而改变 LED 的正向工作电流,达到调节 ALED 发光亮度的目的。(2)采用 PWM 技术,利用 PWM 控制信号,通过控制 LED 的正向工作电流的占空比来调节 ALED 的发光亮度。(3)线性调节。最简便的方法是在 LED 驱动控制 C 中使用外部 SET 电阻来实现 LED 的调光控制。虽然,这种调光控制方法有效,但却缺乏灵活性,无法让用户改变光强度。线性调节则会降低效率,并引起白光LED 朝向黄色光谱的色彩偏移。可能是轻微的偏移,但可在敏感应用中检测出。采用数字或叫 PWM 的 LED 调光控制法以大于 100HZ 的开关工作频率,以脉宽调制的方法改变 LED 驱动电流的脉冲占空比来实理 LED 的调光控制,选用大于 100HZ 开关调光控制频率主要是为了避免人眼感觉到调光闪烁现象,在LED的 PWM 调光控制下, LED 的发光亮度正比于 PWM 的脉冲占空比,在这种调光控制方法下,可以在高度调光比范围内保持LED 的发光颜色不变,采用 PWM 的LED 调光控制的调光比范围可达 3000:1。线性 LED 调光控制方法就是采用模拟调光控制方法,在模拟调光控制下,通过调节 LED 的正向工作电流来实现 LED 的调光控制,调光控制范围可达 10:1。如果要进一步降低 LED 的正向工作电流则会产生 LED 发光颜色发生变化和不能准确调节控制 LED 的正向工作电流的问题。2.2 LED 感应原理和方案的选择感应原理和方案的选择其实 LED 做光线传感器跟它可不可以发光没什么联系,发光只是在它被用做光线传感器的同时的一种附带功能。首先给 LED 反向加电,(由于 LED 也是一个二极管,存在结间电容)这样 LED 内部结电容上被充上了电压。一段时间后,等 LED 结电容被充满后,立刻停止充电,然后监测 LED 上的电压,LED 结电容上的电压会被其内阻逐渐卸放掉,LED 内阻会随着光线的变化而不同(根据半导体的特性,光线越强,内阻越小),内阻越小,就越放得越快,用单片机的定时器监测这个时间应该很容易。这个电压的监测可以直接用单片机的 IO,或者比较器吧。 如果要让 LED 身兼二职的话,就得让他工作在时分复用。做触摸键使用时,就是监测当有手指按下与否的时候的光线变化。当然可以采用多 LED 的方式,这样当一 LED 在做传感器的时候,他旁边的 LED 可以做指示为它提供照明。具体工作原理图如图 2-1 所示 图 2-1 感应原理图LED 是一种对在发光上下波段的光很敏感的光电二极管(不包括任何有色塑料包装的影响)。在反向偏压条件下,LED 相当于一个电容和一电流源并联。这种光电流就是我们想要测量的。图 2-2 LED 反向偏压用于光电探测由于本次设计主要是要利用单片机编程来实现功能,所以方案的选择主要是要考虑所要用的单片机型号。目前市场上单片机各种各样,考虑到所学的单片机课程主要是利用 51 系列的单片机,初步是考虑 51 系列的单片机。但考虑到经费和 51 系列本身的缺陷,故放弃。之后,我参考了老师给的资料和向同学咨询,发现 AVR 系列的单片机功能完善,而且能节省成本,所以最终我选择了 ATMEGA16 和 ATMEGA8 作为主单片机。2.3 数据传输方案设计数据传输方案设计构成数据传输系统的电路功能模块主要包括 PC 机连接模块、主控制器模块、数据发射模块、数据接收模块及一些辅助电路等。PC 机和 ATMEGA16 单片机之间通过串口相连,利用串口实现数据通信,然后通过单片机上相连的普通 LED 来发射数据,传送方式为 LED 的亮暗变化,同理,也是利用普通 LED 来接收数据,最终在另一个 PC机上显示数据。具体系统框图如图 2-3 所示 PC机串口单片机普通LED单片机串口PC机发射接收普通LEDD图 2-3 系统框图2.4 触摸键方案设计触摸键方案设计触摸键方案的设计主要是弄清普通 LED 的发光原理,利用 ATMEGA8 的 ADC 端口连接 LED 灯,通过对单片机编程来实现触摸键功能。具体方案框图如图 2-4 所示普通 LED普通 LED单片机图 2-4 系统框图3. 硬件电路设计硬件电路设计3.1 数据传输方案硬件电路设计数据传输方案硬件电路设计该系统硬件电路主要包括单片机系统电路、串口连接电路两大部分。在实际设计过程中,我采用的是红色高亮的 LED。LED 正极接单片机的 PA0 口,负极通过 300电阻和 PA1 口连接。具体电路原理图如图 3-1 所示。图 3-1 电路原理图 3.1.1 单片机控制系统设计(单片机控制系统设计(ATMEGA16)单片机控制系统主要包括 ATMEGA16 单片机,复位电路,外部时钟电路等。具体电路设计如图 3-2 所示。图 3-2 单片机控制系统原理图单片机介绍:单片机介绍:本次设计我用到的是 ATMEGA16 单片机。下面简单介绍 ATMRGA16 的一些信息,详细信息请参照 ATMRGA16 芯片数据手册。 图 3-3 ATMRGA16 实物图ATmega16 是基于增强的 AVR RISC 结构的低功耗 8 位 CMOS 微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达 1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。产品特性如下所示: 高性能、低功耗的 8 位 AVR 微处理器 先进的 RISC 结构 131 条指令 大多数指令执行时间为单个时钟周期32 个 8 位通用工作寄存器 全静态工作 工作于 16 MHz 时性能高达 16 MIPS 只需两个时钟周期的硬件乘法器 非易失性程序和数据存储器 16K 字节的系统内可编程 Flash,擦写寿命: 10,000 次 具有独立锁定位的可选 Boot 代码区 通过片上 Boot 程序实现系统内编程,真正的同时读写操作 512 字节的 EEPROM,擦写寿命: 100,000 次1K 字节的片内 SRAM 可以对锁定位进行编程以实现用户程序的加密 JTAG 接口( 与 IEEE 1149.1 标准兼容 ) 符合 JTAG 标准的边界扫描功能 支持扩展的片内调试功能 通过 JTAG 接口实现对 Flash、EEPROM、熔丝位和锁定位的编程 外设特点 两个具有独立预分频器和比较器功能的 8 位定时器/ 计数器 一个具有预分频器、比较功能和捕捉功能的 16 位定时器 /计数器 具有独立振荡器的实时计数器 RTC 四通道 PWM 8 路 10 位 ADC,8 个单端通道,TQFP 封装的 7 个差分通道,2 个具有可编程增益 (1x, 10x, 或 200x)的差分通道 面向字节的两线接口 两个可编程的串行 USART 可工作于主机/从机模式的 SPI 串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器 特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的 RC 振荡器 片内/片外中断源 6 种睡眠模式 : 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的 Standby 模式 I/O 和封装 32 个可编程的 I/O 口40 引脚 PDIP 封装 , 44 引脚 TQFP 封装,与 44 引脚 MLF 封装 工作电压: ATmega16L:2.7 - 5.5V ATmega16:4.5 - 5.5V 速度等级 0 - 8 MHz ATmega16L 0 - 16 MHz ATmega16 ATmega16L 在 1 MHz, 3V, 25C 时的功耗 正常模式: 1.1 mA 空闲模式: 0.35 mA 掉电模式: =GateValue+SCANDIF?PORTD=ob10000110数码管显示结束是否图 4-9 触摸键程序方框图 5. 电路板制作和调试电路板制作和调试5.1 电路原理图的绘制电路原理图的绘制本次设计的 LED 数据传输和触摸键功能实现的原理是通过查阅大量的资料,在图书馆以及网上查找资料所得到的,经过综合的分析其可行性,经济性等方面要求前提下做出的电路原理图。而在有可靠的电路原理图之后,我需要再做的就是将电路原理图变成一个硬件,使其实现预定的功能。如果使用的是万能板,则不需要绘制电路图,只要根据原理图的元器件在万能板上摆放好,用导线将其焊接起来即可。人们一般都使用腐蚀板,这样我们就首先的步骤就是在 PROTEL 中绘制电路原理图。在我设计的电路图中的元器件,在 PROTEL 的标准元件库里基本上都有,所以很快就可以画出完整的电路原理图了。首先我们先要在元器件库中调入各个元器件,将各个模块的元器件放在一起,然后用线将其连接起来其可完成原理图的基本绘制。但是由于此次设计的电路较为简单,所以我选择先在万用板上调试程序成功后,再实际做所需的电路板。5.2 元件的选用和电路板的焊制元件的选用和电路板的焊制首先要确认我们前面画的电路原理图的正确性,确定每个元器件的连线都连接上,所以在制作电路板之前我们要对每个元器件进行封装,封装库没有的元器件要自己做一个。在对每个元器件封装的同时定义每个元器件的编号,编号要一一对应,不能有重复。详细清单见附录。然后是进行元器件的电气检测,检测没有错误的话会显示没有错误,如果错误,连线没有连上等等都会在原理图中只指示出来。然后就是生成网络报表,显示所有的元器件的封装号,编号等。然后需要对其进行布线,设计焊盘的大小,导线的粗细,各个元器件实际放的位置,布线是一件很麻烦的事情,要尽量没有交叉,不限还要美观等等,这个工作长的话需要两三天到一个星期的时间,熟悉的话半天一天就可以完成。像我以前没有接触太多,所以布线起来比较困难,需要较多时间,但从中也学到了不少东西。完成了布线后,按照各自位置在板子上放上元器件使用电烙铁元器件焊牢就可以,这个工作比较简单,以前做课程设计时做的比较熟,所以还是很容易就完成了。5.3 电路板调试电路板调试硬件电路制作完成并调整好后,便可将程序编译好下载到单片机试运行。由于本 次设计主要是要利用普通 LED 的感光来检测环境光,所以周围环境的光照强度的大小会直接影响到实验结果。因此,在调试过程中,我尽量选择在灰暗的环境中进行。经过调试,基本上都能达到预期目标。本次设计中所阐述的程序只是为了说明原理,但不足的是数据传输方面没有成功调试出来。初步分析失败的原因是编译时虽没有提示错误,但实际上程序本身逻辑上有错,没有找到。触摸键功能方面成功完成调试,但由于系统易受环境光影响,实验时需多加考虑逻辑。 6. 结论结论虽然今天几乎每个电子设备都包含单片机和(理论上)有足够的能力和类似的设备通信,通信信路的花费经常阻碍两个靠近的设备进行通信。但有了这种技术,每个LED 灯都可以变成一个潜在的通信端口。这拓宽了应用,因为在基于单片机的设备中,LED 灯广泛用于电源指示,而且它通常不是直接连到电源,而是和单片机相连,如此小型的用户接口是可行的。伴随适当的修改,就可以和其他设备通信。本次毕业设计完成的主要任务是数据传输系统设计和触摸键功能系统设计两大块内容。通过 PC 机和单片机之间的串口通信,把数据转化成普通 LED 灯之间的亮暗变化,实现数据之间的无线传输。同时,利用 LED 的感光,实现触摸触摸键的功能。总结整个毕业设计的制作完成过程,心里有颇多体会和得到以下结论:(1) 对整个系统进行了全面的分析,综合比较多种单片机之间的性能优劣和成本之间的考虑,最终选择了 ATMEGA16 和 ATMEGA8.(2) 在数据传输方案中,把整个方案进行模块化分解,对每一个模块进行比较设计,但局部中把握整体,以实现这次毕业设计的要求。(3) 对各个模块所使用的芯片元器件进行了较深的了解,知道每个芯片的功能(4) 绘制原理图时还学会了使用其他的软件进行电路的仿真,比如 PROTEUS.(5) 设计时更熟练的使用了 PROTEL 软件,这是一个很有实用性的软件,这对我们以后出去工作有较大的帮助。本次设计不仅提高了自己自主学习的能力,而且对自己查阅资料分析有用信息的的能力也是一个很好的锻炼机会,动手能力也得到了提高。虽然本次设计能够基本完成设计的任务,但由于本人的知识能力有限,再加上经验的缺乏,本设计中仍有很多需要完善和改进的地方。(1)由于缺乏动手经验,所以在设计过程中,导致了某些元件和材料的浪费(2)数据传输功能和触摸键功能分开实现,这导致了我需要买另一块单片机来满足要求,增加了成本,也增加了自己的工作量。 (3)C 语言编程底子薄弱,编写程序时,遇到的挫折较多。谢谢 辞辞首先,这次论文的完稿是在张应红老师悉心指导和大力支持下完成的。张老师给了我大量的极其有益的建议和具体的指导,并在论文的撰写和审稿中倾注了大量心血,以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响。他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。同时,在此次毕业设计过程中我也学到了许多了关于 AVR 单片机方面的知识,实验技能得到大幅度的提高。在这还要感谢院里的一些同学,对于我不懂的问题,他们也能很好的帮助我,不懂的大家一起研究,共同解决问题,毕业设计才能顺利的完成。如果没有他们的帮助,仅靠我一个人的力量想在短短的几个月的时间里完成毕业论文是件很难的事情。这里,我充分体会了团队合作的重要性。同窗之谊和手足之情,我将终生难忘!大学即将毕业,我也即将走上工作岗位,在桂林电子科技大学四年里,老师对我们的教诲将会转化为劳动生产的动力。无论以后走上什么岗位,我都紧记我是桂电人,我永远热爱我的母校,同时也积极努力工作,为自己,为母校,为祖国争光。最后,再次对关心、帮助我的老师和同学表示衷心地感谢。感谢桂林电子科技大学机电工程学院的领导老师对我这四年的培养,关怀,为我们顺利的完成学业营造了一个如此美丽宁静的校园和人文环境。 参考文献参考文献1 Richard Barnett,Larry OCull,Sarah Cox 著,周俊杰等译.嵌入式 C 编程与 Atmel AVRM.北京:清华大学出版社.2003.2 冯建华、赵亮编著.单片机应用系统设计与产品开发M. 北京:人民邮电出版社,2004.3 马潮、詹卫前、耿德根.ATmega8 原理及应用手册M. 北京:清华大学出版社,2003.4 宋培义,刘立新.单片机原理、接口技术及应用M.北京:北京航空航天大学出版社.1999.1:3398.5 邱关源.电路(第四版)M.北京:高等教育出版社:2000.8.6 沙占友.集成化智能传感器原理与应用M.北京:电子工业出版社.2004.1:198222.7 沈文.AVR 单片机 C 语言开发入门指导。北京:清华大学出版社。2003.1.8 Robert L.Mott. Machine Elements in Mechanical DesignM.Beijing:China Machine Press,2002.9 金春林,邱慧芳,张皆喜.AVR 系列单片机 C 语言编程与应用实例M.清华大学出版社,2003.10 耿德根,宋建国,马潮等.AVR 高速嵌入式单片机原理与应用M .北京航空航天大学出社,2001. 附附 录录1 元件清单器件名称个数ATMEGA16 单片机2ATMEGA8 单片机1MAX2322底座4电阻、电容若干触摸键3二极管 IN41483高亮 LED若干串口2普通 LED2电感 10UH3排针若干USB 口2数码管12.数据传输系统代码:接收代码:#define F_CPU ?(各自电脑的 CPU 频率)#include #include #include #include #define TRUE 1 #define FALSE 0 #define SBIT(x,y) (x|=(1y) #define CBIT(x,y) (x&=(1y) #define BIT(x,y) (x&(1 4) #define PB_DATN(x) (x0 & 0x0F) void delay_ms(unsigned int); void port_init(void); void usart_init(unsigned int); unsigned char led_light_recv(void); unsigned char led_send_char(const unsigned char); void led_send_pack(const char, const void *, const char); unsigned char rs,rb,rn,ln,bn,ro,pack18,rb_event; /= /名称:delay_ms /功能:毫秒延时 /参数:unsigned int c 要延时的毫秒数 /返回:无 /备注:无 /= void delay_ms(unsigned int c) unsigned int i; while(c-) for(i=0;i 8); UBRRL = (unsigned char)baud; UCSRB = (1RXEN)|(1TXEN); /接收器和发送器使能UCSRC = (1URSEL)|(1USBS)|(1UCSZ0); /设置为 8 个数据位,1 个停止位 /= /名称:port_init /功能:端口初始化 /参数:无 /返回:无 /备注:无 /= void port_init(void) PORTA = 0xFF; PORTB = 0xFF; PORTC = 0xFF; PORTD = 0xFF; /做输入用 DDRA = 0x00; DDRB = 0x00; DDRC = 0x00; DDRD = 0xFE; cli(); /= /名称:led_light_recv /功能:检测 LED 受光状态 /参数:无 /返回:光照达到给定亮度返回 TRUE / 光照达不到给定亮度返回 FALSE /备注:无 /= unsigned char led_light_recv(void) unsigned char i; LED_P_OUT(); LED_N_OUT(); LED_N_HIG(); LED_P_LOW(); delay_ms(1); LED_N_LOW(); LED_P_HIG(); delay_ms(1); LED_P_IN(); LED_P_LOW(); LED_N_LOW(); for(i = 0x00; i 0x03; i+) delay_ms(1); if(!BIT(LED_PIN, LED_P) return TRUE; return FALSE; /= /名称:led_send_char /功能:通过 LED 发送一个字节 /参数:unsigned char c 要发送的字节 /返回:发送的字节 /备注:无 /= unsigned char led_send_char(const unsigned char c) unsigned char i; for(i = 0; i 8; i+) LED_N_OUT(); LED_P_OUT(); LED_N_HIG(); LED_P_LOW(); if(BIT(c, ( 7 - i ) / 高位在前 delay_ms(30); else delay_ms(15); LED_N_LOW(); delay_ms(15); return c; /= /名称:led_send_pack /功能:通过 LED 发送一个数据包 /参数:char c 功能号 / void *dat 数据 / char dn 数据量 /返回:无 /备注:数据包格式功能号(高 4 位)|数据量(低 4 位)+ / 数据+(8bit)LRC 校验,允许发送空数据。 /= void led_send_pack(const char func, const void *dat, const char dn) unsigned char n,lrc = 0; unsigned char *p = (unsigned char *)dat; /发送接收识别头 LED_N_OUT(); LED_P_OUT(); LED_N_HIG(); LED_P_LOW(); delay_ms(60); LED_N_LOW(); delay_ms(15); /每个包最多发送 16 个字节 n = (func 4) | (p) ? (dn & 0x0F) : 0x00); lrc += led_send_char(n); for(n = 0; p != NULL & n (dn & 0X0F); n+) lrc += led_send_char(pn); /发送校验字节 led_send_char(lrc); /= /名称:main /功能:主函数 /参数:无 /返回:1 /备注:无 /= int main(void) unsigned char lrc,i; port_init(); usart_init(B_9600); ln = 0; rb_event = FALSE; while(1) rs = led_light_recv(); if(rs) ln+; if(ln8 )/收到 0 rb = 1; bn+; ro = 0; else /收到 1 rb 0x03) break; if(bn = 0x08) /收到一个字节 bn = 0; packrn+ = rb; rb = 0; if(rn = PB_DATN(pack) + 2) /收到一个数据包 rb_event = TRUE; break; ln = 0; ln = 0; /事件处理 if(rb_event) rb_event = FALSE; lrc = 0; for(i = 0; i (PB_DATN(pack) + 1); i+) lrc += packi; if(lrc = packi) if(PB_FUNC(pack) = 1) for(i = 1; i (PB_DATN(pack) + 1); i+) /将收到数据发送到 PC while( !(UCSRA & (1UDRE) ) UDR = packi; delay_ms(20); led_send_pack(2,NULL,0); /发送接收成功应答包 return 1; 具体发射数据代码如下:#define F_CPU ?(各自电脑的 CPU 频率)#include #include #include #include #define TRUE 1 #define FALSE 0 #define SBIT(x,y) (x|=(1y) #define CBIT(x,y) (x&=(1y) #define BIT(x,y) (x&(1 4) #define PB_DATN(x) (x0 & 0x0F) void delay_ms(unsigned int); void usart_init(unsigned int); unsigned char led_light_recv(void); unsigned char led_send_char(const unsigned char); void led_send_pack(const char, const void *, const char); unsigned char rs,rb,rn,ln,bn,ro,pack18,rb_event; /= /名称:delay_ms /功能:毫秒延时 /参数:unsigned int c 要延时的毫秒数 /返回:无 /备注:无 /= void delay_ms(unsigned int c) unsigned int i; while(c-) for(i=0;i100;i+)asm(“nop;”); /名称:led_light_recv /功能:检测 LED 受光状态 /参数:无 /返回:光照达到给定亮度返回 TRUE / 光照达不到给定亮度返回 FALSE /备注:无 /= unsigned char led_light_recv(void) unsigned char i; LED_P_OUT(); LED_N_OUT(); LED_N_HIG(); LED_P_LOW(); delay_ms(1); LED_N_LOW(); LED_P_HIG(); delay_ms(1); LED_P_IN(); LED_P_LOW(); LED_N_LOW(); for(i = 0x00; i 0x03; i+) delay_ms(1); if(!BIT(LED_PIN, LED_P) return TRUE; return FALSE; /= /名称:led_send_char /功能:通过 LED 发送一个字节 /参数:unsigned char c 要发送的字节 /返回:发送的字节 /备注:无 /= unsigned char led_send_char(const unsigned char c) unsigned char i; for(i = 0; i 8; i+) LED_N_OUT(); LED_P_OUT(); LED_N_HIG(); LED_P_LOW(); if(BIT(c, ( 7 - i ) / 高位在前 delay_ms(30); else delay_ms(15); LED_N_LOW(); delay_ms(15); return c; /= /名称:led_send_pack /功能:通过 LED 发送一个数据包 /参数:char c 功能号 / void *dat 数据 / char dn 数据量 /返回:无 /备注:数据包格式功能号(高 4 位)|数据量(低 4 位)+ / 数据+(
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|