毕业设计(论文)基于单片机的数字万年历设计

上传人:1666****666 文档编号:36583339 上传时间:2021-10-31 格式:DOC 页数:31 大小:957.50KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于单片机的数字万年历设计_第1页
第1页 / 共31页
毕业设计(论文)基于单片机的数字万年历设计_第2页
第2页 / 共31页
毕业设计(论文)基于单片机的数字万年历设计_第3页
第3页 / 共31页
资源描述:

《毕业设计(论文)基于单片机的数字万年历设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的数字万年历设计(31页珍藏版)》请在装配图网上搜索。

1、江西理工大学 2009 届专科生毕业设计(论文)江 西 理 工 大 学 南 昌 校 区毕 业 设 计(论文)题 目:系 :专 业:班 级:学 生:学 号:指导教师: 职称:江西理工大学 2009 届专科生毕业设计(论文)目目 录录第一章 引言.1第二章 设计方案论证.221 方案论证与设计.22.2 电路设计最终方案决定.3第三章 系统硬件电路设计.43.1 电路设计框图.43.2 系统硬件概述 .43.3 主要单元电路的设计.4第四章 系统软件电路设计.114.1 主程序流程图.114.2 按键调整流程图 .11第五章 系统硬件和软件的调试.135.1 系统硬件的焊接与调试 .135.2 系

2、统软件的调试 .13致谢.14参考文献.14附录一 电路原理图.15附录二 程序清单.16江西理工大学 2009 届专科生毕业设计(论文)1第一章 引 言随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机

3、的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,电子日历越来越受到人们的青睐。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器 AT89S52、时钟电路 DS1302、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行年、月、日、星期、时、分、秒的显示。第二章第二章 设计方案论证江西理工大学 2

4、009 届专科生毕业设计(论文)221 方案论证与设计2.1.1 单片机芯片的选择方案和论证方案一: 采用 89C51 芯片作为硬件核心,采用 Flash ROM,内部具有 4KB ROM 存储空间,能于 3V 的超低压工作,而且与 MCS-51 系列单片机完全兼容,但是运用于电路设计中时由于不具备 ISP 在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二: 采用 AT89S52,片内 ROM 全都采用 Flash ROM;能以 3V 的超底压工作;同时也与 MCS-51 系列单片机完全该芯片内部存储器为

5、8KB ROM 存储空间,同样具有 89C51 的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用 AT89S52 作为主控制系统.2.1.2 时钟芯片的选择方案和论证方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二:采用 DS1302 时钟芯片实现时钟,DS1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进

6、行计数,而且精度高,位的 RAM 做为数据暂存区,工作电压 2.5V5.5V 范围内,2.5V 时耗电小于300nA。所以选择 DS1302 时钟芯片。2.1.3 显示部分的选择方案和论证方案一: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。方案二:采用 LED 数码管动态扫描,虽然 LED 数码管价格适中,但要显示多个数字所江西理工大学 2009 届专科生毕业设计(论文)3需要的个数偏多,功耗较大,所以也不用此种作为显示。方案三: 采用 LCD 液晶显示屏,液晶显示屏的显示功能强大,

7、可显示大量文字,图形,显示多样,清晰可见,与普通数码管相比功耗较小,硬件连接简单。所以选择液晶 LCD1602 作为显示。2、2 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用 AT89S52 作为主控制系统; DS1302 提供时;液晶 LCD1602 作为显示。 第三章 系统硬件电路设计江西理工大学 2009 届专科生毕业设计(论文)43.1 电路设计框图 键扫描电路 LCD 显示电路 时钟电路 主控模块 (89C52) 图 3-1 电路设计框图3.2 系统硬件概述本电路是由 STC89S52 单片机为控制核心,具有在线编程功能,低功耗,能在 3V 超低压工作;时钟电路由

8、 DS1302 提供,它是一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 31*8 的用于临时性存放数据的 RAM 寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能,本电路采用 DS1302 单字节传送方式实现与主控机之间数据的传送;显示部份由液晶 LCD1602 构成。3.3 主要单元电路的设计3.3.1 单片机主控制模块

