智能电子钟(LCD显示)剖析.doc
《智能电子钟(LCD显示)剖析.doc》由会员分享,可在线阅读,更多相关《智能电子钟(LCD显示)剖析.doc(37页珍藏版)》请在咨信网上搜索。
课 程 设 计 课程名称 单片机原理与接口技术 题目名称 智能电子钟 学生学院 材料与能源学院 专业班级 学 号 学生姓名 指导教师 2016年06月15日 广东工业大学课程设计任务书 题目名称 智能电子钟(LCD显示) 学生学院 材料与能源学院 专业班级 姓 名 学 号 一、课程设计的内容 用STC89C52RC单片机制作一智能电子钟: 1.设计并绘制硬件电路图; 2.绘制PCB板图(条件许可的话可进行PCB板的制作)并焊接好元器件; 3.编写程序并将调试好的程序固化到单片机中。 二、课程设计的要求与数据 以STC89C52RC单片机为核心,制作一个LCD显示的智能电子钟: (1) 计时:秒、分、时、天、周、月、年。 (2) 自由调整时间。 (3) 定时输出,可任意关断,重置。 (4) 倒计时功能,最高可定时100小时。 (5) 计时功能,最高可计时100小时。 (6) 计时精度:误差≤1秒/月(具有微调设置)。 (7) 键盘采用动态扫描方式查询。所有的查询、设置功能均由矩阵键盘完成。 三、课程设计应完成的工作 1. 完成下载线的制作,为程序下载到单片机芯片中做好准备; 2. 完成软件、硬件的设计,并进行硬件的焊接制作,并将调试成功的程序固化到单片机中,最后进行硬件与软件的调试; 3. 撰写设计说明书。 四、课程设计进程安排 序号 设计各阶段内容 地点 起止日期 1 硬件、软件设计 大学城工学三号馆317 6月6-8日 2 焊接电路板 大学城工学三号馆317 6月9-11日 3 软件、硬件调试 大学城工学三号馆317 3月12-13日 4 撰写说明书 宿舍 3月14-15日 5 答辩 大学城工学三号馆317 3月16-17日 摘要 随着时代的进步和发展,单片技术已经普及到我们的生活、工作、科研等各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的LCD显示时钟的设计,时间可由键盘调整。主要用到的芯片有单片机STC89C52RC、液晶显示屏LCD1602A模块、时钟芯片DS1302模块。 关键词:单片机STC89C52RC、LCD1602A模块、DS1302模块 目录 1 系统需要分析 5 1.1 智能电子钟研究背景及意义 5 1.2 系统实用功能分析 5 2 设计要求与方案 5 2.1 设计要求 5 2.1.1 基本要求 5 2.1.2发挥部分 5 2.2 系统基本方案选择 5 2.2.1 芯片的选择 5 2.2.2 显示模块选择方案 5 2.2.3 时钟信号的选择方案 5 2.3 电路设计最终方案决定 5 3 系统硬件设计与实现 5 3.1 智能电子钟设计框图 5 3.2 系统硬件概述 5 3.3 硬件电路结构设计 5 3.3.1 单片机主控制模块的设计 5 3.3.2 显示模块的设计 5 3.3.3 LCD原理说明 5 3.3.4 开关模块说明 5 4 系统软件设计 6 4.1程序流程框图 6 4.2 LCD的初始化及显示程序 6 5 系统调试 6 5.1 软件调试 6 5.2 硬件调试 6 参考文献 6 附录 6 1 系统需要分析 1.1 智能电子钟研究背景及意义 20世纪末,电子技术得到了飞速发展,在此推动下现代电子产品几乎渗透到了社会的各个领域,有力地推动和提高了社会生产力的发展和信息化程度,同时现代电子产品性能进一步提升,产品的更新迭代也越来越快。时间对人们来说是那么宝贵,工作的忙碌和繁杂易使人们忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己和他人造成很大的麻烦。平时我们要求上班准时,约会或者召开会议必然要提及时间,火车要准时到达,航班要准时起飞,工业生产中的很多环节也需要时间来确定工序替换时刻,等等。所以说能随时知道准确的时间是我们生活中必不可少的一件事情。 想知道时间,收表当然是很好的选择,但是在忙碌中,我们还需要一个“助理”时不时的给我们提醒时间。所以,手表最好有一个定时系统,随时提醒忘记时间的人。最早能够定时、报时的时钟属于机械式钟表,但这种时钟收到机械结构、动力和体积的限制,在功能性以及造价上都没有办法与电子时钟相媲美。 电子时钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人、家庭、车站、办公室等场所,成为人们日常生活中的必需品。由于集成电路的发展和石英晶振的广泛应用,使得电子时钟的精度远远超过老式钟表,钟表的数字化跟人们生产和生活带来了极大的方便,而且大大扩展了钟表的功能。诸如整点报时、定时报警、定时广播、自动启闭路灯、定时开关烘箱、同多动力设备、甚至各种定时电器的自动启动等,所有这些,都是以电子时钟为基础的。因此,研究电子时钟及其扩展应用,都有非常重要的现实意义。 1.2 系统实用功能分析 本文研究的数字时钟是一种利用单片机原理实现对时、分、秒计时的装置,与机械时钟相比具有更高准确性和直观性,且无机械装置,具有更长的使用寿命。其实现了对时、分、秒的准确及时、计时及定时功能。 2 设计要求与方案 2.1 设计要求 以STC89C52RC单片机为核心,制作一个LCD显示的智能电子钟: (1) 计时:秒、分、时、天、周、月、年。 (2) 自由调整时间。 (3) 定时输出,可任意关断,重置。 (4) 倒计时功能,最高可定时100小时。 (5) 计时功能,最高可计时100小时。 (6) 计时精度:误差≤1秒/月(具有微调设置)。 (7) 键盘采用动态扫描方式查询。所有的查询、设置功能均由矩阵键盘完成。 2.2 系统基本方案选择 2.2.1 芯片的选择 采用STC89C52,其是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM, MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 2.2.2 显示模块选择 采用LCD显示,电路较为简单,且在软件设计上也相对简单,功耗较低,能满足设计最优的要求。LCD1602A模块集成了驱动电路和背光等,能够显示16*02(16列2行)即32个字符。 2.2.3 时钟信号的选择 采用DS1302时钟芯片实现时钟计时。DS1302时钟芯片是一种高性能的时钟芯片,可自动实现对秒、分、时、日、周、月、年及闰年补偿的年进行计数,精度较高,256位的RAM作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。且硬件电路较为简单,程序设计容易实现。 DS1302模块接有32.768K晶振和纽扣电池作为备用电源,可实现长时间不停地计时。 2.2.4 按键选择 选择4*4矩阵键盘作为功能实现和调节按键。矩阵键盘又称行列式键盘,它是用4条I/O线作为行线,4条IO线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键个数是4*4个。这种行列式键盘结构能够有效地提高单片机系统中I/O的利用率。 2.3 电路设计最终方案 宗上所述,对此次智能电子钟的方案选择为:采用STC89C52SC芯片作为主控制系统并提供定时,并由DS1302模块提供时钟,LCD1602A模块作为显示时间。 3 系统硬件设计与实现 3.1 智能电子钟设计框图 STC89C52RC LCD显示模块 晶振电路 复位电路 时钟系统模块 矩阵键盘模块 3.2 系统硬件概述 该电路是由STC89C52SC单片机为控制核心,具有在线编程功能,低功耗,能在3V超低工作;晶振电路外接晶振;复位电路接按键复位系统;矩阵键盘由4*4行列式键盘构成;LCD显示模块由LCD1602A构成;时钟电路模块由DS1302芯片等组成。 3.3 硬件电路结构设计 3.3.1 单片机主控制模块的设计 图1为用proteus软件画的时钟系统原理图。 3.3.2 LCD显示模块 图2为LCD显示模块原理图。如图所示,时钟信号显示在LCD上,文字清晰可见而且 图1 时钟原理 图2 LCD1602A 省电也易于控制。数据的传输采用P0口,其引脚 VSS接地,VDD接VCC,RS、RW、E端分别接单片机引脚P2.0、P2.1、P2.2。而VEE作为液晶显示器的灰度调节引脚,接一变阻器来改变其显示的清晰度。 3.3.3 矩阵键盘模块 图3为矩阵键盘模块。矩阵键盘又称行列式键盘,它是用4条I/O线作为行线,4条IO线作为列线组成的键盘,8条线接到P1口上。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键个数是4*4个。这种行列式键盘结构能够有效地提高单片机系统中I/O的利用率。 矩阵键盘是嵌入式计算机系统中不可缺少的外围电路,是实现人机对话的纽带,借助键盘可以向计算机输入程序、置数、逻辑操作以及写入程序和程序检测等,可实现调试、计时、倒计时等功能。 图3 矩阵键盘 3.3.4 时钟系统模块 图4是时钟系统模块原理图。DS1302是美国 DALLAS 公司推出的一种 图4 时钟系统DS1302 高性能、低功耗的实时 时钟芯片,附加31字节静态 RAM,采用 SPI 三线接口与 CPU 进行 同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~ 5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电 方式,提供了对后背电源进行涓细电流充电的能力。DS1302的RST端接P2.5口,SCLK端接P2.6口,I/O端接P2.7口,VCC1端接备用电源纽扣电池,VCC2接5.0V电源,X1、X2接32.768K晶振。 3.3.5 蜂鸣器模块 图5 蜂鸣器模块 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于电子产品中作为发声器件。蜂鸣器I/O端接到P2.4口上,用三极管驱动,给低电平就能持续发声。 3.3.6 复位电路 图6 复位电路 图6为复位电路。只要按下按钮,给单片机RST口加上超过2个机器周期的高电平,就能把单片机复位。 3.3.7 晶振电路 图7为晶振电路。STC19C51RC单片机时钟信号由内部时钟方式产生,在XTAL1和XTAL2引脚外接晶振。图中,电容C1和C2的作用是稳定频率和快速起振,电容值22pF。晶振CXY的振荡频率为11.0592Hz。 图7 晶振电路 开始 初始化 定时 按键判断? 读取DS1302时间 调整时间 在LCD上显示时间 调时键 定时键 无 4 系统软件设计 4.1程序流程框图 4.2 程序 具体程序见附录。 5 系统调试 5.1 软件调试 打开程序调试软件Keil uVision4,在里面新建一个工程,命名为:clock。接着新建文件,编写相应程序。编写好的程序进行编译。如有错误,按照提示修改错误,直到程序编译通过。 5.2 硬件调试 用proteus画好电路原理图,加上Keil uVision4生成的HEX文件进行仿真,并修改程序逻辑错误,直到仿真无错误。 参考文献 [1].李朝青.单片机原理及接口技术(第3版).北京航天航空大学出版社,2005 年10月. [2].求是科技.单片机典型外围器件及应用实例.北京:人民邮电出版社,2006年2月. [3].谭浩强.C语言程序设计(第二版).北京:清华大学出版社,1999年12月. [4].阎石.数字电子技术基础(第五版).高等教育出版社,1983年4月. 附录 #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit rs=P2^0; sbit rw=P2^1; sbit e=P2^2; //1602 sbit rst=P2^5; sbit sclk=P2^6; sbit io=P2^7; //1302 sbit bee=P2^4; //蜂鸣器 uchar table[]=" 2016-06-12 MON"; //日期格式 uchar table1[]=" 00:00:00 A"; //时间格式 uchar time[]={11,1,11,11,00,00,00}; //年周月日时分秒 uchar code write_add[]={0x8c,0x8a,0x88,0x86,0x84,0x82,0x80};//1302写数据地址 uchar code read_add[]={0x8d,0x8b,0x89,0x87,0x85,0x83,0x81}; //1302读数据地址 uchar n1,n2,y1,y2,r1,r2,s1,s2,f1,f2,m1,m2,xq; uchar key;//矩阵键盘数值 uchar sp,sn1,sn2; void delay(uint z) //延时函数 { uint i,j; for(i=z;i>0;i--) for(j=110;j>0;j--); } void write_com(uchar com)//写1602命令 { rs=0; rw=0; e=0; P0=com; delay(5); e=1; delay(5); e=0; } void write_data(uchar dat)//写1602数据 { rs=1; rw=0; e=0; P0=dat; delay(5); e=1; delay(5); e=0; } void start() //1602初始化 { write_com(0x01);//清屏 write_com(0x38);//16*2显示,5*7点阵,8位数据 write_com(0x0c);//显示开,光标关 write_com(0x06);//显示方式:AC加一,光标右移一格 } void show_init()//在1602显示时间格式 { uchar num; write_com(0x80);//第一行显示数据 for(num=0;num<16;num++) { write_data(table[num]); }; write_com(0x80+0x40);//第二行显示 for(num=0;num<10;num++) { write_data(table1[num]); } } void write_byte(uchar dat)//向1302写1byte数据 { uchar i; for(i=8;i>0;i--) { io=dat&0x01; sclk=1; sclk=0; dat=dat>>1; } } void write_1302(uchar add,uchar dat)//按地址向1302写数据 { rst=0; sclk=0; rst=1; write_byte(add); write_byte(dat); sclk=1; rst=0; } unsigned char read(uchar add)//按地址读取1302数据 { uchar i,value=0x00; rst=0; sclk=0; rst=1; write_byte(add); for(i=0;i<8;i++) { value=value>>1; sclk=0; if(io) value=value|0x80; sclk=1; } sclk=1; rst=0; return(value); } void time_pors()//取时间函数 { m1=time[6]/16;//秒 m2=time[6]%16; f1=time[5]/16;//分 f2=time[5]%16; s1=time[4]/16;//时 s2=time[4]%16; r1=time[3]/16;//日 r2=time[3]%16; y1=time[2]/16;//月 y2=time[2]%16; n1=time[0]/16;//年 n2=time[0]%16; xq=time[1];//星期 } void show_date()//显示日期 { write_com(0x83); write_data(0x30+n1); write_data(0x30+n2); write_com(0x86); write_data(0x30+y1); write_data(0x30+y2); write_com(0x89); write_data(0x30+r1); write_data(0x30+r2); } void show_xq()//显示星期 { write_com(0x8d); if(time[1]==1)//SUN { write_data(0x53); write_data(0x55); write_data(0x4e); } if(time[1]==2)//MON { write_data(0x4d); write_data(0x4f); write_data(0x4e); } if(time[1]==3)//TUE { write_data(0x54); write_data(0x55); write_data(0x45); } if(time[1]==4)//WED { write_data(0x57); write_data(0x45); write_data(0x44); } if(time[1]==5)//THU { write_data(0x54); write_data(0x48); write_data(0x55); } if(time[1]==6)//FRI { write_data(0x46); write_data(0x52); write_data(0x49); } if(time[1]==7)//SAT { write_data(0x53); write_data(0x41); write_data(0x54); } } void keyscan()//键盘扫描函数 { uchar temp; P1=0xfe;//第一行 delay(5); temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0x7e:key=10;break; case 0xbe:key=3;break; case 0xde:key=2;break; case 0xee:key=1;break; } while(P1!=0xfe) { P1=0xfe; delay(5); } } } P1=0xfd;//第二行 delay(5); temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0x7d:key=11;break; case 0xbd:key=6;break; case 0xdd:key=5;break; case 0xed:key=4;break; } while(P1!=0xfd) { P1=0xfd; delay(5); } } } P1=0xfb;//第三行 delay(5); temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0x7b:key=12;break; case 0xbb:key=9;break; case 0xdb:key=8;break; case 0xeb:key=7;break; } while(P1!=0xfb) { P1=0xfb; delay(5); } } } P1=0xf7;//第四行 delay(5); temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(5); temp=temp&0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case 0x77:key=15;break; case 0xb7:key=14;break; case 0xd7:key=0;break; case 0xe7:key=13;break; } while(P1!=0xf7) { P1=0xf7; delay(5); } } } } void show_time()//显示时间 { write_com(0x82+0x40); write_data(0x30+s1); write_data(0x30+s2); write_com(0x85+0x40); write_data(0x30+f1); write_data(0x30+f2); write_com(0x88+0x40); write_data(0x30+m1); write_data(0x30+m2); } void choose1()//指定位置 { sn1++; switch(sn1) { case 1:write_com(0x84);break; //年个位 case 2:write_com(0x86);break; //月十位 case 3:write_com(0x87);break; //月个位 case 4:write_com(0x89);break; //日十位 case 5:write_com(0x8a);break; //日个位 case 6:write_com(0x8d);break; //星期 case 7:write_com(0x82+0x40);break; //时十位 case 8:write_com(0x83+0x40);break; //时个位 case 9:write_com(0x85+0x40);break; //分十位 case 10:write_com(0x86+0x40);break; //分个位 case 11:write_com(0x88+0x40);break; //秒十位 case 12:write_com(0x89+0x40);break; //秒个位 case 13:write_com(0x83);sn1=0;break; //年十位 } } void change_num()//改变数字 { switch(sn1) { case 0:n1=key;write_data(0x30+n1);write_com(0x83);break; case 1:n2=key;write_data(0x30+n2);write_com(0x84);break; case 2:if(key<2){y1=key;write_data(0x30+y1);}write_com(0x86);break; case 3: if(y1==0){y2=key;write_data(0x30+y2);}if(y1==1&&key<3){y2=key;write_data(0x30+y2);} write_com(0x87);break; case 4:if(key<4){r1=key;write_data(0x30+r1);}write_com(0x89);break; case 5: if(r1<3){r2=key;write_data(0x30+r2);}if(r1==3&&key<2){r2=key;write_data(0x30+r2);} write_com(0x8a);break; case 6:if(key<8){xq=key;write_data(0x30+xq);}write_com(0x8d);break; case 7:if(key<3){s1=key;write_data(0x30+s1);}write_com(0x82+0x40);break; case 8: if(s1<2){s2=key;write_data(0x30+s2);}if(s1=2&&key<5){s2=key;write_data(0x30+s2);} write_com(0x83+0x40);break; case 9:if(key<6){f1=key;write_data(0x30+f1);}write_com(0x85+0x40);break; case 10:f2=key;write_data(0x30+f2);write_com(0x86+0x40);break; case 11:if(key<6){m1=key;write_data(0x30+m1);}write_com(0x88+0x40);break; case 12:m2=key;write_data(0x30+m2);write_com(0x89+0x40);break; } } void change_1302()//修改1302时间 { time[6]=m1*16+m2; time[5]=f1*16+f2; time[4]=s1*16+s2; time[3]=r1*16+r2; time[2]=y1*16+y2; time[1]=xq; time[0]=n1*16+n2; write_1302(0x8e,0x00);//去除写保护 write_1302(0x80,0x00);//时间停止 write_1302(0x8c,time[0]);//写年 write_1302(0x8a,time[1]);//写星期 write_1302(0x88,time[2]);//写月 write_1302(0x86,time[3]);//写日 write_1302(0x84,time[4]);//写时 write_1302(0x82,time[5]);//写分 write_1302(0x80,time[6]);//写秒 write_1302(0x8e,0x80);//加上写保护 write_com(0x0c); //关光标 } void choose2()//指定定时位置 { sn2++; switch(sn2) { case 1:write_com(0x83+0x40);break; case 2:write_com(0x85+0x40);break; case 3:write_com(0x86+0x40);break; case 4:write_com(0x88+0x40);break; case 5:write_com(0x89+0x40);break; case 6:write_com(0x82+0x40);sn2=0;break; } } void change_num2()//改变数字 { switch(sn2) { case 0:s1=key;write_data(0x30+s1);write_com(0x82+0x40);break; case 1:s2=key;write_data(0x30+s2);write_com(0x83+0x40);break; case 2:if(key<6){f1=key;write_data(0x30+f1);}write_com(0x85+0x40);break; case 3:f2=key;write_data(0x30+f2);write_com(0x86+0x40);break; case 4:if(key<6){m1=key;write_data(0x30+m1);}write_com(0x88+0x40);break; case 5:m2=key;write_data(0x30+m2);write_com(0x89+0x40);break; } } void show_clock()//展示定时时间 { write_com(0x82+0x40);write_data(0x30+s1);write_com(0x82+0x40); write_com(0x83+0x40);write_data(0x30+s2);write_com(0x83+0x40); write_com(0x85+0x40);write_data(0x30+f1);write_com(0x85+0x40); write_com(0x86+0x40);write_data(0x30+f2);write_com(0x86+0x40); write_com(0x88+0x40);write_data(0x30+m1);write_com(0x88+0x40); write_com(0x89+0x40);write_data(0x30+m2);write_com(0x89+0x40); } void mat()//减1s { delay(900); if(m2>0) m2--; if(m2==0&&(m1!=0||f2!=0||f1!=0||s2!=0||s1!=0)) m2=9; if(m2==9&&m1>0) m1--; if(m2==9&&m1==0&&(f2!=0||f1!=0||s2!=0||s1!=0)) m1=5; if(m2==9&&m1==5&&f2>0) f2--; if(m2==9&&m1==5&&f2==0&&(f1!=0||s2!=0||s1!=0)) f2=9; if(m2==9&&m1==5&&f2==9&&f1>0) f1--; if(m2==9&&m1==5&&f2==9&&f1==0&&(s2!=0||s1!=0)) f1=5; if(m2==9&&m1==5&&f2==9&&f1==5&&s2>0) s2--; if(m2==9&&m1==5&&f2==9&&f1==5&&s2==0&&s1!=0) s2=9; if(m2==9&&m1==5&&f2==9&&f1==5&&s2==9&&s1>0) s1--; } void mat1()//加1s { delay(900); if(m2<9) m2++; if(m2==9) {show_clock();delay(1000);m2=0;} if(m2==0&&m1<6) m1++; if(m2==0&&m1==5) m1=0; if(m2==0&&m1==0&&f2<9) f2++; if(m2==0&&m1==5&&f2==9) f2=0; if(m2==0&&m1==0&&f2==0&&f1<6) f1++; if(m2==0&&m1==5&&f2==9&&f1==5) f1=0; if(m2==0&&m1==0&&f2==0&&f1==0&&s2<9) s2++; if(m2==0&&m1==5&&f2==9&&f1==5&&s2==9) s2=0; if(m2==0&&m1==0&&f2==0&&f1==0&&s2==0&&s1<9) s1++; } void clock()//开始倒计时 { uchar sk3=2; write_com(0x0c); //关光标 show_clock(); //展示定时时间 while(sk3==2) { uchar i; mat();//减1s show_clock(); keyscan(); if(key==11) { sk3=1; key=20; } while(sk3==1) //按住11键(即B键)超过1s即可暂停计时- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 电子钟 LCD 显示 剖析
咨信网温馨提示:
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。
关于本文