收藏 分享(赏)

基于Proteus的简易机械时钟的设计和仿真.doc

上传人:精品资料 文档编号:7767623 上传时间:2019-05-25 格式:DOC 页数:20 大小:236.50KB
下载 相关 举报
基于Proteus的简易机械时钟的设计和仿真.doc_第1页
第1页 / 共20页
基于Proteus的简易机械时钟的设计和仿真.doc_第2页
第2页 / 共20页
基于Proteus的简易机械时钟的设计和仿真.doc_第3页
第3页 / 共20页
基于Proteus的简易机械时钟的设计和仿真.doc_第4页
第4页 / 共20页
基于Proteus的简易机械时钟的设计和仿真.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、课程论文题 目 :基于 Proteus 的简易机械时钟的 设计和仿真 电子工程学院制2015 年 5 月目录摘要 11 绪论 11.1 LED 机械时钟的背景 11.2 LED 机械时钟国内的研究现状 21.3 LED 机械时钟国外的研究现状 21.4 LED 机械时钟的应用领域及发展 2成绩2 设计任务和要求 22.1 仿真软件介绍 23.方案设计及论证 34 硬件单元电路设计 44.1 单片机最小系统 44.2 特殊器件的介绍 44.2 机械时钟显示模块 75 软件设计与流程图 95.1 程序设计说明 95.2 程序流程图 106.系统电路图及仿真效果图 106.1 系统电路图 116.2

2、 仿真效果图 116.3 系统电路的 PCB 设计 136.4 结论 137 总结 14附录 1:元件清单 15附录 2:程序 160基于 Proteus 的简易机械时钟的设计和仿真摘要:随着社会的发展,LED 灯的运用也越来越广泛, 本文针对当今社会使用 LED 灯较为广泛的情况下,在缺少利用 LED 灯做一些生活中的小工具的背景下,提出利用单片机 AT89C52 微处理器作为主控元件设计 LED 机械时钟,实现了 LED 灯的运用进入平常生活中,达到了实现准点报时的时钟功能,并通过 proteus 仿真软件仿真其工作过程,验证机械时钟设计的可靠性,达到了设计目的。对后继 LED 的发展进入

3、民用阶段,及 LED 在民间的普及有很大的促进作用。关键词 :单片机 AT89C52,LED 点阵,机械时钟。前言:本文针对当今社会使用 LED 灯较为广泛的情况下,在缺少利用 LED 灯做一些生活中的小工具的背景下,提出利用单片机 AT89C52 微处理器作为主控元件设计 LED 机械时钟,实现了 LED 灯的运用进入平常生活中,达到了实现准点报时的时钟功能,并通过 proteus 仿真软件仿真其工作过程,验证机械时钟设计的可靠性,达到了设计目的。1 绪论1.1 LED 机械时钟的背景在大型商场、车站、码头、地铁站以及各类办事窗口越来越多的场所需用 LED 点阵显示图形和汉字。LED 行业已

4、成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED 显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公共场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证劵与银行信息显示、餐馆报价信息显示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号、景观照明等。显然,LED 显示已成为城市亮化、现代化和信息化社会的一个重要标志。11.2 LED 机械时钟国内的研究现状在国内,绝大部分学者都用数码管或液晶显示屛做研究,应为那样他们觉得那样比较方便,简洁。但是通过这么多的广告牌和 LED 的迅猛发张,我们就知

5、道其实采用LED 点阵做一些研究也是很方便的。所以我希望通过这次设计 LED 机械时钟来尝试一下创新。1.3 LED 机械时钟国外的研究现状在国外,LED 的发展也是迅猛,LED 的发展已经成为一个信息化社会的标志,国外LED 的设计也是很多,眼花缭乱,但是用 LED 实现设计机械时钟的还是比较少见的,同样数码管和液晶显示屏还是使用的比较多的,同样传统的时钟也是比较重要的一个方面。1.4 LED 机械时钟的应用领域及发展随着信息产业的高速发展,LED 显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公共场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公