9、的设计 AT89S52 单片机为 40 引脚双列直插芯片,有四个 I/O 口 P0,P1,P2,P3, MCS-51 单片机共有 4 个 8 位的 I/O 口(P0、P1、P2、P3) ,每一条 I/O 线都能独立地作输出或输入。单片机的最小系统如下图 3-2 所示,18 引脚和 19 引脚接时钟电路,XTAL1 接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2 接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第 9 引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20 引脚为接地端,40 引脚为电源端。如图 3-2 所示江西理工大学 2009

10、 届专科生毕业设计(论文)5 图 3-2 主控制系统3.3.2 时钟电路模块1. DS1302 的结构及工作原理 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于临时性存放数据的 RAM 寄存器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进

11、行涓细电流充电的能力。2. 引脚功能及结构 图 3-3 所示出 DS1302 的引脚排列,其中 VCC1 为后备电源,VCC2 为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302 由 VCC1 或 VCC2 两者中的较大者供电。当 VCC2 大于 VCC10.2V 时,VCC2 给 DS1302 供电。当VCC2 小于 VCC1 时,DS1302 由 VCC1 供电。X1 和 X2 是振荡源,外接32.768kHz 晶振。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位

12、寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在 VCC2.5V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串行数据输入输出端(双向),后江西理工大学 2009 届专科生毕业设计(论文)6面有详细说明。SCLK 始终是输入端。 图 3-3 DS1302 引脚图 (2) DS1302 的控制字节DS1302 的控制字如图 3-4 所示。控制字节的高有效位

13、(位 7)必须是逻辑1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 RAM RD 1 /CK A4 A3 A2 A1 A0 /WR 图 3-4 DS1302 的控制字格式(3) 数据输入输出(I/O)在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出

14、 DS1302 的数据,读出数据时从低位 0 位到高位7。如下图 3-5 所示。江西理工大学 2009 届专科生毕业设计(论文)7图 3-5 DS1302 单字节读/写时序图(4) DS1302 的寄存器DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式,其日历、时间寄存器及其控制字见图 3-6。图 3-6 DS1302 的日历、时间寄存器此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器

15、分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写)、FFH(读)。3.3.3 LCD1602 显示模块1、字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD, 目前常用 16*1,16*2,20*2 和 40*2 行等的模块。下面以长沙太阳人江西理工大学 2009 届专科生毕业设计(论文)8电子有限公 司的 1602 字符型液晶显示器为例,介绍其用法。一般 1602

16、 字符型液晶显示器实物如图3-7所示,图3-7 LCD1602外形图2、引脚功能说明1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如图3-8所江西理工大学 2009 届专科生毕业设计(论文)9示,编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极图3-8 LCD1602引脚接口说明表第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正

17、电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比 度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整 对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存 器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电 平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 江西理工大学 2009 届专科生毕业设计(论文)10第 6 脚:E 端为使能端,当 E 端由高电平

18、跳变成低电平时,液晶模块执行令。 第714 脚:D0D7 为 8 位双向数据线。 第15 脚:背光源正极。 第16 脚:背光源负极。读写操作时序如图3-9所示图3-9 读操作时序图3-10 写操作时序3、1602LCD 的 RAM 地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-11是 1602 的内部显示地址。江西理工大学 2009 届专科生毕业设计(论文)11图3-11 LCD1602 内部显示地址例如第二行第一个字符的地址是 40H,那么

19、是否直接写入 40H 就可以将光标定位在第二行第 一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实 际写入的数据应该是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。第四章 系统软件电路设计LCD 电子万年历的软件设计包括显示程序、初始化程序、按键调整程序等。通过各模块的确定来进一步的设计软件。运用计算机进行仿真逐步实现 LCD 电子万年历的各项性能指标。在程序设计中采用模块化设计思想,能使程序可读性加强,而且编写时很方便,将要实现的功能分成几部分,由于某些功能使用不只一次,将它编成一个子程序,既可随时多次调用

20、,修改时也不会影响其他程序。具体程序见附录二。4.1 主程序流程图主程序流程图江西理工大学 2009 届专科生毕业设计(论文)12 液晶初始化 显示子程序 返回 开始 1302 设置初始时间按键扫描子程序 图 4-1 主程序流程图4.2 按键调整流程图按键调整流程图调整时间是由 3 个按键控制完成的,1 个作为移位控制用,另外 2 个分别作为加调整和减调整用。在调整时间过程中,要调整的位与其他位应该有区别,所以增加了闪烁功能,即调整的位一直在闪烁,直到调整下一位示值给该位。时间调整程序流程图如图 4-2 所示。江西理工大学 2009 届专科生毕业设计(论文)13判断是否有键按下Y计时停止N判断

