LCD数字电子钟的设计智能仪表综合训练设计说明书毕业论文.doc_第1页
LCD数字电子钟的设计智能仪表综合训练设计说明书毕业论文.doc_第2页
LCD数字电子钟的设计智能仪表综合训练设计说明书毕业论文.doc_第3页
LCD数字电子钟的设计智能仪表综合训练设计说明书毕业论文.doc_第4页
LCD数字电子钟的设计智能仪表综合训练设计说明书毕业论文.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

智能仪表综合训练设计说明书题 目:LCD数字电子钟摘要随着科技的发展,单片机的应用正在不断深入,涉及到日常生活的方方面面。本设计是基于单片机89C52为控制核心,以LCD1602为显示的数字时钟。其主要功能是可正常显示时钟、日历、带有定时闹钟的多功能数字电子钟。本设计采用89C52RC单片机芯片作为中央处理器,内部定时器定时计数产生时钟日历信息,星期通过编程计算自动生成,并利用液晶显示屏LCD1602来显示时钟、日历、星期、闹钟等信息,通过按键来设置或校准相关信息。本数字时钟设计的原理相对简单,所以硬件电路也相对简单,难点和重点主要放在C语言的编程上,使用到定时器的子程序、延时程序、键盘程序、液晶模块和单片机模块的初始化程序、液晶显示的程序等,各个函数交叉调用,配合主程序的运行。关键字: 电子钟; STC89C52; LCD1602; 键盘; 定时器第一章 前言随着电子技术的不断发展,单片机技术在设计中所体现出来的优势越来越明显,它不仅是电子信息类专业的一个重要部分,而且在其他类专业工程中也是不可缺少的。广泛地应用于家电、工业过程控制、仪器仪表、智能武器、航天和空间飞行器等领域,已成为新一代一些电子设备不可缺少的核心部件。单片机把计算机最基本的功能电路,如CPU、程序存储器、数据存储器、I/O接口、定时、计数器、中断系统等集成到一块芯片上,形成单片形态的计算机。单片机通常以最小系统运行,在家用电器中和常用的智能仪器仪表中常常可以“单片”工作,同时单片机在我们日常生活中叶经常见到,同时单片机在我们日常生活中也经常见到,如电子表、舞厅里的一些等国的控制、工厂一些自动化控制等。将来只要有自动控制方面的都会离不开单片机的开发和使用,对于现代的自动化控制起着举足轻重的作用。而数字钟正是一种用数字电路技术与单片机技术实现计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用1。数字时钟是指以微处理器为核心,充分利用数字技术和软件技术,与各类脉冲信号的传感器配合,记录时间等的智能仪表。数字时钟是日常生活、工业生产中常用的一种工具,社会拥有量和需求量都很大。功能上要求能够完成准确走时、调时,性能上要求抗干扰能力强,稳定可靠,同时在价格上具备竞争力2。结合以上几点,设计了一款数字时钟,该数字时钟设计工作原理为:单片机上电后,定时器工作计时开始,通过按键进行调时及闹钟调整,通过LCD显示其值。日常生活中对单片机数字钟的问题要求越来越高,本设计仅针对简单的数字钟进行研究,能够实现数字时钟的正确走时。第二章 数字电子钟整体方案设计2.1 方案原理本系统由STC89C52RC单片机和字符点阵型LCD1602液晶显示器等器件构成。用单片机内部定时器定时产生计数信号,单片机把数据进行处理,然后把数据传输到显示模块LCD1602液晶显示器,实现时间和日期的显示。通过编写程序实现具体的功能,如年、月、日、星期、时、分、秒,以及时间的校准、闹钟的设置等。再通过编写LCD液晶显示器的驱动程序,使其信息显示在LCD1602液晶显示器上。系统方框图如图2-1所示。图 2-1 系统方框图键盘是为了完成时钟、日历的校对和日历的显示功能。由于此电子时钟要求具有闹铃功能,所以设计有闹铃电路,进行声音响铃。2.2 所用硬件简介2.2.1 STC89C52单片机STC系列单片机是由STMicroelectronics 公司生产,并有宏晶公司做大陆代理的。STMicroelectronics即意法半导体公司是1987年6月在意大利的SGS微电子公司和法国的汤姆逊微电子公司合并后产生的。1998年5月,公司由原来的SGS汤姆逊(SGSTHOMSON)微电子公司改名为意法半导体公司(STMicroelectronics),简称ST公司3。STC89C52RC可以代替AT89C51,功能更强,速度更快,寿命更长,价格更低。它是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器4。在单芯片上,拥有8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。它具有以下标准功能,8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4kB EEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口5。STC89C52RC的内核和AT51系列单片机一样,故引脚相同,外形及引脚排列也相同。STC89C52RC封装图如2-2所示。图 2-2 STC89C52RC封装图2.2.2 LCD液晶显示器 LCD1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本系统使用是是LCD1602液晶显示器,它可以显示两行,每行16个字符,采用单+5V电源电,外围电路配置简单,价格便宜,具有很高的性价比6。LCD1602封装图如图2-3所示。图2-3 LCD1602封装图LCD1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。BLA背光源正极,BLK背光源负极。LCD1602模块引脚功能图如图2-4所示。编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BAL背光源正极8D1数据16BLK背光源负极图2-4 LCD1602模块引脚功能图2.2.3 晶振的选择这里使用的晶振频率为11.0592MHz.第三章 数字电子钟硬件设计3.1 显示电路的设计系统的显示电路采用的是液晶显示方式。采用1602字符点阵型液晶模块,上一行显示日期,星期,下一行显示时间或是闹钟。使用起来比较灵活,操作简单,易控制,能够带来很大的方便。在LCD1602液晶显示模块和单片机STC89C52RC相连接时的,具体的接法为:将VSS接地,VDD接高电平,VEE接地。将RS接到P1.0口,R/W接到P1.1口,E接到P1.2口。D0D7接到P0口来控制命令输入及数据的输入/输出。具体的连接电路如图3-1所示。图3-1 LCD1602和单片机STC89C52RC接口电路3.2 按键电路的设计根据功能需要,本时钟需要设置以下功能键:时间设置键,加1键,减1键,推出确定键。按照键盘与CPU的连接方式可分为独立式键盘和矩阵式键盘。本设计采用独立式键盘是各个按键相互独立,每个按键占用一个I/O口线,每根I/O口线上的按键不会影响其他I/O口上按键工作状态。独立式键盘电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口,在按键数量较多时,I/O口线浪费较大,且电路结构复杂。矩阵式键盘适合按键较多时使用。由于本设计的电子钟最多需要4个按键,若采用矩阵式键盘时会有按键浪费,故采用的是独立式键盘。具体的连接电路如图3-2所示。图 3-2键盘电路单片机管脚只有在按键按下时为低电平,按键弹出后重新恢复高电平。按键操作说明如下:K1键:该键为时间设置键,每次按动该键,都会使其计数变量加1。K1计数变量为19次,分别调节年、月、日、星期、时、分、秒和闹钟时、分。当按下次数为十时,计数变量清零。K2键:该键为加1键。该键每次按下将使相应校对位进行加1操作。当设置键计数变量为0时,按下此键可切换闹钟的开关状态。K3键:该键为减1键。该键每次按下将使相应校对位进行减1操作。当设置键计数变量为0时,按下此键可关闭当天的闹钟铃响状态。K4键:该键为退出确认键。按下此键,K1键计数变量清零。3.3 闹铃电路设计本设计采用蜂鸣器闹铃,如当前时刻与闹铃时间相同,单片机向蜂鸣器送出低电平,蜂鸣器发声。采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。闹铃电路与按键K4共占用单片机一根I/O口P1.7, 中间用PNP型三极管连接P1.7和蜂鸣器。当P1.7引脚为低电平时,三极管的发射极和集电极导通,使蜂鸣器发声。当响铃标志位为“1”时,P1.7送一定频率脉冲,使蜂鸣器发出声音,电路连接如图3-3所示。图 3-3闹铃电路3.4 复位电路设计复位是单片机的初始化操作,以便使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。除了进入系统的正常初始化之外,当单片机系统在运行出错或操作错误使系统处于死锁状态时,也可按复位键重新启动。电路连接如图3-4所示。图3-4 复位电路3.5 晶振电路的设计STC89C52单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本设计采用内部时钟方式,利用芯片内部的振荡电路,在X1、X2引脚上外接定时组件,内部的震荡电路会产生自激震荡。本设计采用常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。震荡晶体选择可在1.2MHz到12MHz之间选择。电容值无严格要求,但电容取值对震荡频率输出的稳定性、大小、震荡电路起震速度有少许影响,C1、C2可在20pF到100pF之间取值,但在60pF到70pF时震荡器会有较高的频率稳定性。所以在本设计中,震荡晶体选择11.0592MHz,电容选择30pF,电路连接如图3-5所示。图 3-5 晶振电路第四章 数字电子钟的软件设计4.1 定时器模块部分产生时间函数流程图如图4-1所示。图 4-1 时间产生程序流程图4.2 LCD显示模块部分4.2.1基本操作程序读状态:输入:RS=L,RW=H,E=H 输出:D0D7=状态字读数据:输入:RS=H,RW=H,E=H 输出:无写指令:输入:RS=L,RW=L,D0D7=指令码,E=高脉冲 输出:D0D7=数据写数据:输入:RS=H,RW=L,D0D7=数据,E=高脉冲 输出:无4.2.2状态字说明1602的状态字说明如下表4-2所示。其中,STA0STA6为当前地址指针的数值,STA7读写操作使能,1是禁止,0是允许,每次对控制器进行读写操作之前,必须进行读写检测,确保STA7为0。STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0表 4-2 LCD1602状态说明表4.2.3 显示部分程序流程图1 忙检测函数流程图,如图4-3所示。图 4-3 忙检测程序流程图2 写指令数据函数流程图,如图4-4所示。图 4-4 写指令数据程序流程图3 LCD初始化函数流程图,如图4-5所示。图 4-5 LCD初始化程序流程图4.3 键盘模块部分程序设计流程如图4-6所示。图 4-6 键盘程序流程图4.4 闹铃模块部分闹铃程序流程图如图4-7所示。图4-7 闹铃程序流程图4.5 主程序设计流程1 主程序流程图如图4-8所示。图 4-8 主程序流程图2 星期显示程序流程图如图4-9所示。图4-9 星期显示程序流程图3 显示类程序流程图如图4-10所示。图4-10 显示类程序流程图第五章 PCB板的制作Protel DXP是进行印制电路板(PBC)设计的重要工具。原理图设计工作主要包括电路板规划、元器件的选择、布局和连线,构成了制版的基础内容。电路设计的最终目的是生产制作电子产品,各种电子产品的使用功能与物理结构都是通过印制电路板来实现的。本设计制作PCB印刷电路板基本流程如图5-1所示。图5-1 制作PCB板流程图用protelDXP制作LCD显示电子钟原理图如图5-2所示。图5-2 数字电子钟原理图用protelDXP制作PCB印刷电路板如图5-3所示。图 5-3 数字电子钟PCB板第六章 软件调试与分析系统仿真分析电路原理图在proteus里设计完成,并将系统软件编译成.Hex文件,再进行电子时钟的系统虚拟仿真 。观察显示结果,根据显示的结果和课题的要求再修改程序,再运行检测,直到满足要求。(1)在proteus的原理图中,右键单击AT89C51将其选中,然后单击左键打开AT89C51的Edit Component 对话框,(2)选择相应的.Hex文件,再在Proteus ISIS 编辑窗口的File菜单中选择Save Design 选项,保存设计,生成.DSN文件。在Proteus ISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如图6-1所示。图6-1 数字电子钟仿真结果图实现功能的具体方法: 按下第一个键K1键时钟进入调整功能时,按第二个键K2进行加1运算,按第三个键K3进行减1运算。按次数按下第一个键K1,等数字闪烁后,按一二键进行加减,从而可以依次进行具体日期时间调整,按K4键退出调整。当K1按键次数为零时,K2键有切换闹钟开关功能,K3键有关闭此次闹钟功能。日期显示格式为:年-月-日-星期;时间显示格式为:时-分-秒。整个数字电子钟具有显示时间日期,定闹钟的功能。参考文献1 李群芳.单片机原理、接口及应用M.北京:清华大学出版社,2005,3:27-31,178-1862 许兴存,曾琪琳.微型计算机接口技术M.北京:电子工业出版社,2005,7:308-3293 丁元杰.单片微机原理及应用M.北京:机械工业出版社,2006,3:1-10,166-1804 刘文涛.单片机应用开发实例M.北京:清华大学出版社,2005,9:19-26,42-1565 郭天祥.新概念51单片机C语言教程M.北京:电子工业出版社,2009,6:312-3316 王兆安.黄俊.电力电子技术M.机械工业出版社,2005,9:437 张友德,涂时亮,赵志英.单片微型机原理、应用与实验(C51版):复旦大学出版社,2010,88 贾振国,许琳.智能化仪器仪表原理与应用。中国水利水电出版社,2011,39 PROTEL+DXP2004教程_百度文库10 Proteus在MCS-51&ARM7系统中的应用百例J.电子工业出版社,2006,10:5-7附录A:数字电子钟硬件原理图附录B:数字电子钟源程序#include #define uint unsigned int#define uchar unsigned charsbit lcd_rs=P10;sbit lcd_rw=P11;sbit lcd_en=P12; /液晶控制端sbit key_set=P14;sbit key_up=P15;sbit key_down=P16; / 同时也是闹钟停止按钮sbit key_out=P17; /键盘控制端口,同时也是闹钟输出端口uchar count; /定时器计数变量uchar hour,min,sec,hour1,hour2,sec1,sec2,min1,min2; /时间变量uchar yue, ri,nian1, nian2, nian3, nian4, yue1, yue2, ri1, ri2; /月日变量uint nian; / 年变量uchar nao1=0, nao2=0, nao3=0, nao11, nao12, nao21, nao22; /设置闹钟变量uchar count1; / 星期计数变量uchar ww=0,qq=0,nao=1; /键盘设置端口计数变量,闹铃标志变量void lcd_delay(uint m) /延时函数while(m-);void read1602(char com)/忙检测uchar i;i=254;P0=0xff;lcd_rs=0; /读写命令lcd_rw=1; /读命令/数据lcd_en=1;while(i-)&(P0&0x80);/若一段时间以后仍低,则认为是不忙lcd_en=0;void write1602(uchar wdata,bit rw)/向LCD1602写数据(rw=1)或者命令(rw=0) read1602();lcd_rs=rw; P0=wdata; lcd_rw=0;lcd_delay(1); lcd_en=1;lcd_delay(1);lcd_en=0;void lcd_init() /LCD1602液晶的初始化lcd_delay(1500); write1602(0x38,0); /置功能,8位数据,2行显示,5x7字符write1602(0x0c,0); /只打开屏显write1602(0x06,0); /左到右显示,自加1 write1602(0x01,0); /清屏 write1602(0x80,0);void init()/定时器初始化count=0;hour=23; /小时初值min=59; /分钟初值sec=50; /秒初值nian=2012; /年初值yue=10; /月初值ri=12; /日初值count1=5;/星期初值TMOD=0x01; /中断T0工作方式TH0=(65536-50000)/256;TL0=(65536-50000)%256; /计数器初值,为50msTR0=1;ET0=1;EA=1; /开中断void lcd_printf(uchar *str)/显示字符串 read1602();while(*str!=0)write1602(*str,1); /写入数据str+;lcd_delay(1);void lcd_moveto(uchar x,uchar y)/指定显示的行列坐标if(x=0)write1602(0x80|y,0);if(x=1)write1602(0xc0|y,0);void fengjie1(uchar a,uchar b, uchar c )/将时分秒两位数分解为两个数 hour1=a/10;hour2=a%10;min1=b/10;min2=b%10;sec1=c/10;sec2=c%10;void fengjie2(uint a,uchar b, uchar c ) /将年月日分解为两个数 nian4=a%10; a=(a-nian4)/10; nian3=a%10; a=(a-nian3)/10; nian2=a%10; nian1=a/10;yue1=b/10;yue2=b%10;ri1=c/10;ri2=c%10;void fengjie3(uchar a, uchar b )/将闹钟分解为两个数 nao11=a/10;nao12=a%10;nao21=b/10;nao22=b%10;void display1(uchar hour1,uchar hour2,uchar min1,uchar min2,uchar sec1,uchar sec2) /显示时间程序 lcd_moveto(1,0); /定位在第二行第一列 write1602(hour1+48,1);write1602(hour2+48,1);lcd_printf(:);write1602(min1+48,1);write1602(min2+48,1);lcd_printf(:);write1602(sec1+48,1);write1602(sec2+48,1);void display2(uchar nian1,uchar nian2,uchar nian3,uchar nian4,uchar yue1,uchar yue2, uchar ri1, uchar ri2 ) /显示日期程序 lcd_moveto(0,0); /定位在第一行第一列 write1602(nian1+48,1);write1602(nian2+48,1);write1602(nian3+48,1);write1602(nian4+48,1);lcd_printf(-);write1602(yue1+48,1);write1602(yue2+48,1);lcd_printf(-);write1602(ri1+48,1);write1602(ri2+48,1);void display3(uchar we) /星期送显示lcd_moveto(0,12);switch(we)case 1: lcd_printf(M);lcd_printf(0); lcd_printf(N); break;case 2: lcd_printf(T);lcd_printf(U); lcd_printf(E); break;case 3: lcd_printf(W);lcd_printf(E); lcd_printf(D); break;case 4: lcd_printf(T);lcd_printf(H); lcd_printf(U); break;case 5: lcd_printf(F);lcd_printf(R); lcd_printf(T); break;case 6: lcd_printf(S);lcd_printf(A); lcd_printf(T); break;case 7: lcd_printf(S);lcd_printf(U); lcd_printf(N); break; void display4(uchar nao11,uchar nao12,uchar nao21, uchar nao22) /显示闹钟时刻 lcd_moveto(1,10); /定位在第二行第10列 if(nao=1)write1602(nao11+48,1);write1602(nao12+48,1);lcd_printf(:);write1602(nao21+48,1);write1602(nao22+48,1);if(nao=0)lcd_printf(N);lcd_printf(O); lcd_printf(:); lcd_printf(N);lcd_printf(O);void key() /键盘程序 if(key_set=0) ww+; if(ww=10) ww=0; while(!key_set); switch(ww)case 0: /停止闹钟 if(key_up=0) while(!key_up); nao=!nao; if(key_down=0) while(!key_down); qq=0; break;case 1: /键盘调整年 lcd_delay(1000); lcd_moveto(0,3); lcd_printf(-); lcd_delay(1000); if(key_up=0) while(!key_up); nian+; if(key_down=0) while(!key_down); nian-; break; case 2: /键盘调整月 lcd_delay(1000); lcd_moveto(0,6); lcd_printf(-); lcd_delay(1000); if(key_up=0) while(!key_up); yue+; if(yue12) yue=1; if(key_down=0) while(!key_down); if(yue=1) yue=12; else yue-; break; case 3: /键盘调节日期 lcd_delay(1000); lcd_moveto(0,9); lcd_printf(-); lcd_delay(1000); if(key_up=0) while(!key_up); ri+; if(ri31) ri=1; if(key_down=0) while(!key_down); if(ri=1) ri=31; else ri-; break; case 4: /键盘调整星期 lcd_delay(1000); lcd_moveto(0,12); lcd_printf(-); lcd_printf(-); lcd_printf(-); lcd_delay(1000); if(key_up=0) while(!key_up); count1+; if(count17) count1=1; if(key_down=0) while(!key_down); if(count1=1) count1=7; else count1-; break; case 5: /键盘调整时 lcd_delay(1000); lcd_moveto(1,1); lcd_printf(-); lcd_delay(1000); if(key_up=0) while(!key_up); hour+; if( hour23) hour=0; if(key_down=0) while(!key_down); if( hour=0) hour=23; else hour-; break;case 6: /键盘调整分 lcd_delay(1000); lcd_moveto(1,4); lcd_printf(-); lcd_delay(1000); if(key_up=0) while(!key_up); min+; if( min59) min=0; if(key_down=0) while(!key_down); if( min=0) min=59; else min-; break; case 7: /键盘调整秒 lcd_delay(1000); lcd_moveto(1,7); lcd_printf(-); lcd_delay(1000); if(key_up=0) while(!key_up); sec+; if( sec59) sec=0; if(key_down=0) while(!key_down); if(sec=0) sec=59; else sec-; break;case 8: / 键盘调整闹钟时 lcd_delay(1000); lcd_moveto(1,11); lcd_printf(-); lcd_delay(1000); if(nao=1) if(key_up=0) while(!key_up); nao1+; if( nao123) nao1=0; if(key_down=0) while(!key_down); if( nao1=0) nao1=23; else nao1-; break; else break; case 9: / 键盘调整闹钟分 lcd_delay(1000); lcd_moveto(1,14); lcd_printf(-); lcd_delay(1000); if(nao=1) if(key_up=0) while(!key_up); nao2+; if( nao259) nao2=0; if(key_down=0) while(!key_down); if( nao2=0) nao2=59; else nao2-; break; else break; default:break;if(key_out=0) while(!key_out); ww=0;void count0(void) interrupt 1 /中断函数,进行时期的累加TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;if(count=20) /计时到达一秒 count=0; sec+; if(sec=60) /计时到达一分 sec=0;min+; if(min=60) /计时到达一小时 min=0;hour+; if(hour=24) /计时到达一天 hour=0;ri+;count1+;if(count1=8) /计时到达一周 count1=1;if(yue=1|yue=3|yue=5|yue=7|yue=8|yue=10|yue=12) if(ri31) /计时到达一个月31天 ri=1; yue+; if(yue12) /计时到达一年 yue=1; nian+; if(yue=4|yue=6|yue=9|yue=11)if(ri30) /计时到达一个月30天 ri=1; yue+; if(yue12) /计时到达一年 yue=1; nian+; if(yue=2)if(nian%4=0)if(ri29)/计时到达一个月29天 ri=1; yue+; if(yue12) yue=1; nian+; elseif(ri28) /计时到达一个月28天 ri=1; yue+; if(yue12) yue=1; nian+; void linsheng() /闹钟发生器 if(nao=1) if(hour=nao1&min=nao2&sec=nao3)/满足时间 qq=1; if(qq=1) key_out=0; lcd_delay(10000); key_out=1; lcd_delay(1000); void main() init(); /中断初始化lcd_init(); /LCD初始化while(1) key(); /键盘程序 fengjie2(nian,yue,ri); /分解年、月、日 display2(nian1,nian2,nian3,nian4,yue1,yue2, ri1, ri2 ) ; /显示年月日 display3(count1) ; /显示星期 fengjie1(hour,min, sec ); /分解时分秒 display1(hour1,hour2, min1, min2, sec1, sec2); /显示时分秒 fengjie3(nao1,nao2); /分解闹钟时分 display4(nao11,nao12,nao21,nao22); /显示闹钟时分 linsheng(); /闹铃程序袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿

温馨提示

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

评论

0/150

提交评论