6、交车辆报站系统、证劵与银行信息显示、餐馆报价信息显示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号、景观照明等。显然,LED 显示已成为城市亮化、现代化和信息化社会的一个重要标志。2 设计任务和要求用 AT89C52 单片机作为控制器件设计一个简易的机械时钟,机械时钟的工作过程要和现实生活中的时钟一样或者类似,机械时钟能够体现现实生活中的时间。用不同长度的指针指示不同的时间。2.1 仿真软件介绍本次课程设计所用的仿真软件是 Keil uVision4,它是 KeilSoftware 公司推出的一款可用于多种 8051MCU 的集成开发环境(IDE),该 IDE 同时也是 PK51

7、及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,2uVision4 还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标 MCU,包括指令集、片上外围设备及外部信号等。uVision4 提供逻辑分析器,可监控基于 MCUI/O 引脚和外设状态变化下的程序变量。它还提供对多种最新的 8051 类微处理器的支持,包括 AnalogDevices 的 ADuC83x 和ADuC84x,以及 Infineon 的 XC866 等。3.方案设计及论证 1 6方案一:本方案采用 AT89C52 单片机作为控制器件,用液晶显示器 LC

8、D12864 作为显示器件。通过取字模软件可以取出机械时钟需要的数据,把数据烤到单片机中,然后通过单片机控制 LCD12864 就可以显示时钟了,其相比与 LED 点阵操作简单,但不利于理解,价格相对于 LED 点阵较高点,其系统框图如下。图 1 方案二:本方案采用 AT89C52 单片机作为控制器件,用 LED 点阵作为显示器件。通过控制LED 点阵中各个点的点亮来显示时钟,控制过程清晰,易于理解,其系统框图如下。图 2通过以上综合分析可以看出,方案二具有综合设计优点,因此机械时钟设计采用方案二的设计思路。34 硬件单元电路设计4.1 单片机最小系统 10单片机最小系统包括时钟电路、复位电路

9、和主控制系统。时钟电路是时钟电路由一个晶体振荡器 12MHZ 和两个 30pF 的瓷片电容组成。时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。复位电路是使单片机的 CPU 或系统中的其他部件处于某一确定的初始状态,并从这状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新启动。本设计采用的是按键复位电路。主控制器采用 AT89S52,是 ATMEL 公司生产的一款性能稳定

10、的 8 位单片机。AT89S52 具有 1 个 8KB 的 FLASH 程序存储器,1 个 512 字节的RAM,4 个 8 位的双向可位寻址 I/O 端口,3 个 16 位定时/计数器及 1 个串行口和 6 个向量二级中断结构。其最小系统电路图如下:图 34.2 特殊器件的介绍(1)单片机的定时器 2 3MCS-51 系列的单片机一般有两个内部的 16 位定时器/计数器,分别称为 T0 和T1。这两个计数器分别是两个 8 位的 RAM 单元组成的,即每个计数器都是 16 位的计数4器,最大的计数量是 65536.那么这个定时器/计数器是如何产生定时作用的呢?例如:如果将时钟定时到 1 分钟,

11、那么秒针计数到 60 次,时钟闹铃就会响。这里有个计数和定时之间的概念转化,时间表示为秒针的计数值,即秒针每一次走动的时间正好是 1s。单片机中定时器和计数器是复用的,计数器是记录外部脉冲的个数,而定时器则是出单片机提供的一个非常稳定的计数源。定时器是又单片机的晶振经过 12 分频后获得的一个脉冲源。当单片机的晶振为 12MHz 时,计数值为 1 代表的时间就是 1us。计数器的容量是 16 位,也就是最大的计数值到 65536,因此计数到 65536 就会产生溢出,当定时器/计数器溢出时,就会使得相关寄存器标志产生变化,单片机将由此而产生定时中断,在中断服务程序中处理定时到而需要完成的任务。

12、TMOD 是一个 8 位的特殊功能寄存器,对应的地址为 89H,不可位寻址,TMOD 控制字中可以完成 3 个功能:1, 确定选择定时器,还是计数器。2, 选择何种工作方式。3, 是否借用外中断控制定时器和计数器的启停。TMOD 的低 4 位是用于控制 T0 的字段,高 4 位用于控制 T1。TMOD 的控制字的格式和含义如下:表 1 TMOD 的控制字TMOD.7 TMOD.6 TMOD.5 TMOD.4 TMOD.3 TMOD.2 TMOD.1 TMOD.0GATE C/T M1 M0 GATE C/T M1 M0这里,以 TMOD 的低 4 位来说明各位的定义和功能。GATE:分为两种情