21、功能键按下次数等待加、减键按下加键按下减键按下对应位时间加 1对应位时间减 1显示子程序返回,进入主循环8 次7 次图 4-2 按键调整流程图江西理工大学 2009 届专科生毕业设计(论文)14第五章 系统硬件和软件的调试5.1 系统硬件的焊接与调试电子万年历的电路系统中,对于焊接方面不可轻视,电路系统中只要出现一处的微小错误,都会对检测造成很大的不便,使电路不可能正常的工作。在本次电子万年历的设计调试中遇到了很多的问题。主要的问题如下:(1)误把 DS1302 晶振连接后又接到电源地端;(2)1602 在显示时间时出现黑格子,遮挡了时间,原因是在第三引脚没加电阻分压导致,加上 10K 可调电

22、阻后电路正常显示时间。5.2 系统软件的调试电子万年历的软件程序还是比较庞大的,思路一定要保持清晰,尤其是对DS1302 时钟芯片要有很好的理解,才能灵活的使用和控制。所以在编写程序和调试时出现了相对较多的问题。最后经过多次的调试修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下: (1)对万年历修改时间或日期时,有时时间改变 2 次,在程序中加上松手检测即可;(2)1602 显示的时间不完整,最后在液晶初始化程序中加上该显示的数字即可;(3)在调整时间时光标闪烁不规律,原因的由于错用 DS1302 停振指令所致,最后加上一个变量进行控制即可。 最后经过多次的反复分析与

23、调试,电路达到了本次设计的基本要求。在不断的调试中,对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力;在软件的编程方面也得到一定的提高,对编程经验也得到了积累,同时对所学的知识得到很大的提高与巩固。江西理工大学 2009 届专科生毕业设计(论文)15致谢历经两个月的毕业设计结束了,过程的曲折可谓一言难尽。从开始时满怀热情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。本次毕业设计中我设计了一个 LCD 电子万年历。通过不断的翻阅资料对于单片机及接口技术,以及利用编程语言对单片机进行结构化编程的一般方法和技巧有了很多的理解。对于智能仪器的设计方法有了新的认识。在设计的过程中

24、也经历了很多自己没有想到的困难。在不断研读程序中,学习到了不少编程知识。这些对于我以后的学习有很大的帮助。在这些日子里我得到了指导教师的悉心指导和同学们的热心帮忙,在此向我们的指导教师致以诚挚的谢意。感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我们对这次的作品完成有了信心和动力,也给了我们很多无私的帮助和支持,我们在此深表谢意。毕业设计的结束也意味着我将走出校园,结束学生生涯,走入社会,不管有多么的不舍,但该面对的还是要面对。总之,这两个月的毕业设计真的让我成长很多,在今后的工作中我也要尽可能的多学东西,不断的完善自己!参考文献 1 郭天祥.51 单片机 C 语言教程.电子工业出版社,

25、2009,147-166. 2 李广弟.单片机基础.北京航空航天大学出版社,2007,18-28.3 占跃华.C 语言程序设计.北京邮电大学出版社,2010,66-70.江西理工大学 2009 届专科生毕业设计(论文)16附录一 电路原理图江西理工大学 2009 届专科生毕业设计(论文)17附录二 程序清单#include#define uchar unsigned char#define uint unsigned int/uchar code table1= 2011-12-23 05 ;/uchar code table2= 10:59:50;sbit lcdrs=P10;sbit lc

26、drw=P11;sbit lcden=P12;sbit ACC0=ACC0;sbit ACC7=ACC7;sbit dsio=P16; sbit dsclk=P15; sbit dsrst=P17; sbit set=P27; sbit up=P23 ; sbit down=P20; void keyscan();void write_sfm(uchar add,uchar shu);char shi,fen,miao,ri,yue,nian,zhou,flag;void delay(uchar z) uchar x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*往 d

