课程设计智能电子钟.doc
《课程设计智能电子钟.doc》由会员分享,可在线阅读,更多相关《课程设计智能电子钟.doc(38页珍藏版)》请在咨信网上搜索。
摘要 单片机通过几十年发展,已经广泛应用于生活中各个领域。单片机以其体积小、功能全、性价比高等诸多长处,在许多行业都得到了广泛应用。在工业控制、家用电器、通信设备、信息处理、尖端武器等多种测控领域应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握技术。 基于单片机智能电子钟作为设计课题,由于它有很好开放性和可发挥性,对作者规定比较高,不仅考察了对单片机掌握能力并且强调了对单片机扩展应用。此外LCD智能电子钟已经越来越流行,它具有显示清晰直观、走时精确、可以进行夜视等功能,并且还可以扩展出其他多种功能。因此,智能电子钟作为设计课题很有价值。 伴随科技发展,单片机应用正在不停深入,波及到平常生活方方面面。本设计是基于单片机AT89S51为控制关键,以液晶为显示数字时钟。本数字时钟设计原理相对简朴,因此硬件电路也相对简朴,难点和重点重要放在C语言编程上,使用到定期器子程序、延时程序、时分秒控制程序、液晶模块和单片机模块初始化程序、液晶显示程序等,各个函数交叉调用,配合主程序运行。 关键字:LCD1602 AT89S51 定期器 目 录 第一章 设计规定 1 1.1 LCD电子钟功能规定 1 1.2智能电子钟设计规定 1 第二章 方案选择与系统框图及工作原理 2 2.1方案选择 2 2.2系统框图 2 2.3工作原理 2 第三章 硬件电路设计与分析 3 3.1控制模块 3 3.2显示模块 4 3.3按键电路 6 3.4报警部分模块 7 第四章 软件设计与分析 8 4.1基本资源使用 8 4.2程序设计基本思绪 8 4.3程序重要流程图 9 第五章 Protues仿真与调试 11 第六章 PCB板设计 13 第七章 原件明细清单 14 第八章 课程设计总结 15 致 谢 16 参照文献 17 附 录 18 附件1 硬件电路原理图 18 附件2 程序清单 18 第一章 设计规定 1.1 LCD电子钟功能规定 (1)能显示年、月、日、时、分、秒(一般显示时、分、秒); (2)能对年、月、日、时、分、秒进行预置; (3)具有定期功能,定期时间到声光汇报。 1.2 智能电子钟设计规定 (1)主控部分:选择单片机为关键元件构成系统。 (2)1602LCD重要技术参数: 显示容量:16×2个字符;芯片工作电压:4.5—5.5V;工作电流:2.0mA(5.0V);模块最佳工作电压:5.0V;字符尺寸:2.95×4.35(W×H)mm。 (3) 功能设计:采用了AT89S52型单片机,1602LCD液晶显示屏,蜂鸣器、发光二极管。为了实现时钟,定期,闹钟,秒表功能,用到了单片机外部中断,计时器中断,及I/O端口。 (4)S0显示日期(按下显示日期,弹起后回到显示时间状态); S1显示闹钟(按下显示闹钟,弹起后回到显示时间状态); S2设置日期(按键1次设置年,2次设置月,3次设置日); S3设置时间(按键1次设置星期,2次设置时,3次设置分,4次设置秒); S4设置闹钟(按键1次设置时,2次设置分,3次设置秒); S5增长一(设置中对所选择变量加一); S6减少一(设置中对所选择变量减一)。 (5) 主程序循环显示目前时间并扫描按键S0对应P3.0(显示日期)和按键S1对应P3.1(显示闹钟时刻)与否有按下,并比较判断定期时刻与否抵达;按键S2对应INT0中断用来设置日期,每按下一次可分别对年、月、日进行设置,P3.6和P3.7用来对所要设置属性进行加一和减一操作,S7对应P2.4统一返回键,当处在中断设置状态时按此键可以返回至正常显示时间状态;按键S3对应INT1中断用来设置时间,操作同上面日期设置;按键S4对应定期器T0,让T0工作在计数模式,通过设置计数初值为最大,当P3.3管脚来一种低电平时,加一后计数器产生溢出中断,以此用作外部中断来设置闹钟时刻。 第二章 方案选择与系统框图及工作原理 2.1 方案选择 本次试验采用了AT89S52型单片机,1602LCD液晶显示屏,蜂鸣器、发光二极管。为了实现时钟,定期,闹钟,秒表功能,用到了单片机外部中断,计时器中断,及I/O端口. 2.2 系统框图 AT89S52 单 片 机 按键模块 LCD液晶显示模块 蜂鸣器 发光二级管 图2.1 系统框图 2.3 工作原理 程序循环显示目前时间并扫描按键S0对应P3.0(显示日期)和按键S1对应P3.1(显示闹钟时刻)与否有按下,并比较判断定期时刻与否抵达;按键S2对应INT0中断用来设置日期,每按下一次可分别对年、月、日进行设置,P3.6和P3.7用来对所要设置属性进行加一和减一操作,S7对应P2.4统一返回键,当处在中断设置状态时按此键可以返回至正常显示时间状态;按键S3对应INT1中断用来设置时间,操作同上面日期设置;按键S4对应定期器T0,让T0工作在计数模式,通过设置计数初值为最大,当P3.3管脚来一种低电平时,加一后计数器产生溢出中断,以此用作外部中断来设置闹钟时刻。 第三章 硬件电路设计与分析 3.1 控制模块 1. AT89S52 图3.1.1 AT89S52模块 2. 晶振电路 图3.1.2 晶振电路 3. 复位电路 图3.1.3 复位电路 以上三部分构成了单片机最小系统,其中P0和P2口部分管脚接显示模块,P3口接控制模块,P2口部分管脚接报警模块。 3.2 显示模块 图3.2.1 显示模块 1602LCD重要技术参数: 显示容量:16×2个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 引脚功能阐明: 1602LCD采用原则14脚(无背光)或16脚(带背光)接口,各引脚接口阐明如下表3.2.1所示: 表3.2.1 引脚接口阐明表 编号 符号 引脚阐明 编号 符号 引脚阐明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示屏对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一种10K电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 硬件连接原理图如下: 图3.2.2 硬件连接原理图 3.3 按键电路 图3.3.1 按键电路图 S0显示日期(按下显示日期,弹起后回到显示时间状态); S1显示闹钟(按下显示闹钟,弹起后回到显示时间状态); S2设置日期(按键1次设置年,2次设置月,3次设置日); S3设置时间(按键1次设置星期,2次设置时,3次设置分,4次设置秒); S4设置闹钟(按键1次设置时,2次设置分,3次设置秒); S5增长一(设置中对所选择变量加一); S6减少一(设置中对所选择变量减一); 3.4 报警部分模块 图3.4.1 报警部分模块 第四章 软件设计与分析 4.1 基本资源使用 本次试验采用了AT89S52型单片机,1602LCD液晶显示屏,蜂鸣器、发光二极管。为了实现时钟,定期,闹钟,秒表功能,用到了单片机外部中断,计时器中断,及I/O端口. 表4.2.1 资源功能表 资源 功能 外部中断 外部中断INT1 设置时分秒(每按一次变化设置类型) 外部中断INT0 设置年月日(每按一次变化设置类型) 定期器 定期器T0 用溢出中断设置闹钟(每按一次变化设置类型) 定期器T1 定期器中断(每隔1S调整一次时间) I/O端口 P0,P2,P3 LCD接口,蜂鸣器、发光二极管、按键 4.2 程序设计基本思绪 主程序循环显示目前时间并扫描按键S0对应P3.0(显示日期)和按键S1对应P3.1(显示闹钟时刻)与否有按下,并比较判断定期时刻与否抵达;按键S2对应INT0中断用来设置日期,每按下一次可分别对年、月、日进行设置,P3.6和P3.7用来对所要设置属性进行加一和减一操作,S7对应P2.4统一返回键,当处在中断设置状态时按此键可以返回至正常显示时间状态;按键S3对应INT1中断用来设置时间,操作同上面日期设置;按键S4对应定期器T0,让T0工作在计数模式,通过设置计数初值为最大,当P3.3管脚来一种低电平时,加一后计数器产生溢出中断,以此用作外部中断来设置闹钟时刻。 4.3 程序重要流程图 否 否 否 否 是 是 YES 是 是 开 始 S0与否被按下? 定期器、计数器初始化 S1与否被按下? 定期与否抵达? 显示日期函数 显示闹钟函数 报警函数 S7返回键与否按下? 图4.3.1 按键程序流程图 否 否 否 否 否 否 否 是 是 是 是 是 是 是 是 是 是 是 是 显示日期函数 S2按下INT0设置日期中断执行 S2按2次? S2按3次? S2按4次? S5有按下? S6有按下? 年+1 年-1 显示日期函数 S5有按下? S6有按下? 月+1 月-1 S7有按下? S7有按下? 显示日期函数 S5有按下? S6有按下? S7有按下? 返 回 日加一 日减一 否 否 否 否 否 否 图4.3.2 年、月、日程序框图 第五章 Protues仿真与调试 本试验采用Keil 4和Protues 7.7SP2联合仿真调试 图5.1 Protues仿真图 显示时间: 图5.2 时间显示图 设置日期: 图5.3 日期显示图 设置闹钟: 图5.4 闹铃显示图 仿真成果: 通过多次反复测试与分析,掌握了硬件设计与分析能力,对所学知识得到很大提高与巩固。 最终实现功能: (1)能显示阳历年、月、日、星期、小时、分、秒 (2)显示模块采用LCD液晶显示,规定能用按键调整日期、时间和闹钟。 (3)能进行定期,并进行声光报警。 第六章 PCB板设计 图6.1 PCB板设计图 在PCB设计中,布线是完毕产品设计重要环节,可以说前面准备工作都是为它而做, 在整个PCB中,以布线设计过程限定最高,技巧最细、工作量最大。PCB布线有单面布线、 双面布线及多层布线。布线方式也有两种:自动布线及交互式布线,在自动布线之前, 可以用交互式预先对规定比较严格线进行布线,输入端与输出端边线应防止相邻平行, 以免产生反射干扰。必要时应加地线隔离,两相邻层布线要互相垂直,平行轻易产生寄生耦合。一般先进行探索式布经线,迅速地把短线连通, 然后进行迷宫式布线,先把要布连线进行全局布线途径优化,它可以根据需要断开已布线。 并试着重新再布线,以改善总体效果。对目前高密度PCB设计已感觉到贯穿孔不太适应了, 它挥霍了许多宝贵布线通道,为处理这一矛盾,出现了盲孔和埋孔技术,它不仅完毕了导通孔作用, 还省出许多布线通道使布线过程完毕得愈加以便,愈加流畅,更为完善,PCB 板设计过程是一种复杂而又简朴过程,要想很好地掌握它,自已体会, 才能得到其中真谛。 第七章 原件明细清单 表7.1 原件明细清单表 名称 数量 参数 电阻 1个 1K 排阻 1个 10K 电阻 1个 220 蜂鸣器 1个 5v 按键 9个 三极管 1个 PNP 发光二级管 1个 10-20mA LCD显示屏 1个 1602LCD 极性电容 1个 10uF 晶振及其插座 一套 12MHz 电阻 2个 2k,10k 电容 2个 30pF 芯片 1块 AT89S51 第八章 课程设计总结 本次智能电子时钟试验课程设计,学习将理论和实践相结合,对数字器件及集成电路有较深入认识,初步掌握综合运用所学知识分析和设计一般数字系统基本措施,增强动手处理实际问题能力。认识到了自身许多缺陷和局限性,初步接触到了怎样将硬件和软件相连接来实现一定自动化。在试验板焊接过程中,更深地意识到焊接技术重要性。使我明白现实生活中电子钟工作原理,锻炼了查找资料能力。通过这次课程设计,我深深体会到这句千古名言真正含义.我今天认真进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实基础。通过这次智能电子时钟设计,本人在多方面均有所提高。通过这次智能电子时钟设计,综合运用本专业所学课程理论和生产实际知识进行智能电子时钟设计工作实际训练从而培养和提高学生独立工作能力,巩固与扩充了课程所学内容,掌握智能电子时钟设计措施和环节,掌握智能电子时钟设计工艺方案,理解了智能电子时钟基本构造,熟悉了规范和原则,同步各科有关课程均有了全面复习,独立思索能力也有了提高。 道谢 本设计是在叶天凤老师及南光群老师悉心指导下完毕,老师渊博知识,严谨治学态度,一丝不苟工作作风,平易近人性格都是我学习楷模。在实物制作期间,老师给我们细心讲解制作过程和有关注意事项,我在碰到困难时候总是能得到及时得到老师协助。在论文研究及整顿期间,老师给了我很大支持和鼓励,才使得汇报得以顺利完毕,在此谨向老师表达忠心感谢和崇高敬意。同步感谢试验室等老师,他们给我们提供了必要试验器材,提供了很大以便感谢同试验室同学,在试验期间,他们不仅在学习上对我有很大协助,还在生活上提供以便。这两个星期,我和他们合作是非常快乐。同步还要感谢各位同学,他们也给了我很大支持和协助。最终,由于本人知识有限,局限性之处在所难免,还请老师指点纠正。 参照文献 [1]电气与电子信息工程学院.单片机试验指导书 [2]高峰编著.单片微型计算机原理与接口技术.北京:科学出版社, [3]陈粤初等.单片机应用系统设计与实践.北京:北京航空航天大学出版社,1991 [4]邹逢兴主编.计算机硬件技术及应用基础.长沙:国防科技大学出版社, [5]黄冰等编著.微机原理及应用. 重庆:重庆大学出版社, [6]曾峰等.印制电路板(PCB)设计与制作.北京:电子工业出版社, [7] 周润景,张丽娜,刘印群. PROTEUS入门实用教程[M].北京:机械工业出版社,,314-325 [8] 戴佳,戴卫恒. 51单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社,,231-246 [9] 徐爱钧,彭秀华. Keil Cx51 V7.0 单片机高级语言编程与uVision2应用实践 [M].(第二版)北京:电子工业出版社,,156-171 [10] 肖炎根,舒望.基于实时钟芯片电子万年历设计[J].电子技术,,卷号(36):91-94 [11] 王怀平,王仁波,胡开明.Proteus仿真设计基于单片机AT89C51电子万年历[J].科技广场,,卷号(10):197-198 [12] 鲁刚强. 基于液晶显示屏单片机系统设计[J].科技资讯,,卷号(35):22-23 [13] 余威明. MCU语音型电子万年历开发[J]. 浙江工贸职业技术学院学报,,卷号(4):20-25 [14] 邱关源. 电路 [M].(第四版)北京: 高等教育出版社, , 241-268. [15] 陈凯. 液晶显示万年历、时间、星期及温度[D].湖南:湖南理工学院,. [16] 张海兵, 李 敏. Protel电路设计实例与分析[M]. 北京:人民邮电出版社, ,119-205 [17] 黄劼, 徐晓秋. 单片机原理及接口技术[M]. 北京:国防工业出版社,,102-112 [18] 刘迎春. MCS-51单片机原理及应用教程 [M]. 北京:清华大学出版社,,145-157 [19] 张齐, 朱宁西.单片机应用系统设计技术:基于C51Proteus仿真[M].(第二版) 北京:电子工业出版社,,245-264 附录 附录1 硬件电路原理图 附录2 程序清单 /*********************************************************** DISPLAY.H ***********************************************************/ #include<intrins.h> #define uchar unsigned char #include <reg51.h> #define __REG52_H__ /************************定义端口**********************************/ sbit rs = P2^0; sbit rw = P2^1; sbit en = P2^2; struct dateType //定义日期数据类型 { unsigned int year; unsigned char month; unsigned char day; }; struct timeType //定义时间数据类型 { unsigned char week; unsigned char hour; unsigned char min; unsigned char sec; }; //定义全局变量,日期、时间、闹钟和计数器 struct dateType dateNow={,2,29}; //设置默认日期 2月29日 struct timeType timeNow={07,23,58,30}; //设置默认时间周日23:58:30 struct timeType setClock={0,0,05,20}; //设置默认闹铃 00:05:20 unsigned char count=0; void lcd_wdat(uchar date); void lcd_wcmd(uchar com); /**************************延时函数*********************************/ void delay2us(uchar k) { while(--k); } void delay1ms(uchar k) { int i,j; for(i=k;i>0;i--) for(j=110;j>0;j--); } void delay(unsigned int count) { unsigned int j; while(count--!=0) { for(j=0;j<72;j++); } } /*********************鉴定与否是闰年*********************/ unsigned char leap_year(unsigned int n) { if((n%4==0&&n%100!=0)||n%400==0) return 1; else return 0; } /**********************鉴定与否是30天***********************/ unsigned char is_30day(unsigned char n) { switch(n) { case 1: return 0; case 2: return 0; case 3: return 0; case 4: return 1; case 5: return 0; case 6: return 1; case 7: return 0; case 8: return 0; case 9: return 1; case 10: return 0; case 11: return 1; case 12: return 0; default:return 0; } } /***********************1602初始化************************/ void lcd_init(void) { delay1ms(5); lcd_wcmd(0x38); lcd_wcmd(0x0c); lcd_wcmd(0x06); lcd_wcmd(0x01); lcd_wcmd(0x80); delay2us(200); } /******************设置显示位置*****************************/ void lcd_pos(unsigned char pos) { lcd_wcmd(pos | 0x80); } /***********************1602写指令***********************/ void lcd_wcmd(uchar com) { rs=0; rw=0; P0=com; en=0; delay2us(200); en=1; delay2us(200); en=0; } /***********************1602写数据***********************/ void lcd_wdat(uchar date) { rs=1; rw=0; P0=date; en=0; delay2us(200); en=1; delay2us(200); en=0; } /********************显示日期***************************************/ void display_date() { unsigned char array[16]; unsigned char i=0; unsigned char j=0; unsigned int temp=0; array[i++]='D'; array[i++]=':'; array[i++]=dateNow.year/1000+0x30; temp=dateNow.year%1000; array[i++]=temp/100+0x30; temp=temp%100; array[i++]=temp/10+0x30; array[i++]=temp%10+0x30; array[i++]='-'; array[i++]=dateNow.month/10+0x30; array[i++]=dateNow.month%10+0x30; array[i++]='-'; array[i++]=dateNow.day/10+0x30; array[i++]=dateNow.day%10+0x30; array[i++]='\a'; delay1ms(10); lcd_pos(0x00);//设置显示位置 while(array[j] != '\a') { lcd_wdat(array[j]);//显示字符 j++; } lcd_wcmd(0x02); //光标复位 } /*****************中断内显示日期*****************************/ void idisplay_date() { unsigned char array[16]; unsigned char i=0; unsigned char j=0; unsigned int temp=0; array[i++]='S'; array[i++]=':'; array[i++]=dateNow.year/1000+0x30; temp=dateNow.year%1000; array[i++]=temp/100+0x30; temp=temp%100; array[i++]=temp/10+0x30; array[i++]=temp%10+0x30; array[i++]='-'; array[i++]=dateNow.month/10+0x30; array[i++]=dateNow.month%10+0x30; array[i++]='-'; array[i++]=dateNow.day/10+0x30; array[i++]=dateNow.day%10+0x30; array[i++]='\a'; delay1ms(10); lcd_pos(0x00);//设置显示位置 while(array[j] != '\a') { lcd_wdat(array[j]);//显示字符 j++; } lcd_wcmd(0x02); //光标复位 } /*********************显示时间*********************************/ void display_time() { unsigned char array[16]; unsigned char i=0; unsigned char j=0; array[i++]='T'; array[i++]=':'; array[i++]=0+0x30; array[i++]=timeNow.week+0x30; array[i++]='-'; array[i++]=timeNow.hour/10+0x30; array[i++]=timeNow.hour%10+0x30; array[i++]=':'; array[i++]=timeNow.min/10+0x30; array[i++]=timeNow.min%10+0x30; array[i++]=':'; array[i++]=timeNow.sec/10+0x30; array[i++]=timeNow.sec%10+0x30; array[i++]='\a'; delay1ms(10); lcd_pos(0x00);//设置显示位置 while(array[j] != '\a') { lcd_wdat(array[j]);//显示字符 j++; } lcd_wcmd(0x02); //光标复位 } /*********************中断内显示时间*********************************/ void idisplay_time() { unsigned char array[16]; unsigned char i=0; unsigned char j=0; array[i++]='S'; array[i++]=':'; array[i++]=0+0x30; array[i++]=timeNow.week+0x30; array[i++]='-'; array[i++]=timeNow.hour/10+0x30; array[i++]=timeNow.hour%10+0x30; array[i++]=':'; array[i++]=timeNow.min/10+0x30; array[i++]=timeNow.min%10+0x30; array[i++]=':'; array[i++]=timeNow.sec/10+0x30; array[i++]=timeNow.sec%10+0x30; array[i++]='\a'; delay1ms(10); lcd_pos(0x00);//设置显示位置 while(array[j] != '\a') { lcd_wdat(array[j]);//显示字符 j++; } lcd_wcmd(0x02); //光标复位 } /*********************显示闹钟时刻*******************************/ void display_clock() { unsigned char array[16]; unsigned char i=0; unsigned char j=0; array[i++]='C'; array[i++]=':'; array[i++]=setClock.hour/10+0x30; array[i++]=setClock.hour%10+0x30; array[i++]=':'; array[i++]=setClock.min/10+0x30; array[i++]=setClock.min%10+0x30; array[i++]=':'; array[i++]=setClock.sec/10+0x30; array[i++]=setClock.sec%10+0x30; array[i++]='\a'; delay1ms(10); lcd_pos(0x00);//设置显示位置 while(array[j] != '\a') { lcd_wdat(array[j]);//显示字符 j++; } lcd_wcmd(0x02); //光标复位 } /*****************中断内显示闹钟时刻****************************/ void idisplay_clock() { unsigned char array[16]; unsigned char i=0; unsigned char j=0; array[i++]='S'; array[i++]=':'; array[i++]=setClock.hour/10+0x30; array[i++]=setClock.hour%10+0x30; array[i++]=':'; array[i++]=setClock.min/10+0x30; array[i++]=setClock.min%10+0x30; array[i++]=':'; array[i++]=setClock.sec/10+0x30; array[i++]=setClock.sec%10+0x30; array[i++]='\a'; delay1ms(10); lcd_pos(0x00);//设置显示位置 while(array[j] != '\a') { lcd_wdat(array[j]);//显示字符 j++; } lcd_wcmd(0x02); //光标复位 } //********************************************** // INTERRUPT.H //*********************************************** sbit P3_0=P3^0; sbit P3_1=P3^1; sbit P3_2=P3^2; sbit P3_3=P3^3; sbit P3_4=P3^4; sbit P3_6=P3^6; sbit P3_7=P3^7; sbit P2_4=P2^4; sbit P2_5=P2^5; sbit P2_7=P2^7; void set_date() interrupt 0 //外部中断0,设置日期 { unsigned char flag=2; lcd_wcmd(0x01); //清屏 idisplay_date(); while(1) { switch(flag) { case 0: //设置年 for(; ;) { if(P3_2==0) { flag++; if(flag>=3) flag=0; here1:idisplay_date(); if(P3_2==0) goto here1; break; } idisplay_date(); if(P3_6==0) { dateNow.year++; dis1:idisplay_date(); delay(10); if(P3_6==0) goto dis1; } if(P3_7==0) { dateNow.year--; dis2:idisplay_date(); if(P3_7==0) goto dis2; } if(P2_4==0)- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 智能 电子钟
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文