13、况,GATE=0 时,定时器的启停和 INT1 无关,在这种情况下,定时器的启停只取决 TR0,GATE=1 时,在这种情况下定时器/计数器的开关不仅要由 TR0来控制而且还要受到 INT1 一脚的控制,只有 TR1 为 1,且 INT1 引脚也是高电平,定时器才开始工作。C/T:定时器/计数器即可做定时也可用于计数。选择何种功能,由 C/T 的控制字决定。如果 C/T 为 0 就用作定时器,如果为 1 就用作计数器。当然,一个定时/计数器同时要么作定时用,要么作计数用,不能同时用。M1,M0:用 M1,M0 来控制定时器/计数器 4 种工作方式的选择。51,工作方式 0:M0=0,M1=0,

14、13 位定时/计数方式,它由 TL(1/0)的低 5 位和TH(0/1)的 8 位构成 13 位计数器,此时 TL(1/0)的高 3 位未用。2,工作方式 1:M0=0,M1=1,是 16 位的定时/计数方式,其他特性与工作方式 0 相同。3,工作方式 2:M0=1,M1=0,自动重装初值的 8 位定时/计数器。初值放在T(0/1)的高 8 位,在工作方式 2,只有低 8 位参与计数,而高 8 位不参与计数,用作预制数的存在,计数范围 256.每当计数溢出,就会打开 T(0/1)的高,低 8 位之间的开关,预制数进入 8 位,这是由硬件自动完成的,不需要由人工干预。定时器就是为了提供一个时间基

15、准,计数溢出后重新装入预制数,再开始计数,不要任何延迟。4,工作方式 3:M0=1,M1=1,这种工作方式之下,定时/计数器 0 被拆成 2 个独立的定时/计数器来用,其中,TL0 可以构成 8 位的定时器或计数器的工作方式,而 TH0则只能作为定时器来用,一般情况下,只有在 T1 以工作方式 2 运行时,才让 T0 工作方式 3。接下来,介绍定时器/计数器的控制器 TCON。TCON 是一个 8 位的特殊功能寄存器,对应的地址为 88H,可位寻址。TCON 中的低4 位用于外部中断的控制,在后文中将加以介绍,此处只对高 4 位的 T0,T1 控制字及其控制原理进行介绍。TCON 控制寄存器的

16、格式和含义如表:表 2 TCON 控制寄存器TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.1TF1 TR1 TF0 TR0 IE1 TF1 IE0 IT0TRO:T0 的运行控制位。启动定时器 T0 没有专门的指令,而是通过位 TR0 进行制。TR0 是由软件置位或清零的。当门控位 GATE=0 时,T0 的运行只取决于 TR0 的 0 和 1;当门控位 GATE=1 时,仅当 TR0=1,并且外中断 0 引脚的输入值为高电平时,T0 才开始计数,这两个条件有一个不满足,则禁止 T0 计数。TF0:T0 的溢出和中断申请标志位。当

17、T0 溢出时,硬件 TF0,表示提出了中断申请。该标志位可以通过软件查询,也可以用软件清零和置位。在单片机响应中断申请后,硬件自动清零。TR1:T1 的运行控制位。TF1:T1 的溢出标志位和中断申请标志位。6表 3 TCON 中的控制字TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0外部中断申请求源IT0:INT0 触发方式控制位,可由软件进行置位和复位,IT0=0,INT0 为低电平触发方式:IT0=1,INT0 为负跳变触发方式。IE0:INT0 中断请求标志位。当

18、有外部的中断请求时,这位就会置 1,cpu 响应中断后,由硬件将 IE0 清 0。IT1:INT1 触发方式控制位,可由软件进行置位和复位,用途 IT0 相同。4.2 机械时钟显示模块 7机械时钟显示模块采用 4 个 8*8 的 LED 点阵模块组成一个 16*16 的 LED 点阵,通过单片机控制此显示模块显示机械时钟的外形及时间。由于 AT89C52 的 I/O 口较少,为节省 I/O 口资源,在此我们采用 74HC154 4 线-16 线译码器, 74154 这种单片 4 线16 线译码器非常适合用于 高性能存储器的译码器。当两个选通输入 G1 和 G2 为低时, 它可将 4 个二进制编

