毕业论文定稿基于单片机的智能声光控开关

上传人:be****l 文档编号:107211850 上传时间:2022-06-14 格式:DOC 页数:46 大小:2.57MB
收藏 版权申诉 举报 下载
毕业论文定稿基于单片机的智能声光控开关_第1页
第1页 / 共46页
毕业论文定稿基于单片机的智能声光控开关_第2页
第2页 / 共46页
毕业论文定稿基于单片机的智能声光控开关_第3页
第3页 / 共46页
资源描述:

《毕业论文定稿基于单片机的智能声光控开关》由会员分享,可在线阅读,更多相关《毕业论文定稿基于单片机的智能声光控开关(46页珍藏版)》请在装配图网上搜索。

1、 . XX学 院 本科毕业论文(设计)基于单片机的智能声光控开关XXXXXXX专 业 名 称 机械设计与自动化 申请学士学位所属学科 工科 指导教师、职称 XXXXXXXX 2011 年 6 月 8 日34 / 46摘 要声光控开关的原理是只有在天黑以后,当有人走过楼梯通道,发出脚步声或其它声音时,楼道灯会自动点亮,提供照明,当人们进入家门或走出公寓,楼道灯延时几分钟后会自动熄灭。在白天,即使有声音,楼道灯也不会亮,可以达到节能的目的。 本文以LGS公司生产的GMS97C2051单片机为核心,研究声光控开关的设计,采用串行A/D对声音信号的采集,可以通过软件来调节对声音的灵敏度。单片机软件实施

2、对光度的判断,使开关在白天时即使有声音也不工作。文章应用了过零启动技术,开关工作在频繁的开关状态时不易损坏可控硅,延长了声控开关的使用寿命。文章中还加入了看门狗电路,在工作中可以起到抗干扰的作用,大大加强了开关的可靠性。关键词:声光控,智能,节能,可靠性。ABSTRACTThe principle of acoustic optical switch is only after dark, when someone pass stair channel, issued, or other sounds of footsteps will provide automatic lit corrid

3、or, lighting, when people enter the house or apartment corridor lights out several minutes automatically delay extinguished. During the day, even a voice, corridor lights also will not light, can achieve the purpose of saving energy. In this paper GMS97C2051 LGS company production, the single-chip m

4、icrocomputer is thedesign of acoustic light-activated switch, the serial A/D for sound signal collection, by software to adjust the sensitivity to sound. Single-chip microcomputer software implementation on photometric judgment to make the switch in the daytime, even though there is voice doesnt wor

5、k. Article applied zero start up technology, switch work in frequent switch to thyyistoy andextendedofsound-controlled. Article also joined watch-dog circuit, in the work plays a role of anti-interference, the reliability of switches is greatly enhanced. Keywords: sound, the intelligent controller,e

6、nergy-saving, reliability.目 录1. 绪论11.1 课题背景11.2 课题现状11.3 课题意义12.系统设计方案22.1 课题的研究容22.2技术方案的选择23.系统结构与工作原理33.1 系统结构33.2 系统的工作原理54.硬件系统的设计54.1 声音信号采集电路的设计54.2 光信号判断电路的设计74.3 过零启动保护电路的设计74.4定时电路的设计94.5驱动输出电路的设计104.6电源设计104.7 看门狗电路的设计114.7.1 简介看门狗电路与其作用114.7.2 X5045特性介绍124.8. PCB板的制作的设计134.8.1 PROTEL DXP

7、 2004的概述134.8.2 Protel原理图界面144.8.3 电路原理图的设计流程144.8.4 PCB板的绘制原则154.8.5 Protel PCB设计流程164.8.6 印制电路板(PCB)的绘制过程如下所示:174.8.7 焊制电路板如下所示195. 软件设计205.1 软件设计语言的选择205.2 程序流程图215.3 主程序设计225.4 延时程序设计225.5 TLC2543读写程序设计225.6 DS1302驱动程序设计225.7 X5045驱动程序设计226系统的调试2361 调试过程236.2 调试结果与经验总结257总结258附录26参考文献33致341. 绪论1

