led电子时钟报告册

上传人:沈*** 文档编号:136753675 上传时间:2022-08-17 格式:DOC 页数:20 大小:183.50KB
收藏 版权申诉 举报 下载
led电子时钟报告册_第1页
第1页 / 共20页
led电子时钟报告册_第2页
第2页 / 共20页
led电子时钟报告册_第3页
第3页 / 共20页
资源描述:

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

1、摘要数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化

2、为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。关键词:AT89C51;中断;键盘控制目 录1 绪论11.1数字电子时钟背景11.2 数字电子时钟意义11.3 数字电子时钟应用12 课程设计目的及要求22.1课程设计目的22.2 课程设计要求23 设计内容3

3、4 硬件设计需求44.1 单片机模块44.2 LED数码管显示模块64.3 按键模块65系统的软件设计与实现75.1 protues软件简介75.2 系统软件设计主函数流程图75.3键盘扫描函数程序框图85.4显示函数程序框图95.5仿真96 总结与心得体会10参考文献11附录12附录112附录2121 绪论1.1数字电子时钟背景20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CM

4、OS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。1.2 数字电子时钟意义数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站

5、, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.3 数字电子时钟应用数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱

6、乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。2 课程设计目的及要求2.1课程设计目的单片机课程设计作为独立的教学环节,是自动化及相关专业集中实践性环节系列之一,是学习完单片机原理及应用课程后,并在进行相关课程设计基础上进行的一次综合练习。 单片机课程设计过程中,学生通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并且有综合功能的小应用系统设计。使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路,电子元

7、器件等方面的知识进一步加深认识,同时在软件编程,调试,相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解,加深单片机的内部功能模块的应用,如定时器/计数器,中断,片内外存储器,I/O接口,串行口等。使学生了解和掌握单片机应用系统的软硬件设计过程,方法及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技能和科学作风,培育学生综合运用理论知识解决问题的能力。2.2 课程设计要求设计一个电子钟,要求如下:(1)利用单片机最小系统设计一个电子钟(不能采用单片机开发系统)(2)使用按键修改时间(3)显示方式:*

8、时* 分* 秒(4)时间可以任意修改系统简单设计框图如下:显示键盘单片机图2.2 系统简单设计框图3 设计内容设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计时,在这里设计的数字电子时钟,它能实现计时和校时的功能,给电子钟加上电自动计时,设计三个按键对时间进行调整。电子计时器主要由AT89C51、显示模块、控制模块三大部分组成。其中控制模块和计时运算模块主要对时、分、秒的数值显示和调整进行操作,并且秒计算到60时,自动清零并向分进1;分计算到60时,自动清零并向时进1;时计算到24时,自动清零。这样,就形成了循环计时,显示模块主要用来显示当前计数值。A89C51是整个设

9、计的核心,主要用来产生定时中断,传输数据和控制各个部件工作。硬件设计很简单,主要包括:单片机、按键电路,以及LED显示器四个部分。单片机选用AT89C51芯片,它无须外扩程序存储器,设计电路很简单。由于只用了三个按键,所以采用独立式按键使设计更简单。显示时、分、秒加两个分隔符,采用两个共阴极数码管及键盘达到时间显示和修改的功能。简易数字时钟可实现校时和整点报时功能,该软件采用C语言来实现,主要包括主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把原程序加入原理图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为60进制,小时为24进制计数。4 硬件设计需求4.1 单片机模块

10、选用的AT89S51与同系列的AT89C51在功能上有明显的提高,最突出是的可以实现在线的编程。用于实现系统的总的控制。AT89C51引脚图见图4.1。图4.1 AT89C51引脚图其主要功能列举如下:(1)为一般控制应用的8位单片机(2)晶片内部具有时钟振荡器(传统最高工作频率可至33MHz)(3)内部程式存储器(ROM)为4KB(4)内部数据存储器(RAM)为128B(5)外部程序存储器可扩充至64KB(6)外部数据存储器可扩充至64KB(7)32条双向输入输出线,且每条均可以单独做I/O的控制(8)5个中断向量源(9)2组独立的16位定时器(10)1个全双工串行通信端口(11)8751及