27、s1302 写入一字节*/void inputbyte(uchar add)uchar i;ACC=add;for(i=8;i0;i-)dsio=ACC0; dsclk=1;江西理工大学 2009 届专科生毕业设计(论文)18 dsclk=0; ACC=ACC1;/*ds1302 输出一字节*/uchar outputbyte(void)uchar i;for(i=8;i0;i-)ACC=ACC1; ACC7=dsio; dsclk=1; dsclk=0;return ACC;/*往 ds1302 写入数据*/void write_ds(uchar add,uchar ucda)dsrst=0

28、;dsclk=0;dsrst=1;inputbyte(add);inputbyte(ucda);dsclk=1;dsrst=0;/*从 ds1302 读出数据*/uchar read_ds(uchar add)uchar ucda;dsrst=0;dsclk=0;dsrst=1;inputbyte(add);江西理工大学 2009 届专科生毕业设计(论文)19ucda=outputbyte();dsclk=1;dsrst=0;return(ucda);/*往 1602 液晶写入指令*/void write_com(uchar com)lcdrs=0;lcdrw=0;P0=com;delay(5

29、);lcden=1;delay(5);lcden=0;/*往 1602 液晶写入数据*/void write_date(uchar date1)lcdrs=1;lcdrw=0;P0=date1;delay(5);lcden=1;delay(5);lcden=0;/*设置 DS1302*/void write_setds(uchar addr,uchar date)write_ds(0 x8e,0 x00);write_ds(addr,date);write_ds(0 x8e,0 x80);/*初始化*/ void init()江西理工大学 2009 届专科生毕业设计(论文)20/uchar i

30、;lcden=0;write_com(0 x38);write_com(0 x0c);write_com(0 x06);write_com(0 x01);delay(5);write_com(0 x80+0 x01);write_date(0 x32); delay(2);write_com(0 x80+0 x02);write_date(0 x30); delay(2);write_com(0 x80+0 x05); write_date(0 x2d); delay(2); write_com(0 x80+0 x08); write_date(0 x2d); delay(2); write_

31、com(0 x80+0 x44); write_date(0 x3a); delay(2); write_com(0 x80+0 x47); 江西理工大学 2009 届专科生毕业设计(论文)21 write_date(0 x3a); delay(2); /*往 1602 写入日期*/void write_nyr(uchar add,uchar date)uchar shi,ge ;shi=date/10;ge=date%10;write_com(0 x80+0 x01+add);write_date(0 x30+shi);write_date(0 x30+ge);/*显示函数*/void di

32、splay()if(flag!=1) uchar d; d=read_ds(0 x81); miao=(d/16)*10+(d%16); write_sfm(8,miao); d=read_ds(0 x83); fen=(d/16)*10+(d%16); write_sfm(5,fen); d=read_ds(0 x85); shi=(d/16)*10+(d%16); write_sfm(2,shi); d=read_ds(0 x87); ri=(d/16)*10+(d%16); write_nyr(8,ri); d=read_ds(0 x89);江西理工大学 2009 届专科生毕业设计(论文

33、)22 yue=(d/16)*10+(d%16); write_nyr(5,yue);d=read_ds(0 x8b); zhou=d%16; write_nyr(12,zhou); d=read_ds(0 x8d); nian=(d/16)*10+(d%16); write_nyr(2,nian); /*往 1602 写入时间*/ void write_sfm(uchar add,uchar date)uchar shi,ge;shi=date/10;ge=date%10;write_com(0 x80+0 x40+add);write_date(0 x30+shi);write_date(

34、0 x30+ge); void main()init(); write_setds(0 x80,0 x50); write_setds(0 x82,0 x59); write_setds(0 x84,0 x10); write_setds(0 x86,0 x23); write_setds(0 x88,0 x12);write_setds(0 x8a,0 x05); write_setds(0 x8c,0 x11);write_setds(0 x90,0 xa4);while(1) keyscan(); 江西理工大学 2009 届专科生毕业设计(论文)23 display(); void ke

35、yscan()uchar aa,bb,rimax; if(set=0) delay(3); if(set=0) aa+; while(!set); if(aa=1) flag=1; write_ds(0 x8e,0 x80); write_com(0 x80+0 x40+8); write_com(0 x0f); write_ds(0 x8e,0 x00); bb=read_ds(0 x81); miao=(bb/16)*10+bb%16; bb=read_ds(0 x83); fen=(bb/16)*10+bb%16; bb=read_ds(0 x85); shi=(bb/16)*10+bb