8、.1 课题背景当今社会的主潮流是:降低能耗,节约能源,注重环保。声光控开关体积小,外形美观,反应灵敏,制作容易,是公共场合照明开关的理想选择,被誉为:“长明灯的克星”。公共场所和居民居住区的公共楼道普遍使用机械手动开关,由于各种原因往往出现许多灯泡点亮长明的现象,故使灯泡寿命短,浪费电量,为国家、单位、个人造成经济损失。另外,由于频繁开关或其他人为因素,墙壁开关的损坏率很高,既增大了维修量、浪费了资金,又容易造成事故隐患。因此,设计研制一种电路新颖、安全节电、结构简单、安装方便的声光双控白炽灯节能自动开关显得相当有必要。1.2 课题现状公共场所和居民居住区的公共楼道普遍使用机械手动开关,由于各

9、种原因往往出现许多灯泡点亮长明的现象,故使灯泡寿命短,浪费电量,为国家、单位、个人造成经济损失。因此,设计一个基于单片机的声光控开关系统,使公共场所和居民居住区的公共楼道灯在白天时不亮,晚上闻声自亮,待人走后,几十秒后自动关闭,既方便,又省电。1.3 课题意义(1)利用单片机作为中央处理器;(2)具有光控功能,白天不亮灯,晚上有声音时亮灯;(3)延时时间可调节;(4)具有过零检测功能;(5)所设计的开关系统应做到节能、智能、耐用、可靠性高以与维护方便。2.系统设计方案2.1 课题的研究容运用单片机可以设计出智能型的声控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单,在使用过程

10、中更加的安全节电,智能环保。2.2 技术方案的选择目前的声控开关大多都是应用模拟电子技术进行设计,分立元件多,不可靠,而且许多声控开关的平均使用寿命不长,主要是因为电路作频繁的开关,启动电流非常大,导致功率元件可控硅由于过载而损坏。如果在设计中采用开关电压过零保护技术,可消除白炽灯开启瞬间的大电流冲击,有效地防止可控硅元件启动时的电流过载,大延长了开关的使用寿命,并且可以起到保护灯泡的作用。如今单片机技术已经相当成熟,未来的发展方向趋向于运用单片机可以设计出智能型的声控开关,电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单。在使用过程中更加的安全节电,智能环保。首先单片机是一种集成在

11、电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机的特点:(1) 种类多,型号全;(2) 提高性能,扩大容量,性能价格比高;(3) 增加控制功能,向真正意义上的“单片”机发展;(4) 低消耗;(5) C语言开发环境,友好的人机互交环境。单片机的优点:(1) 使用寿命长;(2) 运行速度越来越快;(3) 低噪声和高可靠性技术;(4) OTP与掩膜。综上所述,单片机的特

12、点和优点符合制作智能声光控开关的条件,并且具有准确性和节能性。3.系统结构与工作原理3.1 系统结构 设计声光控开关,最起码要考虑三个问题,其一是灯泡的开关控制,这是由220V市供电。其二是光控制,使其在有光时,即使有声音也不能亮。其三就是声音控制,在晚上或光线不足时,只要有人经过,发出声音,灯泡就会点亮。设计的整体方案图如图1所示。CPU以GMS97C2051单片机为核心,GMS97C2051是LG公司生产,引脚功能和指令系统与MCS-51兼容的20引脚封装单片机,片含2K字节的EPROM,与MCS-51的主要不同之处是少了P0和P1口,能方便地用于不需外扩程序存储器的应用场合,达到简化电路

13、、缩小体积、减小损耗和降低成本的目的。整个设计包括以下几个模块:声信号采集模块,该模块主要是负责声音信号的采集并放大,再经过A/D转换器输入到单片机。1. 声信号采集模块,该模块主要是负责声音信号的采集并放大,再经过A/D转换器输入到单片机。2. 过零保护模块,该模块主要是负责声音信号的采集并放大,再经过A/D转换输入到单片机。3. 光信号采集模块,对光信号进行处理,电路当中有光信号时,输出一电平信号给单片机,当晚上或光线较暗时输出一反向信号给单片机,由单片机作出判断。4. 时钟定时模块,运用一时钟芯片,起到定时功能,当灯亮后,一定定时时间到,即自动熄灭。5. 看门狗模块,对现场干扰起保护作用

