《模拟路灯控制系统的毕业论文.doc》由会员分享,可在线阅读,更多相关《模拟路灯控制系统的毕业论文.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流模拟路灯控制系统的毕业论文.精品文档.泸 州 职 业 技 术 学 院毕业设计报告模拟路灯控制系统学生姓名所 在 系班 级专 业指导教师2009年11月15日摘要 本作品是具有自动化程度高、运行可靠、使用维护方便的照明控制系统,为城市路灯现代化提供了一些参考方案。系统采用STC单片机为核心的最小系统板,设计了模拟路灯控制系统。控制系统采用定时器设定时钟功能,设定、显示开关灯时间;用了基于555为核心的红外传感器检测物体的定位。路灯单元控制系统采用恒流源供电,具有输出功率调整功能,并能定时调整功率。阐述了基于单片机模拟路灯控制系统实现的设计思想、
2、方法及过程。该模拟控制系统,能有效的节约能源,减少照灯具的损耗。以STC89C51RC为核心,利用时钟控制LED灯的开关时间段,通过红外感应模块将物体运动的信号通过555的TTL高低电平输入单片机,并通过三红外线输入的情况判断物体运行方向,再控制LED灯的开关情况。并完成四方面的功能:时间设定功能,环境明暗判断,独立控制功能,交通条件控制功能。显示部分用LCD液晶显示,要求能显示实时时间以及对路灯设置的开关灯时。关键词:STC89C51单片机 红外传感器 1602液晶显示器 DS1302 NE555目录第一章 绪论11.1概述11.2 系统的性能要求及特点1第二章 系统分析及硬件设计32.1
3、系统设计思路与方案比较论证。32.2 各个模块的硬件电路设计42.2.1 物体感应模块设计52.2.2 时钟模块设计72.2.3 中央控制模块设计82.2.4 显示模块设计92.2 硬件系统原理图11第三章 软件设计与调试123.1系统设计思路123.2系统各部分子程序设计123.2.1 主程序设计123.2.2 红外中断与查询子程序设计123.2.3按键设定程序设计143.3整体系统的软件调试15总结16致谢17参考文献18附录19第一章 绪论1.1概述城市照明工程作为城市公共设施的重要组成部分,对完善城市功能,改善城市人居环境,提高人民生活水平发挥着重要作用。近年来,随着城区总面积的不断扩
4、大,道路照明设施也随着变化。为方便广大市民夜间出行,美化城市环境,市路灯管理如果管理不当,那将会浪费多少能源。路灯管理的方便性和路灯节能对一个城市而言非常重要。随着人们对节能环保的诉求越来越高,以及十城万盏半导体照明工程的启动,我国基本确定了以LED室外照明为主攻方向。其中,LED路灯备受瞩目,被政府视为推动照明应用市场的重要切入点。模拟路灯控制系统是生产生活和城市道路建设中必备的系统之一。根据设计题目要求,我们以单片机为中心,通过AT89C51单片机实现对路灯定时开关及时间显示的控制。红外传感器部分电路通过可根据外界环境明暗的变化,能够自动进行开灯和关灯。红外传感器可以接收物体在一定范围内发
5、出的红外线,因此,将红外传感器置于适当位置,便可实现灯依次点亮的控制。通过对AT89C51单片机进行编程,使用单片机的两个端口分别对两只路灯进行控制,并设定不同的开灯和关灯时间。最终,达到所要求设计的各项指标。1.2 系统的性能要求及特点模拟路灯控制统应能达到以下功能要求:(1)系统有时钟功能,能设定、显示开关灯时间。(2)系统应能根据环境明暗变化,自动开灯和关灯。(3)系统应能根据交通情况自动调节亮灯状态。(4)系统能控制两盏路灯的开灯和关灯时间。图1 路灯布置示意图(单位:cm)第二章 系统分析及硬件设计2.1 系统设计思路与方案比较论证。2.1.1系统设计思路根据题目要求,经过仔细分析,
6、参考硬件软件因素,大致可以将本系统分为:物体感应模块,时钟模块,中央控制模块,按键控制模块,显示模块。如图2-1所示显示模块中央控制模块时钟模块物体感应模块物体感应模块物体感应模块按键控制模块图2-1 系统整体框图2.1.2方案论证与确立1、央控制模块方案一:采用单片机控制,利用利用以C51系列为核心的单片机系统控制两盏LED开关灯时间,利用单片机的内部时钟与外部中断能够满足系统设计要求,且成本较低,适合路灯系统的大规模建设。方案二:采用FPGA和单片机相结和的方式路灯的控制,由于本系统只需要实现对两盏LED灯的控制,不需要大规模的FPGA。方案三:全部采用模拟电路模块时间。由于本系统设计要求
7、时间判断,环境判断,独立控制等逻辑功能,使用模拟电路导致电路的庞大复杂。2、物体感应模块方案一:利用红外线的物理性质来进行测量的传感器。红外线又称红外光,它具有反射、折射、散射、干涉、吸收等性质。任何物质,只要它本身具有一定的温度(高于绝对零度),都能辐射红外线。红外线传感器测量时不与被测物体直接接触,因而不存在摩擦,并且有灵敏度高,响应快等优点。方案二:采用超声波感应,超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片电在压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的
8、穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。方案三:利用激光技术进行测量的传感器。它由激光器、激光检测器和测量电路组成。激光传感器是新型测量仪表,它的优点是能实现无接触远距离测量,速度快,精度高,量程大,抗光、电干扰能力强等。3、显示模块方案一:数码管显示,由于本题要求实时显示系统时间、状态、和故障LED灯编号等,而数码管不能显示字符。方案二:LED点阵显示,LED点阵显示虽然能显示字符和数字,但显示效果不好,且不易编程。方案三:LCD液晶显示,LCD液晶不但能显示字符和数字,而且显示效果较好,容易编程实现。4、时钟模块 方案一:专用时钟芯片,直接将时钟信息存储在时钟芯片中
9、,利用时钟芯片自带的定时器定时,中央控制模块读取该时钟芯片时钟信息,节省其系统资源提高时间精度。方案二:利用机械定时器件,方案三:利用555定时器组建定时模块555,555定时器具有成本低,性能可靠等优势,虽然能够做到精确定时但不具备储存时间信息的能力。 5、按键控制模块方案一:均采用轻触按键。6、综合以上方案最后确立了各个模块所使用的方案为中央控制模块STC89C52时钟模块DS1302时钟芯片物体检测模块555的红外感应显示模块1602液晶显示器2.2 各个模块的硬件电路设计2.2.1 物体感应模块设计 1. NE555概述NE555是属于555系列的计时IC的其中的一种型号,555系列I
10、C的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉冲信号。 NE555的特点有:1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极广,可由几微秒至几小时之久。2.它的操作电源电压范围极大,可与TTL,CMOS等逻辑电路配合,也就是它的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。3.其输出端的供给电流大,可直接推动多种自动控制的负载。 4.它的计时精确度高、温度稳定度佳,且价格便宜。表1是NE555的极限参数,
11、不同的封装形式及不同的生产厂商的器件这些参数不尽相同,极限参数是指在不损坏器件的情况下,厂商保证的界限,并非可以工作的条件,如果超过某一环境下使用,其间的安全性将不会得到保证,这使用中应加以注意。2. 555定时器的电路结构与功能555定时器是一种多用途的数字-模拟混合集成电路,利用它能极方便地构成施密特触发器、单稳态触发器和多谐振荡器等。由于使用灵活、方便,所以555定时器在波形的产生与变换、测量与控制、家用电器、电子玩具等许多领域中都得到了应用。555的电路结构如图:图2-2 555内部电路结构图555的引脚功能如下: 1脚, (接地) -地线(或共同接地) ,通常被连接到电路共同接地。
12、2 脚,(触发点) -这个脚位是触发NE555使其启动它的时间周期。触发信号上缘电压须大于2/3 VCC,下缘须低于1/3 VCC 。 3脚, (输出) -当时间周期开始555的输出输出脚位,移至比电源电压少1.7伏的高电位。周期的结束输出回到O伏左右的低电位。于高电位时的最大输出电流大约200 mA 。 4脚, (复位) -一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位。它通常被接到正电源或忽略不用。 5 脚,(控制) -这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在稳定或振荡的运作方式下,这输入能用来改变或调整输出频率。 6脚, (重置锁定) - Pin 6重置锁
13、定并使输出呈低态。当这个接脚的电压从1/3 VCC电压以下移至2/3 VCC以上时启动这个动作。7脚, (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON时为LOW,对地为低阻抗,当输出为OFF时为HIGH,对地为高阻抗。 8 脚,(V +) -这是555个计时器IC的正电源电压端。供应电压的范围是+4.5伏特(最小值)至+16伏特(最大值)。参数功能特性: 供应电压4.5-18V 输出电225mA (max) 上升/下时间100 ns 供应电3-6 mA3. 基于NE555的红外感应设计 红外对管原理:直流驱动红外探测器电路的设计与参数计算电路如下图所示(图2-2)。W1
14、和R1及D1成简单直流发光二极管驱动电路,调节W1可以改变发光管的发光光强,从而节探测距离,NE555及其外围原件构成施密特触发器,其触发电平可通过W2调制,接收管D2和电阻R2构成光电检测电路。通过NE555第3脚输出的TTL平可以直接驱动单片机I/O口。由于NE555输出信号为TTL电平,单片机检测方便。 图 2-3 直流驱动红外探测器电路2.2.2 时钟模块设计时钟模块主要功能是时间设置,主要由DS1302芯片实现,它通过串行方式与单片机进行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源
15、引脚,在主电源关闭的情况下,也能保持时钟的连续运行。另外,它还能提供31字节的用于高速数据暂存的RAM。鉴于上述特点,DS1302已在许多单片机系统中得到应用,为系统提供所需的实时时钟信息。 1. DS1302芯片概述DS1302慢速充电时钟芯片包括实时时钟/日历和31字节的静态RAM,它经过一个简单的串行接口与微处理器通信,实时时钟/日历提供秒、分、时、日、周、月和年等信息,对于小于31天的月,月末的日期自动进行调整,还包括了闰年校正的功能。时钟的运行可以采用24小时或带AM(上午)/PM(下午)的12小时格式。使用同步串行通信,简化了DS1302与微处理器的通信。与时钟/RAM通信仅需三根
16、线:(1)(复位)、(2)I/O(数据线)、和(3)SCLK(串行时钟)。数据可以以每次一个字节或多达31字节的多字节形式传送至时钟/RAM或从其中送出。DS1302设计成为能在非常低的功耗下工作,消耗小于1微瓦的功率便能保存数据和时钟信息。 DS1302是DS1202的升级产品,除了DS1202基本的慢速充电功能外,DS1302具有的其它特点包括:用于主电源和备份电源的双电源的双电源引脚,可编程的VCC1慢速充电器以及7个附加字节的高速暂存存储器。2. DS1302工作原理串行时钟芯片的主要组成部分:移位寄存器、控制逻辑、振荡器、实时时钟以及RAM。为了初始化任何的数据传送,把置为高电平且把
17、提供地址和命令的8位装入到移位寄存器,数据在SCLK的上升沿串行输入,无论是读周期还是写周期发生,也无论传送方式是单字节传送还是多字节传送,开始8位指定40个字节中的哪个将被访问。在开始8个时钟周期把命令字装入移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加最大可达248的数。如图2-3,引脚排列:图2-4 DS1302引脚排列引脚说明:X1,X2:32,768kHz晶振引脚;GND:接地;:复位;I/O数据输入输出;SCLK:串行时钟;VCC1,VCC2:电源引脚。3. DS1302的电路设计如图2-4所示,VCC1
18、接3V电压,VCC2接+5V电源,X1,X2接晶振,I/O串行口输出,复位端。图2-5 DS1302电路图2.2.3 中央控制模块设计1. STC89C52单片机概述与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器 、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针、掉电标识符 。2. STC89C52功能特性描述STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编
19、程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下
20、,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K字节在系统可编程 Flash。3. C51单片机最小系统介绍 单片机最小系统由晶振电路和复位电路构成 图 2-6 单片机最小系统2.2.4 显示模块设计11602液晶概述液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,被广泛应用于轻薄显示器上。本系统显示模块采用了LCD1602液晶显示器每行能够显示16个字符,可以显示两行。主要实现系统时间设定,灯的开关时间的功能,系统状态显示。1、读操作时序2、写操作
21、时序3、时序相关参数4.与单片机连接图2.2 硬件系统原理图第三章 软件设计与调试3.1系统设计思路本软件系统共包括主程序部分,物体感应部分,按键设定部分,显示部分。通过DS1302时钟芯片将实时时钟信息输入到单片机,单片机将从时钟芯片所读信息与单片机中所设定的亮灭灯时间相对比,再参考外部总控制端确定路灯功能的开启与否。在确定路灯功能开启的前提下,外部中断0、外部中断1与查询端口确定交通状态。再由单片机控制两盏路灯的亮灭状态。3.2系统各部分子程序设计3.2.1 主程序设计主程序设计主要包括函数初始化部分,红外感应部分和按键扫描部分。其中红外感应部分采用了两个外部中断和一个查询。程序流程图如图
22、3-1。3.2.2 红外中断与查询子程序设计3.2.2.1红外中断子程序中断子程序主要包括读取DS1302的时钟信息和设置的时钟信息相对比和对的灯方向上的判断两个方面。程序流程图如图3-2。图3-2void INT_1() interrupt 2H2+; /H2红外线2标志位if(H2=2)H2=0;if(H2=1)/IR_LED1=0; IR_LED2=1;elseIR_LED1=1; IR_LED2=0;LED1=time&IR_LED1;/时间控制&红外控制LED2=time&IR_LED2;3.2.2.2 红外查询部分子程序void IR_Inquiry()查询部分 if(H3=1)d
23、elay1(5); 延时5msif(H3=1) 红外查询3IR_LED2=IR_LED2; 控制LED灯2发生电平偏转LED2=time&IR_LED2;时间控制&红外控制3.2.3按键设定程序设计开始按键设定程序是整个系统的核心,其中包括了对系统时间的设定,开关灯设定,总控制端设定等。流程图如3-3。按K1按K3按K4按K2按K4设置初始时间进入路灯开关灯时间设置界面系统时间调整模式按K1按K2时间加时间减路灯控制开/路灯控制关图3-33.3整体系统的软件调试MCS-51系列单片机常用的开发编程软件是KEIL软件,该软件能对C和汇编语言进行语言编译。同时能够在KEIL软件商之间调试程序错误并
24、且支持模块化设计缩短了开发周期减少了开发难度。通过KEIL生成得HEX文件能在Proteus上直接仿真,能减少硬件调试中的风险和难度。通常单片机程序开发流程有以下步骤:1、 通过对项目研究,对项目的要求进行模块化分类,设计程序流程图,再对具体模块选择不同的算法,在KEIL中编写出程序。2、 通过编译查错,在KEIL中对程序中出现的语法和逻辑的错误进行修改3、 生成HEX文件,在Proteus中画出硬件原理图仿真调试。总结本文介绍了以51单片机为核心的模拟路灯控制系统,并详细介绍了各个部分的功能的结构,原理,本系统所选的STC89S52芯片精度高,物体感应部分采用了基于555触发器的红外线感应模
25、块,因而检测物体灵敏度高,具有重大的实际意义。在论文制作的整个过程中,本人最深的体会到做任何一个项目首先必须具备的是扎实而丰富的专业知识,只有在专业知识积累到一定的程度的状态下才能置身于一个高的位置,系统分析问题解决问题。在对待科学研究始终应该保持着严谨的态度,对于每一个环节都必须精益求精。当然,这些都是我未来学习和工作都必须具备的,相信有了这一步,我将会走得更远。致谢本文的研究工作是在胡江老师的精心指导和悉心关怀下完成的,在我的设计题目的选择、实物的调试 和论文的研究工作中无不倾注着指导老师辛勤的汗水和心血。同时也要感谢帮助过我们的同学,给我们提供了宝贵的建议。指导老师的严谨治学态度、无私的
26、奉献精神使我深受的启迪。从尊敬的指导老师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理,在此我要向我的指导老师致以最衷心的感谢和深深的敬意。在这里要特别感谢的是我的队友王春燕同学,她扎实的专业知识和精湛的焊接手艺在我们这个设计当中起到了决定性的作用,在论文和软件调试中她也给我提出了一些建设性的意见。在于她合作完成毕业设计的过程中我了解到了团队合作的重要性。 在多年的学习生活中,还得到了许多领导和老师的热情关心和帮助,在此,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!参考文献1戴佳 戴卫恒 .51单片机应用程序设计实例 2007(11)2郭天翔. 51单片机C语言教程
27、.电子工业出版社2008(11)3马忠梅, 籍顺心,张凯,马岩.北京航空航天大学出版社 1999(1)4王宜怀,刘晓升.嵌入式应用技术基础教程.清华大学出版社 2005(7)5高峰.单片微型计算机原理与接口技术.科学出版社 2003(2)6潘清明,刘启新.基于单片机路灯网络控制系统.中国制造业信息化.第36卷(21)7基于AT89C2051+ GAL16V8 LED驱动电路的多功能灯光控制器8基于AT89C2051+集成红外传感器+PC25阵并行通信接口 设计的双机通讯的远程开关灯9余锡存.单片机原理及接口技术10新编555集成电路应用800例附录#include#include#define
28、 uchar unsigned char#define uint unsigned intsbit LCD_RS = P22; sbit LCD_RW = P21;sbit LCD_EN = P20;sbit K1 = P13;sbit K2 = P14;sbit K3 = P15;sbit K4 = P16;sbit reset = P12; ds1302管脚sbit sclk = P10;sbit io = P11;/*红外控制端*/sbit int0=P32;sbit int1=P33;sbit H3=P34;sbit LED2=P24;sbit LED1=P23;sbit BEEP =
29、 P37;bit flag=1,hour=0,min=0,sec=0,hour1=0,min1=0;bit year=0,month=0,day=0,week=0;bit alarm_flag=0;uchar H1,H2,H_3,IR_LED1,IR_LED2,time;uchar L1=0,L2=0;uchar timecount=0,count=0; uchar code str1= - - Week: ;uchar code str2=Time: ;uchar code str3=ON : ;uchar code str4=OFF: ;uchar init =0x00,0x00,0x00
30、,0x00,0x00,0x00,0x00; /uchar init1 =0x00,0x00;uchar init2 =0x00,0x59,0x23,0x01,0x05,0x01,0x06; / /秒, 分, 时, 日, 月,星期,年uchar bj_time =0x00,0x00,0x00; uchar bj_time1 =0x00,0x00,0x00; /秒, 分, 时uchar code mytab8 = 0x0e,0x11,0x11,0x11,0x0a,0x1f,0x04,0x00;/小灯泡#define delayNOP(); _nop_();_nop_();_nop_();_nop_
31、();void Set_W1302(uchar addr);void Set_Flash(uchar row,uchar col);void Set_place(uchar row,uchar col);void Play_nowtime();/ 显示当前时间void key_set(uchar num,uchar row,uchar col );/ 键设定函数void alarm_time();/ 开关灯时间设定void Play_alarmtime();/ 显示当前时间void Time_compare();/时间比较void IR_Inquiry();/红外查询void init_mai
32、n(); /主程序初始化void delay1(int ms) unsigned char y; while(ms-) for(y = 0; y0;j-);/* 写字符串函数 */void write_str(uchar addr,uchar *p) uchar i=0; lcd_wcmd(addr); while(pi!=0) lcd_wdat(pi); i+;/* 设定显示位置 */void write_position(uchar row,uchar col) uchar place; if(row=1) place=0x80+col-1; lcd_wcmd(place); else p
33、lace=0xc0+col-1; lcd_wcmd(place);/*自定义字符写入CGRAM */void writetab() unsigned char i; lcd_wcmd(0x40); /写CGRAM for (i = 0; i 8; i+) lcd_wdat(mytabi); void write_byte(uchar inbyte) uchar i; for(i=0;i1;uchar read_byte() /sclk的下跳沿读数据 uchar i,temp=0; io=1; /设置为输入口 for(i=0;i1; return (temp);/ 往ds1302的某个地址写入数
34、据 void write_ds1302(uchar cmd,uchar indata) sclk=0; reset=1; write_byte(cmd); write_byte(indata); sclk=0; reset=0;/ 读ds1302某地址的的数据 uchar read_ds1302(uchar addr) uchar backdata; sclk=0; reset=1; write_byte(addr); /先写地址 backdata=read_byte(); /然后读数据 sclk=0; reset=0; return (backdata);/ 设置初始时间void set_d
35、s1302(uchar addr,uchar *p,uchar n) /写入n个数据 write_ds1302(0x8e,0x00); /写控制字,允许写操作 for(;n0;n-) write_ds1302(addr,*p); p+; addr=addr+2; write_ds1302(0x8e,0x80); /写保护,不允许写/ 读取当前时间 void read_nowtime(uchar addr,uchar *p,uchar n) for(;n0;n-) *p=read_ds1302(addr); p+; addr=addr+2;/ 初始化DS1302void init_ds1302(
36、) reset=0; sclk=0; write_ds1302(0x80,0x00); write_ds1302(0x90,0xa6); /一个二极管4K电阻充电 write_ds1302(0x8e,0x80); /写保护控制字,禁止写/* 指示灯响一声 */void beep() unsigned char y; for (y=0;y100;y+) delay(); BEEP=!BEEP; /BEEP取反 BEEP=1; /关闭指示灯delay1(50);/* :闪动函数 */void flash() if(flag) write_position(2,9); lcd_wdat(:); wr
37、ite_position(2,12); lcd_wdat(:); else write_position(2,9); lcd_wdat(0x20); write_position(2,12); lcd_wdat(0x20); void init_main() /主程序初始化子函数P1=0xff; TMOD=0x01; TH0=0x4c; TL0=0x00; EA=1; ET0=1; TR0=1; EX0=1; EX1=1; IT0=1; IT1=1; IR_LED1=0; IR_LED2=0; int0=0; int1=0; H3=0; init_lcd(); /初始化LCD write_str(0x80,str1); /液晶显示提示信息 write_str(0xc0,str2); /液晶显示提示信息 init_ds1302(); /初始化ds1302 writetab();/ 主函数void main() init_main();/主程序初始化 while(1) IR_Inquiry(); if(!K1) if