智能交通信号灯控制系统 信息毕业论文_第1页
智能交通信号灯控制系统 信息毕业论文_第2页
智能交通信号灯控制系统 信息毕业论文_第3页
智能交通信号灯控制系统 信息毕业论文_第4页
智能交通信号灯控制系统 信息毕业论文_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业论文(设计)题目智能交通信号灯控制系统专业代码070201作者姓名韩超学号2008200998单位物理科学与信息工程学院指导教师安学立2012年5月10日目录前言11、智能交通信号灯控制系统研究目的和要求111、智能交通信号灯控制系统课题的研究目的和意义112、智能交通信号灯控制系统的设计要求22、智能交通信号灯控制系统的总体结构221、智能交通信号灯控制系统简介222、智能交通信号灯控制系统硬件设计323、智能交通信号灯控制系统软件设计10231、基本功能10232、软件设计1024、系统调试11结论12参考文献13致谢14附录15摘要通过对目前国内外智能交通信号灯控制系统方面相关资料的研究,结合目前国内外主流的单片机应用技术,搭建一套完整的智能交通信号灯控制系统软硬件控制平台。系统功能主要有交通信号灯正常显示、出现特殊情况或紧急情况时,可以让交通信号灯以常“红”显示,转去处理特殊情况或者紧急情况,处理完成以后系统会在接收到提醒时立即恢复交通信号灯的正常显示;系统具有独立的时钟系统。关键词单片机;交通信号灯;紧急情况;ABSTRACTBASEDONCURRENTDOMESTICANDFOREIGNINTELLIGENTTRAFFICSIGNALLAMPCONTROLSYSTEMINFORMATIONRELATEDTOTHERESEARCH,COMBINEDWITHTHECURRENTDOMESTICANDINTERNATIONALMAINSTREAMCHIPAPPLICATIONTECHNOLOGY,SETUPACOMPLETESETOFINTELLIGENTTRAFFICSIGNALLAMPCONTROLSYSTEMSOFTWAREANDHARDWARECONTROLPLATFORMSYSTEMFUNCTIONSINCLUDETRAFFICSIGNALLAMPDISPLAY,THEREARESPECIALCIRCUMSTANCESOREMERGENCY,CANMAKETHETRAFFICSIGNALLAMPISUSEDTO“RED“DISPLAY,TURNEDTODEALINGWITHSPECIALSITUATIONSOREMERGENCIES,PROCESSINGCOMPLETEDSYSTEMWILLRECEIVEAREMINDERWHENIMMEDIATERESTORATIONOFTRAFFICSIGNALSDISPLAYSYSTEMISINDEPENDENTOFTHECLOCKSYSTEMKEYWORDSSINGLECHIPMICROCOMPUTERTRAFFICLIGHTSEMERGENCY智能交通信号灯控制系统前言交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。随着智能控制技术的发展,未来的交通信号灯控制系统正朝着智能化,自适应的方向发展。智能交通信号灯控制系统能够根据实际的车流量状况进行实时调控红绿灯的通行时间,减少道路堵塞,优化道路交通状况。基于此,我们可以看出,研究这种新型的智能交通信号灯控制系统即有很强的实用价值和现实意义。目前单片机渗透到我们生活的各个领域,基于单片机实现的底层控制系统几乎无处不在。飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制等这些都离不开单片机。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。1、智能交通信号灯控制系统研究目的和要求11、智能交通信号灯控制系统课题的研究目的和意义智能交通信号灯控制系统的研发和设计,目的是利用现代化计算机技术、通讯技术对日益快速发展的城市十字路口交通信号灯实现自动化监控和智能化的科学管理,做到集中管理,智能控制。进一步提高道路照明质量,提高服务质量,从而提高系统的整体社会效益、管理效益、经济效益和环保效益。智能交通信号灯控制系统基于STC89C51系列单片机1,配合高精度SD2403API时钟芯片所开发的一套简单实用的智能交通信号灯模拟控制系统,是对单片机应用的一个升华,具有很强的实用性。能够很方便地使用在城市道路、乡镇道路、甚至高速公路交通信号灯的智能控制方面。12、智能交通信号灯控制系统的设计要求智能交通信号灯控制系统性能的基本要求是稳定性和可靠性,具体功能要求如下(1)交通信号灯正常运行红灯、黄灯、绿灯交替亮灭,红灯亮22S,黄灯亮3S、绿灯亮20S,数码管显示当前的时间。(2)报警情况处理当按下K1或K2,表示第一个地点或第二个地点有特殊情况或紧急情况发生,则立即反馈给底层控制系统,底层系统立即中断交通信号灯的正常运行,使该路段全部以红灯显示,禁止车辆通行,并随时监测该路段特殊情况是否处理完毕。(3)报警情况取消当特殊情况或者紧急情况处理完毕的时候,立即反馈给底层控制系统,底层控制系统立即开启交通信号灯的正常工作模式,并把当前的时间反馈给系统,系统可以通过数码管显示当前时间。系统主要性能指标系统的稳定性,包括单片机要保证不死机,串口通信的稳定性等;系统的实用性和创新性等;2、智能交通信号灯控制系统的总体结构21、智能交通信号灯控制系统简介智能交通信号灯控制系统由四个部分组成单片机最小系统、系统时钟校时查时系统、报警系统(报警和取消报警)、显示系统。其中单片机最小系统包括STC89C52单片机、晶振电路(110592MHZ)2、复位电路、电源部分(5V电压由三端稳压集成电路LM7805输出,前后端需要加上滤波电容);系统时钟电路是基于高精度SD2403API时钟芯片与相应的外围电路搭建而成,时钟芯片内部寄存器读取方式采用IIC总线读取的方式;显示电路采用两个两位的共阴极数码管显示;模拟报警电路是用按键检测模拟的方式,K1、K2按下时,表示有紧急情况或出现特殊情况,系统转去处理当前特殊情况;K3、K4表示取消报警,当前交通信号灯按照正常情况亮灭。智能交通信号灯控制系统充分运用单片机技术,底层程序利用KEILC语言开发系统平台进行开发3,硬件部分运用PORTELDXP2004电路图设计软件设计4。22、智能交通信号灯控制系统硬件设计智能交通信号灯控制系统包括单片机部分电源部分高精度SD2403API实时时钟芯片部分紧急情况发生及取消相关电路数码管显示部分其系统框图如图4所示;智能交通信号灯控制系统的底层电路主要分为四个部分单片机最小系统电路、系统校时查时系统电路、报警系统电路、数码管显示电路。(1)单片机最小系统包括单片机、石英晶振电路、5V稳压电路、复位电路、电源指示灯电路等几个小的功能电路。(2)系统校时查时系统电路是由高精度SD2403API时钟芯片与相应的外围电路搭建而成,单片机通过IIC总线的方式对芯片内部进行相应的设置和读取。(3)报警系统电路用了四个按键进行模拟K1、K2按下时,表示有紧急情况或出现特殊情况,系统转去执行当前特殊情况;K3、K4按下时,表示取消报警,当前交通信号灯按照正常情况亮灭,特别说明,系统在主程序中会对按键进行实时检测。(4)数码管显示电路主要将显示数据的BCD码转换成相对应的编码。选用两个两位的共阴极数码管分别显示时间的时和分。智能交通信号灯控制系统电路图是用PROTELDXP2004软件设计。时钟校时和查询工具可以通过PC端串口调试助手5向单片机发送相应的命令(21位)来实现。智能交通信号灯控制系统AT89C52单片机部分数码管显示部分高精度SD2403API实时时钟芯片紧急情况发生及取消相关电路电源部分图4、智能交通信号灯控制系统框图系统设计原理图、如图51所示,该部分是STC89C51单片机最小系统,包括5V电源部分,其5V电源是由外接电源12V,经过稳压芯片LM7805输出稳定的5V电压;D1是电源指示灯,R1是限流电阻;晶振电路,系统所用的晶振频率为110592MHZ,由石英晶体搭建配套电路供给;复位电路,由于51系列单片机复位需要至少持续两个机械周期以上的高脉冲;下130PFCKR2VUF8P567ST/XDINWALGEO9UJHEADRN图51、单片机最小系统、报警系统(按键)和时钟系统如图52所示,系统时钟由高精度SD2403API时钟芯片通过搭建外围电路提供,供电电压为5V,报警系统由按键来模拟,K1、K2按下时,表示有紧急情况或特殊情况发生;K3、K4按下时表示上一次的紧急情况或者特殊情况已经处理完毕;SCLDABT1E20UFRK38N46VG5I7PU下图52、报警系统(按键)和时钟系统电路、显示部分如图53所示,显示部分包括数码管显示和LED指示灯显示部分;数码管是用共阴极的双位数码管,每一个数码管都有两个位选,八个段选;如图所示,LED指示灯一共有7个,分别与单片机引脚相连。D1、D2表示红灯、D3、D4表示黄灯、D5、D6表示绿灯;D7是红灯,可以指示是否报警,当有紧急情况或者特殊情况发生时,红灯常亮,但取消报警时,处于熄灭状态;1KR3456789D2VCA0KABCDEFGPS下POITNH图53、数码管与LED指示灯电路、通信部分该系统中单片机需要与PC端进行通信,中间的电平转化借助MAX232芯片,其中01UF电容的主要作用是滤波,去耦。其可以有TTL电平转化为232电平,方便通信,其外围电路如图54;GXUMEUF图54、串口通信部分电路各芯片主要管脚功能如下1、STC89C52单片机(图1)167ALE/PROG地址锁存允许/片内EPROM编程脉冲ALE功能用来锁存P0口送出的低8位地址PROG功能片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。PSEN外ROM读选通信号。RST/VPD复位/备用电源。RST(RESET)功能复位信号输入端。VPD功能在VCC掉电情况下,接备用电源。EA/VPP内外ROM选择/片内EPROM编程电源。EA功能内外ROM选择端。VPP功能片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。(5)、I/O线80C51共有4个8位并行I/O端口P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。图1、51单片机引脚图2、高精度SD2403API时钟芯片8915SD2400系列是一种具有内置晶振、支持IIC串行接口的高精度实时时钟芯片,CPU可使用该接口通过5位地址寻址来读写片内32字节寄存器的数据包括时间寄存器、报警寄存器、控制寄存器、通用SRAM寄存器。SD2400系列内置晶振,该芯片可保证时钟精度为5PPM在25下,即年误差小于25分钟;该芯片内置时钟精度调整功能,可以在很宽的范围内校正时钟的偏差分辨力3PPM,通过外置或内置的数字温度传感器可设定适应温度变化的调整值,实现在宽温范围内高精度的计时功能。SD2400系列内置的一次性工业级电池或充电电池可保证在外部掉电情况下时钟使用寿命为58年时间;内部具备电源切换电路,当芯片检测到主电源VDD掉到电池电压以下,芯片会自动转为由备电电池供电。SD2400系列内置单路定时/报警中断输出,报警中断时间最长可设至100年;内置频率中断输出和倒计时中断输出。SD2400系列采用了多种提高芯片可靠性的技术,可满足对实时时钟芯片的各种需要,是在选用高精度实时时钟时的理想选择。SD2400系列内部各种封装引脚图如图21,一般常用的是DIP8脚封装;内部结构图如图22所示;图21、SD2403API引脚图图22、SD2403API内部结构图3、两位共阴极数码管9,有2个公共端,8位段选端,点亮二极管的电流一般在15MA左右;图31给出了数码管基本引脚图;数码管与单片机的基本连接图如图32;图31、数码管引脚图图32、数码管与单片机连接图数码管使用条件、段与小数点之间加限流电阻;、使用电压段根据发光颜色决定、小数点根据发光颜色决定、使用电流静态总电流80MA(每段10MA)、动态平均电流45MA,峰峰值电流100MA23、智能交通信号灯控制系统软件设计231、基本功能(1)交通信号灯正常运行红灯、黄灯、绿灯交替亮灭,红灯亮22S,黄灯亮3S、绿灯亮20S,数码管显示当前的时间。(2)系统检测到K1或K2按下时,表示第一个地点或第二个地点有特殊情况或紧急情况发生,立即反馈给底层控制系统,单片机立即中断交通信号灯的正常运行,使该路段全部以红灯显示,禁止车辆通行,并随时监测该路段特殊情况是否处理完毕。(3)报警情况取消系统检测到K3、K4键按下时,表示特殊情况或者紧急情况处理完毕,底层控制系统立即开启交通信号灯的正常工作模式,并把当前的时间反馈给系统,系统可以通过数码管显示当前时间。232、软件设计7121314智能交通信号灯控制系统软件基于KEILC语言开发系统平台,用C语言开发,工程主要包括主程序(MAINC)、定时器部分TIMERC、时钟部分SD2403APIH、执行程序COMMAND_PROCESSC、串口部分(UARTC)、全局变量声明(GLOBALC);主程序流程图相关全局变量初始化定时器0初始化、串口初始化、开总中断、看门狗初始化看门狗从新计数串口1是否有命令到达执行串口1的命令是交通信号灯正常运行判断是否有报警信息否执行报警处理是数码管显示否图6、主程序流程图流程图详解系统上电以后首先对系统中所用到的相关变量进行初始化,然后对定时器0、串口、看门狗等进行初始化,然后进入WHILE()循环,首先进行喂狗,然后检测串口1是否有命令过来,如果有命令,则转去执行串口1的命令,主要是系统时间的设置与查询;如果串口1中没有命令到来,则正常执行交通信号灯亮灭程序,此时再去判断是否有报警信息,如果有报警命令到来,则转去执行报警程序,如果没有,则转去执行数码管显示部分程序,执行完成以后转会喂狗部分,继续按照以上步骤执行,程序在此循环。串口相关程序流程图串口数据计数标志清零、,开启定时器超时计数标志串口中断处理部分中断到来暂存SBUF寄存器中值、将串口接收标志位RI清零计数标志为0计数标志为1计数标志为2计数标志为20否否否计数标志加1判断该值是否是0X2F是计数值设为1否判断该值是否为0X43计数值设为1否判断该值是否为0X2F计数值设为1否判断该值是否是0XCC计数值设为1否否判断串口接收是否超时将连续接收的完整的21个字节的数据存起来,此时触发主程序中串口检测标志否是是是是是图7、串口相关程序流程图系统用到串口部分程序的作用主要是对系统时间进行设置和查询,这样整套系统时间就可以任意设置,并且由于SD2403API时钟芯片精度较高,一年中的误差率不会超过几分钟,所以系统在第一次使用时设置好了时间,可以每隔一年左右的时间进行校准,当然可以通过串口命令随时校准,如果嫌比较麻烦,单片机内部已经对时间校准进行了设置,每隔一年校准一次;通过以上流程图,我们可以看出,此串口程序可以接收一条长21个字节的完整命令,并且带有超时检测功能。即如果一条命令超时长达2S,则这条命令取消,重新接收下一条命令。这样可以保证命令的完整性和可靠性;由于能够对系统时间进行设置和查询,且精度较高,所以这套配搭时间的系统用在交通道路方面的可靠性也较之一般系统高的多,整套系统交通信号灯亮灭的时间都可以随时记录和查询。方便日后进行的维修和事故处理。注整个系统的源程序、系统校时查询时间命令见附录(带注释);24、系统调试调试主要步骤如下8910、根据硬件线路设计将硬件线路连接好;、根据软件流程图编写好源程序、程序在PC端上编译通过,并与PC机硬件连好,进行连接和运行调试;相关调试说明智能交通信号灯底层控制系统硬件电路方面只需要熟悉PROTELDXP软件即可,电路调试主要集中在电源部分和数码管显示部分中的位选信号部分,数码管位选信号用NPN三极管(9013)进行驱动,其中基极限流电阻的选择是个关键。软件的调试是本系统的难点也是重点。软件部分采用KEILC语言开发系统进行编写,调试的重点在于采用IIC总线方式对时钟芯片内部寄存器上的数据进行修改和读取,数码管动态显示以及定时器精确定时设置。本系统用STCISPV480下载软件将KEIL软件生成的相应的HEX文件下载到AT89C52单片机内部,并进行在线调试。结论智能交通信号灯控制系统硬件部分用PROTELDXP软件进行设计,软件部分采用KEILC语言进行开发,充分发挥了C语言简单、实用、可移植性强的特点。总之,采用单片机应用开发技术使得复杂的电子系列设计变得简单容易,大大提高了设计的效率。本设计的特点在于AT89C52单片机应用方面国内已经比较成熟,系统开发周期短,整个系统稳定性高,能够满足道路照明的要求。该系统使用方法较为简单,能够很方便地进行量产普及。总之,整个设计的工作稳定可靠,具有很强的抗干扰能力是本系统的一大特色。本设计还可以从经济适用的角度出发,结合外围的LED、按键输入、数码管显示、报警和等电路利用C语言编写主核芯片的控制程序,使该系统能够实现交通信号灯的智能化控制。这样就可更方便的应用于城市道路、乡镇道路甚至高速公路等用到交通信号灯的场所。这也使得该系统更具有实用性。考虑到美观、成本、稳定性等诸多方面的因素、该系统功能上还有许多需要改进的地方。比如最关键的一点该系统只是对某个特定通道上的交通信号灯进行控制,而没有形成一个巨大的城市道路交通信号灯控制系统平台。但是通过此次学习,我深深的感受到,只有系统地充分地学习单片机方面,硬件电路方面的理论知识,才能在在理论学习的基础上进行系统开发时,能够更加地得心应手只有使得理论充分地与实际相结合,才能顺利的做出较为出色的毕业设计,加强单片机应用方面的能力,设汁好与工程实际应用接轨的课程题目。参考文献1李广弟等单片机基础北京航空航天出版社,200172楼然苗等51系列单片机设计实例北京航空航天出版社,200333唐俊翟等单片机原理与应用冶金工业出版社,200394刘瑞新等单片机原理及应用教程机械工业出版社,200375吴国经等单片机应用技术中国电力出版社200416李全利、迟荣强单片机原理及接口技术高等教育出版社200417侯媛彬等凌阳单片机原理及其毕业设计精选科学出版社20068罗亚非,凌阳十六位单片机应用基础北京航空航天大学出版社20039北京北阳电子有限公司,061A凌阳单片机及其附带光盘2003年10张毅刚等MCS51单片机应用设计,哈工大出版社2004年第2版11霍孟友等,单片机原理与应用机械工业出版社2004112霍孟友等单片机原理与应用学习概要及题解机械工业出版社2005313许泳龙等,单片机原理及应用机械工业出版社,2005114马忠梅等,单片机的C语言应用程序设计,北京航空航天大学出版社,2003修订版15薛均义张彦斌虞鹤松樊波,凌阳十六位单片机原理及应用,2003年,北京航空航天大学出版社致谢历时两个月的时间终于将这篇论文写完,在论文的写作过程中老师和同学给了我很大的帮助。首先要强烈感谢我的论文指导老师安学立老师,在我的论文写作过程中给予了诸多的指导,既学到知识又不产生依赖感。在安老师的悉心指导下,我对单片机应用方面知识有了进一步的理解和掌握,通过学习使我更加了解了我们所学的专业,学有所用,从而更加热爱电子专业。感谢我的同学和朋友,在我写论文的过程中给我提了很多的建议,还在论文的撰写和排版等过程中提供了很多的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和同学批评和指正附录系统校时与时间查询命令系统时间设定(秒、分、时、星期)2F432F0600000000000000000A0081CC系统时间设定(日期、月份、年份、)2F432F0600000000000000000A0082CC系统即时时间查询(秒、分、时、星期)2F432F0600000000000000000A00880000000084CC系统即时时间查询(日期、月份、年份、)2F432F0600000000000000000A00890000000099CC注明该命令中第19位是从第4到第18位之间包括第4和第18位的所有数据的八位异或校验。“”代表任意设定的值或者需要求出的校验值。系统源程序如下(带注释)(1)、主程序如下(MAINC)INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEMAINUNSIGNEDCHARITRANSLIGHT/相关变量初始化PHY_TIMER0_INIT/定时器1初始化UART1_INIT/串口初始化EA1/开总中断WATCHDOG_INIT/看门狗初始化DELAY30WHILE1WATCHDOG_KICK/看门狗从新计数IFUART1_FLAG/是否有串口命令过来/有串口命令要执行;UART1_FLAG0UART1_FLAG_LOCK1/防止串口数据还没有处理完,又来了一条新的命令UART1_COMMAND_PROCESS/最大6层嵌套;UART1_FLAG_LOCK0TRA_LIGHT_PROCESS/正常亮灯CHECK_ALARM/检测报警信息FORI0IINCLUDEINCLUDEINCLUDE/共阴数码管09_空表/红灯20S、黄3S、绿灯22S按照正常次序依次执行/VOIDTRA_LIGHT_PROCESSVOIDCHECK_ALARMVOIDDISPLAYVOIDVOIDUNKNOW_COMMANDVOIDVOIDPROCESS_0AVOIDPROCESS_0A_00VOIDBACK_TIMEUNSIGNEDNUM/0返回时、分、秒、星期,1返回年、月、日VOIDBACK_COMMANDVOID/错误命令返回函数函数/VOIDUNKNOW_COMMANDVOIDBACK_BUFFER00X4FBACK_BUFFER10X4FBACK_BUFFER20X4FUART1_SEND_STRINGBACK_BUFFER,21BACK_BUFFER00X2FBACK_BUFFER10X2FBACK_BUFFER20X2F/交通信号灯正常执行函数/VOIDTRA_LIGHT_PROCESSIFTRA_ALARM_FLAG/没有紧急情况发生IFGREEN_FLAG/需要亮绿灯GREEN_COUNT0/开始对绿灯时间进行记时,计时22SRED_11/关掉红灯RED_21/关掉红灯YELLOW_11/关掉黄灯YELLOW_21/关掉黄灯GREEN_10/点亮绿灯GREEN_20/点亮绿灯ALARM1/关闭报警灯ELSEIFYELLOW_FLAGYELLOW_COUNT0/开始对黄灯时间进行记时,计时3SRED_11/关掉红灯RED_21/关掉红灯YELLOW_10/点亮黄灯YELLOW_20/点亮黄灯GREEN_11/关掉绿灯GREEN_21/关掉绿灯ALARM1/关闭报警灯ELSEIFRED_FLAGRED_COUNT0/开始对红灯时间进行记时,计时22SRED_10/点亮红灯RED_20/点亮红灯YELLOW_11/关掉黄灯YELLOW_21/关掉黄灯GREEN_11/关掉绿灯GREEN_21/关掉绿灯ALARM1/关闭报警灯ELSEELSE/报警信息检测/VOIDCHECK_ALARMIFK10RED_10/有险情时亮红灯RED_20/点亮红灯YELLOW_11/关掉黄灯YELLOW_21/关掉黄灯GREEN_11/关掉绿灯GREEN_21/关掉绿灯ALARM0/报警指示灯点亮TRA_ALARM_FLAG1/指示有报警情况/读取当前的值/HOURI2C_SINGLE_BYTE_READ0X64,0X02HOURHOUR/读取小时MINUTEI2C_SINGLE_BYTE_READ0X64,0X01MINUTEMINUTE/读取分钟SECONDI2C_SINGLE_BYTE_READ0X64,0X00SECONDSECOND/读取秒钟ELSEIFK30/报警信息已经取消了ELSE/数码管显示当前的时间/VOIDDISPLAYVOIDUNSIGNEDCHARM,N,J,KMHOUR/10NHOUR10P1TABLEMPOSITION11/选通第一个数码管的第一个位置POSITION20DELAY4P1TABLENPOSITION10POSITION21/选通第一个数码管的第二个位置JMINUTE/10KMINUTE10P1TABLEJHPOSITION11/选通第二个数码管的第一个位置HPOSITION20DELAY4P1TABLEKHPOSITION10HPOSITION21/选通第二个数码管的第二个位置/串口命令/VOIDPROCESS_0ASWITCHUART1_CUFFER13CASE0X00PROCESS_0A_00/时间设定与查询BREAKDEFAULTBREAK/设置和查询时间/VOIDPROCESS_0A_00UNSIGNEDCHARHOURUNSIGNEDCHARMINUTEUNSIGNEDCHARWEEKUNSIGNEDCHARDAYUNSIGNEDCHARMONTHUNSIGNEDCHARYEARUNSIGNEDCHART_BUFFER4SWITCHUART1_CUFFER14CASE0X81T_BUFFER0UART1_CUFFER15T_BUFFER1UART1_CUFFER16T_BUFFER2UART1_CUFFER17T_BUFFER3UART1_CUFFER18UART1_CUFFER15UART1_CUFFER15/10410HOUR/读取小时MINUTEI2C_SINGLE_BYTE_READ0X64,0X01MINUTEMINUTE/读取分钟WEEKI2C_SINGLE_BYTE_READ0X64,0X03/取得当前的星期WEEKWEEKBACK_COMMAND/返回命令BREAKCASE0X82T_BUFFER0UART1_CUFFER15T_BUFFER1UART1_CUFFER16T_BUFFER2UART1_CUFFER17T_BUFFER3UART1_CUFFER18UART1_CUFFER15UART1_CUFFER15/10410DAYMONTHI2C_SINGLE_BYTE_READ0X64,0X05MONTHMONTHYEARI2C_SINGLE_BYTE_READ0X64,0X06YEARYEAR410YEARBACK_COMMAND/返回命令BREAKCASE0X88/返回秒、分、时、星期BACK_TIME0BREAKCASE0X89BACK_TIME1/返回日、月、年BREAKDEFAULTBREAK/返回时间,参数NUM为0返回时、分、秒、星期,1返回年、月、日/VOIDBACK_TIMEUNSIGNEDNUM/0返回时、分、秒、星期,1返回年、月、日UNSIGNEDCHARSUMUNSIGNEDCHARISUM0BACK_BUFFER130X00IFNUMBACK_BUFFER140X89BACK_BUFFER15I2C_SINGLE_BYTE_READ0X64,0X04/这几句话读取系统的日期、月份、年份BACK_BUFFER15BACK_BUFFER15BACK_BUFFER16I2C_SINGLE_BYTE_READ0X64,0X05BACK_BUFFER16BACK_BUFFER16BACK_BUFFER17I2C_SINGLE_BYTE_READ0X64,0X06BACK_BUFFER17BACK_BUFFER17410BACK_BUFFER17BACK_BUFFER180X00ELSEBACK_BUFFER140X88BACK_BUFFER15I2C_SINGLE_BYTE_READ0X64,0X00/这几句话读取系统的秒、分、时、星期BACK_BUFFER15BACK_BUFFER15BACK_BUFFER16I2C_SINGLE_BYTE_READ0X64,0X01BACK_BUFFER16BACK_BUFFER16BACK_BUFFER17I2C_SINGLE_BYTE_READ0X64,0X02BACK_BUFFER17BACK_BUFFER17BACK_BUFFER18I2C_SINGLE_BYTE_READ0X64,0X03BACK_BUFFER18BACK_BUFFER18FORI3IINCLUDEINCLUDEINCLUDEINCLUDE/串口相关函数声明/VOIDUART1_INITVOIDUART1_SENDUNSIGNEDCHARSEND_DATAVOIDUART1_SEND_STRINGUNSIGNEDCHARS,UNSIGNEDCHARLENGTHVOIDUART1_ISRVOID/串口1初始化函数/VOIDUART1_INITTMOD|0X20/定时器1工作方式2TH10XFD/相应波特率设初值计算方法。初值X25611059200/12329600TL10XFD/9600为你要设置的波特率。11059200为晶振频率。X的值最后要换算成16进制PCON|0X00/串口波特率加倍SCON|0X50/串口1工作在工作方式1,允许接收;/PS1/串口1中断优先级为1;ES1/允许串行中断;UART1_COUNT0/串口1,单字节发送函数,参数SEND_DATA为待发送的字节/VOIDUART1_SENDUNSIGNEDCHARSEND_DATAES0TI0SBUFSEND_DATAWHILETI0TI0ES1/串口1,字符串发送函数,参数S为待发送字符串的首地址,参数LENGTH为待发送字符串的长度,注意字符串的长度不能超过待发送的字符长度/VOIDUART1_SEND_STRINGUNSIGNEDCHARS,UNSIGNEDCHARLENGTHUNSIGNEDCHARI0FORI0IINCLUDEINCLUDEINCLUDESBITSCLP16SBITSDAP17/LOCALFUNCTION/VOIDI2C_STARTVOIDVOIDI2C_STOPVOIDUNSIGNEDCHARI2C_ACKVOIDVOIDI2C_ACK_WRITEUNSIGNEDCHARACKVOIDI2C_WRITE_BYTEUNSIGNEDCHARDATAUNSIGNEDCHARI2C_READ_BYTEVOIDVOIDI2C_SINGLE_BYTE_WRITEUNSIGNEDCHARDADDR,UNSIGNEDCHARWADDR,UNSIGNEDCHARDATAUNSIGNEDCHARI2C_SINGLE_BYTE_READUNSIGNEDCHARDADDR,UNSIGNEDCHARWADDRVOIDI2C_PERMIT_WRITEVOIDVOIDI2C_PERMIT_NO_WRITEVOID/I2C总线起始信号/VOIDI2C_STARTVOID/启动I2C总线的函数,当SCL为高电平时使SDA产生一个负跳变/SDA1SCL1DELAY2SDA0/在时钟线为高电平时,拉低数据线,产生起始信号;DELAY2SC

温馨提示

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

评论

0/150

提交评论