毕业设计(论文)-基于AT89S52单片机的多功能数字时钟设计.doc_第1页
毕业设计(论文)-基于AT89S52单片机的多功能数字时钟设计.doc_第2页
毕业设计(论文)-基于AT89S52单片机的多功能数字时钟设计.doc_第3页
毕业设计(论文)-基于AT89S52单片机的多功能数字时钟设计.doc_第4页
毕业设计(论文)-基于AT89S52单片机的多功能数字时钟设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计论文题 目 多功能数字时钟 系别: 专业: 年级: 学生姓名: 同组成员: 指导教师: 完成日期: 【摘要】 本设计是设计一个单片机控制的多功能时钟系统。本设计的多功能时钟系统采用AT89S52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合液晶显示电路、时钟芯片DS1302电路、电源电路以及按键电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现液晶显示,显示时间有年、月、日、时、分、秒以及星期,还可以设置闹钟和整点报时以及断电保护功能可谓功能强大。其中软件系统采用单片机汇编语言编写程序,包括显示程序,闹钟数程序,中断,延时程序,按键消抖程序等,并在keil中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。【关键词】 时钟芯片DS1302、单片机汇编语言、液晶显示电路、AT89S52芯片目录1 前言.42系统总体方案设计及硬件设计.4 2.1 系统总体方案设计. . .5 2.2 硬件电路设计与分析. . .52.2.1振荡器和时钟电路工作原理.62.2.2时钟芯片数据采集设计与分析.62.2.3液晶显示电路. .62.2.4输出控制电路. .72.2.5复位电路.72.2.6电源电路和总电路布局.73 软件设置及调试. . . .8 3.1软件总体方案设计. .8 3.2按键模块设计. . .11 3.2.1按键1的说明. .123.2.2按键2的说明. .133.2.3其他按键的说明. .13 3.2.4报时功能的说明. .133.2.5闹钟功能的说明. .143.2.6加1、移位功能的说明. .14 3.3 时钟模块设计. . .14 3.4 液晶显示模块设计. .144 设计总结. . .145程序清单. . .146 参考文献. .181 前言在当代繁忙的工作与生活中,时间与我们每一个人都有着非常密切的关系,都受到时间的影响。为了更好的利用自己的时间,我们必须对时间有一定度量,因此产生了万年历和钟表。电子时钟的发展是非常迅速的,从刚开始纯粹的日历发展到现在的年月日及分秒,即使现在的电子时钟千奇百怪,但是它们都只是完成一种功能-计时功能。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历 、以及星期等,给人们的生活带来了方便。另外数字钟还具闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。本设计在设计过程中认真分析了各种软件的使用利弊,摈弃了许多陈杂不合适的方法,在设计软件使用上选择了以往学过的keil、Proteus和单片机程序烧写软件。整个设计过程将理论与实践相结合,突出了实战性。2、系统总体方案设计及硬件设计2.1 系统总体方案设计电路原理设计是基于小系统板包括电源电路、复位电路、按键电路、DS1302时钟电路、液晶显示驱动电路、输出控制电路。电源部分是用电池来提供的3v-5v,晶体振荡器采用的是12MHz的石英晶体振荡器。整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;并通过I/O口实现LCD的显示。系统设有4个独立式按键可以对时间星期年月日进行调整,还可以设置闹钟。具体如图1所示:主 控制器AT89S52系列单片机芯片电源复位电路按键电路时钟振荡电路液晶显示DS1302时钟芯片电路输出控制电路图1系统整体框图2.2硬件设计2.2.1振荡器和时钟电路工作原理AT89S2单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟,外部还需附加电路。XTAL1引脚为反相放大器和时钟发生电路的输入端,XTAL2引脚为反相放大器的输出端。片内时钟发生器实质是个2分频的触发其输入来自振荡器的fosc,输出为2相时钟信号,即节拍信号P1、P2,器频率为fosc2。2个节拍为1个状态时钟S。状态时钟再3分频后为ALE信号,其频率为fosc6,状态时钟6分频后为机器周期信号,器频率为fosc12。特殊功能寄存器PCON的PD位可以控制振荡器的工作,当PD=0时,振荡器停止工作,单片机进入低功耗工作状态,复位后,PD=0,振荡器正常工作。2.2.2时钟芯片数据采集设计与分析(1)DS1302是一种可编程的实时时钟芯片,具有计算2100年前的时间的能力,包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信权通过一条串行输出口。时钟/日历提供包括秒、分、时、日期、月份和年份信息。闰年可自行调整,以串行方式向单片机传送单字节或多字节的秒、分、时、日、月、年等实时时间数据;只通过三根线进行数据的控制和传递:RST、I/O、SCLK;其在电路的功能是还具有在出现主电源断电时备用电源可继续保持时钟的连续运行。图2 时钟引脚图(2)DS1302芯片内部寄存器读写地址及位定义格式如表1:寄存器名读写地址取值范围位定义写操作读操作D7D6D5D4D3D2D1D0秒寄存器80H81H00-59CH秒十位秒个位分寄存器82H83H00-590分时位分个位时寄存器84H85H01-12或00-2312/240AM/PM十位小时个位日期寄存器86H87H01-28-3100十位日个位星期寄存器8AH8BH01-070000星期位月寄存器88H89H01-12000十位月个位年寄存器8CH8DH00-99年十位年个位控制寄存器8EH8FHWP0000000 表1 DS1302芯片内部寄存器读写地址及位定义如果单片机要对DS1302内部寄存器进行读写操作,必须先将与寄存器对应的位操作地址传送给DS1302,然后再进行读写数据的操作。控制寄存器是用来决定能否对DS1302进行读写操作,当控制字的最高位WP=0时,允许进行读写操作;当WP=1时,禁止读写操作。所以单片机对DS1302进行读写操作时,必须先将控制字00H写入到DS1302的控制寄存器中。2.2.3 液晶显示电路LCD显示器能显示数码管不能显示的其他字符、文字和图形,是十分重要的显示终端,LCD1602是字符点阵液晶显示模块。利用LCD1602,所用的时间年、月、日、星期可同时可见,一目了然,采用双行显示,让电子钟能够更直观的显示。其实图如图3、引脚功能如表2:图3 液晶显示器实图引脚号引脚名称引脚功能含义1Vss地管脚(GND)2Vdd+5V电源引脚(Vcc)3Vo液晶显示驱动电源(05V),可接电位器4RS数据和指令选择控制端,RS=0:命令/状态RS=1:数据5R/W读写控制线,R/W=0:写操作,R/W=1:读操作6E数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机之间将进行一次数据转换714DB0DB7数据线,可以用8位连接,也可以用高四位连接,节约资源15A背光控制正电源16K背光控制地表2 lcd液晶显示器引脚功能2.2.4 输出控制电路在P2.0端口接一个蜂鸣器,用于整点报时和响闹铃。2.2.5复位电路本次设计采用按键电平复位,按键电平复位相当于按复位键后,复位端通过电阻与Vcc电源接通;2.2.6 电源电路和总电路布局因为该电路所需电压为3-5v,可直接用电池供应或也可以用直流电源供应,但需经过变压才行。下图图4为整个设计的总体布局图。图4 硬件电路设计总布局图3 软件设计及调试3.1软件总体设计方案A 软件设计目标: 软件部分总体上是模块化的设计思想,通过子程序调用设计方式 ,将所有的模块综合到一起,使程序可读性较高。B 总体架构说明该时钟程序设计思路如下:(1)、在程序头将设计中的一些固定空间进行分配并注释。(2)、初始化程序,如设定时钟初始显示“2010年3月20日,星期四,11:59 ”以便一开始就能进入整点报时状态,显示该功能;设定使用定时器1;将一些未到时钟设计功能的功能端口关闭等。(3)开始主程序进行程序扫描,先扫描拆字子程序,将分配好的时分秒等高地位的数字调入到显示子程序中。显示子程序通过分配的空间对应口将拆字子程序的内容在液晶显示器上显示相应的时分秒,再调用走时程序使时钟进行读秒等工作。进入按键扫描,判断按键是否有变动,若有就根据设计程序对相应的按键按入次数而进行实现相应的功能。如进入时间调整、闹钟设置、闹钟开启与否等。进入闹钟的判断,在时分上与设置的闹铃时间吻合的话就做相对应的判断,再依据是否有开启闹钟而进行响铃与否,如果有响铃则设置其一直响铃知道有人为按取消按键取消闹铃。进入整点报时扫描,判断是否在时分上都进入了整点,如果是就报时,然后就退出整点报时,等到下一个整点的到来。最后返回主程序头重新依次扫描。显示过程设有消隐,按键设有去斗。(4)子程序部分。在主程序的调用下依据不同的子程序工能而编写子程序,有多级嵌套。这些子程序包括拆字子程序、延时子程序、走时间子程序、整点报时子程序、按键处理子程序、调时间子程序、闹钟设置子程序、闹钟子程序、闹钟开启子程序。主流程图如图5所示。开始各模块初始化是否处于设置拆字闹钟是否开启比较闹钟时间与当前时间按键模块执行报时判断整时是否执行报时报时功能否开启读时间图5 主程序流程图(2)I/O口分配表名称地址功能端口P_LcdP0lcd数据端口pqp1按键输入端口lcdrsp2.5lcdrs=1选择数据寄存器,lcdrs=0选择指令寄存器lcdrwp2.6lcdrw=1进行读操作,lcdrw=0进行写操作lcdep2.7lcdep由1-0 时,液晶模块执行命令pfP2.0闹钟蜂鸣器接口datP2.4DS18b20 数据端口sclkp3.5ds1302时钟端口iop3.6ds1302数据端口rstp3.7ds1302复位端口位标志IsSheZhi30h设置判断位BJ31h比较标示位QH32h切换屏幕标示位bs33h报时功能标示位cxbs34h执行报时标志位sec50h秒暂存地址min51h分暂存地址hour52h时暂存地址day53h日暂存地址month54h月暂存地址week55h星期暂存地址year56h年后两位暂存地址KeyCode 57h按键1功能子程序序号暂存地址jiepai58h存放报时声音的节拍常数chuzhi59h报时开始秒时间常数shengshu5ah存放报时声数DspBuf60h当前时间拆字后存参照地址dspba70h闹钟时间首地址 表3 I/O口分配表(4)子程序详解表子程序名称功能改变Sub1闹钟pfSub2报时一声Pf、th1、jiepaizhengshi判断当前时间是否是整时shengshu 、cxbsbaoshi执行报时功能Shengshu、cxbsbijiao判断是否到闹钟时间TR0opr00设置当前时间状态IsSheZhi、r1、KeyCodeopr01进入设置闹钟时间状态IsSheZhi、r1、KeyCodeopr02把所设置的时间作为当前时间KeyCode、sec、min、hour、day、month、IsSheZhiopr03把所设置的时间作为闹钟时间KeyCode、IsSheZhiwriteDS18b20写DQ、r4、r7readDS18b20读DQ、r0、r4、r5、r7set1302ds1302初始化Rst、Sclk、r0、r1、r6get1302读出秒,分,时,日,月,星期,年读出秒,分,时,日,月,星期,年Rst、Sclk、r0、r1、r6clockrdds1302读子程序Sclk 、r7Ds1302Rds1302写数据子程序Sclk 、r7chaizi时钟拆字DspBuf、b、r0Initdisplay初始状态显示dptrdispGD固定字符显示word字年,月,日 cLcdDspBuf写入显示数字R0、R2LcdWrDat写入数据LCDRS、LCDRW、LcdELcdWrCmd写入命令LCDRS、LCDRW、LcdElcd_initLCD初始化delay延时r6、r7anjian1执行按键1的功能KeyCode、IsSheZhianjian2执行按键2的功能KeyCode、IsSheZhianjian3执行按键3的功能KeyCode、QHanjian4执行按键4的功能KeyCode、bswww www www扫描当前时间编辑位wwwa扫描闹钟时间编辑位yan500ms延时500mshex2bcd拆字子程序display_nz显示闹钟时间display显示当前时间表4 子程序详解表3.2按键模块设计设计系统中的按键模块仅占用四个I/O口,从89s52芯片p1.0、p1.1、p1.2、p1.3四个引脚接入进行控制。当没有按键按下时,均为高电平,有按键按下时相应I/O口为低电平,但并没有立即执行相应的程序,延时5ms后若再为低电平,等I/O口恢复高电平,即按键松开时,才执行相应的程序,此时按键才起作用。这样该按键模块具有去抖动,且按键按下一次仅作用一次,起到精确判断的作用。其设计流程图和设计具体的按键操作说明如下:是否有按键按下按键1是否按下按键1是否松开按键1模块程序按键2模块程序按键2是否按下按键2是否松开按键3是否按下开始是否有按键按下延时5ms按键3是否松开按键3模块程序按键4是否按下按键4是否松开按键4模块程序结束图6 按键程序流程图3.2.1 按键1的说明按键1有四种功能,分别为下面4个子程序:子程序0的功能为:进入设置当前时间状态,且令keycode=2;子程序1的功能为:进入设置闹钟时间状态,且令keycode=3;子程序2的功能为:把所设置的时间作为当前时间,且令keycode=0;子程序3的功能为:把所设置的时间作为闹钟时间,且令keycode=0;每次按下按键1,按键1程序根据的KeyCode内容转入各对应的子程序中(因为当KeyCode值不同时,经过计算得到dptr的值不同,然后经过jmp a+dptr指令就可跳转到不同的子程序中,具体程序说明),从而实现不同的功能。从各按键的功能可知,每次按下按键1,都会改变KeyCode内容,使按键1的功能发生改变。3.2.2 按键2的说明 按键2有两种不同的功能:对应于设置状态为加1;对应于非设置状态为切换屏幕。所以按键2程序开头就先判断闹钟是否处于设置状态。由按键1的功能流程图可知:当闹钟处于非设置状态时,keycode等于0或1;处于设置状态时,keycode等于2或3;所以可用如下语段判断闹钟是否处于设置状态:当闹钟处于设置状态,keycode值大于2,c等于0当闹钟处于非设置状态,keycode值小于2,c等于1开始判断闹钟是否处于设置状态 加1Cpl IsSheZhi cpl QH; 切换屏幕结束Keycode= 0QH是否为0Keycode= 1图7 按键2程序流程图3.2.3 其他按键的说明:剩下3、4按键都于按键2类似,先判断是否处于设置状态,然后转入不同的语句,不再说明。3.2.4 报时功能的说明:当报时功能开启,即bs=0时,LCD上会出现相应的标示符号。此时,主程序将扫描zhengshi子程序。zhengshi子程序能判断当前时间是否为整点,若为整点将使cxbs=0,且把hour由BCD码化为二进制存储在字节shengshu(为报时声数,将在baoshi子程序中使用)中,之后主程序将扫描baoshi子程序,即开始报时。 chuzhi=0, 由baoshi子程序可知,闹钟从0秒开始报时,当报时完毕将自动令cxbs=1。3.2.5 闹钟功能的说明:当闹钟功能开启,即bj=0时,LCD上会出现相应的标示符号此时,主程序将扫描zhengshi子程序。zhengshi子程序对当前时间和闹钟时间进行比较,当它们的分、时全相等时开启中断sub1,否则关闭中断sub1。这样就可实现闹钟闹铃一分钟后自动停止鸣叫的要求。3.2.6 加1、移位功能的说明:将年份前两位与年(year)、月(month)、星期(week)、日(day)、时(hour)、分(min)、秒(sec)拆字后分别存储在DspBuf-2、DspBuf-1、DspBuf+0、DspBuf+1、DspBuf+2、DspBuf+3等13个字节中。而把它们的每一为在LCD上的显示位置地址放在如下表中:tab4:db 80h,81h,82h,83h,85h,86h,88h,89h,8eh,0c2h,0c3h,0c5h,0c6h,0c8h,0c9h;!当前时间各编辑位在LCD上的位置表。然后执行mov r1,#DspBuf+12; inc r1就可实现对秒个位加1。执行:dec r1和子程序www就可实现移位功能.3.3时钟模块设计 单片机要先从DS1302芯片中读取时钟数据,然后通过LCD显示出来。在读取DS1302的时间和日期之前,先要对DS1302进行赋初始时间并开启时钟。时钟被启动后若未接收到新的赋时间指令,其内部的时钟将一直不停的运行,以保证时间的实时性和准确性;期间单片机可随时读取DS1302内部时间和日期寄存器中的数值。3.4液晶显示模块设计本设计液晶时钟显示系统设计上由液晶显示器显示、时钟芯片DS1302提供时间,可为使用者提供完整的时间信息。由于LED数码管只能显示数字而无法显示其他中英文字符,并对成本及功能考虑,因此从设计的成本及功能的角度考虑,采用LCD一1602显示模块,它可以显示年、月、日、星期等中文字目。LCD一1602驱动电路简单,可以由单片机直接输出命令驱动。4 设计总结在长达一个多月的设计制作中让我学到了软件与硬件的结合设计的许多知识,同时在出现的多种软件与硬件的问题上使我学会了如何去分析问题的所在,并结合所学知识去一一解决。在处理液晶显示的知识漏洞上,我重新翻阅了以往所学的课本,在复习中学会了很多。在硬件与软件结合的故障问题加强了我的耐心和细心的锻炼。虽然所选择的设计课题只是一个小系统,但是只要有足够的知识我们便可以把它变成一个大的系统,让它运用在现实的社会生活中。在一个月的时间努力下最后完成了我们的课题设计,使我们有一种成就感。5 附录:部分模块程序代码及设计实物图和仿真电路图 5.1 主程序代码 mainloop: jb IsSheZhi, SheZhi ;判断是否处于设置状态,处于设置状态则跳转 lcall get1302 ;调读时间子程序 lcall chaizi lcall display ;调显示子程序,显示当前时间与温度SheZhi:jb BJ,xq ;判断闹钟功能是否开启,未开启则跳转 lcall bijiao ;调比较子程序,比较当前时间与闹钟时间xq: lcall anjian ;按键扫描 jb bs,bs_1 lcall zhengshi ;判断当前时间是否是整时,即能否报时bs_1: jb cxbs,cx_1 lcall baoshi ;执行报时功能cx_1: sjmp mainloop5.2 初始化DS1302程序代码set1302:mov a,#8eh ;写DS1302控制寄存器地址 mov b,#00h ;允许写操作,将WP位设置为低电平 lcall clockwr mov a,#8ch ;写年初值 mov b,year lcall clockwr mov a,#88h ;写月初值 mov b,month lcall clockwr mov a,#8ah ;写星期初值 mov b,week lcall clockwr mov a,#86h ;写日期初值 mov b,day lcall clockwr mov a,#84h ;写时初值 mov b,hour lcall clockwr mov a,#82h ;写分初值 mov b,min lcall clockwr mov a,#80h ;写秒初值 mov b,sec lcall clockwrret5.3 读时间子程序代码get1302:mov a,#81h ;读秒 lcall clockrd mov sec,a mov a,#83h ;读分 lcall clockrd mov min,a mov a,#85h ;读时 lcall clockrd mov hour,a mov a,#87h ;读日 lcall clockrd mov day,a mov a,#8bh ;读星期 lcall clockrd mov week,a mov a,#89h ;读月 lcall clockrd mov month,a mov a,#8dh ;读年 lcall clockrd mov year,a ret5.4延时子程序代码delay: mov r7,a ;设置a为自定义变量,可省去其他延时程序的编写d2: mov r6,#250 ;设置1ms延时d1: nop nop djnz r6,d1 djnz r7,d2 ret5.5实物图34 5.6 仿真电路图5.7 程序清单 ; 初始化 ;P_Lcd equ P0 ;液晶lcd数据总线pq equ p1 ;按键接口pf bit p2.0 ;蜂鸣器接口led bit p2.1 ;led灯指示接口lcdrs bit p2.5 ;lcdrs=1选择数据寄存器,lcdrs=0选择指令寄存器lcdrw bit p2.6 ;lcdrw=1进行读操作,lcdrw=0进行写操作lcde bit p2.7 ;lcdep由1-0 时,液晶模块执行命令sclk bit p3.5 ;时钟芯片时钟线引脚io bit p3.6 ;时钟芯片数据传输线引脚rst bit p3.7 ;时钟芯片复位线引脚IsSheZhi bit 30h ;设置状态标示位BJ bit 31h ;比较标示位QH bit 32h ;切换标示位bs bit 33h ;报时功能标示位cxbs bit 34h ;执行报时标志位sec equ 50hmin equ 51hhour equ 52hday equ 53hweek equ 54hmonth equ 55hyear equ 56hKeyCode equ 57h ;按键1功能子程序序号存储地址jiepai equ 58h ;存放报时声音的节拍常数chuzhi equ 59h ;报时开始秒时间常数shengshu equ 5ah ;存放报时声数DspBuf equ 60h ;当前时间拆字后存储首地址dspba equ 70h ;闹钟时间首地址org 0hljmp mainorg 00bhljmp sub1org 01bhljmp sub2org 30h; 主程序 ;main:clr IsSheZhiclr QHsetb BJsetb bssetb cxbsmov KeyCode,#00hmov sp ,#30hmov year,#10h ;为当前时间付初值mov month,#03hmov week,#4hmov day,#20hmov hour,#11hmov min,#59hmov sec,#00hmov DspBuf-1,#0hmov DspBuf-2,#02hmov jiepai,#80h ;设置节拍常数mov chuzhi,#00h ;设置1秒时开始报时mov dspba+0,#00h ;为闹钟时间赋初值mov dspba+1,#09hmov dspba+2,#0hmov dspba+3,#0hmov TH0,#0ffhmov TL0,#0ffhmov TH1,#0ffhmov TL1,#0ffhmov IE,#8aHmov TMOD,#11hsetb pfacall lcd_init ;调LCM的初始化程序lcall word ;把自创字符写入CGRAM的子程序lcall set1302 ;DS1302初始化mainloop:jb IsSheZhi, SheZhi ;判断是否处于设置状态,处于设置状态则跳转lcall get1302 ;调读时间子程序lcall chaizilcall display ;调显示子程序,显示当前时间与温度SheZhi:jb BJ,xq ;判断闹钟功能是否开启,未开启则跳转lcall bijiao ;调比较子程序,比较当前时间与闹钟时间xq: lcall anjian ;按键扫描jb bs,bs_1lcall zhengshi ;判断当前时间是否是整时,即能否报时bs_1: jb cxbs,cx_1lcall baoshi ;执行报时功能cx_1: sjmp mainloop; 液晶显示初始化设定 ;lcd_init:mov a,#01h ;清除LCD的显示内容(清屏)acall LcdWrCmdmov a,#10 ;10ms延时acall delaymov a,#38h ;显示模式设置(使用8位数据,显示两行,使用5*7的字型)acall LcdWrCmdmov a,#10acall delaymov a,#0ch ;显示开及光标设置(显示器开,光标关,字符不闪烁)acall LcdWrCmdmov a,#10acall delaymov a,#06h ;显示光标移动设置(字符不动,光标自动右移)acall LcdWrCmdmov a,#10acall delayret;?; LCM命令嵌入 ;LcdWrCmd:clrLCDRWclrLCDRSmovP_Lcd, Amov a,#6acall delaysetbLcdEclrLcdEret;?; LCM数据输入 ;LcdWrDat:setbLCDRSclrLCDRWmovP_Lcd, Amov a,#6acall delaysetbLcdEclrLcdEret; 延时子程序 ;delay: mov r7,a ;设置a为自定义变量,可省去其他延时程序的编写d2:mov r6,#250 ;设置1ms延时d1:nopnopdjnz r6,d1djnz r7,d2ret; ds1302初始化程序set1302 ;set1302:mov a,#8eh ;写ds1302控制寄存器地址mov b,#00h ;允许写操作,将WP位设置为低电平lcall clockwrmov a,#8ch ;写年初值mov b,yearlcall clockwrmov a,#88h ;写月初值mov b,monthlcall clockwrmov a,#8ah ;写星期初值mov b,weeklcall clockwrmov a,#86h ;写日期初值mov b,daylcall clockwrmov a,#84h ;写时初值mov b,hourlcall clockwrmov a,#82h ;写分初值mov b,minlcall clockwrmov a,#80h ;写秒初值mov b,seclcall clockwrret; 读时间子程序get1302 ;get1302:mov a,#81h ;读秒lcall clockrdmov sec,amov a,#83h ;读分lcall clockrdmov min,amov a,#85h ;读时lcall clockrdmov hour,amov a,#87h ;读日lcall clockrdmov day,amov a,#8bh ;读星期lcall clockrdmov week,amov a,#89h ;读月lcall clockrdmov month,amov a,#8dh ;读年lcall clockrd

温馨提示

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

评论

0/150

提交评论