14、,防止单片机的程序跑飞,使使使之输出一电压值,到可控使可控硅打开。6. 输出驱动模块,由单片机控制,使之输出一电压值,到可控硅,使可控硅打开。图1整体方案图3.2 系统的工作原理采用串行A/D对声音信号的采集,可以通过软件来调节对声音的灵敏度。单片机软件实施对光度的判断,使开关在白天时即使有声音也不工作,在晚上闻声自亮。4.硬件系统的设计4.1 声音信号采集电路的设计图2声信号采集电路如图2所示为声音信号采集电路。R6为声传感器,当没有声音时,其输出为低电压信号,若有声音时,输出一电压值,该电压值经过运算放大器OP07放大,放大倍数为R2/R4,R2为可变电阻,可以调节其阻值,使其放大倍数改变

15、,起到调节声音灵敏度的作用。下图TLC2543为A/D转换器,TLC2543采用串行接口,与外围电路的连线简单,三个控制输入端为CS(片选)、输入/输出时钟(I/O CLOCK)以与串行数据输出端(DATA INPUT)。片的14通道多路器可以选择11个输入中的任何一个或3个部自测试电压中的一个,采用一保持是自动的,转换结束,EOC输出变高。图3 TCL2543A/D转换器TLC2543的引脚排列如图1所示。引脚功能说明如下:AIN0AIN10:模拟输入端,由部多路器选择。对4.1MHz的I/O CLOCK,驱动源阻抗必须小于或等于50;CS:片选端,CS由高到低变化将复位部计数器,并控制和使

16、能DATA OUT、DATA INPUT和I/O CLOCK。CS由低到高的变化将在一个设置时间禁止DATA INPUT和I/O CLOCK;DATA INPUT:串行数据输入端,串行数据以MSB为前导并在I/O CLOCK的前4个上升沿移入4位地址,用来选择下一个要转换的模拟输入信号或测试电压,之后I/O CLOCK将余下的几位依次输入;DATA OUT:A/D转换结果三态输出端,在CS为高时,该引脚处于高阻状态;当CS为低时,该引脚由前一次转换结果的MSB值置成相应的逻辑电平;EOC:转换结束端。在最后的I/O CLOCK下降沿之后,EOC由高电平变为低电平并保持到转换完成与数据准备传输;

17、VCC、GND:电源正端、地;REF、REF:正、负基准电压端。通常REF接VCC,REF接GND。最大输入电压围取决于两端电压差;I/O CLOCK:时钟输入/输出端。TLC2543的主要特性如下: (1)11个模拟输入通道; (2)66ksps的采样速率; (3)最大转换时间为10s; (4)SPI串行接口; (5)线性度误差最大为1LSB; (6)低供电电流(1mA典型值); (7)掉点模式电流为4A。 由于TLC2543具有以上特点,其转换速度快,与单片机接口简单,占用的I/O口少,因此在本设计中选择进行A/D转换,用于采集声音信号。4.2 光信号判断电路的设计楼道上的声控开关出了声音

18、控制外,还必须有光控功能,即在白天时无论有无声音,都不会点亮灯泡,只有在夜晚或是光线较暗时,发出声音后,才会开灯。这就必须设计一个光控电路,原理图如图4所示。图4 光信号判断电 图中D1为光敏电阻器,光敏电阻器的主要功能是,当没有光照或光线不足时,其阻值较大,达到兆欧级以上,相当于处于短路状态,此时R1电位器中间抽头输出为低电平。而当有光照时,光敏电阻阻值下降,阻值相当小,此时电位器R1的中间抽头输出为高电位。LM393和电位器R8组成一电压比较器,当同相输入端电位高于反相输入端时,LM393输出一高电平,反之,当反相输入端电位高于同相输入端时,LM393输出一低电平,输出信号经过具有施密特功

