《基于单片机的多功能数字钟的设计说明.doc》由会员分享,可在线阅读,更多相关《基于单片机的多功能数字钟的设计说明.doc(67页珍藏版)》请在课桌文档上搜索。
1、摘 要在21世纪社会的迅猛发展浪潮下,电子信息技术也有了快速的推广和应用。在日常工作生活的快节奏下,时间占有着至关重要的位置。也许人们不太在意,在各种各样的日常生活以及各类社会活动中,大家无时无刻地都在留意着时间的变化。时间与人们的生活息息相关,而时间的计算方法发展至今已经演变成时钟和表。本文所阐述的数字钟有多种功能,不仅能够准确的显示时间年月日、时分秒,还有对环境温度进行测量,闹钟设置,秒表计时,电子钟, MP3播放等功能。相比于机械时钟,因为数字钟所采用的是数字电路技术来实现时、分、秒计时,有着更高的准确性和稳定性,而数字钟的结构与装置也更加科学与方便化。本文主要介绍了基于单片机的多功能数
2、字钟的设计,硬件电路包含时钟模块、温度检测模块、液晶显示模块、按键模块、电源模块,声音模块和复位电路,软件设计包含闹钟设计、秒表计时、电子书阅览、MP3播放等。本设计的数字钟有:时间显示年月日、时分秒,闹钟,秒表计时,电子书,MP3等功能。单片机与多功能数字钟的结合,不仅使得时间的测量更加准确稳定,对环境测试的温度也更加简单、方便、灵活,为我们的日常生活提供了更优质与方便的服务。因此,单片机不仅有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。关键词:单片机数字钟温度传感器Multi-function Digital Clock Based On MCUC
3、ai BingnanAbstract:The rapid development in the twenty-first Century social tide, electronic information technology has been rapid promotion and application. In their daily work life fast rhythm, time occupies a crucial position. Maybe people dont care too much, in a variety of daily life and all ki
4、nds of social activities, we every hour and moment are watching the change of time. The time of our lives, and the calculation method of time has evolved into a clock and watch. Digital clock is described in this paper has a variety of functions, not only can display the date when the minutes and se
5、conds time, accurate, and measurement of environmental temperature, alarm clock, stopwatch, electronic clock, MP3 player and other functions. Compared to the mechanical clock, because the digital clock is used in the digital circuit technology to realize, when, seconds, has a higher accuracy and sta
6、bility, and the structure and device of digital clock is more scientific and convenient.This paper mainly introduces the design of multi-function digital clock based on MCU, the hardware circuit consists of the clock module, temperature detecting module, liquid crystal display module, keyboard modul
7、e, power module, voice module and a reset circuit, software design including alarm clock, stopwatch design, electronic book reading, MP3 player etc. The design of the digital clock: time date display, minutes and seconds, alarm clock, stopwatch, e-books, MP3 etc. Combined with the MCU and the multi-
8、function digital clock, not only makes the measurement more accurate and stable time, environmental testing temperature is more simple, convenient, flexible, provides better quality and convenience to our daily life. Therefore, the single chip not only promoted the development of social productive f
9、orces and the improvement of social information-based degree, simultaneously also makes the modern electronic products to further improve the performance.Key words:SCMdigital clock the temperature sensor目 录1 前言11.1 课题的研究背景11.2 课题的开发目的12系统方案分析与选择论证22.1系统方案设计22.1.1主控芯片方案22.1.2 显示模块方案22.1.3 键盘模块方案22.1.
10、4 温度模块方案22.2 系统最终方案33硬件电路设计33.1 单片机最小系统33.2 DS1302时钟模块的设计43.3 LCD1602显示模块的设计53.4 DS18B20温度模块的设计73.5 声音模块和按键控制模块的设计74 程序设计84.1 时间调整程序设计94.2 闹钟处理程序设计104.3 秒表计时程序设计104.4 音乐播放程序设计104.5 电子书程序设计125调试与调试结果125.1 硬件调试125.2 调试结果136 结论13参考文献14附录A电路原理图15附录B设计程序16致62华南农业大学本科生毕业设计成绩评定表1 前言1.1 课题的研究背景在这个快节奏的年代,时间就
11、是效益,就是金钱,因此准确的掌握时间和分配时间对人们来说至关重要。随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好、更方便、更精确的显示时间,这就要求人们不断设计研发出新型的时钟。所以一个能够进行报时以及有其他多种用途的数字钟是对人们的生活工作是非常具有现实意义的。相比于传统的时钟,数字钟在性能和准确度方面的优势使得很多普通的时钟已经不能满足人们在某些方面的需求了。数字钟的优势在于准确度高,因为它采用的是数字电路来实现对时、分、秒的设计,因此传统的时钟正面临着淘汰的局面。由于多功能数字钟的功能齐全,科
12、学方便,它被广泛的应用在社会的各个地方。不管是在公司,娱乐场所,办公室以及个人家庭等等,数字钟的存在已经成为了人类日常生活的一部分。数字钟是一种数字电路,由于采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字钟用集成电路计时,译码代替机械式传动,用LCD显示器代替指针进而显示时间,减小了计时误差,这种表具有显示时、分、秒时间的功能,还可以进行时和分的校对,片选的灵活性好。数字钟不管在性能还是在款式样式上都远远超过了传统的钟表,给人们的生活带来了极大的便利。因此,对多功能数字钟进行研究有着非常现实的意义。1.2 课题的开发目的多功能数字钟的基本功能就是时钟显示时分秒,年月日
13、,闹钟,温度的采集和报警,另外还扩展了以下几种功能:秒表计时、电子书和MP3播放。本设计的目的是为了更加切合人们的生活实际情况,以STC89C52单片机作为数字钟的核心控制器,通过DS1302时钟芯片进行时、分、秒来实现计时校对功能,采用DS18B20对室环境进行温度测量,将数据通过单片机输出,利用LCD1602液晶屏显示出来。并且通过软件编写,可以实现秒表计时、电子书阅览和MP3播放等功能。并且通过按键可以进行手动时间定时、校时闹铃设定。本设计相比传统时钟,不仅测量精确到高,工作稳定,而且功能多也便于日后扩展,在日常生活中具有很高的使用价值。2系统方案分析与选择论证2.1系统方案设计2.1.
14、1主控芯片方案方案一:采用STC89C52单片机作为主控芯片。STC89C52部具有Flash ROM,存达8KB,512字节数据存储空间,带有2K字节的EEPROM存储空间,又与MCS-51兼容,而且此芯片价格便宜、易于操作、低功耗且性能稳定。方案二:采用AT89S52单片机作为主控芯片。AT89S52部具有8K字节程序存储空间,256字节的数据存储空间,没有EEPROM存储空间,也与MCS-51系列单片机完全兼容,具有在线编程可擦除技术。经过两种方案的比较,虽然STC89C52相对AT89S52均满足设计要求,但是前者价格更加便宜,而且抗干扰能力强,稳定性高,价格实惠。因此,选择方案一。2
15、.1.2 显示模块方案方案一:采用LCD液晶显示屏。液晶显示屏的显示功能强大,可显示大量文字,显示多样,清晰可见,灯光柔和,可调围大,且价格适中。方案二:采用LED数码管动态扫描。LED数码管价格便宜,对于显示数字最合适,但功耗较大,占用体积大,且显示容量不够。经过两种方案的比较,选择方案一。2.1.3 键盘模块方案方案一:采用独立式按键。独立式按键易于控制,编写程序简单,容易理解,但I/O口占用较多。方案二:采用阵列式按键。阵列式按键编程困难,按键过多,减少了I/O口的使用。经过两种方案比较,选择方案一。2.1.4 温度模块方案方案一:采用DS18B20温度芯片。DS18B20芯片只需要一个
16、元件,成本低,电路简单,适合日常生活使用。方案二:采用AD590温度芯片。AD590芯片需要模拟转数字电路,成本高,电路繁多,不适合本设计。经过两种方案比较,选择方案一。2.2 系统最终方案综上各方案所述,本设计电路最终选用STC89C52作为主控系统来控制时钟的准时运转,采用独立式按键控制系统实现的所有功能,采用DS1302作为时钟芯片,采用DS18B20作为温度传感器,选用LCD1602动态扫描来显示时间等。由以上选择方案,设计出如图1的系统框图。按键控制模块DS1302时钟模块STC89C52LCD1602显示模块声音模块喇叭DS18B20温度模块电源模块复位电路图1 系统框图如图1所示
17、,系统的整个控制流程是:经过程序编程,向DS1302中写入一个初值,如写入2013-3-27 23:56:58 WED,便从此开始计时。另外通过DS18B20温度传感器通过检测环境温度在LCD上显示出来。通过按键模块,可以进入时间调整界面对时间进行加减调整和移位调整,也可以进入扩展功能界面,比如进入秒表计时界面,可以通过按键来进行开始、暂停和重置计时;进入闹钟设置界面,通过设置时间来实现闹钟铃响和闹钟开关的功能;最后还有电子书阅览界面和音乐播放界面。3硬件电路设计3.1 单片机最小系统MCS-52单片机的最小系统是由STC89C52RC单片机、复位电路和晶振电路组成。复位是单片机的一个很重要的
18、操作方式。但是,单片机本身是不能自动进行复位的,必须配合相应的外部电路才能产生复位信号。上电自动复位是通过外部复位电路在加电瞬间对电容的充电来实现的王卫星,2009。如图2所示,在RST复位引脚接一个10微法的电容到电源VCC,然后电容另一端接一个10K的电阻再把电阻接地,单片机复位端高电平有效,上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。晶振电路由两个33pF的电容和一个12MHZ晶体振荡器构成,晶体振荡器两端分别接入单片机的XTAL1、XTAL2引脚。图2 最小系统电路图3.2 DS1302时钟模块的设计DS1302是一种高性
19、能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信。当需要一次性传送多个字节的时钟信号和RAM数据时,可以采用突发方式进行传送。如图3所示为DS1302的电路原理图,其中Vcc1为后备电源,Vcc2为主电源。本设计通过把Vcc1和锂电池相接,在主电源关闭的情况下,也能保持时钟在后方继续运行,使得时钟能在断电恢复后所显示的时间正常。其中X1和X2是振荡源,外接32.768kHz晶振。是复位/片选线,高电平有效,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。I/O为串行数据输入
20、输出端双向,SCLK始终是输入端。图3 DS1302电路原理图3.3 LCD1602显示模块的设计由于1602字符型液晶显示器具有微功耗、体积小、显示容丰富、超薄轻巧等特性,所以本设计用单片机载入程序用以控制它来进行时钟显示。1602字符型液晶是一种专门用来显示字母、数字、符号等的点阵型液晶模块,因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量值。如图4所示电路原理图,STC89C52的P0-P7端口分别与LCD1602的D0-D7端口相连接,VSS端口与VDD端口分别接地与接5V电源,LCD的控制端口R/W为读写信号线,高电平1进行读操
21、作,低电平0时进行写操作;端口RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器;端口E为使能端,高电平1时读取信息,负跳变时执行指令。R/W、RS、E端口分别与单片机的 P2.0、P2.1、P2.2端口相连,由于单片机P0端口部没有上拉电阻,所以当其作为输出端口时,必须外加上拉电阻,即如图所示10x8的排阻。图4 LCD1602电路原理图3.4 DS18B20温度模块的设计如图5所示电路原理图,DS18B20数字温度计提供9位二进制温度读数,指示器件的温度。信息经过单线接口送入DS18B20或从DS18B20送出。DS18B20的测量围为-55+125,固有测温误差0.5,
22、可在1s把温度变换成数字,它的工作电源为:35V/DC,可选择寄生工作方式,是一种先进的单总线数据通信方式。它的一个工作周期可分为两个部分,即温度检测盒数据处理。如下图DS18B20的DQ引脚为数字输入/输出端,与STC89C52的P3.3端口相连接,GND引脚接地,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,提供5V电源。此时I/O口线不需要强上拉,不存在电源电流不足的问题,可以保证测量精度。图5 DS18B20电路原理图3.5 声音模块和按键控制模块的设计如图6所示为声音模块和按键控制模块的电路原理图,声音模块比较简单,只用普通的小喇叭与1K的电阻相连,然后与STC89C
23、52单片机相连接,由单片机进行控制。从图中可以看出单片机P1.3口接喇叭的正极,喇叭的负极直接接地。由图可见,按键模块总共用到了7个按键,分别与单片机的P1.4,P1.5.P1.6,P1.7和P3.0,P3.1,P3.2端口相连,按键的另一端均接地。各按键的功能如下:如图中的设置按键,点击之后进入时间调整界面,点击上调按键和下调按键顾名思义可以对时间进行上下调整,再次点击设置按键,可以进行移位调整,直至调整完年份,再次点击设置按键跳出时间调整;点击闹钟按键,进入闹钟设置界面,再次点击闹钟设置按键进行移位,可以设置闹钟时间并设定开关,调整完毕后点击设置按键跳出闹钟设置;点击秒表按键,进入秒表计时
24、界面,点击上调按键开始计时,点击下调按键暂停计时,再次点击上调按键继续计时,最后点击秒表按键退出秒表计时。点击电子书按键,进入电子书阅览界面,点击上调按键向上翻页,点击下调按键向下翻页,最后点击电子书按键退出电子书阅览界面。点击音乐播放按键,进入音乐播放界面,再次点击音乐播放按键开始播放音乐,点击上调按键停止播放,再次点击音乐播放按键切换到下一首歌曲开始播放,最后再次点击音乐播放按键退出音乐播放界面。图6 声音模块和按键控制模块电路原理图4 程序设计本设计的程序设计流程主要包括以下几个部分:1、时间调整程序设计流程,2、闹钟处理程序设计流程,3、秒表计时程序设计流程,4、音乐播放程序设计流程,
25、5、电子书阅览程序设计流程。每个程序对应独立的按键,其中设置按键对应的I/O口为P1.5,上调按键对应的I/O口为1.6,下调按键对应的I/O口为P1.7,闹钟按键对应的I/O为P3.0,秒表按键对应的I/O口为P3.1,音乐播放按键对应的I/O为P1.4,电子书阅览按键对应的I/O为P3.2。使用按键扫描功能进入相应的子函数,根据标志位在LCD上显示不同的界面。下面会对每个程序设计流程有着明了的解析并附有该程序设计流程图。4.1 时间调整程序设计时间调整的主要程序流程为:首先点击设置按键,点击之后会进入时间调整界面,再次点击设置按键,可以进行移位调整,依次能够调整秒、分、时,星期,日、月、年
26、。上调按键和下调按键顾名思义可以对时间进行上下调整,当调整完所有时间后,点击设置按键移位到年份,再次点击设置按键能够保存所调整的时间并且跳出时间调整界面。图7为时间调整程序流程图。按下上调按键或下调按键,更改数据设置按键按下,选择调整的对象开始结束按下上调按键或下调按键,更改数据最后按下设置按键,保存参数图7 时间调整程序流程图4.2 闹钟处理程序设计闹钟处理的主要程序流程为:首先点击闹钟设置按键,进入闹钟设置界面,可以设置闹钟的开关状态和闹钟时间。取当前时间与闹钟时间比较,当两者一致并且闹钟处于开启状态时,闹钟响起,按任意键取消闹钟铃响。另外,还能从程序上对闹钟的闹铃时间进行调整。图8为闹钟
27、处理程序流程图。取当前时间取闹钟时间开始结束两者比较结果相等闹钟响起YN图8 闹钟处理程序流程图4.3 秒表计时程序设计秒表计时的主要程序流程为:首先点击秒表计时按键,进入秒表显示的界面。秒表计时采用的是定时器计时,使用定时器0,每一百毫秒产生一次中断。进入秒表计时画面后,点击上调按键开始计时,点击下调按键暂停计时,再次点击上调按键继续计时,最后点击秒表按键退出秒表计时。图9为秒表计时程序流程图。4.4 音乐播放程序设计音乐播放按键的主要程序流程为:首先点击音乐播放按键,进入音乐播放界面,其中播放的音乐数据存放在单片机的ROM里。再次点击音乐播放按键开始播放音乐,点击上调按键停止播放,再次点击
28、音乐播放按键切换到下一首歌曲开始播放,最后点击音乐播放按键退出音乐播放界面。图10为音乐播放程序流程图。按下上调按键,开始计时秒表按键按下开始结束按下下调按键,暂停计时继续计时YN秒表按键按下图9 秒表计时程序流程图双击音乐播放按键,音乐播放开始结束按下上调按键,暂停播放有歌曲播放YN按下音乐播放按键,播放下一首图10 音乐播放程序流程图4.5 电子书程序设计电子书阅览的主要程序:首先进入电子书阅览界面的显示,电子书阅览的容存在单片机的ROM里。点击电子书按键,进入阅览界面,点击上调按键向上翻页,点击下调按键向下翻页,最后点击电子书按键退出阅览界面。图11为电子书阅览程序流程图。双击下调按键,
29、向下翻页电子书阅览按键按下开始结束双击上调按键,向上翻页电子书阅览按键按下图11 电子书阅览流程图5调试与调试结果5.1 硬件调试在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。首要检查的电源的正负极有没有接反以及电源之间有没有短路,各电源之间需要共VCC并且所有的地线需要共地。然后再检查各个模块的线路是否有短路、断路的情况出现,另外晶体振荡器和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好是保证振荡器稳定和可靠地工作。经过仔细全面的排查,本设计确保了电路的正确的焊接,能为接下来的通电调试提供很大的方便。接上+5V电源后,分别测量各点电位是否正常,特别要注
30、意的是DS18B20温度传感器的接法,否则容易损坏芯片,造成测量误差或者无法测量的结果。在断电的情况下,除单片机以外,用仿真插头将所连接电路与单片机仿真器的仿真接口相连,为软件调试做好准备。在硬件调试的过程中,发现了很多问题,比如电源线没有焊好,导致供电不稳定;LCD1602插槽接触不良,导致液晶显示不太稳定;有些需要共地的地方没有共地,部分线路存在短路断路的情况,造成了调试的失败;另外DS18B20温度传感器也接反了,使得测量错误、芯片发热,差点损坏了芯片。5.2 调试结果首先调试出液晶显示,方便观看其他各项调试结果。调试过程发现虚焊和短路情况,排除此类情况,并调节背光电压后液晶显示正常。其
31、次调试温度测量模块,保证DS18B20供电正常,然后调试保证DS1302供电正常,最后开始调试各按键模块的功能。经过调试,发现各个按键的功能均能够实现,并且在LCD1602液晶显示屏中显示出来,喇叭也工作正常,均实现了设计所要求的功能,调试完毕。6 结论本次毕业设计收获良多,完成了毕业设计的要求,利用DS1302时钟芯片实现了时间显示时、分、秒,年、月、日与星期的基本功能,并且能够进行时间调整。另外还外加了一些扩展功能,比如:闹钟设计,能够进行闹钟提醒;秒表计时,能够方便的应用于日常生活;电子书阅览,能够消磨空闲时间;MP3播放,能够播放一下旋律。本设计虽然完成了基本功能,且有扩展,但是还有许
32、多可以完善的地方。如可以增加语音报时,用于定点报时,更加方便人们对时间的掌握;如可以增加红外遥控,用于远程调控数字钟,更加方便于日常生活。参 考 文 献王卫星. 单片机原理与应用开发技术M. :中国水利水电, 2009:23-25.朱鸣华、旭麟等. C语言程序设计教程. :机械工业, 2007:34-212.邵兰. 简易数字钟电路设计基本思路J. 职业技术, 20076:118-119.淑. 数字电子钟的设计J. 大学学报,20044:36-39.附 录附录A 电路原理图附录B 设计程序#include #include intrins.h#include music_code.h#defin
33、e uchar unsigned char#define uint unsigned int#define SYSTEM_OSC 12000000#define SOUND_SPACE 4/5 uchar code tabe1=20 - -; /液晶一直显示的字符uchar code tabe2= : : ;uchar code tabe3=Alarm set:;uchar code tabe4=Stopwatch:;uchar code tabe5=Read book: ;uchar code tabe6=Listen music: ;uchar code tabe7=Song 1: ;uc
34、har code str=Never frown,even when you are sad,because you never know who is falling in love with your smile! To the world you may be one person,but to one person you may be the world ;uint code FreTab12 = 262,277,294,311,330,349,369,392,415,440,466,494 ; uchar code SignTab7 = 0,2,4,5,7,9,11 ; uchar
35、 code LengthTab7= 1,2,4,8,16,32,64 ;uchar Sound_Temp_TH0,Sound_Temp_TL0;uchar Sound_Temp_TH1,Sound_Temp_TL1;uchar miao,fen,shi,nian,yue,ri,week,wd_flag,wendu_shi,wendu_ge,wendu_shu,variate,alarm_shi,alarm_fen,alarm_miao,miaobiao_shi,miaobiao_fen,miaobiao_miao;uchar flag=1,count=0,flag_up=0,flag_down
36、=0,flag_alarm=0,alarm_on,alarm_count=0,done=0,miaobiao_count=0,second,msecond,book_count=0,sum,i,music_count=0;uint wendu;uchar watch_flag,music_flag,bee,song_flag,songsum;/定义IOsbit DQ = P33; /ds18b20温度传送数据IO口sbit ds1302_rst = P12; /1302复位sbit ds1302_io = P11; /数据输入输出sbit ds1302_sclk= P10; /串行时钟sbit
37、 alarm_out = P13;/蜂鸣器口sbit lcd1602_rs = P20;/ 1602命令、数据选择sbit lcd1602_rw = P21; / 1602写sbit lcd1602_e = P22;/ 1602使能sbit set = P15;/选择按键sbit up = P16;/加sbit down = P17;/减sbit nao = P30;/闹钟功能按键sbit led = P26;/led背光sbit miaobiao = P31;/秒表功能按键sbit book = P32;/电子书功能按键sbit music = P14;/音乐功能按键sbit ACC0=AC
38、C0;sbit ACC7=ACC7;void init;/中断初始化设置void page;/书页设置void playsong;void Play;/延时void delayuchar y,z;for0;z-for0;y-;void delay1_nop_;_nop_;ds18b20_delay /延时xuswhile;/*ds18b20*/void ds18b20_init /DS18B20初始化uchar x=0; DQ=1;ds18b20_delay;DQ=0;ds18b20_delay;DQ=1;ds18b20_delay;x=DQ;ds18b20_delay;void write_
39、onechar /写一字节uchar i;for0;i-DQ=0;ifDQ=1;elseDQ=0;ds18b20_delay;DQ=1;ds18b20_delay;dat=1;uchar read_onechar/读一字节uchar value=0,i;for0;i-value=1;DQ=0;ds18b20_delay;DQ=1;ifvalue|=0x80;elsevalue&=0x7f;ds18b20_delay;return value;uint read_wendu /DS18B20读温度 uchar a=0,b=0;uint wen=0x0000;ds18b20_init;/初始化wr
40、ite_onechar;/ 跳过读序号列号的操作write_onechar;/ 启动温度转换ds18b20_delay;ds18b20_init;/初始化write_onechar;/跳过读序号列号的操作write_onechar;/读取温度寄存器等共可读9个寄存器 前两个就是温度ds18b20_delay;b=read_onechar;/读取温度值低位a=read_onechar;/读取温度值高位wen=a;wen=wen|b;return wen;/*ds1302*/void write_byte /写一字节uchar k;ACC=dat; for0;k- ds1302_io=ACC0;d
41、s1302_sclk=0; /拉低sclkds1302_sclk=1; /拉高sclkACC=1;uchar read_byte uchar k; for0;k- ACC7=ds1302_io;ds1302_sclk=1; /拉高sclkds1302_sclk=0; /拉低sclkACC=1;return ACC; void ds1302_writeds1302_rst=0;ds1302_sclk=0; /在rst没拉高之前先把sclk置0ds1302_rst=1;write_byte;write_byte;ds1302_sclk=1; ds1302_rst=0;uchar ds1302_re
42、aduchar temp;ds1302_rst=0;ds1302_sclk=0; /在rst没拉高之前先把sclk置0ds1302_rst=1;write_byte;temp=read_byte;ds1302_sclk=1; ds1302_rst=0;return temp;void ds1302_init /ds1302初始化 ds1302_rst=0;ds1302_sclk=1; ds1302_write;/写允许ds1302_write;ds1302_write;ds1302_write;ds1302_write;ds1302_write;ds1302_write;ds1302_write;ds1302_write;/写保护 /*lcd1602*