11、8752单芯片具有数据保密的功能(12)单芯片提供位逻辑运算指令RESET:AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。端口0是一个8位宽的开路电极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低

12、电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0A7,再配合端口2所送出的A8A15合成一组完整的16位地址总线,而定位地址到64K的外部存储器空间。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在ATAT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当作I/O来使用了。

13、PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地,若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发引脚。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配见表4.2。表4.2 P3端口引脚兼用功能表P3引

14、脚兼用功能P3.0串行通讯输入(RXD)P3.1串行通讯输出(TXD)P3.2外部中断0(INT0)P3.3外部中断1(INT1)P3.4定时器0输入(T0)P3.5定时器1输入(T1)P3.6外部数据存储器的写入信号(WR)P3.7外部数据存储器的读取信号(RD)4.2 LED数码管显示模块本次数码管采用共阴极8段式LED数码管QH5011AS。该数码管参数见附录本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。数码管显示的信息用8个内存单元存放,这8个内存单元称为显示缓冲区,其中秒个位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分数

15、据和小时数据分拆得到。在本系统中数码管显示采用软件译码动态显示。在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段码表中查出所显示的信息的字段码,从P0口输出,同时在P2口将对应的位选码输出选中显示的数码管,就能在相应的数码管上显示显示缓冲区的内容。4.3 按键模块按键处理设置为:如没有按键,则时钟正常走时。按下K0键:进入调分状态,时钟停止走动;按K1和K2键:可进行加1和减1操作;继续按K0键:可分别进行分和小时的调整;最后按K0键:退出调整状态,时钟开始计时运行。5系统的软件设计与实现5.1 protues软件简介Proteus软件是

16、英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,

17、2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。5.2 系统软件设计主函数流程图这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。主函数程序框图见图5.1。开始T0,T1方式1计数允许中断调用中断程序按键按下?调用显示程序否是图5.1 主函数程序框图5.3键盘扫描函数程序框图开始调分=0?清零=0?调时=0?延时显示延时延时标志s=1?时=24?分=60?是是是是是否否否否否时加1秒,分,时,归零分=0时=0

18、分加1图5.2 键盘扫描函数程序框图5.4显示函数程序框图 开始从秒到时,从个位到十位依次扫描,并分别延时,输出显示图5.3 显示框图5.5仿真仿真图见图5.5。 图5.4仿真图6 总结与心得体会对于电子时钟的课程设计的第一感觉是无从下手,感到盲从,不知道怎么去做。是啊,万事开头难,难的不是不会做,而是不知道如何下手。当坚持努力之后,经过查找资料从了解到掌握一些知识,总算有了点思路。是的,对于这个课程设计,要分模块,一点一点的去解决问题。从电子时钟需要的功能开始去找,要有控制部分,显示部分,主函数,按键部分,就可以组合成一个系统了。在整个过程中,我去搜索了很多资料,是的,想完成一件事,最好的就

19、是多看,多想,汲取别人的设计思想与设计方法,弥补自己的不足。从熟悉proteus的基本操作到现在,已经基本能操作它的不同操作了,这是值得欣慰的。以上是对于课程设计的总体感受,下面做一些自我总结。进过好几天的边学边用,复习了已学的知识,同时学到了新的东西。真的,进过自己动手操作,才能有更深的体会,对于学过的知识。我现在已经掌握了中断的使用,知道怎么初始化,怎么设置延时等。对于我的不足,我认为,这里面还有很多东西要学,有些东西还不懂,比如我对一些算法还掌握不牢,不知道怎么去转化,应该多去看看,想想。对于课程设计的完成,总会有很多好的收获,能帮助我更好的学习与掌握东西。在做事中,我觉得还是多实践,多