19、能的反相器74LS14,送到单片机,由单片机进行检测,判断是否有光照。4.3 过零启动保护电路的设计普通的白炽灯正常发光时的灯丝与不发光时灯丝电阻值相差甚远,从而使得其在启动瞬间的冲击电流非常大,例如一只60W的灯泡,在正常发光时,电阻约为800欧,工作在标准市电220V时,工作电流不到0.3A。然而在不放光时,灯丝的电阻阻值约为6欧,当启动时,电流会很大,约有3.5A左右。这种大电流的冲击,很容易损坏可控硅。如图5为白炽灯启动时的电流波形图。图5 白炽灯启动电流波形图市电电压是交流220V,交流电始终是从零值到峰值的变化,只要使白炽灯在零值或零值附近启动,就可以避免大电流的冲击。如图6为过零

20、启动保护电路。D2为整流桥,SCR为可控硅,过零启动主要是由电阻Rx1Rx5,二极管D3和二极管O6组成。Rx2Rx3是采样电阻,当整流桥2号端子的电压处于低电压时,Rx2和Rx3之间的电压也很低,Q6处于截止工作状态,protect端输出高电平。当整流桥的2号端口为高电压时,Rx2和Rx3之间的电压亦很高,使Q6工作在导通状态,protect端输出低电平。把protect的低电平信号送到单片机的I/O上进行检测,由单片机作出判断,再决定SCR端得电压值,当protect为高,此时的电压为低,可以驱动SCR导通,点亮白炽灯,当protect为低,此时的电压为高,使SCR关闭,暂时不点亮白炽灯,

21、等到过零点电位时才运作。因此,无论什么时候有声音信号来,只有在低电位时,才驱动SCR可控硅打开,声控信号才起作用,实现零压启动。图6 过零启动保护电路白炽灯点亮以后,可控硅SCR导通,二极管D3的阳极电位就会下降,此时二极管D3就起到了过零电压启动取消的作用。当有高电压来时,Rx1与Rx2之间的电位就会高于D3的阳极电位,二极管导通,从而使Q6的基极输入电位下降,有效地避免了灯泡的闪烁现象。4.4 定时电路的设计声控开关在打开后,需要定时一定的时间,一般为几十秒,设计时可以借助时钟芯片,这里选用一款美国DALLAS公司生产的高性能、低功耗、带RAM的实时时钟芯片DS1302.DS1302与CP

22、U通过三线接口同步通信,其接口电路如图7所求。图7 定时电路4.5 驱动输出电路的设计前面提到,当单片机检测到声光信号后,要控制图6中的SCR可控硅导通,才能点亮灯泡,因此要设计一个驱动输出电路。图8 驱动输出电路如图8所示,用一个反向器与一个NPN型的三极管,一般的8050或9013都可以,再加一个上位电阻,此处用一个10K的电位器,方便可调。单片机的一个I/O端口控制74LS14,使三极管关断截止或导通闭合。当单片机检测到有声光信号时需要驱动可控硅导通,则单片机给一个高电平信号,经反向器反为低电平,三极管截止,SCR输出端为高,打开可控硅,点亮灯泡。反之,单片机给一个低电平,使三极管导通,

23、SCR端输出为低,可控硅截止,灯泡不亮。4.6 电源设计灯泡的工作电压为220V,但控制器的工作电压为5V,所以必须设计一个电源电路,取得5V的低电压。如图9所示,ZI为9V稳压管,C7C10为滤波电容,D4、.D5为保护二极管,7805为三端稳压管。220V经过整流后,经过Z1稳压输出9V,再经C9和C7滤波输出直流电压,从7805的1脚输出+5V.。图9 电源设计4.7 看门狗电路的设计4.7.1 简介看门狗电路与其作用在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成

24、整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片俗称“看门狗”(Watchdog)。声控开关控制器长时间工作,电路中即有220V的强电,又有+5V的低工作电压,现场的抗干扰在所难免,为避免单片机的程序跑飞,这里加入了看门狗电路,起到抗干扰的作用。X5045将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片。X5045引脚如图10所示。图10 X5045引脚图其引脚功能如下:CS

25、: 芯片选择输入:当CS是高电平时,芯片未选中,并将SO置为高阻态。器件处于标准的功耗模式,除非一个向非易失单元写的周期开始。在CS是高电平时,将CS拉低将使器件处于选择状态,器件将工作于工作功耗状态。在上电后任何操作之前,CS必须要有一个高变低的过程;SO: 串行输出:SO是一个推/拉串行数据输出引脚,在读数据时,数据在SCK脉冲的下降沿由这个引脚送出;SI: 串行输入:SI是串行数据输入器,指令码、地址、数据都通过这个引脚进行输入。在SCK的上升沿进行数据的输入,并且高位(MSB)在前;SCK : 串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出;WP: 写保护输入:当WP引脚是低

