版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE1目录单片机的个性化电子钟设计报告作者:黄淀钧吴耿彬09电信3班设计背景2作品简介2设计目的与意义3设计要求3总体方案设计35.1硬件设计35.1.1总原理图35.1.2各模块设计45.1.3器件清单75.2软件设计75.2.1硬件框图85.2.2程序流程图95.2.3源程序代码六、遇到的困难和解决办法18七、参考文献18八、附录18一、设计背景电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。二、作品介绍该作品是个性化电子钟设计,技术上主要用单片机(AT89c52)主控,8位LED数码显示,分别显示“小时-分钟-秒”。该作品主要用于24小时计时显示,能调整显示时间,能调整闹钟时间,能做秒表使用,能定时闹铃1分钟,闹钟响的时候可以手动按停。使用方法:开机后时钟在00:00:00起开始计时。按K1进入调时状态:按K2加1,按K3减1.再按K1进入分调整状态,加减调整同调时一样.再按K1进入秒调整状态。之后再按K1分别进入闹钟的时分秒调整状态。最后一次按K1,则返回显示状态。三、设计目的及意义(1)熟悉protues、keil-c软件的应用。(2)巩固、加深和扩大51系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(3)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(4)对课题设计方案的分析、选择、比较、熟悉用51单片机做系统开发、研制的过程,软硬件设计的方法、内容及步骤。四、设计要求(1)上电以后自动进入计时状态,起始于00:00:00。(2)设计键盘调整时间,完成时间设计,并设置闹钟。(3)定时时间为1/100秒,采用定时器实现。(4)采用LED数码管显示,时、分,秒采用数字显示。(5)采用24小时制,具有方便的时间调校功能。五、总体方案设计5.1硬件设计5.1.1总原理图如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。电子钟原理图5.1.2各个模块设计1.单片机最小系统AT89S52AT89c52概述:是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。AT89c52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止……详述:AT89c52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器。一个6向量2级中断结构,全双工串行口及时钟电路。另外,AT89c52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.2、显示模块LED数码管是由发光二极管构成的,亦称半导体数码管。将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。若按规定使某些笔段上的发光二极管发光,就能显示从0~9的…系列数字。同荧光数码管(VFD)、辉光数码管(NRT)相比,它具有:体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL、CMOS电路兼容等的数显器件。+、-分别表示公共阳极和公共阴极。a~g是7个笔段电极,DP为小数点。另有一种字高为7.6mm的超小型LED数码管,管脚从左右两排引出,小数点则是独立的。本系统利用6位LED数码管显示时间,共阴极结构。LED数码管由7段发光二极管组成,当要显示某个数字时只要将数字所对应的引脚送入低电平。表一LED数码管真值表3.按键模块本设计中主要有三个控制按键,按键功能为:(1)P0.0为调时间模式,按P0.0进入调分状态:按P0.1加1,按P0.2减1.再按P0.0进入分调整状态,,加减调整同调时.按P0.0进入秒调整状态。(2)再按P0.0进入设定闹时状态,可进行时设定,按P0.1时加1,按P0.2时减1,再按P0.0为分调整,按P0.1分加1,按P0.0进入秒调整,再按P0.0调闹钟结束.在闹铃时可按P0.1或P0.2停闹,不按闹铃1分钟。4.晶振模块下图所示为时钟电路原理图,在AT89c51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。晶振电路 5.1.3器件清单表二元件清单与封装元件名封装名型号CRYSTALXTAL-1VOLTREGTO-220MC7805TTRANS4FLY410TO1VSINCAPRB.2/.4CAPACITORPOLCAPRAD-0.1CAPTRANSISTORTO18PNPTRANSISITORTO92ANPNSPEAKERSIP-2LEDDIODE-0.4SW-PBRES2AXIAL0.3-1.0DPY_7-SEG_DPDIP8单片机AT89S525.2软件设计5.2.1硬件框图根据以上的电子钟的设计要求可以分为以下的几个硬件电路模块:单片机模块、数码显示模块、晶振模块、电源模块与按键模块等,模块之间的关系图如下面得方框电路图所示。5.2.2程序流程图(1)总体流程图(2)时钟调整模式开始开始初始化函数初始化函数是否有按键按下是否有按键按下显示时间显示时间否是调整显示时间,调整闹钟时间调整显示时间,调整闹钟时间YYYNN开始显示时间闹钟是否启动蜂鸣器响K2=0orK3=0?退出(3)闹钟模式5.2.3源程序代码#include<reg51.h>#defineucharunsignedcharuchartime,hour,min,sec;ucharhhs,mms,sss;ucharhhg,mmg,ssg;ucharkey1num;ucharnaomiao,naofen,naoshi;ucharnaomiaog,naomiaos,naofeng,naofens,naoshig,naoshis;ucharled[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};uchartable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};sbitkey1=P0^0;sbitkey2=P0^1;sbitkey3=P0^2;sbitkeynaozhong=P2^0;voiddelay(intz){intx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voiddisplay0(ucharhhs,ucharmms,ucharsss,ucharhhg,ucharmmg,ucharssg){ ssg=sec%10; sss=sec/10; mmg=min%10;mms=min/10; hhg=hour%10; hhs=hour/10; P1=led[ssg]; P3=table[7];delay(1); P1=0x00; P1=led[sss]; P3=table[6];delay(1); P1=0x00; P1=0x02; P3=table[5];delay(1); P1=0x00; P1=led[mmg]; P3=table[4];delay(1); P1=0x00; P1=led[mms]; P3=table[3];delay(1); P1=0x00; P1=0x02; P3=table[2];delay(1); P1=0x00; P1=led[hhg]; P3=table[1];delay(1); P1=0x00; P1=led[hhs]; P3=table[0];delay(1); P1=0x00; }voiddisplay1(ucharnaoshis,ucharnaoshig,ucharnaofens,ucharnaofeng,ucharnaomiaos,ucharnaomiaog){ naomiaos=naomiao/10; naomiaog=naomiao%10; naofens=naofen/10; naofeng=naofen%10; naoshis=naoshi/10; naoshig=naoshi%10; P1=led[naoshis]; P3=table[0]; delay(1); P1=0x00; P1=led[naoshig]; P3=table[1]; delay(1); P1=0x00; P1=0x02; P3=table[2];delay(1); P1=0x00; P1=led[naofens]; P3=table[3]; delay(1); P1=0x00; P1=led[naofeng]; P3=table[4]; delay(1); P1=0x00; P1=0x02; P3=table[5];delay(1); P1=0x00; P1=led[naomiaos]; P3=table[6]; delay(1); P1=0x00; P1=led[naomiaog]; P3=table[7]; delay(1); P1=0x00;}voidkeyscan(){ if(key1==0) { delay(5); if(key1==0) { key1num++; while(!key1) if(key1num<=3) {display0(hhs,mms,sss,hhg,mmg,ssg);} else {display1(naomiaog,naomiaos,naofeng,naofens,naoshig,naoshis);}; if(key1num==1){TR0=0;} if(key1num==2){TR0=0;} if(key1num==3){TR0=0;}if(key1num==4){TR0=0;} if(key1num==4){TR0=0;} if(key1num==6){TR0=0;} if(key1num==7){key1num=0;TR0=1;}}} if(key1num!=0) { if(key2==0){ delay(5);if(key2==0) { while(!key2) if(key1num<=3) {display0(hhs,mms,sss,hhg,mmg,ssg);} else {display1(naomiaog,naomiaos,naofeng,naofens,naoshig,naoshis);}; if(key1num==1) { hour++; if(hour==24) hour=0; display0(hhs,mms,sss,hhg,mmg,ssg); } if(key1num==2) { min++; if(min==60) min=0; display0(hhs,mms,sss,hhg,mmg,ssg); } if(key1num==3) { sec++; if(sec==60) sec=0; display0(hhs,mms,sss,hhg,mmg,ssg); } if(key1num==4) { naoshi++; if(naoshi==24) naoshi=0; display1(naoshis,naoshig,naofens,naofeng,naomiaos,naomiaog); } if(key1num==5) { naofen++; if(naofen==60) naofen=0; display1(naoshis,naoshig,naofens,naofeng,naomiaos,naomiaog); }if(key1num==6) { naomiao++; if(naomiao==60) naomiao=0; display1(naoshis,naoshig,naofens,naofeng,naomiaos,naomiaog);}}} if(key3==0) { delay(5); if(key3==0) { while(!key3) if(key1num<=3) {display0(hhs,mms,sss,hhg,mmg,ssg);} else {display1(naomiaog,naomiaos,naofeng,naofens,naoshig,naoshis);}; if(key1num==1) { hour--; if(hour==-1) hour=23; display0(hhs,mms,sss,hhg,mmg,ssg); } if(key1num==2) { min--; if(min==-1) min=59; display0(hhs,mms,sss,hhg,mmg,ssg); } if(key1num==3) { sec--; if(sec==-1) sec=59; display0(hhs,mms,sss,hhg,mmg,ssg); }if(key1num==4) { naoshi--; if(naoshi==-1) naoshi=23; display1(naoshis,naoshig,naofens,naofeng,naomiaos,naomiaog); } if(key1num==5) { naofen--; if(naofen==-1) naofen=59; display1(naoshis,naoshig,naofens,naofeng,naomiaos,naomiaog); }if(key1num==6) { naomiao--; if(naomiao==-1) naomiao=59; display1(naoshis,naoshig,naofens,naofeng,naomiaos,naomiaog);}}}}}voidTIMER0(void)interrupt1{{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; time++; if(time>=20) { time=0; sec++
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国隐形眼镜行业市场发展潜力与投资策略建议报告
- 2025-2030年中国铜铝复合散热器行业市场规模分析及发展建议研究报告
- 2025-2030年中国酸奶发酵剂行业市场前景趋势与投资潜力分析报告
- 2025-2030年中国超白玻璃市场前景趋势及投资潜力分析报告
- 个人向的事业单位借款合同范本(2024版)3篇
- 中等教育的教师教育与培养创新考核试卷
- 制鞋业国际市场准入与规范考核试卷
- 互联网+社区服务与治理考核试卷
- 复混肥料在现代农业中的作用考核试卷
- 地质勘探中的野外地质考核试卷
- GB/T 3098.5-2000紧固件机械性能自攻螺钉
- 康佳液晶电视企业文化(课堂PPT)
- 个人养老金:是什么、怎么缴、如何领PPT个人养老金基础知识培训PPT课件(带内容)
- 鸡鸭屠宰生产企业安全风险分级管控资料
- 医院感染管理组织架构图
- 《工程招投标与合同管理》题库试题及答案 共5套试卷
- 离子色谱法分析氯化物原始记录 (1)
- 高等数学说课稿PPT课件(PPT 49页)
- 造影剂肾病概述和性质
- 单片机交通灯系统设计报告
- 标杆房企人力资源体系研究之龙湖
评论
0/150
提交评论