20、操作才是对的。参考文献1 高玉芹单片机原理及应用及C51编程技术北京:机械工业出版社,2011.62 沈精虎.Protel 99SE基础教程J. 3 李广弟,朱月秀,冷祖祁. 单片机的硬件结构J . 页码148。 4 谭丙煜.怎样撰写科学论文M.2版.沈阳:辽宁人民出版社,19825 陈正义. 单片机控制实习D.页码148。6朱定华单片机原理及接口技术实验M北京:北方交通大学出版社2002.11.7刘湘涛江世明单片机原理与应用M.北京:电子工业出版社,2006. 附录附录1附录2#include#define uchar unsigned char#define uint unsigned i

21、ntsbit qingling=P10; /清零sbit tiaofen=P11; /调分sbit tiaoshi=P12; /调时uint a,b;uchar hour,minu,sec, /时钟 hour0,minu0,sec0, /秒表 hour1,minu1,sec1; h1,h2,m1,m2,s1,s2,/显示位 k,s; /状态转换标志uchar code select=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;

22、/*函数声明*/void keyscan();void init();void delay(uchar z);void display(uchar,uchar,uchar);/*主函数*/ void main() init(); while(1) display(hour0,minu0,sec0);/时钟表显示 while(k) /*k是秒表状态(0-1-2-0)通过外部中断0实现。*/ display(hour,minu,sec); /秒表显示 /*初始化函数*/void init() a=0; b=0; k=0; s=0; hour0=0; minu0=0; sec0=0; hour=0;

23、 minu=0; TMOD=0x11; /定时器0,1工作于方式1;赋初值 TH0=(65536-5000)/256; TL0=(65536-5000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; EX0=1; /秒表中断 ET0=1; ET1=1; IT0=1; /边沿触发方式 IT1=1; PX0=1; PX1=1; TR0=0; /初始,秒表不工作 TR1=1; /时钟一开始工作 /*定时器0中断*/void timer0_int() interrupt 1 /秒表 TH0=(65536-5000)/256; TL0=

24、(65536-5000)%256; a+; if(a=2) a=0; sec+; if(sec=100) sec=0; /毫秒级 minu+; if(minu=60) minu=0; /秒 hour+; if(hour=60) /分 hour=0; /*外部中断0中断函数*/void ex0_int() interrupt 0 k+; if(k=3) k=0; if(k=1) TR0=TR0; if(TR0=1) hour=0; minu=0; sec=0; if(k=2) TR0=TR0; /*键盘扫描*/void keyscan() if(s=1) if(qingling=0) delay

25、(10); if(qingling=0) sec1=0; minu1=0; hour1=0; if(tiaofen=0) delay(10); if(tiaofen=0) minu1+; if(minu1=60) minu1=0; while(!tiaofen); if(tiaoshi=0) delay(10);if(tiaoshi=0) hour1+; if(hour1=24) hour1=0; while(!tiaoshi); else /调整时钟时间 if(qingling=0) delay(10); if(qingling=0) sec0=0; minu0=0; hour0=0; if

26、(tiaofen=0) delay(10); if(tiaofen=0) minu0+; if(minu0=60) minu0=0; while(!tiaofen); if(tiaoshi=0) delay(10);if(tiaoshi=0) hour0+; if(hour0=24) hour0=0; while(!tiaoshi); /*显示函数*/void display(uchar hour,uchar minu,uchar sec) h1=hour/10; h2=hour%10; m1=minu/10; m2=minu%10; s1=sec/10; s2=sec%10; P0=0xff

27、; P2=tableh1; P0=select7; delay(5); P0=0xff; P2=tableh2; P0=select6; delay(5); P0=0xff; P2=0x40; P0=select5; delay(5); P0=0xff; P2=tablem1; P0=select4; delay(5); P0=0xff; P2=tablem2; P0=select3; delay(5); P0=0xff; P2=0x40; P0=select2; delay(5); P0=0xff; P2=tables1; P0=select1; delay(5); P0=0xff; P2=tables2; P0=select0; delay(5);void delay(uchar z) int x,y; for(x=z;x0;x-) for(y=110;y0;y-);18

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