26、电平时,向X5045中写的操作被禁止,但是其他的功能正常。当引脚是高电平时,所有操作正常,包括写操作。如果在CS是低的时候,WP变为低电平,则会中断向X5045中写的操作,但是,如果此时部的非易失性写周期已经初始化了,WP变为低电平不起作用;Vss: 地;Vcc: 电源电压;RESET: 复位输出:PESET是一个开漏型输出引脚。只要Vcc下降到最小允许Vcc值,这个引脚就会输出高电平,一直到Vcc上升超过最小允许值之后200ms。同时它也受看门狗定时器控制,只要看门狗处于激活状态,并且WDI引脚上电平保持为高或者为低超过了定时的时间,就会产生复位信号。CS引脚上的一个下降沿将会复位看门狗定时

27、器。由于这是一个开漏型的输出引脚。所以在使用时必须接上拉电阻。X5045硬件连接图如图11所示。X5045芯片包含有一个看门狗定时器,通过软件预置系统的监控时间后,若在预置的时间看门狗芯片的CS端电平没有发生变化,则X5045将从RESET输出一个高电平信号,使CPU复位图11 看门狗电路4.7.2 X5045特性介绍 (1)可选时间的看门狗定时器。 (2)Vcc的降压检测和复位控制。 (3)5种标准的开始复位电压,使用特定的编程顺序即可对电压检测和复位开始电压进行编程,复位电压可低至Vcc=1V。(4)省电特性:在看门狗打开时,电流小于50uA,在看门狗关闭时,电流小于10uA,在读操作时,

28、电流小于2mA。不同的型号的器件,其供电电压可以是1.8-3.6V、2.7-5.5V、4.5-5.5V。4K位EEPROM,1,000,000次的擦写周期。(5)具有数据的块保护功能可以保护1/4、1/2、全部的EEPROM,当然也可以置于不保护状态。(6)建的防误写措施:用指令允许写操作,写保护引脚。(7)时钟可达3.3M。(8)短的编程时间:16字节的页写模式;写时由器件部自动完成;典型的器件写周期为5ms。4.8. PCB板的制作的设计4.8.1 PROTEL DXP 2004的概述Altium公司2004年最新产品,Protel DXP 2004是一款能极提高PCB设计的完整的板卡级设

29、计软件。它可运行于Windows2000和Windows XP操作系统之上,可实现从概念设计到输出外协加工文件等一系列操作,并对设计过程、设计结果进行分析、验证。Protel DXP 2004不仅能方便经验丰富的PCB工程师,也降低了制作PCB的门槛,人们只需通过段时间培训,便可以很快制作出一块合格的PCB.Protel DXP 2004已经不再是单纯的SCH、PCB设计工具,而是主要由以下几个功能模块组成的系统工具:(1) 分级线路图输入。(2) 自动布局布线。(3) 设计前、后的信号传输效应分析。(4) 规则驱动下的板卡色设计和编辑。(5) Spice 3f5混合电路仿真模拟。(6) 完全

30、支持线路图基础上的FPGA设计。(7) 完整的CAM输出。4.8.2 Protel原理图界面在Protel主界面中单击FileOpen命令,在文件路径中选择原理图文件。Protel DXP 2004原理图界面主要包括以下几部分:菜单栏、工具栏、工作窗口等。原理图如下图所示菜单栏DXP(系统)、File(文件)、View(视图)、Project(工程)、Place(放置)、Design(设计)、Tools(工具)、 Peports(报告)等。4.8.3 电路原理图的设计流程在原理图设计时可能会涉与到众多元件的放置,繁多的电气连接。为了保证不出错,需要遵循一定的设计流程。在绘制简单的原理图时按照以