19、码的输入译成 16 个互相独立的输出之一。实现解调功能的办法是:用 4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。其真值表如下:表 4 74HC154 的真值表TRUTH TABLE 真值表:INPUTS 输入G1 G2 D C B ASELECTED OUTPUT 选定输出(L)L L L L L L Y0L L L L L H Y1L L L L H L Y2L L L L H H Y37L L L H L L Y4L L L H L H Y5L L L H H L Y6L L L H H H Y7L L H L L

20、 L Y8L L H L L H Y9L L H L H L Y10L L H L H H Y11L L H H L L Y12L L H H L H Y13L L H H H L Y14L L H H H H Y15X H X X X X NONEH X X X X X NONE引脚功能表:表 5引脚端 No SYMBOL 符号 NAME AND FUNCTION 名称及功能1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17 Y0 to Y15 Outputs 输出(Active LOW)低电平18,19 G1, G2 Enable Inputs(Active LO

21、W)使能输入(低电平)23,22,21,20 A to D Address Inputs 地址输入12 GND Ground 接地(0V)24 VCC Positive Supply Voltage 电源电压8图 4显示模块电路图如下 9:图 55 软件设计与流程图5.1 程序设计说明机械时钟主要是通过图形显示指示时间,所以可以采用计时的方法,当计时时间到显示此时的时间指示图形。本设计采用计时 1s 为计时单元,1s 的计时通过定时器延时来达到。95.2 程序流程图图 6106.1 仿真效果图 8图 7图 8图 911图 10图 11图 126.2 系统电路的 PCB 设计6.3 结论通过这次

22、的课程设计,我受益匪浅,通过对单片机等所学知识的回顾以及充分发挥对所学知识的理解和对课程设计的思考及书面表达,经过不断的努力和在老师的指导,同学的帮助下,本设计已经基本完成。1.通过这次课程设计,加强了我们动手、思考和解决问题的能力。在整个设计过程中,我们通过这个方案包括设计了一套电路原理连接图,和芯片上的选择。2.在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。3.我沉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,

23、所以12在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映象深刻。认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。所以这个期末测试之后的课程设计对我们的作用是非常大的。4.此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,今后的制作应该更轻松,自己也都能扛的起并高质量的完成项目。通过本次课程设计

24、我也发现,只有理论水平提高了,才能够将课本知识与实践知识相整合,理论知识服务于教学实践,才能增强自己的动手操作的能力。7 总结众所周知,单片机是电子信息工程专业的一们重要的课程,也是当今电子行业的重要分支之一,应用范围之广,普遍程度之高大家有目共睹,所以学好单片机对于电子信息工程专业的学生来说至关重要,甚至直接关系到日后的就业。正因为这重要性才需要我们去实践,去锻炼。在此次课程设计中,在最初的写程序及设计时遇到了一些困难。因为一开始课堂上接触的是汇编语句,但汇编语句不易读懂,所以难以下手。后来经过上网了解知道有郭天翔老师的“十天学会单片机” ,下载来认真看了后大有所得,也因为之前的 C 基础,

25、比较容易上手,所以最后程序是用 C 程序编写。这样来不仅进一步增强了自己对单片机的兴趣,也让自己对单片机的认识又有新的提高。在经过后面的查阅,知道单片机深入我们生活的方方面又让我“一定要学好单片机”的念头更深了。虽然此次的选题难度并不大,但是就是这样一个简单的题目却让我明白“纸上得来终觉浅”的深刻意义。经过一次次的修改程序和软件调试,使我了解了 KEIL C 和PROTUES 软件的使用,为日后自己主动地去设计一些东西打下了基础。参考文献:1张义和,王敏男,等例说 51 单片机(C 语言版) M北京:人民邮电出版社,2008:2-12.2 谢维成,杨加国单片机原理与应用及 C51 程序设计M.

