版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选文档Proteus 仿真大赛电子时钟仿真 第一章 电子时钟总体设计1.1电子时钟简介 电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时精确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在很多场合都用到电子时钟。很多单片机产品具有实时时钟的功能,例如智能化仪器仪表、工业过程系统及家用电器等。这里要求实现一个具有实时时钟显示和闹钟把握功能的数字钟。通过数字钟的设计与制作,将前面所学的单片机内部定时资源、I/O端口、键盘和显示接口等学问融会贯穿,熬炼独立设计、制作和调试应用系统的力量,深化领悟单片机应用系统的硬件设计、模块
2、化程序设计及软硬件调试方法等,并把握单片机应用系统的开发过程。1.2电子钟设计要求设计并制作具有如下功能的数字钟:(1) 自动计时,由6位LED先四起显示时、分、秒。(2) 具备校准功能,可以设置当前时间。(3) 具备定时启动功能,可以设置闹钟时间,启闹10s后自动关闭闹铃。1.3电子钟计时方案(1)接受实时时钟芯片。针对应用系统对实时功能的普遍需求,各大芯片生产厂家间续推出了一系列实时时钟集成电路,如DS1287、DS12887、DS1302、PCF8563、S35190等。这些实时时钟芯片具备年、月、日、时、分、秒、计时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。单片机可通
3、过中断或查询方式读取计时数据。实时时钟芯片的计时功能无须占用CPU时间,功能完善,精度高,软件程序设计相对简洁,在实时工业测控系统中多接受这一类专用芯片来实现。(2)软件把握。利用AT89S51内部定时/计数器进行中断定时,协作软件延时、分、秒的计时。该方案节省硬件成本,且能够使读者对前面所学学问进行综合运用,因此,本系统设计接受这一方案。1.4电子钟显示方案(1)利用串行口扩展LED,实现LED静态显示。该方案占用单片机资源少,且静态显示亮度高,但硬件开销大,电路简单,信息刷新速度慢,比适用于单片机并行口资源较少的场合。(2)利用单片机并行I/O端口,实现LED动态显示。该方案直接使用单片机
4、并行口作为显示接口,无须外扩接口芯片,但占用资源较多,且动态扫描显示方式需占用CPU时间。在非实时测控或单片机具有足够并行口资源的状况下可以接受。这里接受动态显示方案。其次章 硬件描述及系统设计构思2.1电子时钟功能模块主程序函数LED显示函数键盘检测函数查值函数加1修改功能函数闹钟设置函数时钟设置函数定时器中 断函数闹钟推断启动函数2.2系统硬件描述1 把握器用AT89S51 , 12M晶振2 数码管动态扫描驱动P2口3 数码管段码驱动P1口4 闹铃驱动P1.05 调整键K1P3.2(外部中断0, 正常、调时、调分、调秒)6 定时/正常切换键K2P3.37 时间参数低位加1键K3P3.48
5、时间参数高位加1键K4P3.52.3系统设计构思1主流程是取时间参数,显示时间参数。2利用T0中断来完成计时、比较定时时间、驱动闹铃。3利用T1中断完成动态显示中,调整时间闪烁效果的定时。4利用外部中断0来完成调整选择功能。5利用外部中断1完成定时显示,当前时间显示的切换6K3、K4键完成时间参数的循环加1操作2.4电子时钟电路原理图 如图为电子时钟电路原理图第三章 电子钟硬件介绍3.1 单片机的介绍单片机也被称为微把握器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业把握领域。它不是完成某一个规律功能的芯片,而是把一个计算机系统集成到一个芯
6、片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格廉价、为学习、应用和开发供应了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 单片机芯片单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很简单的功能要是用美国50年月开发的74系列,或者60年月的CD4000系列这些纯硬件来搞定的话,电路肯定是一块大PCB板!但是假如要是用美国70年月成功投放市场的系列单片机,结果就会有天壤之别
7、!只由于单片机的通过你编写的程序可以实现高智能,高效率,以及高牢靠性! 3.2 数码管的工作原理a.七段数码管分共阳管和共阴管,使用时要留意区分,本项目使用共阳数码管。即公共端接正极。数码管引脚示意图如下:b.该电路使用芯片74LS244来驱动发光两极管,74LS244芯片说明书如下,使用时留意推断芯片的引脚号,引脚示意图如下:c.人眼的视觉暂停时间大约是0.02秒,当画面每秒变化超过24帧时,人眼会将这些快速变动的画面视作连续画面。数码管动态显示正是利用了人的这一特性。第四章 把握系统的软件设计4.1 程序设计本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、闹钟设置程序四大
8、模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。/*数字钟程序*/#include <reg51.h>#define uchar unsigned charsbit buzzer=P27; /定义蜂鸣器把握端口/*函数声明*/void display(uchar *p);uchar keyscan(); /扫描键盘有无键按下uchar search(); /按键识别void alarm(); /闹钟推断启动void ftion0(); /时钟修改void ftion1(); /闹钟修改void cum(); /加1修改/*全局变量定义*/uchar cloc
9、kbuf3=0,0,0;/存放时钟时分秒的十进制数uchar bellbuf3=0,0,0;/存放闹钟时分秒的十进制数uchar msec1; /10ms中断次数uchar msec2; /1s循环次数uchar timdata,rtimdata;/时钟和闹钟修改位置标志uchar count;/闹钟启动后10s计时单元uchar *dis_p;/显示缓冲区指针bit armbit;/闹钟标志,为0闹钟未设定,为1已设定bit rtimbit;/闹钟是否启动标志,为1已启动bit rhourbit;/闹钟小时修改标志,为1正在修改闹钟小时bit rminbit;/闹钟分修改标志,为1正在修改闹
10、钟分bit hourbit;/时钟小时修改标志,为1正在修改时钟小时bit minbit;/时钟分修改标志,为1正在修改时钟分bit secbit;/时钟秒修改标志,为1正在修改时钟秒/*主函数*/void main()uchar a;armbit=0; /清零闹钟标志位msec1=0; /设置10ms中断次数初值msec2=0; /设置1s中断次数初值timdata=0; /时钟内容修改位置记忆单元清零rtimdata=0;/闹钟内容修改位置记忆单元清零count=0; /闹钟启动后保持10s计时单元清零TMOD=0x02; /定时器T0为工作方式2TL0=0x06; /定时初始值为250u
11、sTH0=0x06;EA=1; /中断总允许位开启ET0=1; /定时器1开中断TR0=1; /启动定时器T0dis_p=clockbuf;/将时钟值所在地址送入显示指针P1=0x00;buzzer=0;while(1)a=keyscan(); /调用键盘扫描子程序if(a=0x07)display(dis_p);/无键输入调用显示程序if(armbit=1)alarm();/推断闹钟设定否,若设定则调用闹钟启动函数elsedisplay(dis_p);/调用显示子函数作为延时去抖动a=keyscan();if(a!=0x07) /没有抖动,表示有键按下a=search();/调用查键值子函数
12、switch(a)case 0x00:ftion0();break;/是时钟参数修改功能键,调用时钟设置子函数case 0x01:ftion1();break;/是闹钟参数修改功能键,调用闹钟设置子函数case 0x02:cum();break;/是加1功能键,调用加1修改功能子函数default:break;/*6位LED显示函数*/void display(uchar *p) uchar buffer6=0,0,0,0,0,0;uchar k,i,j,m,temp;uchar led=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;buf
13、fer0=p0/10;buffer1=p0%10;buffer2=p1/10;buffer3=p1%10;buffer4=p2/10;buffer5=p2%10;for(k=0;k<2;k+)temp=0x01;for(i=0;i<6;i+)j=bufferi;P0=temp;P1=ledj; /P1送断码temp<<=1;for(m=0;m<100;m+);/每一位显示延时P1=0x00; /关显示/*键盘扫描函数*/uchar keyscan()uchar c;P0=0xf0;c=P2;c=c&0x07;/按键行输入为P2.0-P2.2,屏蔽无关位re
14、turn(c);/*查键值函数*/uchar search()uchar a,b,c,d,e;/P2=0xfe;c=0xfe; /首列扫描字送变量ca=0; /首列号送awhile(1)P0=c; /列扫描字送P0口d=P2; /读入P2口的行状态if(d&0x01)=0)b=0;break;/第0行有键按下,第0行行首号送belse if(d&0x02)=0)b=4;break;/第1行有键按下,第1行行首号送belse if(d&0x04)=0)b=8;break;/第2行有键按下,第2行行首号送ba+; /扫描列号加1c<<=1; /修改列扫描字,扫描
15、下一列e=a+b; /将行首号与列号相加,求键号dodisplay(dis_p);while(d=keyscan()!=0x07);/等待释放按键return(e);/*闹钟推断启动函数*/void alarm()if(clockbuf0=bellbuf0)&&(clockbuf1=bellbuf1)buzzer=1;rtimbit=1;/设置闹钟计时标志,时钟将进行10s计时标志if(count=10)/推断闹钟保持10s时间到否 count=0;/清除闹钟保持10s计时 buzzer=0;/清除闹钟 armbit=0;/清闹钟标志,否则闹钟设置将连续有效 rtimbit=0
16、;/*时钟设置函数*/void ftion0()if(rhourbit=1|rtimbit=1|rtimdata=1)secbit=0;minbit=0;hourbit=0;timdata=0;else TR0=0; /关定时器dis_p=clockbuf;/将时钟缓冲区首地址送显示指针timdata+; /将时钟修改记录值加1switch(timdata)case 0x01:secbit=1;break;/记录值为1,则将时钟秒修改标志置1case 0x02:secbit=0;minbit=1;break;/记录值为2,则将时钟分修改标志置1case 0x03:minbit=0;hourbi
17、t=1;break;/记录值3,则将时钟时修改标志置1case 0x04:timdata=0;hourbit=0;TR0=1;break;/按4次则清时钟单元修改位置 /记录,定时器重新开启default:break; /*闹钟设置函数*/void ftion1()if(secbit=1|minbit=1|hourbit=1|timdata=1)rhourbit=0;rtimbit=0;rtimdata=0;elsedis_p=bellbuf;/设置闹钟显示标志rtimdata+;/将闹钟修改记录值加1switch(rtimdata)case 0x01:rminbit=1;break;/记录值
18、为1,将闹钟分修改标志置1case 0x02:rminbit=0;rhourbit=1;break; /记录值为2,将时钟分修改标志置1case 0x03:rtimdata=0;rhourbit=0;/按3次则清闹钟单元修改位置记录armbit=1; /设置闹钟已设置标志位dis_p=clockbuf;/恢复时钟显示标志break;default:break;/*加1修改功能函数*/void cum() if(secbit=1) /时钟秒修改标志为1,秒单元内容加1if(clockbuf2=59) clockbuf2=0;else clockbuf2+;else if(minbit=1)/时钟分修改标志为1,分单元内容加1if(clockbuf1=59) clockbuf1=0;else clockbuf1+;else if(hourbit=1) /时钟小时修改标志为1,小时单元内容加1if(clockbuf0=2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽省阜阳市阜南县老观乡国民经济和社会发展第十五个五年规划
- 金华市中医院护理管理危机处理考核
- 宿迁市中医院毫针针刺技术操作资格认证
- 宣城市中医院疑难血型鉴定专项技术上岗资格认证
- 宣城市中医院手术分级管理考核
- 福州市人民医院呼吸科肺栓塞溶栓治疗决策模拟考核
- 南昌市中医院常用急救药品的规范使用考核
- 【中小学】家庭教育家长会:与我的不完美小孩和谐共处
- 池州市人民医院移植肝穿刺活检术考核
- 南通市人民医院感觉统合治疗考核
- 3.1生活中的立体图形(教学设计)- 华东师大版(2024)七上
- 全国大学生职业规划大赛《精细化工技术》专业生涯发展展示【高职(专科)】
- 税务局国考行测题库及答案详解【名师系列】
- 2025年中小学教师职称评定答辩题(附答案)
- 二手车买卖协议范本下载5篇
- 【新教材】2025-2026学年人教版(2024)信息科技六年级全一册教案(教学设计)
- 商品标识及质检知识培训课件
- 国开2025年《行政领导学》形考作业1-4答案
- 颜色标准LAB值对照表
- 2022义务教育道德与法治课程标准解读之核心素养与课程目标PPT
- (机构适用)上海市2021年中考语文冲刺(考点梳理+强化训练)08 记叙文阅读(一)整体把握(含答案)
评论
0/150
提交评论