31、下流程绘制即可。(1) 新建项目文件。在项目文件中新建原理图文件。(2) 设置原理图图纸与相关信息,图纸是原理图绘制的工作平台。几乎所有的工作都建立在其上,为原理图设置合适的图纸参数将有利于原理图设计。(3) 添加/删除元件库。在原理图设计中使用的元件符号,需要在绘制之前导入。(4) 放置元件符号,元件符号的放置要遵循电路设计要求,同时要修改元件的属性(当然也可以在后续操作中再进行属性修改)。(5) 电气连接。在原理图中进行电气连接时可以使用导线连接,也可以采用总线连接,还可以使用网络标记进行连接,电气可为PCB设计生成网络报表。(6) 调整原理图并检查错误、修改。在电气连接完成后要根据电路设

32、计进行仔细的检查,确保电路连接的正确性。Protel DXP 2004引入了自动ERC检测功能,能简化设计人员的检查工作。(7) 原理图注释。这是原理图设计不可缺少的部分。注释时要注明原理图的名称、关键点的说明和波形描述等。(8) 原理图保存打印。单击工具栏的保存按钮即可进行保存。值得一提的是,在设计过程中要经常保存以防意外丢失。单击工具栏上的打印预览按钮可以进行打印预览,查看打印效果。若确定无误后即可单击打印按钮进行打印输出。(9) 输出文件。可根据需要选择原理图元件清单输出或网络报表输出等。4.8.4 PCB板的绘制原则(1)电路要有合理的走向对于输出/输入、交流/直流、强/弱信号、高频/

33、低频、高压/低压等,它们的走向应该是分离布线的,不得相互交融,其目的在于防止相互干扰。(2)选择好电路信号的接地点接地点的设置是较复杂而又灵活的,一般情况下要求公共地,现实中,因受各种限制很难完全办到,但应尽力遵循,这个问题在实际中是相当灵活的,每个人都有自己的一套解决方案。(3)合理安排电源滤波/各种退耦滤波电容电源线上的小电容是为开关器件或其他需要滤波/退耦的器件而设置的,布置这些电容就应该尽量靠近这些元器件,离得太远就没有作用了。(4)PCB布线有一定的规则 在PCB板上,有条件加宽的线尽量不做细。高压与高频线应圆滑,不得有尖锐的倒角,拐弯也不得采用直角。地线应尽量宽,最好使用大面积敷铜

34、。(5)谨慎处理来自PCB设计中的问题设计中尽量减少过线孔,由于过线孔太多,在生产中工艺稍有不慎就会埋下隐患。同向并行的线条如果密度过大,则焊接时很容易连成一片,线密度应视焊接工艺水平来确定。焊点的距离太小,将不利于人工焊接,只能以降低工效来解决焊接质量,因此焊点最小距离的确定应综合考虑焊接人员的素质和工效。4.8.5 Protel PCB设计流程通常,PCB的设计是要遵循一定的流程,保证PCB和原理图设计同步,不要有遗漏,这样会使检查更加容易。当然,对于不同的设计人员会有一些差别,概括有以下几个步骤。(1) PCB板的设计准备:由原理图生成网络表,装载PCB元件所在的封装库,如果没有封装的元

35、件,则要绘制出该器件的封装。(2) 根据应用电路的要求,确定PCB板的几何尺寸、形状和层数等参数。(3) 导入网络文件,引入原理图中的信息,采用元件自动布线操作,完成pcb的初步设计。(4) 根据电路的功能分布、布线的要求对Protel DXPde 自动元件布局进行调整,这是PCB设计的重要部分。(5) 对PCB进行自动布线,通常是自动布线和手工布线交替进行,手工布线主要是弥补自动布线的缺陷。(6) PCB的电路检查,填充非元件区、添加安装尺寸和丝印信息根据PCB文件生成BOM报表、导出文件和打印外协加工图纸等。4.8.6 印制电路板(PCB)的绘制过程如下所示:4.8.7 焊制电路板如下所示

36、5. 软件设计5.1 软件设计语言的选择单片机语言的编程一般使用两种语言:C语言和汇编语言。汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器语言的一种语言。其主要的优点是占用资源少,程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占资源较多,执行效率没有汇编高。C语言是一种编译型程序设计语言,它兼顾了许多种高级语言的特点,其具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程

