基于单片机的智能电子钟设计.doc
《基于单片机的智能电子钟设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能电子钟设计.doc(156页珍藏版)》请在咨信网上搜索。
基于单片机的智能电子钟设计(完整资料) (可以直接使用,可编辑 优秀版资料,欢迎下载) 基于单片机的智能电子钟系统设计 摘要 随着电子技术的快速发展,智能电子钟已经越来越受欢迎。我们通过以MSC-51单片机为核心控制芯片,结合DS12887时钟芯片、DS18B20温度传感器,利用74LS138译码器及7段数码管进行动态显示时间和温度,在调时模块中利用按键进行控制调时调分(先调时再调分)、在设置闹钟模块中利用按键进行设置闹钟,当时间到点利用蜂鸣器发声,同时可通过按键取消响声,根据数码管显示的时间,利用两个LED灯指示上下午,同时利用两个LED灯每隔半秒闪烁进行半秒提示。 关键词 MSC-51 DS12887 DS18B20 74LS138 前言 智能电子时钟是采用数字电路实现对时,分,秒及温度数字显示的装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可或缺的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,智能时钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能.例如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电器的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究智能时钟及扩大其应用,有着非常现实的意义 电子时钟的设计方法有多种,可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用对单片机编程来实现电子钟。其中,利用单片机实现的电子时钟具有硬件结构简单、编程灵活、便于功能扩展等特点。由单片机作为数字钟的核心控制器,可以通过它的时钟信号实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行定时、校时功能。输出设备显示器可以用液晶显示技术或者数码管显示技术。 1.系统总体设计思路 本次设计完成电子时钟时、分、秒的显示及环境温度测量等功能的基础上完成定时闹钟的功能,并利用LED灯指示上下午和半秒指示,硬件电路包括单片机最小系统电路、DS12887实时时钟芯片电路模块、74LS138和七段数码管显示模块、按键模块、DS18B20温度传感器模块、蜂鸣器报警电路模块,并利用keil2软件和proteus软件进行仿真. 图1系统基本结构框图 2. 单片机控制模块 本项目是基于MSC—51单片机为核心的智能电子钟系统的设计,通过MSC-51单片机控制各个模块,P0口一部分用来接独立式按键,当按键按下时系统产生中断,从而调用中断子程序控制实现各个功能,P0的一部分用来接74LS138译码器,用于控制点亮哪一位数码管,P3口用于接数码管的段码端,从而实现动态显示,P2口接了时钟芯片DS12887芯片作为定时作用,同时用P1口一部分接温度传感器DS18B20芯片作为温度测量,用P1口一部分接蜂鸣器,当闹钟到时发出声响。在MSC—51单片机外部还需加上晶振电路,复位电路和电源等一些基本电路。 图2 单片机组成结构及引脚图 图3 MSC—51单片机接线图 3. 定时模块 3。1实时时钟芯片DS12887 3.1。1 DS12887芯片的功能 (1) 内含一个锂电池,断电可以运行十年,并且不会丢失数据,时间功能正常运行。 (2) 可计时至2100年前的秒、分、时、星期、日、月、年等日历信息并带有闰年补偿功能. (3) 可通过编程选择BCD码或者二进制数表示日历和定时闹钟。 (4) 可通过编程选择12小时或24小时制,12小时时钟模式带有PM和AM提示,此外还有有夏令时功能. (5) 可选择MOTOROLA和INTEL总线时序。 (6) 内部共有128个RAM单元,这在常用的实时时钟中属于较大的.其中14个字节作为时钟和控制寄存器,114字节为通用RAM,所有ARAM单元数据都具有掉电保护功能。 (7) 可编程并选择的方波信号输出。 (8) 中断信号输出(IRQ)和总线兼容,定时闹钟中断、周期性中断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试. (9)三种可供选择的中断方式 —时间性中断 —周期性中断 -时钟更新结束中断。 3.1.2 DS12887芯片的结构及原理 图6 DS12887引脚图 MOT(模式选择):接VCC(+5V)时,芯片在MOTOROLA时序下工作,接GND(地)时,芯片在INTEL时序下工作. SQW(方波信号):通过15个分频器抽头中的13个提供方波输出。 AD0~AD7(双向地址/数据复用线):数据和控制指令都通过此8个引脚来于单片机等控制器传输. AS(地址选通输入):地址锁存引脚。 DS(数据选通或读输入):该引脚有两种操作模式,视该芯片是出于MOTOROLA模式或者INTEL模式,当使用MOTOROLA时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;若为INTEL时序,DS称作(RD),RD与典型存贮器的允许信号(OE)的定义相同. R/W(读/写输入):R/W管脚同样也有两种操作模式。此引脚的两种模式与DS相似. CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低。 IRQ(中断申请输入):低电平有效,可作微处理的中断输入.没有中断条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上拉电阻. RESET(复位输出):若要保证DS12887有效复位,必须让该脚保持低电平时间大于200ms。 3。1。3 DS12887芯片的寄存器 寄存器A UIP:更新位。若UIP为1,实时时钟的更新转换发生的很快,而当UIP为0,更新转换至少在244µs内不会发生. DV0,DV1,DV2:用于晶振和复位分频链的开启. RS3,RS2,RS1,RS0:频率选择位,通过这四个位用户可以: a 用PIE位允许中断; b 用SQWE位允许SQAW输出; c 二者同时允许并用相同的频率; d 二者都不允许。 寄存器B SET:此位为0,时间更新正常进行,每秒计数走时一次,当此位为1,时间更新被禁止,程序可对芯片进行初始化的操作和编程。 PIE:周期中断允许位,PIE为1,则允许以选定的频率拉低IRQ管脚,PIE为0,则禁止中断。 AIE:定时闹钟中断允许位,AIE为1,允许中断,否则禁止中断。 UIE:更新结束中断允许位,AIE为1,允许中断,否则禁止中断. SQWE:方波允许位,置1选定频率方波从SQW脚输出;为0—时,SQW脚为低。 DM:数据模式位,DM为1表明为十进制数据,而0表明是BCD码的数据。 24/12:小时格式位,1表明24小时制,而0表明12小时制. DSE:夏令时允许位,当DSE置1时允许两个特殊的更新,在四月份的第一星期日,时间从1:59:59AM时改变为3:00:00AM;在十月的最后一个星期日的1:59:59AM时改变为1:00:00AM。当DSE位为0,这种特殊修正不发生。 3.2时钟模块 本设计中的DS12887芯片AD0-AD7引脚与STC89C52芯片的P2口相连接.MOT引脚接地,为INTEL总线时序方式。因此R/W和DS引脚也为对应INTEL的操作模式。 4. 按键模块 独立按键K1-K4调节不同功能,K4键切换时分秒和闹铃时间的显示;K1键按一下调节时,再按一下调节分,再按一下结束,时间走动,K2键加一,K3键减一. 5-1键盘子程序流程功能是扫描按键,判断按下的是哪个键,然后具体调用该键的程序。如图所示4-3(其中50H里存储的是所需修改的时钟项) (1) K4键程序主要完成定时模块和闹钟模块的切换,通过中断程序控制. (2) K1键程序主要完成选位功能,通过判断(50H)单元中的内容取值,经过操作,具体判断出选中了那位。K1键对应的位选地址如表4-1所示,程序流程图如图4-4所示。 (3)K2键和K3键: 我们在K2键和K3键功能程序里设一个标志允许位,将该标志位置1表示K2键有效,完成加一功能,而将该标志位清零表示K3键有效,完成减一功能(如图4—5所示),跳到修改程序入口地址(如图4-6所示),再将该位信号赋给累加器A,然后对该位时钟信号进行修改操作. 4.1修改时分位的流程 此处的退出指的是退出该修改程序,每按一次K2和K3键修改一次就退出判断有无键按下,当第二次按下K2或K3键后在第一次修改程序后的结果上进行累加或累减 (1) “时”修改程序 选中时位说明(51H)+03H是00H,然后判断是K2键有效还是K3键有效,如果是K2键有效,则对取出的十位内容进行加一操作,在将结果存入00H单元去显示(00—24),按下一次加一次,退出后等待第二次按下K2键进行累加(加到24重新赋0再加,依次循环);如果是K3键有效,则对取出的十位内容进行减一操作,再将结果存入00H单元去显示(00-24),按下一次减一次,退出后等待第二次按下K2键进行累减(减到0重新赋24再减,依次循环)如图4-7 (2)“分”修改程序 选中时位说明(51H)+03H是01H,然后判断是K2键有效还是K3键有效,如果是K2键有效,则对取出的十位内容进行加一操作,在将结果存入01H单元去显示(00—60),按下一次加一次,退出后等待第二次按下K2键进行累加(加到60重新赋0再加,依次循环);如果是K3键有效,则对取出的十位内容进行减一操作,再将结果存入01H单元去显示(00—60),按下一次减一次,退出后等待第二次按下K2键进行累减(减到0重新赋60再减,依次循环)如图4—8 4。2闹钟报警系统 由于蜂鸣器的工作电流较大,所以利用一个三极管放大电流,蜂鸣器驱动原理图如图5-1所示,当单片机的P3.6引脚为高电平时,三极管截止,无电流通过蜂鸣器;反之导通,蜂鸣器响。在定时过程中,使P3.6输出高电平,蜂鸣器不响;当定时结束时,使P3.6输出低电平,蜂鸣器响,按下K4键,给一个脉冲,送到中断程序中,使P3。6输出高电平。 5.温度显示模块 DS18B20结构及原理 DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器 DS18B20结构框图 DS1820用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程,DS1820 测温范围-55℃~+125℃,以0.5℃递增。 DS18B20工作原理图 DS18B20外接电源图 温度显示工作方式 温度传感器DS18B20的接法很简单,它的DQ引脚与MSC-51芯片的P1.7引脚相连接。这里只用到一个温度传感器,若要使用多个则只需将所有的DS18B20的I/O口接在一起即可,在具体操作时,通过读取每个芯片的内部序列号来识别 温度传感器模块 6. 项目总结 本次三片机三级项目,本小组对MSC-51单片机为核心的控制芯片,DS12887时钟芯片、DS18B20温度传感器,74LS138译码器及7段数码管进行了大量的资料查阅和研究工作,熟悉并掌握了上述芯片的基本功能和使用方法,将课本学习到的理论知识用于实践操作,熟悉了各种芯片之间的协同工作,和各种工作模块的组合思路。让我们对系统的应用单片机进行功能设计有了更深的体会。设计人员分工明确,培养了小组成员的团队协作意识和能力,期间也遇到了一些困难,例如我们在定时模块关于累加后如何实现单位的循环上遇到困难而最后我们运用计数重置成功解决了这一问题.普通的仿真软件的安装和学习也让我们耗费了大量的时间.本次三级项目让我们检验了课堂学习的成果,是一次很好的锻炼。 7。程序附录 #include<reg51.h> #include<absacc.h〉 #define uchar unsigned char #define uint unsigned int /*七段共阴管显示定义*/ //此表为 LED 的字模, 共阴数码管 0-9 - uchar code dispcode[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //段码控制 /*定义并初始化变量*/ uchar seconde=0;//秒 uchar minite=0;//分 uchar hour=12; //时 uchar mstcnt=0;//定时器计数,定时100ms,mstcnt满10,秒加1 uchar shi=0;//闹铃功能 uchar fen=0; uchar bjcs;//报警次数 sbit P1_0=P1^0; //second 调整定义 sbit P1_1=P1^1; //minite调整定义 sbit P1_2=P1^2; //hour 调整定义 sbit P1_3=P1^3; //闹铃功能,调整时间 sbit L1=P1^6; //调整半秒闪烁灯L1 sbit L2=P1^7; //调整半秒闪烁灯L2 sbit P1_4=P1^4; //关闭闹铃 sbit L3=P2^0; //调整上午指示灯L3 sbit L4=P2^1; //调整下午指示灯L4 /*函数声明*/ void delay(uint k ); //延时子程序 void time_pro( ); //时间处理子程序 void display( ); //显示子程序 void keyscan( ); //键盘扫描子程序 /*延时子程序*/ void delay (uint k) { uchar j; //k=1,t=0.125ms while((k—-)!=0) { for(j=0;j〈125;j++) {;} } } /*时间处理子程序*/ void time_pro(void) { if(seconde==60) { seconde=0; minite++; if(minite==60) { minite=0; hour++; if(hour==24) { hour=0; } } } } /*半秒延迟子程序*/ void delay30s (void) { unsighed char i,j,k; for(i=50,i>0,i-—) //1us*50*100*100=0.5s for(j=100,i〉0,i--) for(k=100,i>0,i—-); } /*半秒闪烁子程序*/ void shanshuo30s (void) { L1=0; //P1^6 为低电平,点亮LED灯 delay30s(); L1=1; //P1^7 为高电平,灭LED灯 delay30s(); L2=0; //P1^6 为低电平,点亮LED灯 delay30s(); L2=1; //P1^7为高电平,灭LED灯 delay30s(); } /*显示子程序*/ void display(void) { if(P1_3==1) { P2=0XFE; P0=dispcode[seconde%10];//秒个位 delay(1); P2=0XFD; P0=dispcode[seconde/10];//秒十位 delay(1); P2=0XFB; P0=dispcode[10];//间隔符 - delay(1); P2=0XF7; P0=dispcode[minite%10];//分个位 delay(1); P2=0XEF; P0=dispcode[minite/10];//分十位 delay(1); P2=0XDF; P0=dispcode[10];//间隔符 - delay(1); P2=0XBF; P0=dispcode[hour%10];//时个位 delay(1); P2=0X7F; P0=dispcode[hour/10];//时十位 delay(1); } } /*键盘扫描子程序*/ void keyscan(void) { if(P1_0==0)//秒位的调整 { delay(30); if(P1_0==0) { seconde++; if(seconde==60) { seconde=0; } } delay(250); } if(P1_1==0)//分位的调整 { delay(30); if(P1_1==0) { minite++; if(minite==60) { minite=0; } } delay(250); } if(P1_2==0)//时位的调整 { delay(30); if(P1_2==0) { hour++; if(hour==24) { hour=0; } } delay(250); } } /*上下午指示子程序*/ void shangxia12h (void) { If(shi<12) L3=0; //P2^0为低电平,点亮LED灯 L4=1; //P2^1为高电平,灭LED灯 else L3=1; //P2^0 为低电平,点亮LED灯 L4=0; //P2^1 为高电平,灭LED灯 /*定时闹钟*/ void dingshi(void) { if(P1_3==0) //按住P1_3BU不松,显示闹铃设置界面,分别按P1_2、P1_1设置闹铃时间. { P2=0XFE; // FE=1111 1110 P0=dispcode[0];//秒个位 delay(1); P2=0XFD; //FD=1111 1101 P0=dispcode[0];//秒十位 delay(1); P2=0XFB; //FB=1111 1011 P0=dispcode[10];//间隔符 - delay(1); P2=0XF7; //F7=1111 0111 P0=dispcode[fen%10];//分个位 delay(1); P2=0XEF; //EF=1110 1111 P0=dispcode[fen/10];//分十位 delay(1); P2=0XDF; //DF=1101 1111 P0=dispcode[10];//间隔符 - delay(1); P2=0XBF; //BF=1011 1111 P0=dispcode[shi%10];//时个位 delay(1); P2=0X7F; //7F=0111 1111 P0=dispcode[shi/10];//时十位 delay(1); } if(P1_2==0)//设定时 { delay(30); if(P1_2==0) { shi++; if(shi==24) { shi=0; } } delay(250); } if(P1_1==0)//设定分 { delay(30); if(P1_1==0) { fen++; if(fen==60) { fen=0; } } delay(250); } if((hour==shi)&(minite==fen)&(seconde==0))//闹铃时间到,报警十次. { for(bjcs=0;bjcs〈10;bjcs++) { P1_5=0; delay(500); P1_5=1; delay(500); } } } /*主函数*/ void main(void) { P1=0XFF; TMOD = 0x11; //time0为定时器,方式1 TH0=0x3c; //预置计数初值,100ms TL0=0xb0; // 3cb0=15536,(65536—15536)*2us=100ms EA=1; //总中断开 ET0=1; //允许定时器0中断 TR0=1; //开启定时器0 while (1) { keyscan(); //按键扫描 dingshi();//定时闹钟 Shanshuo30s();//半秒闪烁 shangxia12h ();//上下午指示 } } void timer0(void) interrupt 1 //定时器0方式1,100ms中断一次 { TH0=0x3c; //手动加载计数脉冲次数 TL0=0xb0; TMOD=0x11; mstcnt++; //用于计算时间,每隔100ms加1 if(mstcnt==10)//mstcnt满10即为一秒 { seconde++;//秒+1 time_pro( ); //时间处理 mstcnt=0; //对计数单元的清零,重新开始计数 } } 沈阳理工大学应用技术学院 毕业设计(论文) 题 目:基于单片机的数字电子秒表的设计与实现 系 别: 信息工程系 专 业: 自动化 学生姓名: 胡 培 指导教师: 唐朝仁 年 月 日 摘 要 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入.本文阐述了基于单片机的数字电子秒表设计.本设计主要特点是计时精度达到0.001s,解决了传统的由于计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。另外硬件部分设置了查看按键,可以对秒表上一次计时时间进行保存,供使用者查询。 本设计的数字电子秒表系统采用AT89C52单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断电路来设计计时器。将软、硬件有机地结合起来,使得系统能够实现五位LED显示,显示时间为0~99。999秒,计时精度为0.001秒,能正确地进行计时,同时能记录一次时间,并在下一次计时后对上一次计时时间进行查询。其中软件系统采用汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等,并在WAVE中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机;数字电子秒表;仿真 Abstract With the rapid development of science and technology in recent years, SCM applications are constant-depth manner. In this paper, based on single chip design of digital electronic stopwatch. The main characteristics of this design timing accuracy of 0。001s, to solve the traditional result of a lack accuracy due to timing errors and unfair, and is a variety of sports competitions, one of the essential equipment。 In addition the hardware part of the set View button on the stopwatch can be the last time to save time for user queries. The design of the multi—function stopwatch system uses STC89C52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer。 The software and hardware together organically, allowing the system to achieve two LED display shows the time from 0 to 99.999 seconds, Timing accuracy of 0.001 seconds,Be able to correctly time at the same time to record a time, and the next time after the last time the time to search.automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and WAVE in the commissioning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition. Keyword:LED display;High—precision stopwatch;STC89C52 目 录 绪论1 1 硬件设计4 1.1 总体方案的设计4 1.2 单片机的选择5 1。3 显示电路的选择与设计8 1.4 按键电路的选择与设计11 1。5 时钟电路的选择与设计12 1.6 复位电路的选择与设计14 1。7 系统总电路的设计16 2 软件设计19 2.1 程序设计思想19 2。2 系统资源的分配19 2.3 主程序设计20 2.4 中断程序设计21 3 数字电子秒表的安装与调试26 3.1 软件的仿真与调试26 3.2 硬件的安装与调试26 3.3 系统程序的烧录27 3.4 数字电子秒表的精度调试28 结论29 致谢30 参考文献31 附录A 资料翻译32 A。1英文原文32 A.2 中文翻译39 附录B 程序44 附录C 电路原理图51 附录D 硬件实物图52 绪 论 秒表计时器是电器制造,工业自动化控制、国防、实验室及科研单位理想的计时仪器,它广泛应用于各种继电器、电磁开关,控制器、延时器、定时器等的时间测试。 奥运男子百米飞人大战中,牙买加飞人博尔特以9秒69的成绩夺得冠军。而博尔特冲过终点的瞬间,荧屏显示其成绩为9秒68。相差的这个0.01秒,系由电子计时系统确认. 奥运会男子100米蝶泳决赛上,美国选手菲尔普斯以50秒58的成绩惊险夺冠,距离“八金梦想”仅一步之遥。塞尔维亚选手查维奇以50。59秒获得银牌,只比菲尔普斯慢0.01秒。这种细微的差距,即使是现场大屏幕用经典超慢镜头回放,也无法分辨. 2004年8月28日15点15分,中国选手孟关良/杨文军在雅典奥运会男子500米划艇决赛中,以1分40秒278的成绩获得中国在雅典奥运会的第28金.这是中国皮划艇项目的第一枚奥运金牌,也是中国水上项目在历届奥运会上所获得的第一枚金牌。孟关良/杨文军的成绩比获得银牌的古巴选手只快了 0.072秒,以至于两人在夺冠之后还不敢相信。 自首届现代奥运会在希腊雅典举办以来,奥运计时技术一直在不断地向前发展。一百多年过去了,首届现代奥运会上计时所用的跑表如今换成了一系列高科技计时装 置,如高速数码摄像机、电子触摸垫、红外光束、无线应答器等等。鉴于当今计时技术的快速发展,即便千分之一秒(为眨眼的40倍)的毫微差距,也决定着冠军的归属。 在现在的体育竞技比赛中,随着运动员的水平不断提高,差距也在不断缩小。有些运动对时间精度的要求也越来越高,有时比赛冠亚军之间的差距只有几毫秒,因此就需要高精度的秒表来记录成绩。 有关计时钟表的发展历史,大致可以分为三个演变阶段。 一、从大型钟向小型钟演变.二、从小型钟向袋表过渡。三、从袋表向腕表发展. 每一阶段的发展都是和当时的技术发明分不开的。 1088年,当时我国宋朝的科学家苏颂和韩工廉等人制造了水运仪象台,它是把浑仪、浑象和机械计时器组合起来的装置.它以水力作为动力来源,具有科学的擒纵机构,虽然几十年后毁于战乱,但它在世界钟表史上具有极其重要的意义. 1656年,荷兰的科学家惠更斯应用伽利略的理论设计了钟摆,第二年,在他的指导下年轻钟匠S.Coster制造成功了第一个摆钟。1675年,他又用游丝取代了原始的钟摆,这样就形成了以发条为动力、以游丝为调速机构的小型钟,同时也为制造便于携带的袋表提供了条件. 18世纪期间发明了各种各样的擒纵机构,为袋表的进一步产生与发展奠定了基础.英国人George Graham在1726年完善了工字轮擒纵机构,它和之前发明的垂直放置的机轴擒纵机构不同,所以使得袋表机芯相对变薄。 20世纪初,尤其是第一次世界大战的爆发,袋表已经不能适应作战军人的需要,腕表的生产成为大势所趋.许多新的设计和技术也被应用在腕表上,成为真正意义上的带在手腕上的计时工具。紧接着的二战使腕表的生产量大幅度增加,价格也随之下降,使普通大众也可以拥有它。腕表的年代到来了! 1998年:建立超冷铯原子钟,比微微秒又要精确10万倍。 从我国水运仪像台的发明到现在各国都在研制的原子钟这几百年的钟表演变过程中,我们可以看到,各个不同时期的科学家和钟表工匠用他们的聪明的智慧和不断的实践融合成了一座时间的隧道,同时也为我们勾勒了一条钟表文化和科技发展的轨迹。 本设计利用AT89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能.P0口输出段码数据,P2.0—P2.4口作列扫描输出,P1.1、P3.2、P3。3、P2.5分别接四个按钮开关,分别实现开始、暂停、清零和查看上次时间的功能。显示电路由五位共阴极数码管组成. 初始状态下计时器显示00.000,当按下开始键时,外部中断INT1向CPU发出中断请求,CPU转去执行外部中断1服务程序,即开启定时器T0。计时采用定时器T0中断完成,定时溢出中断周期为1ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到99。999秒重新复位.在计时过程中,只要按下暂停键,外部中断INT0向CPU发出中断请求,CPU转去执行外部中断0服务程序,即关闭定时器T0,调用显示程序,实现暂停功能,同时将此次计时时间存入寄存区.然后对P1。1进行扫描。当P1。1按下时就跳转回主程序.等待下一次计时开始. 在按下暂停键时,将此时的计时时间存入中间缓存区,当再次按下开始键时,则讲中间缓存区的数据转入最终缓存区。秒表停止后对查看键P2.5进行扫描,P2.5按下为低电平时,调用最终缓存区的数据进行显示,即显示上一次计时成绩.当P2.5位高电平时,调用显示缓存区的数据进行显示,即显示当此计时的成绩。根据以上设计思路从而实现数字电子秒表的计时和查看上一次计时时间的功能。 本文主要内容包括三部分:第一部分介绍硬件部分设计思路及方案;第二部分介绍了软件部分的设计思路和设计;最后一部分则是整个系统的安装与调试过程。 1 硬件设计 1.1 总体方案的设计 数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。 设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。主控制器采用单片机AT89C52,显示电路采用共阴极LED数码管显示计时时间。 本设计利用AT89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。P0口输出段码数据,P2。0—P2.4口作列扫描输出,P1。1、P3.2、P3.3、P2.5口接四个按钮开关,分别实现开始、暂停、清零和查看上次计时时间功能.电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图- 配套讲稿:
如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。
关于本文