电子时钟实习报告

上传人:痛*** 文档编号:116163805 上传时间:2022-07-05 格式:DOC 页数:26 大小:417KB
收藏 版权申诉 举报 下载
电子时钟实习报告_第1页
第1页 / 共26页
电子时钟实习报告_第2页
第2页 / 共26页
电子时钟实习报告_第3页
第3页 / 共26页
资源描述:

《电子时钟实习报告》由会员分享,可在线阅读,更多相关《电子时钟实习报告(26页珍藏版)》请在装配图网上搜索。

1、绪论单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。51单片机是各单片机中最为典型和最有代表性的一种。本设计使用12MHZ晶振和单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在4个LED数码管上显示时间,通过4个按键进行调时、设置、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。从而到达学习、设计、开发软、硬件的能力。电子时钟是采用数字电路实现对日期、时、分、秒

2、,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。 电子钟的时钟具有可选的24h(小时)或12h(小时)的计时方式,显示时、分、秒;具有快速校准当前时、分、秒的功能;能设置起闹时刻、响闹时间,具有人工止闹功能,止闹后不再重新操作,将不再发生起闹等。本次实习的主要内容是基于51系列单片机,结合任务书要求以及自我创新编程设计出电子时钟的某些功能,并自己亲手设计出电路以及在焊好的电路板上进行运行,进行硬件调试,呈现设计结果。关键字:AT80C51芯片;LED数码管;电

3、子时钟;按键扫描;硬件调试目 录1 实习目的12 实习内容22.1 主要内容23设计过程33.1 PROTEUS软件33.2硬件部分33.2.1STC89C52单片机介绍33.3功能设计流程43.4 模块功能53.4.1 按键扫描模块53.4.2 数码管显示模块63.4.3 闹钟模块83.5电路板焊接84 硬件调试104.1 调试结果105 实习总结12参考文献13附录A 电路板原理图14附录B 元器件清单15附录C 电子时钟模块原理图17附录D 电子时钟源程序1824 / 2624 / 261 实习目的这次课程计通过对51系列单片机的学习、应用,以AT80C51芯片为核心,辅以必要的电路,设

4、计了一个简易的电子时钟电路,并亲手将自己所设计出来的电路板焊接出来,它由5V直流电源供电,通过数码管能够准确显示时间,调整时间,并进行闹钟设置。为实现定时控制以及对外界事件进行计数,在单片机应用系统中,常需要用到实时时钟和计数器。还要进行单片机软件编程,目的是为了提高学生的软件编程和系统设计能力,整个设计系统包括两个部分,硬件及软件部分,硬件部分已经制作成功,学生需要掌握其原理和焊接相应的元器件,掌握元器件的辨别和元器件的作用以及应用场所即可,另外对所焊接的电路进行仔细的检查,判断是否有焊接错误的地方或者短路的地方,对出现的异常情况要能够根据现象判别原因,并具备解决问题的能力,从而切实提高学生

5、的硬件电子电路的分析、判断能力。 程序的编写是本次实习的重要环节,学生要完成的软件编程任务主要包括以下四点:熟悉Keil C51编程平台及相关编程软件;编写、调试键盘扫描子程序并进行软硬件联调;编写、调试数码管动态扫描程序并进行软硬件联调;电子钟设(包括键盘、时钟、显示等)。电子钟要求设计一个简单的单片机编程设计,要求电子钟软件程序必须具备键盘扫描、数码管显示、时钟以及闹钟功能。 通过实习,使同学们更加深入地理解了实习期间作用各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识。本次实习旨在锻炼学生各方面的能力,提升自身的竞争力,加深对所学内容的理解,强化动手能力和实践精神。 2