36、%16; bb=read_ds(0 x87); ri=(bb/16)*10+bb%16; bb=read_ds(0 x89); yue=(bb/16)*10+bb%16; bb=read_ds(0 x8b); zhou=(bb/16)*10+bb%16; bb=read_ds(0 x8d);江西理工大学 2009 届专科生毕业设计(论文)24 nian=(bb/16)*10+bb%16; if(aa=2) write_com(0 x80+0 x40+5); if(aa=3) write_com(0 x80+0 x40+2); if(aa=4) write_com(0 x80+0 x0d); i

37、f(aa=5) write_com(0 x80+0 x09); if(aa=6) write_com(0 x80+6); if(aa=7) write_com(0 x80+3); if(aa=8) aa=0; write_com(0 x0c); write_ds(0 x8e,0 x80); flag=0; if(aa!=0) if(up=0) delay(5) ; if(up=0) while(!up); if(aa=1) miao+; if(miao=60) miao=0 ;江西理工大学 2009 届专科生毕业设计(论文)25 write_sfm(8,miao); write_com(0 x

38、80+0 x40+9); if(aa=2) fen+; if(fen=60) fen=0; write_sfm(5,fen); write_com(0 x80+0 x40+6); if(aa=3) shi+; if(shi=24) shi=0; write_sfm(2,shi); write_com(0 x80+0 x40+3); if(aa=4) zhou+; if(zhou=8) zhou=1; write_nyr(12,zhou); write_com(0 x80+0 x0d); if(aa=5) ri+;if(yue=1|yue=3|yue=5|yue=7|yue=8|yue=10|y

39、ue=12)rimax=31;if(yue=4|yue=6|yue=5|yue=9|yue=11)rimax=30;if(yue=2)江西理工大学 2009 届专科生毕业设计(论文)26if(nian%4=0&nian%100!=0|nian%400=0)rimax=28;elserimax=29;if(ririmax) / if(ri=32) ri=1; write_nyr(8,ri); write_com(0 x80+0 x0a); if(aa=6) yue+; if(yue=13) yue=1; write_nyr(5,yue); write_com(0 x80+7); if(aa=7)

40、 nian+; if(yue99) yue=0;write_nyr(2,nian); write_com(0 x80+4); if(down=0) delay(5) ; if(down=0) while(!down);江西理工大学 2009 届专科生毕业设计(论文)27 if(aa=1) miao-; if(miao=-1) miao=59; write_sfm(8,miao); write_com(0 x80+0 x40+9); if(aa=2) fen-; if(fen=-1) fen=59; write_sfm(5,fen); write_com(0 x80+0 x40+6); if(a

41、a=3) shi-; if(shi=-1) shi=23; write_sfm(2,shi); write_com(0 x80+0 x40+3); if(aa=4) zhou-; if(zhou=0) zhou=7; write_nyr(12,zhou); write_com(0 x80+0 x0d); if(aa=5) ri-;if(ri=0)江西理工大学 2009 届专科生毕业设计(论文)28if(yue=1|yue=3|yue=5|yue=7|yue=8|yue=10|yue=12)ri=31;if(yue=4|yue=6|yue=5|yue=9|yue=11)ri=30;if(yue=

42、2)if(nian%4=0&nian%100!=0|nian%400=0)ri=28;elseri=29; / if(ri=0) / ri=31; write_nyr(8,ri); write_com(0 x80+0 x0a); if(aa=6) yue-; if(yue=0) yue=12; write_nyr(5,yue); write_com(0 x87); if(aa=7) nian-;if(nian=-1) nian=99; write_nyr(2,nian); write_com(0 x84); 江西理工大学 2009 届专科生毕业设计(论文)29 write_ds(0 x80,(miao/10)*16+miao%10); write_ds(0 x82,(fen/10)*16+fen%10); write_ds(0 x84,(shi/10)*16+shi%10); write_ds(0 x86,(ri/10)*16+ri%10); write_ds(0 x88,(yue/10)*16+yue%10);write_ds(0 x8a,(zhou/10)*16+zhou%10); write_ds(0 x8c,(nian/10)*16+nian%10); display();

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