37、序设计语言,它支持当前程序设计中广泛用的有顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此使用C语言进行程序的设计已经为软件开发的一个主流。综上所述,用C语言进行单片机程序设计是单片机开发和应用的必然趋势。本设计就采用C语言进行编程,明显的增加了软件的可读性。5.2 程序流程图5.3 主程序设计根据程序流程图,编写主控程序如附录(附录)5.4 延时程序设计 编写程序当中要用到适当的延时,所以先编写一个大概1ms的延时子程序,方便在后面的程序中调用,程序代码见(附录):5.5 TLC2543读写程序设计TLC2543为

38、A/D转换器,编写其读写子程序,到后面主程序中调用。程序代码如下:/TLC2543与单片机的接口定义如下:sib tlc2543-clk = P32;sib tlc2543-din = P 33;sib tl-2543-dout = P34;sib tlc2543-cs = P35;/写命令子程序,返回转换后的电压数字值见(附录)5.6 DS1302驱动程序设计实时时钟芯片DS1302与单片机的接口定义为:Sbit DS1302_sclk =PI7; /*实时时钟时钟线引脚*/ Sbit DS1302_IO =PI6; /*实时时钟数据线引脚*/Sbit DS1302_RST =PI5; /*

39、实时时钟复位线引脚*/ 其读写驱动程序代码见(附录)5.7 X5045驱动程序设计 看门狗X5045与单片机的接口定义为: sbit x5045_cs = P11; sbit x5045_so = P12; sbit x5045_si = P13; sbit x5045_sck= P1*4; 读写驱动程序见(附录):6系统的调试61 调试过程利用KEIL与PROTEUS进行调试,使用步骤如下:(1) 打开KEIL,建立工程,输入程序,编译和生成hex文件,如图所示(2)打开PROTEUES,设计硬件电路图,如图所示(3)导入hex文件,见上图将鼠标置于电路图中GMS97C2051器件上,右击后

40、再左击,弹出对话框,在红框中导入dzp.hex文件。(4) 点击面板左下角的,开始调试。6.2 调试结果与经验总结将程序导入GMS97C2051芯片,调试成功后可以达到设计的要求。通过设计智能声光控开关,加深了对单片机系列的认识。让我更好的运用了本科两年所学的知识,运用于实践,加深了对知识的理解。在设计过程中学习了很多软件的使用,包括硬件部分运用protues进行设计,用keil进行程序编译,用protel进行制板。7总结声光控开关,省事省电,应用广泛,本文应用单片机微控制器,通过软件来实现,采用了过零启动技术,并且加入了看门狗监视器,安全可靠。相信以后在这方面会不断完善,使日常生活更加方便,

41、更加智能化。在设计中初步了解了声光控制电路的工作原理,学会了分析电路、设计电路的方法和步骤。通过本次设计提高了自己对资料的查阅、信息处理的能力,训练了自己的科学研究基本功,培养了知识综合运用能力,增加了对社会普通科学知识的了解,为以后写作专业学术论文打下基础。8附录附录1 延时程序设计设计/延时程序Void delay(unsigned int j) unsigned char i ; while(j-) for (i=125; i; i-) ; 附录2 TLC2543读写程序设计sib tlc2543-clk = P32;sib tlc2543-din = P 33;sib tl-2543-

42、dout = P34;sib tlc2543-cs = P35;/写命令子程序,返回转换后的电压数字值unsigned int tlc2543-write(unsigned char CHN ) unsigned char i ;unsigned int backcode=0;CHN=4; 左移4位tlc2543-cs = 1;tlc2543-clk=0;tlc2543-cs = 0;for(i=0; i12; i+) /写入一12位的数据 if (i8) if(CHN & 0x80) tlc2543-din = 1; else tlc2543-din = 0; CHN =1; backcod