6、 实习内容 2.1 主要内容 本课题的主要内容是采用单片机实现一个简单的带闹钟定时功能的电子时钟,通过这个实习进一步加深C语言程序设计、单片机原理及应用等相关课程中的理论知识,熟练掌握单片机的编程、调试和应用系统的开发。 具体任务要求:1、显示“时.分”进行显示,例如“12.18”,其中小数点每秒闪烁一次。2、能够校正时间的时和分,按键分为5个功能键(1)设定键:在计时模式时,按下此键时停止计时,进入设置状态,并切换到分钟的设置状态,再按一次切换到小时的设置状态,每按下一次完成时.分设置的切换,用点亮时.分个位的数码管小数点表示分或秒处于设置状态。在闹钟时间设定状态时,按下此键同样进入设置状态

7、,完成分、秒设置的切换。(2)递增键:在设置状态时,按一次递增键,被设置的分钟数字或时钟数字增1,持续按下数字自动增1。(3)递减键:在设置状态时,按一次递减键,被设置的分钟数字或时钟数字减1,持续按下数字自动增1。(4)计时键:在设置状态或闹钟时间设定状态时,按下此键则单片机切换到计时的显示模式,按照新的时.分设置值进行计时。如果已经在计时状态则此键无效。(5)闹钟键:在计时模式时,按下此键则单片机切换到闹钟时间设定状态的显示模式。等待“设定键”、“递增键”、“递减键”来设定分钟和秒钟。3、当计时到闹钟设定时间,用发光二极管闪烁,十秒钟后结束闪烁,正常计时。3设计过程3.1 PROTEUS软

8、件PROTEUS是英国Labcenter Electronic公司研发的EDA。PROTEUS不仅是摸拟电路、数字电路、模数混合电路的设计和仿真平台,更是目前世界上最先进的、最完整的多种型号单片机(微控制器)应用系统的设计和仿真平台。它真正实现了在计算机上完成从原理图设计和电路设计、电路分析和仿真、单片机代码级调试和仿真、系统测试和功能验证到形成PCB的完整的电子设计、研发过程。主要由ISIS电路设计和仿真平台、ProSPICE模数混合仿真器、VSM单片机系统协同仿真和ARES PCB设计构成。PROTEUS还有众多的虚拟仪器(示波器、逻辑分析仪等)、信号源;还有高级图表仿真ASF。它们提供了

9、检测、调试、分析的手段。3.2硬件部分3.2.1STC89C52单片机介绍STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS8位单片机,片内含8kbytes的可反复写的FlashROM和256bytes的RAM,2个16位定时计数器。STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图1所示。图1

10、STC89C52单片机管脚结构图3.3功能设计流程 根据题目的要求,需要实现如下几个方面的功能。(1)计时功能:要实现计时功能则需要使用定时器来计时,通过设置定时器的初始值来控制溢出中断的时间间隔,再利用一个变量记录定时器溢出的次数,达到定时1 秒中的功能。然后,当计时每到1 秒钟后,倒计时的计数器减1。当倒计时计数器到0 时,触发另一个标志变量,进入闪烁状态。(2)显示功能:显示倒计时的数字要采用动态扫描的方式将数字拆成“十位”和“个位”动态扫描显示。如果处于闪烁状态,则可以不需要动态扫描显示,只需要控制共阴极数码管的位控线,实现数码管的灭和亮。(3)键盘扫描和运行模式的切换:主程序在初始化

11、一些变量和寄存器之后,需要不断循环地读取键盘的状态和动态扫描数码管显示相应的数字。根据键盘的按键值实现设置状态、计时状态及闹钟模式的切换。电子时钟设计原理框图如下所示(设计源程序见附录C):设置键计时状态 计时键闹钟键 设置键设置状态(处于设置分的状态)闹钟设置状态计时键递增&递减键增一减一设置键设置时的状态图2 程序设计总体流程框图3.4 模块功能3.4.1 按键扫描模块本次实习所用单片机包含的为矩阵式键盘,又称行列式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。4*4的行列结构可构成16个键的键盘,无键按下时各行、列线彼此相交而不相连,一般使之处于高电平状态;当有按键按下时,则

