收藏 分销(赏)

电子万年历毕业设计(基于AT89C51单片机和DS1302时钟芯片).pdf

上传人:曲**** 文档编号:13304314 上传时间:2026-02-26 格式:PDF 页数:48 大小:2.97MB 下载积分:12 金币
下载 相关 举报
电子万年历毕业设计(基于AT89C51单片机和DS1302时钟芯片).pdf_第1页
第1页 / 共48页
电子万年历毕业设计(基于AT89C51单片机和DS1302时钟芯片).pdf_第2页
第2页 / 共48页


点击查看更多>>
资源描述
目录摘要.3绪论.5第1章设计要求与方案论证.71.1引言.71.2功能要求.71.3方案论证.7第2章 系统硬件电路设计.112.1电路设计.112.2系统硬件概述.152.3主要单元电路的设计.15第3章 系统的软件设计.223.1 程序设计.223.2程序设计流程图.22第4章 结束语.24附录一(电路原理图).附录二(程序清单).27摘要随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子 钟,不断研究、创新。为了在观测时间,能够了解与人类密切相关的信息,比如星期、巳期等,电子时钟诞生了,它集时间、巳期、星期等功能于一 身,具有读取方便、显示直观、功能多样、电路简洁等诸多优点,符合电 子仪器仪表的发展趋势,具有广阔的市场前景。该电子时钟主要采川STC89C52RC单片机作为主控核心,由DS1302 时钟芯片提供时钟、LED动态扫描显示屏显示。STC89c52RC单片机是由 Atmel公司推出的,功耗小,电压可选用46V电压供电;DS1302时钟芯 片是美国DALLAS公司推出的具有涓细电流充电功能的低功耗实时时钟 芯片,它可以对年、月、巳、星期、时、分、秒进行计时,还具有闰年补 偿等多种功能,而且DS1302的使用寿命长,误差小;数字显示是采用的 LED显示屏来显示,可以同时显示年、月、日、星期、时、分、秒和温度 等信息。此外,该电子时钟还具有时间校准等功能。关键词:时钟电路;时钟芯片DS1302;LED动态扫描;单片机STC89C52RC;绪论随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子时钟,它是近代 世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的 机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带 有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应川,发 明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用,使计时产品的走时H差从分 级缩小到1/600万秒,从原有传统指针计时的方式发展为人们巳常更为熟 悉的夜光数字显示方式,直观明了,并增加了全自动巳期、星期的显示功 能,它更符合消费者的生活需求!因此,电子时钟的出现带来了钟表计时 业界跨跃性的进步我国生产的电子时钟有很多种,总体上来说以研究多功能电子时钟为 主,使万年历除了原有的显示时间,巳期等基本功能外,还具有闹铃,报 警等功能。商家生产的电子万年历史从质量,价格,实川上考虑,不断的 改进电子时钟的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬 件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作川。除了采川集成化的时钟芯片外,还有采用MCU的方案,利川STC89 系列单片微机制成电子电路,采川软件和硬件结合的方法,控制LED数码 管输出,分别川来显示年、月、日、时、分、秒,其最大特点是:硬件电路 简单,安装方便易于实现,软件设计独特,可靠。STC89C52RC是由ATMEL 公司推出的一种小型单片机。95年出现在中国市场。其主要特点为采川 Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被中国广大用户接受。本文介绍了基于STC89C52RC单片机设计的电子时钟。首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优 势以及课题的开发意义;接着介绍了 STC89c52RC单片机的硬件结构和本 毕业设计所要外扩的LED显示及其驱动方法,并在此基础上实现了时钟基 本电路的设计;然后使川单片机C语言进行时钟程序的设计,程序采川模 块化结构,使得逻辑关系简单明了,维护方便。第1章设计要求与方案论证1.1 引言本文提出了一种基于STC89C52RC单片机的时钟设计方案,本方 案以STC89C52RC单片机作为主控核心,与时钟芯片DS1302、按键、LED 显示等模块组成硬件系统。在硬件系统中设有独立按键和LED显示器,能 显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间 等,综上所述此电子时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前 旦 O1.2 功能要求本电子时钟能动态显示年、月、巳、星期、小时、分钟、秒1.3 方案论证1.3.1 技术可行性随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速 的发展。集成技术的最新发展之一是将CPU和外围芯片,如程序存储器、数据存储器、并行I/O 口、审行I/O 口、定时/计数器、中断控制器及其他 控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer)o而近年来推出的一些高档单片机还包括有许多特殊功能 单元,如A/D、D/A转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元、PWM控制输出单元、PWM输出时的死区可编程控制功能 等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算 机应用系统,如工业流水线控制系统、作为家川电器的主控制器、分布式 控制系统的终端节点或作为其主控制节点起中继的作用、数据采集系统、自动测试系统等。单片机的出现,并在各技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关:1、单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依 靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采 用软、硬件技术。2、系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应川系统有较高的软、硬件利用系数。3、由于构成的应川系统是一个计算机系统,相当多的测、控功能由软 件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。4、有优异的性能、价格比。1.3.2 单片机的选择方案一:采川传统的STC89C52RC作为电机的控制核心。单片机算 术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和 逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其 在各个领域应川广泛。方案二:采用FTC10F04单片机,还带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位CMOS微处理芯片,市场应川最多。其主 要特点如下:8KB Flash ROM,可以擦除1000次以上,数据保存10年。由于本系统对CPU运算速度要求很高,需要执行很复杂的运算,方 案一成本比较低,适合做设计,方案二运算速度高,性能好,所以两种方 案都有可取之处。选用方案一作为主方案,方案二作为备川方案。1.3.3 显示模块的选择方案一:使川液晶显示屏显示时间数字。液晶显示屏(LCD)具有 轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等 优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由 于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编 程工作量大,控制器的资源占川较多,其成本也偏高。在使用时,不能有 静电干扰,否则易烧坏液晶的显示芯片,不易维护。方案二:使用传统的LED数码管显示。数码管具有:低能耗、低损 耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界 环境要求低,易于维护,同时其精度比较高,称重轻,精确可靠,操作简 单。数码管采川BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,采川方案二。在本系统中,我们采用了八段四位 一体数码管审口的动态显示。1.3.4 键盘模块的选择在对巳期和时间进行切换,对巳期和时间进行调节校准过程中,系 统需要产生激励电流,因此需要用按键。方案一:使川独立式键盘。独立式键盘是指直接川I/O 口线构成的单 个按键电路。独立式按键电路配置灵活,软件结构简单。方案二:使川矩阵式键盘。矩阵式键盘是由行线和列线组成,按键 位于行、列的交叉点上,行线、列线分别连接到按键开关的两端。其特点 是简单且不增加成本,这种键盘适合按键数量较多的场合。根据以上的论述,因本系统需要的按键不多,口期加1键,月数加1 键,年数加1键,分数加1键,时数加1键,时间/巳期切换键,要求简 单。所以采川方案一独立式键盘。135总体方案论证与选择按照系统设计功能的要求,初步确定系统由主控模块、时控模块、及 显示模块和键盘接口模块共4个模块组成。主控芯片使用51系列 STC89C52RC单片机,时钟芯片使川美国DALLAS公司推出的一种高性 能、低功耗、带RAM的实时时钟DS1302。采用DS1302作为计时芯片,可以做到计时准确。更重要的是,DS1302可以在很小电流的后备电源(2.55.5V电源,再2.5V时耗电小于300nA),而且饺1302可以编程 选择多种充电电流来为后备电源进行慢速充电,可以保证后备电源基本不 耗电。显示模块采用普通的共阳极四位一体八段LED数码管。第二章 系统硬件电路设计2.2 系统硬件概述2.2.1 主才空制器STC89c52RCSTC89C52RC单片机是宏品科技推出的新一代高速、低功耗、超强 抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟、机器周 期和6时钟、机器周期可以任意选择。主要特性如下:增强型8051单片机,6时钟、机器周期和12时钟、机器周期可 以任意选择,指令代码完全兼容传统8051单片机。工作电压:5.5V3.3V 工作频率范围:044MHz。川户成川程序空间为8K字节 片上集成512字节RAM 通川I/O 口 32个,复位后为:P1/P2/P3/P4是准双向口/弱上位,P0 口是漏极开路输出,作为总线扩展用时,不川加上拉电阻,作 为I/O 口用时,需加上拉电阻。ISP(在系统可编程)/IAP(再应川可编程),无需专川编程器,无需 专川仿真器,可通过审口(RXD/P3OTXD/P3.1)直接下载川户 程序,数秒即可完成一片。具有EEPROM功能 具有看门狗功能 共3个16位定时器/计数器。及定时器TO、Tl、T2 外部中断4路,下降沿中断或低电平触发电路,PowerDown模式 可由外部中断低电平触发中断方式唤醒 通川异步审行口(UART),还可川定时器实现多个UART 工作温度范围:-40+85度(工业级)/075度(商业级)PDIP封装2.2.2 时钟电路DS1302DS1302的性能特性:实时时钟,可对秒、分、时、口、周、月以及带闰年补偿的年进 行比较;用于高速数据暂存的31*8位RAM;最少引脚的审行I/O;2.55.5V电压工作范围;2.5V时耗小于300nA;川于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据 传送方式;简单的三线接口;可选的慢速充电(至Vccl)的能力。DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然 后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在 读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式 下为8+8,在多字节方式下为8+字节数,最大可达248字节数。如果在传 送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为 高阻态。上电运行时,在VccN2.5V之前,RST脚必须保持低电平。只有 在SCLK为低电平时,才能将RST置为高电平。DS1302的控制字如表所示。控制字节的最高有效位(位7)必须是逻 辑1,如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表 示存取巳历时钟数据;为1则表示存取RAM数据。位51(A4A0)指 示操作单元的地址。最低有效位(位0)如果为3则表示药进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对32个地址寻址能力(地址/命令位15=逻辑1),可以把时 钟/巳历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/巳历寄存器中的地址931或RAM寄存器中 的地址31不能存储数据。在多字节方式下,读或写从地址。的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写 RAM时,为了传送数据不必写所有的31字节,不管是否谢了全部31字节,所写的每一字节都将传送至RAMo表2.1 DS1302控制字寄存骷名命令字取值范围各位内容与操作读操作765432|I0抄寄存转8OH81H00 59CH10SECSEC分寄存器82H83H00-5901OMINMIN时寄存器R4HR5H01-12 或 00 2312/24010|HRHR日再存据86H87H01-28.29.30.3100IO DATEDATF:月寄存得88H89H017200010MMONTH周寄存热8AH8BHOI-070000DAY年寄存普8cH8DH0-9910 YEARYEARDS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的 数据位为BCD码形式。其巳历、时间寄存器及其控制字如上表所示,其中 奇数为读操作,偶数为写操作。时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302 停止振荡,进入低功耗的备份方式,通常在对DS1302进行写操作时(如 进入时钟调整程序),停止振荡。当它为。时,时钟将开始启动。AM-PM/12-24小时方式:小时寄存器的位7定义为12或24小时方式 选择位。它为高电平时,选择12小时方式。在此方式下,位5为第二个 10小时位(2023h)。DS1302的晶振选用32768Hz,电容推荐值为6pF。因为振荡频率较低,也可以不接电容,对计时精度影响不大。2.3 主要单元电路的设计2.3.1 显示电路显示部分采川普通的共阳数码管显示,采川动态扫描,以减少硬件电 路。年月巳、时分秒、报警共需要24位数码显示,用8位数码管以按键切 换的方式来显示。考虑到一次扫描24位数码管显示时会出现闪烁情况,故采用动态扫描,可将数码管数量减少至8位,显示时采用串行口输出段码。2.3.2 键盘接口键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控 制系统的工作状态,都要川到键盘,键盘是人工干预计算机的主要手段。键盘可分为编码和非编码键盘两种。编码键盘采用硬件线线路来实现 键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还 具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC机所用的键盘就 属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应川系统中广泛使川。此处 主要介绍该类非编码键盘及其与MCS51型单片机的接口。2.321 按键开关去抖动问题按键开关在电路中的连接如图所示。按键未按下时,A点电位为高电 平5V;按键按下时,A点电位为低电平。A点电位就川于向CPU传递按 键的开关状态。但是由于按键的结构为机械弹性开关,在按键按下和断开 时,触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图 2-llb所示,键盘的抖动时间一般为510ms,抖动现象会引起CPU对一消除抖动的不良后果的方法有硬、软件两种。次键操作进行多次处理,从而可能产生错误 良后果。+5V R 0 11.La)键输入图2.3键操O因此必须设法消除抖动的不 按下键 山松开号前沿抖动键盘稳定 后沿抖动b)键抖动作和键抖动为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的 抖动,而是川软件消除抖动的方法。根据抖动特性,在第一次检测到按键 按下后,执行一段延时510ms让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。当检测到按键释放后,也要给510ms的延时,待后延抖动消失后才转入该键处理程序。2.322 查询式按键及其接口按照键盘与CPU的连接方式可以分为查询按键和矩阵式键盘。查询式 按键是各按键相互独立,每个按键占用一根I/O 口线,每根I/O 口线上的 按键工作状态不会影响其他I/O 口线上按键的工作状态。查询式按键电路 配置灵活,软件结构简单,但每个按键必须占川一根I/O 口线,在按键数 量较多时,I/O 口线浪费较大,且电路结构显得繁杂。故这种形式适川于按 键数量较少的场合。2.323 矩阵式键盘及其接口矩阵式键盘又称行列式键盘,有n个行线和m个列线,经限流电阻接+5V电源上,按键跨接在行线和列线上,nxm行列结构可构成mn个按键,组成一个键盘。与独立式按键相比,mn个按键只占川m+n根I/O 口线,因此适用于按键较多的场合。当无键闭合时,相应的I/O之间开路。当有键闭合时,与闭合键相连 接的两条I/O 口线之间短路。判断有无键按下的方法是:第一步,置列线 相关I/O 口为输入态,从行线相对应的I/O 口输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,置行线相关I/O 口 输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行一次键 功能操作,因此须等待近按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。232.4 键盘扫描控制方式在单片机应用系统中,对键盘的处理工作仅是CPU工作内容的一部 分,CPU还要进行数据处理、显示和其他输入输出操作,因此键盘处理工 作既不能占川CPU太多时间,又需要CPU对键盘操作及时作出响应。CPU 对键盘处理控制的工作方式有以下几种:1.程序控制扫描方式程序控制扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键 输入信号要求。2.定时控制扫描方式定时控制扫描方式是利川定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。3.中断控制扫描方式中断控制扫描方式是利用外部中断源,响应输入信号。当无按键按下 时,CPU执行正常工作程序。当有按键按下时,CPU立即产生中断。在中 断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能 子程序。这种控制方式克服了前两种控制方式可能产生的空扫描和不能及 时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但 要占用一个宝贵的中断资源。图即工作于中断方式的矩阵式键盘接口电路。在初始化时PL4PL7置输出0,PL0PL3置为输入态,在.0PL3分别接 至与门各输入端。当有键闭合时而寸=0,CPU中断后,在中断服务子程 序中,再完成键识别和键功能处理。图2.4工作于中断方式的矩阵式键盘接口电路2.3.3时钟电路2.3.3.1 DS1302工作方式简介及数据操作原理DS1302可以对年、月、日、星期、时、分、秒进行计时,且具有闰年 补偿功能,工作电压宽达2.55.5V。采用三线接口与CPU进行同步通信,并 可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有 一个33x8的川于临时性存放数据的RAM寄存器。DS 1302是的DS1202升级 产品,与DS1202兼容,但增加了主电源/后背电源双电源弓I脚,同时提供了 对后背电源进行涓细电流充电的能力。DS1302时钟芯片包括实时时钟/巳历和31字节的静态RAM。它经过 一个简单的审行接口与微处理器通信。实时时钟/巳历提供秒、分、时、巳、周、月和年等信息。对于小于31天的月和月末的巳期自动进行调整,还包 括闰年校正的功能。时钟的运行可以采川24小时或带AM/PM的12小 时格式。采川三线接口与CPU进行同步通信,并可采川突发方式一次传送 多字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚:Vccl在单电源与电池供电的 系统中提供低电源,并提供低功率的电磁备份;Vccl在双电池系统中提供 主电源。在这种运行方式中,Vccl里连接到后备电源,以便在没有主电源 的情况下能保存时间信息以及数据。DS1302由Vccl或Vcc2中较打大者 供电。当 Vcc2(Vccl+0.2V)时,Vcc2 给 DS1302 供电;当 Vcc2Vccl 时,DS1302由Vccl供电。IVCC2SCL2RST vpDln 8 7 6 5 12 3 4 口口H口 Z11 2 D vccx XGN图 2.5 DS1302DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然 后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在 读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式 下为8+8,在多字节方式下为8+字节数,最大可达248字节数。如果在传 送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为 高阻态。上电运行时,在VccN2.5V之前,RST脚必须保持低电平。只有 在SCLK为低电平时,才能将RST置为高电平。DS1302的控制字如图所示。控制字节的最高有效位(位7)必须是逻 辑1,如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表 示存取巳历时钟数据;为1则表示存取RAM数据。位51(A4A0)指 示操作单元的地址。最低有效位(位0)如果为3则表示药进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。为了提高对32个地址寻址能力(地址/命令位15=逻辑1),可以把时 钟/巳历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/巳历寄存器中的地址931或RAM寄存器中 的地址31不能存储数据。在多字节方式下,读或写从地址。的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写 RAM时,为了传送数据不必写所有的31字节,不管是否谢了全部31字节,所写的每一字节都将传送至RAMoDS1302共有12个寄存器,其中有7个寄存器与巳历、时钟相关,存 放的数据位为BCD码形式。其口历、时间寄存器及其控制字如下表所示,其中奇数为读操作,偶数为写操作。表2.3 DS1302控制字寄存器名命令字取值范围各位内容写操作读操作7654210杪寄存涔80H81H00 59CH10SECSEC分寄存器82H83H00-590I0MINMIN时寄存器R4H85H01、12 或 00 2312/24010HRHR日寄存器S6H87H01-28,29,30.3100IODATEDATEH寄存器88H89H01 12000)0MMONTH周定存霜8 AH8BH()1-0700000DAY年寄件器8CH8DH00-9910 YEARYEAR时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302 停止振荡,进入低功耗的备份方式,通常在对DS1302进行写操作时(如 进入时钟调整程序),停止振荡。当它为。时,时钟将开始启动。AM-PM/12-24小时方式:小时寄存器的位7定义为12或24小时方式 选择位。它为高电平时,选择12小时方式。在此方式下,位5为第二个 10小时位(2023h)。DS1302的品振选川32768Hz,电容推荐值为6pF。因为振荡频率较低,也可以不接电容,对计时精度影响不大。第3章系统的软件设计(3.1程序设计)电子时钟的程序主要包括3个方面的内容:一是DS1302从单片机中读 取数据进行计数,二是利用按键进行时间的调整,三是单片机中读取 DS1302中的数据驱动LED数码管显示时间。STC89C52RC单片机主要I/O 口的分配:PIO、PH、P12分别接时钟芯片的SCLK、I/O、RST引脚,P13、P14、P15、P16接四个独立按键。主程序流程图时间调整程序流程图第4章结束语2010年3月,我开始了我的毕业论文工作,时至今巳,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过 程难以川语言来表达。历经了一个多月的奋战,紧张而又充实的毕业设计 终于落下了帷幕。回想这段巳子的经历和感受,我感慨万千,在这次毕业 设计的过程中,我拥有了无数难忘的回忆和收获。当我终于完成了所有打 字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的 毕业设计稿件我的心里是甜的,我觉得这一切都值了。这次毕业论文的制 作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学 期间所学到的知识。我不会忘记这难忘的几个月的时间。毕业论文的制作给了我难忘的问 忆。在我徜徉书海查找资料的巳子里,面对无数书本的罗列,最难忘的是 每次找到资料时的激动和兴奋;亲手川protel99设计电路图的时间里,记 忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深 夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅 程看似荆棘密布,实则蕴臧着无尽的宝臧。我从资料的收集中,掌握了很 多单片机及其接口应用的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机的最新发展技术有所了解。在整个过程中,我学到 了新知识,增长了见识。在今后的巳子里,我仍然要不断地充实自己,争 取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃 苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使 我能够顺利的完成毕业论文。在此我要向司老师致以最衷心的感谢和敬意。程序/main,c/#include#def i ne u i nt uns i gned i nt#i nc I ude,zds1302.h,z#include,zkey.h#i ncIudebeI I.hsbit k4二Pr3;char k=0;char sh i,fen,miao,n i an,yue,r i;charbaoj i ngshi=0 x00,baoj i ngfen=0 x06,baoj i ngm i ao=0 x007vo i d sjd i spI ay 0;vo i d rqd i sp I ay();vo i d baoj i ngd i spI ay 0;vo i d de I ay(u i nt ms);void display(char shu,char wei);char tab le=OxcO,Oxf9,0 xa4,OxbO,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e;vo i d ma i n 0(ds1302_wr i te(0 x80,0 x55);ds1302_wr i te(0 x82,0 x45);ds1302_wr i te(0 x84,0 x00);ds1302_wr i te(0 x8c,0 x11);ds1302_write(0 x88,0 x10);ds1302_write(0 x86,0 x07);wh i le(1)if(k4=0)de I ay(5);if(k4=0)(while(k4=0);k+;if(k=3)(k=0;)if(k=0)sjdisplay 0;if(k=1)rqd i spI ay 0;if(k=2)baoj i ngd i spI ay 0;if(sh i=baoj i ngshi)&(fen二二baoj i ngfen)&(miao=b aoj i ngmi ao)(didi(10);)key();)vo i d s jd i sp I ay()(shi=ds1302_read(0 x85);/hourfen=ds1302_read(0 x83);/mi nitesm i ao=ds1302_read(0 x81);/secondd i sp I ay(sh i 4)&0 x07,0);dispI ay(shi&0 x0f,1);d i sp I ay(f en4)&OxO7,3);display(fen&OxOf,4);d i sp I ay(mi ao4)&OxO7,6);display(mi ao&OxOf,7);vo i d rqd i sp I ay()(nian=ds1302_read(0 x8d);/nian yue=ds1302_read(0 x89);/yue ri=ds1302_read(0 x87);/rid i sp I ay(n i an4)&0 x07,0);d i spI ay(n i an&OxOf,1);d i sp I ay(yue4)&OxO7,3);display(yue&OxOf,4);di splay(ri 4)&OxO7,6);/OOOO 0111display(r i&OxOf,7);vo i d baoj i ngd i spI ay 0(d i sp I ay(baoj i ngsh i 4)&0 x07,0);display(baoj i ngsh i&0 x0f,1);d i sp I ay(baoj i ngfen4)&0 x07,3);display(baoj i ngfen&OxOf,4);d i sp I ay(baoj i ngmi ao4)&0 x07,6);display(baoj i ngmi ao&OxOf,7);1vo i d de I ay(u i nt ms)u i nt i,j;for(i=ms;i0;i-)for(j=124;j0;j);)vo i d display(char shu,char wei)PO=tableshu;P2=(1wei);de I ay;P2=0 xff;/ma i n.c/Ds1302.c/#include#def i ne uchar uns i gned char#def i ne u i nt uns i gned i ntsb it rst=P12;sb it dat=P11;sbit clk=PrO;vo i d ds1302_wr i te(char comm,char dat1)(char temp,t;rst=O;cIk=0;rst=1;temp=comm;for(t=0;t8;t+)if(temp&0 x01)dat=1;eIse dat=O;clk=1;temp=(temp1);cIk=0;temp=dat1;for(t=0;t8;t+)(if(temp&0 x01)=1)/0000 0001 dat=1;eIse dat=0;cIk=1;temp=temp1;cIk=0;rst=O;uchar ds1302_read(char comm)(char temp,t;rst=O;cIk=0;rst=1;temp=comm;for(t=0;t8;t+)(if(temp&0 x01)dat=1;eIse dat=O;clk=1;temp=temp1;c I k=0;temp=O;/OOOOOOOOfor(t=0;t8;t+)temp=temp1;if(dat=1)temp=temp|0 x80;eIse temp=temp&0 x7f;cIk=1;cIk=0;rst=0;return temp;/Ds1302.c/Key.c/#include#def i ne char s i gned char#def i ne u i nt uns i gned i nt sb it mode=P1八4;sb it add=P15;sb it sub=P1八6;char mod=0;extern vo i d de I ay(u i nt ms);extern char sh i,fen,n i an,yue,r i;extern char baoj i ngsh i,baoj i ngfen;extern char ds1302_read(char);extern void ds1302_wr ite(char,char);vo i d key()sh i=ds1302_read(0 x85);fen=ds1302_read(0 x83);if(mode=0)de I ay;if(mode=0)(while(mode=0);mod+;if(mod=8)(mod=0;)if(add=0)(de I ay(5);if(add=0)while(add=O);if(mod=1)shi=(shi 4)&0 x03)*10+(sh i&0 x0f)+1;if(shi=24)(sh i=0;)ds1302_wr i te(0 x84,(shi/10)4)+(shi%10)&OxOf);/hour1e I se if(mod=2)fen=(f en4)&OxO7)*10+(fen&OxOf)+1;if(fen=60)(fen=O;)ds1302_wr i te(0 x82,(fen/10)4)+(fen%10)&OxOf);1eIse if(mod=3)(n i an=(n i an4)&OxOf)*10+(n i an&OxOf)+1;i f(n i an=99)n i an=1;ds1302_wr i te(0 x8c,(n i an/10)4)+(n i an%10)&OxOf);)eIse if(mod=4)(yue=(yue4)&OxO1)*10+(yue&OxOf)+1;if(yue=13)(yue=1;)ds1302_wr i te(0 x88,(yue/10)4)+(yue%10)&OxOf);eIse if(mod=5)if(yue=1)|(yue=3)|(yue=5)|(yue=7)|(yue=8)|(yue=10)|(yue=12)(r i=(ri 4)&0 x03)*10+(ri&0 x0f)+1;if(ri=32)(r i=1;i f(yue=4)|(yue=6)|(yue=9)|(yue=11)r i=(ri 4)&0 x03)*10+(ri&0 x0f)+1;if(ri=31)r i=1;if(yue=2)(ri=(ri 4)&0 x03)*10+(ri&0 x0f)+1;if(ri=29)r i=1;ds1302_wr i te(0 x86,(ri/10)4)+(ri%10)&0 x Of);eIse if(mod=6)baoj i ngshi=(baoj i ngsh i 4)&0 x01)*10+(baoj i ngsh i&0 x0f)+1;if(baoj i ngsh i=24)(baoj i ngsh i=0;)ds1302_wr i te(0 x88,(baoj i ngsh i/10)4)+(b aoj i ngsh i%10)&0 x0f);eIse if(mod=7)(baoj i ngfen=(baoj i ngfen4)&0 x01)*10+(baoj i ngfe n&0 x0f)+1;if(baoj i ngfen=60)baoj i ngfen=0;ds1302_wr i te(0 x88,(baoj i ngf en/10)4)+(b aoj i ngfen%10)&0 x0f);)if(sub=0)(de I ay;(if(sub=0)(while(sub=0);if(mod=1)shi=(shi 4)&0 x03)*10+(sh i&0 x0f)-1;if(shi=-1)shi=23;ds1302_write(0 x84,(shi/10)4)+(shi%10)&0 x0f);eIse if(mod=2)fen=(f en4)&0 x07)*10+(fen&OxOf)-1;if(fen=-1)fen=59;ds1302_wr i te(0 x82,(fen/10)4)+(fen%10)&OxOf);eIse if(
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服