26、 北京:清华大学出版社,2009:127-13136.3 李光才单片机课程设计 实例指导M北京:北京航空航天大学出版社 2004.4 谭浩强. C 程序设计(第四版)M. 北京:清华大学出版社,2010.5 陈忠平. 基于 Proteus 的 51 系列单片机设计与仿真M. 北京:电子工业出版社,2012:234-253.6 刘同法,陈忠平,等. 单片机基础与最小系统实践M. 北京:北京航空航天大学出版社,2007.7 赵建领,崔昭霞. 精通 51 单片机开发技术与应用实例M. 北京:电子工业出版社,2012::315-329.8 肖倩. 单片机系统设计与仿真-基于 Proteus M. 北京

27、:北京航空航天大学出版社,2010:11-20.9 基于 LED 点阵屏的时钟研究与设计R.李劲:西安邮电学院,2008.10 贺敬凯,刘德新,等.M.西安:西安电子科技大学出版社,2011:1-16.致谢:本次的课程设计参考了陈忠平老师编著的基于 Proteus 的 51 系列单片机设计与仿真这本书,利用相关知识进行了原理图的仿真和验证,同时也参考了谢维成,杨加国单片机原理与应用及C51 程序设计这本书,利用这本书的相关定时计数器进行程序的编写并利用其他软件进行调试,本课程设计借鉴了他们的部分成果,他们的工作给我们带来了很大的启发,在这里我表示对他们由衷的感谢。附录 1:元件清单Bill O

28、f Materials=Design: C:Documents and SettingsAdministrator桌面 课程设计zhoulu.DSNDoc. no.: Revision: Author: Created: 12/12/2514Modified: 13/11/21QTY PART-REFS VALUE CODE - - - - Resistors-1 R1 100 1 R2 10k Capacitors-2 C1,C2 30pF 1 C3 10uF Integrated Circuits-1 U1 AT89C52 1 U2 74HC154 Miscellaneous-1 K1 1

29、 RP1 RESPACK-8 1 X1 12MHz 附录 2:程序 4 部分编码程序#include #define uchar unsigned char#define uint unsigned int15uint q=0;uchar sec,a=0,counter=0;sbit KEY=P30;code uchar tab1=0xc0,0x07,0x10,0x10,0x08,0x20,0x04,0x40,0x00,0x00,0x02,0x80,0x02,0x80,0xfe,0x81,0x02,0x81,0x02,0x81,0x00,0x01,0x04,0x40,0x08,0x20,0x1

30、0,0x10,0xc0,0x07,0x00,0x00; /开始时间code uchar tab3=0xc0,0x07,0x10,0x10,0x08,0x20,0x04,0x40,0x00,0x00,0x02,0x80,0x02,0x80,0xf2,0x81,0x82,0x81,0x42,0x81,0x20,0x01,0x14,0x40,0x08,0x20,0x10,0x10,0xc0,0x07,0x00,0x00;code uchar tab4=0xc0,0x07,0x10,0x10,0x08,0x20,0x04,0x40,0x00,0x00,0x02,0x80,0x02,0x80,0xf2,

31、0x81,0x02,0x81,0x02,0x81,0x00,0x01,0x04,0x41,0x08,0x21,0x10,0x11,0xc0,0x07,0x00,0x00;code uchar tab5=0xc0,0x07,0x10,0x10,0x08,0x20,0x04,0x40,0x00,0x00,0x02,0x80,0x02,0x80,0xf2,0x81,0x02,0x83,0x02,0x85,0x00,0x09,0x04,0x10,0x08,0x20,0x10,0x10,0xc0,0x07,0x00,0x00;code uchar tab6=0xc0,0x07,0x10,0x10,0x0

32、8,0x20,0x04,0x40,0x00,0x00,0x02,0x80,0x02,0x80,0xf2,0xff,0x02,0x81,0x02,0x81,0x00,0x01,0x04,0x40,0x08,0x20,0x10,0x10,0xc0,0x07,0x00,0x00;扫描程序const uchar tab2=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f; / 位选 ,扫描代码延时程序void delay(uint ms) uint i;while(ms-)for(i=0;i0;m-);按键扫描程序void scankey( )if(KEY=0) delay(5);16if(KEY=0)a=1;while(!KEY);中断定时void time0_servsr_(void) interrupt 1TH0=0x4c;TL0=0x00;q+;if(q=20)q=0;sec+;void Init_t0(void)TMOD=0x01;TH0=0x4c;TL0=0x00;EA=1;ET0=1;TR0=1;void display_1 (void)uint j,k,t=0;for(k=0;k=0)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报