43、e 0; i-) If(temp& 0x01) DS1302_IO = 1; else DS1302_IO = 0; DS1302_SCLK = 1;Temp = temp 1; _nop_(); DS1302_SCLK = 0; /功能:实时时钟读取一字节Unsigned char DS1302ReadByte(void) Unsigned char DS1302ReadByte(void0 Unsigned char i; Unsigned char dat; For(I = 8; i0; i-) dat = dat if(DS1302_IO dat =0x80; DS1302_SCLK

44、= 1; _nop_(); _nop_(); DS1302_SCLK = 0; Return(dat);/功能:忘DS1302写入数据void DS1302WriteData(unsigned char ucAddr, unsigned char ucDa) DS1302_RST = 0; DS1302_SCLK = 0; DS1302_RST = 1; DS1302WriteByte(ucAddr); /*地址,命令*/ DS1302WriteByte(ucDa); /*写1Byte数据*/ DS1302_SCLK = 1; DS1302_RST = 0; /功能:读取DS1302某地址的数

45、据 unsigned char DS1302ReadData(unsigned char ucAddr0 unsigned char ucData; DS1302_RST = 0; DS1302_SCLK = 0; DS1302_RST = 1; DS1302WriteByte(ucAddr); /*地址,命令*/ ucData = DS1302ReadByte(); /*读1Byte数据*/ DS1302_SCLK = 1; DS1302_RST = 0; return(ucData);/功能:设置初始时间void DS1302SetTime(unsigned char pClock) un

46、signed char i; unsigned char ucAddr = 0x80; DS1302WriteData(0x8e,0x00); /*控制命令,WP=0,写操作?*/ for(i=0; i3; i+) DS1302WriteData(ucAdd,pClocki); ucAddr +=2; DS1302WriteData(0x8e,0x80); /.*控制命令,WP=1,写保护*/ /功能:读取DS1302当前时间 void DS1302GetTime(unsigned char ucCurtime) unsigned char I; unsigned char ucAdd = 0

47、x81; for (i=0; i3; i+) ucCurtimei = DS1302ReadData(ucAddr); ucAddr += 2; 附录4 X5045驱动程序设计 看门狗X5045与单片机的接口定义为: sbit x5045_cs = P11; sbit x5045_so = P12; sbit x5045_si = P13; sbit x5045_sck= P1*4; 读写驱动程序: / /对X5045进行写操作 void x5045_write(unsigned char command) unsigned char I; /x5045_cs = 0; x5045_cs =

48、0; nop(); for(i = 0;I 8;i+) if(command & 0x80) x5045_si = 1; else x5045_si = 0; command = ON) /有声音 while(1) if(Protect = 1) /处于零压 Open = 1; /驱动输出On_flag = 1; /置开灯标志位为1 DS1302GetTime(time);/获取当前时间值 old_second = time0; break; /跳出循环 RESET_WDT(); while(on_flag = 1) /已经开灯就计时 DS1302GetTime(time);/获取当前时间值

49、if(old_second != time0) /一秒后 old_second = time0; time+; /计数变量累加 if(time =OFF_TIME) /时间到 on_flag = 0; open = 0; /关灯 RESET_WDT(); 附录6 总电路图的设计参考文献1 肖洪兵. 跟我学用单片机. :航空航天大学,2002.8 2 何立民. 单片机高级教程 第1版:航空航天大学,2001 3 晓安. MCS-51单片机原理与应用. :大学,2001.3 4 何立民从Cygnal 80C51F看8位单片机发展之路 单片机与嵌入式系统应用,2002年,第5期:P58 5 夏继强.

50、 单片机实验与实践教程. :航空航天大学, 2001年6 何希才. 传感器技术与其应用 航空航天大学2005年7 家贵. 传感器电路设计手册 中国计量2002年8 王俊杰. 检测技术与仪表 理工大学2002年9 涵芳. 单片机原理与应用 航空航天大学1996年10 谭浩强. C语言程序设计(第四版) 清华大学2010年6月11 谭浩强. C语言题解与上机指导(第二版) 清华大学2006年12 锦玲. Protel 99SE电路设计与制版快速入门 人民邮电2008年13 郝文化. Protel DXP 电路原理图与PCB设计 机械工业2004年14 郝希才. 实用传感器接口电路实例 中国电力2007年15 圣林. 图解传感器技术与应用电路 中国电力2009年致 感XXX老师在毕业设计过程中的指导和帮助,使我能够尽快的完成任务。在毕业设计过程中,遇到了一系列的难题,感老师和同学的帮助。特别感XX市无线电厂,为了更好的完成毕业设计,我在XX市无线电厂实习3个

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!