12、和其相连的行线、列线相连,一般使之处于低电平状态。由行、列线的点平状态可以识别唯一和之相连的按键。此次编程用STC芯片上的P2口扫描读取键盘上我们所需的仅5个键盘值。 扫描获取键值程序如下:unsigned char scan_key() unsigned char a,t,b; b=255; a=0xef; P2=a; t=P2 & 0x0f; /列 switch(t) case 0x0e:b=1;/P2.0列down break; case 0x0d:b=2;/P2.1列down break; case 0x0b:b=3;/P2.2列down break; case 0x07:b=4;/P

13、2.3列down break; a=0xdf; P2=a; t=P2 & 0x0f; /列 switch(t) case 0x0e:b=5;/P2.0列down break; return b;3.4.2 数码管显示模块 所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显

14、示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。本次编程用到四个数码管,分别显示时的十位和个位、分的十位和个位,用P3.4-P3.7口分别控制四个数码管的显示。数码管显示模块程序如下:void led_show(unsigned int u,unsigned int v,unsigned int w) unsigned char i;P3=0xff;i=u/10;/暂存十位P0=led_seg_codei;P3=0x7f;delay(100); /延时P3=0xff;i=u%10;/暂存个位P0=led_seg_codei;if(w=1) P0=P0&0x7f;else

15、P0&=0xFF;P3=0xbf;delay(100); /延时P3=0xff;i=v/10;/暂存十位P0=led_seg_codei;P3=0xdf;delay(100); /延时P3=0xff;i=v%10;/暂存个位P0=led_seg_codei;P3=0xef;delay(100); /延时P3=0xff; 3.4.3 闹钟模块蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的。因此需要一定的电流才能驱动它,单片机IO口输出的电流较小,其TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。程序中通过改变单片机对应IO口输出波形的频率,就可以调整控制蜂

16、鸣器音调,产生各种不同音色、音调的声音。另外,改变其占空比,也可以控制蜂鸣器的声音大小。它有两种驱动方式,即用PNP或NPN三极管电流放大电路驱动。因此,我们可以通过程序控制IO口输出的电平来使蜂鸣器发出声音和关闭,从而实现各种可能音响的产生。 闹钟模块编程如下:void alarm() deng=1; speak=1;if(sec1999)/如果计数1999, 计时0.5s banmiao=1;if(T1_cnt3999) /如果计数3999, 计时1s T1_cnt=0; sec+; banmiao=0; if(sec=60) sec=0; min+; if(min=60) min=0;

17、hour+; if(hour=24) hour=0; min=0; sec=0; /-闹钟-void alarm() deng=1; speak=1; if(sec x= 230.4/TL1=0x19;EA=1; /打开总中断允许ET1=1; /开中断允许TR1=1; /开定时器T1while(1)if(hour=nhour&min=nmin&sec=nsec)alarm();led_show(hour,min,banmiao);key_val_new=scan_key(); / 255 表示无键按下if (key_val_new!=key_val_old) / 只有当前扫描的键值和上次扫描的

18、不同,才判断是有键按下key_val_old=key_val_new;switch (key_val_new) case 1: /设置键state_val+; /处于设置状态TR1=0; /停止计时break;case 2: if(state_val%2!=0) hour-;if(hour0)hour=23;else min-; if(min23)hour=0;else min+;if(min59) min=0; break; /增一case 4: if(state_val!=0&nao=0) / 如果已处于计数模式,确认键不起作用TR1=1; /启动定时器T1 state_val=0; /将状态切换为计数模式if(state_val!=0&nao=1) TR1=1;nao=0;state_val=0;nhour=hour;nmin=min;nsec=sec;hour=khour;min=kmin;sec=ksec; break; /确认case 5: khour=hour; kmin=min; ksec=sec; nao=1; TR1=0; break; /闹钟键

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!