




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、课题名称: 基于单片机的数字钟设计 二、主要技术指标:1、芯片的工作电压:+5V 2、晶振频率:12MHz 3、电源:220VAC 20W 4、工作温度范围:070 5、贮存温度:-2080 6、湿度: 5%-95%非冷凝条件 7、物理尺寸:17.5cm*12cm*0.2cm (长*宽*高) 8、重量:0250g 三、工作内容和要求:1、实现走时功能:时间以60分钟为一个周期,数字钟的格式为:XX XX XX,由左向右分别为:时、分、秒。完成显示由秒01,一直加1, 加到59,秒清零,分加1,直至加到59,秒清零,分清零,小时加1, 直至加到23,小时清零,以此循环。 2、实现校时校分功能:使用按键可以实现对时、分调整等功能转换的 数字钟。 3、实现定时闹铃的功能并使用数码管显示 ()开题报告设计()题目基于单片机的数字钟设计一、 选题的背景和意义:数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,除了广泛用于家庭、车站、办公室等公共场所,还可以改装在摩托车,汽车上,等等,已经成为人们日常生活中不可缺少的必需品。它与传统的机械钟相比,其具有走时精确、显示直观、无机械传动装置等优点,而且大大地扩展了钟表原先的报时功能,比如定时自动报警、闹铃等因此研究数字钟及扩大其应用,有着非常现实的意义。 二、 课题研究的主要内容:一般数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外还具有校时校分的功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路和振荡器组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制的计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计时器”也是采用60进制的计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制的计数器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。校时校分电路是用来对“时”、“分”、“秒”显示数字进行校对调整。 三、 主要研究(设计)方法论述:数字钟由以下几部分组成:控制部分,计数部分,译码部分,显示部分。数字钟实际上是一个对标准频率进行计数的计数电路。由于计数的起始时间不可能与标准时间一致,所以需要在电路上加一个校时电路,同时标准的1Hz时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。当标准频率输入时,计数器开始计数,并把数字通过译码器显示出来。校时控制电路和校分控制电路分别是对小时和分的校对。这里对信号频率采用2Hz可以较快的对时间进行校对,同时校对分时不会对小时产生进位。四、设计()进度安排:时间(迄止日期)工 作 内 容20XX.9.520XX.9.11查阅相关资料,进行的选题工作20XX.9.1220XX.9.18根据所选的课题查找相关资料,然后写好开题报告。20XX.9.1920XX.9.25根据所选的题材,完成数字钟设计的目录表20XX.9.2620XX.10.2利用有限的资源,完成此次设计的摘要、前言20XX.10.320XX.10.9翻阅相关资料,完成设计的概述部分20XX.10.1020XX.10.16制定数字钟的原理20XX.10.1720XX.10.23完成电路的硬件设计20XX.10.2420XX.10.30完成电路的软件设计20XX.10.3120XX.11.5系统调试与仿真的制作五、指导教师意见: 指导教师签名: 年 月 日六、系部意见: 系主任签名: 年 月 日基于单片机的数字钟设计目录摘要Abstract第1章 前言1第2章 数字钟的概述. 22.1 单片机的发展趋势 . 22.2 数字钟的背景、意义、应用 .2第3章 单片机制作数字钟的原理 .43.1 主芯片AT89C51的硬件资源43.1.1 单片机的概念 .43.1.2 AT89C51的芯片引脚.53.1.3 使用I/O口的注意事项 .73.2 AT89C51中断系统 73.2.1 中断源 .73.2.2 中断的控制 83.2.3 中断响应 83.3 单片机定时/计数器在数字钟的使用 93.3.1 与T/C有关的特殊功能寄存器.103.3.2 定时器/计数器的初始化 . 10第4章 系统硬件电路的设计.124.1 单片机的基本结构.124.2 七段数码管的引脚图及使用 . 134.3 定时闹铃模块的设计.144.4 硬件电路的设计原则.15第5章 系统软件程序的设计 165.1 软件程序内容 165.2 软件流程图 165.2.1 系统软件设计流程 165.3 定时程序设计 195.3.1 实时时钟实现的基本方法 205.3.2 实时时钟程序设计步骤 20第6章 系统仿真 .21第7章 结束语 .22附录 . 23参考文献答谢辞第1章 前言在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品到大的工业控制,单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,五脏俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。而数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。 因此,这次设计的单片机数字钟就是为了了解数字钟及单片机的原理,从而学会制作数字钟。而且通过数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法,且由于数字钟包括组合逻辑电路和时序电路,通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与理论方法。本系统采用单片机AT89C51控制,以AT89C51为核心,它完成整个系统的信息处理及协调功能,其功能强大,兼容性好。此次设计采用了软硬件结合的方式,提高了设计的效率。这次设计通过对一个时钟显示、实现校时和定时闹铃等功能的系统的设计,结合了相关的元器件,有共阴极LED数码显示器、BCD-锁存、7段数码管等组成,再配以相应的软件。能实现时钟的时、分、秒的显示,也具有时间的调整功能。 第2章 数字钟的概述2.1 单片机的发展趋势(1)微型化芯片集成度的提高为单片机的微型化提供了可能。早期单片机大量使用双列直插式封装,随着贴片工艺的出现,单片机也大量采用了各种符合贴片工艺的封装,大大减小了芯片的体积,为嵌入式系统提供了可能。(2)低功耗现在新的单片机功耗越来越小,特别是很多单片机都具有多种工作设置方式,包括等待、睡眠、空闲和节电等工作方式。扩大电源电压范围以及在较低电压下仍然能工作是当今单片机发展的目标之一。目前,一般单片机都可以在3.3V5.5V的条件下工作,一些厂家甚至生产出可以在2.2V6V条件下工作的单片机。(3)高速化早期MCS-51单片机的典型时钟为12MHz,目前西门子公司的C500系列单片机的(与MCS-51兼容)时钟频率为36MHz;EMC公司的EM78系列单片机的时钟频率高达40MHz;现在已有更快的32位100MHz的单片机产品出现。(4)集成更多资源当前在单片机内部已集成了越来越多的部件,这些部件包括一些常用电路,例如,定时器、比较器、A/D转换器、D/A转换器、串行通信接口、Watchdog看门狗电路和LCD控制器等。有的单片机为了构成控制网络或形成局部网络,内部含有局部网络控制模块,甚至将网络协议固化在其内部。(5)通信及网络功能加强在某些单片机内部由于封装了局部网络控制模块,使用这类单片机可十分容易地构成所需要的网络系统。特别是在控制系统较为复杂时,构成一个控制网络十分有用。目前,将单片机嵌入式系统和Internet连接起来已是一种趋势。(6)专用型单片机发展加快专用型单片机具有最大程度简化的系统结构,资源利用率最高,大批量使用有着可观的经济效益。2.2 数字钟的背景、意义、应用20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛使用。数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭,车站,码头,办公室等公共场所,成为人们日常生活中不可缺少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。第3章 单片机制作数字钟的原理以AT89C51为主芯片制作多功能数字钟的方案中,时钟信号主要由AT89C51单片机的定时器/计数器来提供,对时间进行设置主要用到单片机的外部中断。外部控制电路及显示电路都用到了I/O口,在本章主要介绍一下关于AT89C51单片机定时器/计数器、中断源及中断系统以及AT89C51的I/O口的特性及应用。3.1 主芯片AT89C51的硬件资源3.1.1 单片机的概念单片机(microcontroller,又称微控制器)是在一块硅片上集成了各种部件的微型计算机。这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。AT89C51单片机的基本结构图如图3.1所示。图3.1 AT89C51单片机的基本结构图 AT89C51单片机的结构特点有以下几点:l 8位CPU;l 片内振荡器及时钟电路;l 32根I/O线;l 外部存储器ROM和RAM,寻址范围各64KB;l 两个16位的定时器/计数器;l 5个中断源,2个中断优先级;l 全双工串行口;l 布尔处理器;1.定时器/计数器AT89C51内部有两个16位可编程定时器/计数器,记为T0和T1。16位是指它们都是由16个触发器构成,故最大计数模值为216-1。可编程是指它们的工作方式由指令来设定,或者当计数器来用,或者当定时器来用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。如果需要,定时器在计到规定的定时值是可以向CPU发出中断申请,从而完成某种定时的控制功能。在计数状态下同样也可以申请中断。定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理。在定时工作时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的时钟。计数工作时,时钟脉冲由T0和T1输入。2.中断系统AT89C51的中断系统允许接受五个独立的中断源,即两个外部中断申请,两个定时器/计数器中断以及一个串行口中断。外部中断申请通过INT0和INT1(即P3.2和P3.3)输入,输入方式可以使电平触发(低电平有效),也可以使边沿触发(下降沿有效)。两个定时器中断请求是当定时器溢出时向CPU提供的,即当定时器由状态1转为全0时提出的。第五个中断请求是由串行口发出的,串行口每发送完一个数据或接收完一个数据,就可以提出一次中断请求。3.1.2 AT89C51的芯片引脚 AT89C51的芯片引脚如图3.2所示图3.2 AT89C51的芯片引脚图 管脚说明:VCC:供电电压。GND:接地。P0口:P0口是一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚一次写1时,被定义为高阻输入。P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在Flash编程时,P0口作为原码输入口,当Flash进行校验时,P0口输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在Flash编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的低八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在Flash编程和校验时接收高8位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可以作为AT89C51的一些特殊功能口,如表3.1所示:P3口同时为闪烁编程和编程校验接收一些控制信号。表3.1 P3口对应的特殊功能表管脚备选功能P3.0 RXD串行数据接收P3.1 TXD串行数据发送P3.2 /INT0外部中断0申请P3.3 /INT1外部中断1申请P3.4 T0定时器/计数器0计数输入P3.5 T1定时器/计数器1计数输入P3.6 /WR外部RAM写选通P3.7 /RD外部RAM读选通RST:当输入的复位信号延续2个机器周期以上高电平时即为有效,用于完成单片机的复位操作。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如果想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/Vpp:当/EA保持低电平时,对ROM的读操作(执行程序)限定在外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,对ROM的读操作(执行程序)限定在内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源Vpp。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.3 使用I/O口的注意事项 (1)P1,P2,P3口的输出缓冲器可驱动4个LSTTL电路。对于HCMOS芯片单片机的I/O口,在正常情况下,可任意由TTL或NMOS电路驱动。HMOS及CMOS性能的单片机I/O口有集电极开路或漏极开路的输出来驱动时,不必外加上拉电阻。 (2)对于74LS系列,CD4000系列以及一些大规模集成电路芯片(如8155,8253,8259等),都可以和MCS-51系列单片机直接接口。具体使用时,可以查阅有关器件手册或参考典型电路。 (3)对一些线性组件,特别是应用键盘、码盘、LED显示器输入/输出设备时,应当尽量增加驱动部分的容量,否则,单片机将提供不出足够的驱动电流供给负载使用。3.2 AT89C51中断系统所谓中断,是指当计算机执行正常程序时,系统中出现某些急需处理得异常情况和特殊请求,CPU暂停执行现行程序,转去对随机发生地更紧迫事件进行处理,处理完毕后,CPU自动返回原来的程序继续执行。中断允许软件设计不需要关心系统其他部分定时要求,算术程序不需要考虑隔几个指令检查I/O设备是否需要服务。相反,算术程序编写时好像有无限的时间作算术运算而无其他工作在运行。若其它事件需要服务时,则通过中断告诉系统。AT89C51单片机有5个中断源,有两个中断优先级,每个中断源的优先级可以编程控制。中断允许受到CPU开中断和中断源开中断的两级控制。3.2.1 中断源中断源是指任何引起计算机中断的事件,一般一台机器允许有许多个中断源。AT89C51系列单片机至少有5个中断源。增加很少的硬件就可把各种硬件中断源“线或”成为一个外部中断输入,然后再顺序检索一起中断的特定源。AT89C51单片机的5个中断源是:外部中断请求0,有INT0(P3.2)输入;外部中断请求1,有INT1(P3.3)输入;片内定时器/计数器0溢出中断请求;片内定时器/计数器1溢出中断请求;片内串行口发送/接收中断请求;为了了解每个中断源是否产生了中断请求,中断系统应设置许多个中断请求触发器(标志位)实现记忆。这些中断源的请求标志位分别有特殊功能寄存器 TCON和SCON的相应锁存。(1)定时器/计数器控制寄存器TCON,它是一个八位的寄存器,各位如下表所示l IT0,IT1:外部中断0、1触发方式选择位,由软件设置。1是下降沿触发,0是电平触发。l IE0,IE1:外部终端0、1请求标志位。l TF0,TF1:定时器/计数器0、1溢出中断请求标志。3.2.2 中断的控制 中断的控制主要实现中断的开关管理和中断优先级的管理。这个管理主要通过对特殊功能寄存器IE和IP的编程实现(1)中断允许寄存器IEl EX0,EX1:外部终端0,1的中断允许位。1是中断开,0是中断关。l EX0,EX1:定时器/计数器0、1溢出中断允许位。1是开中断,0 是关中断。l ES:串行口中断允许位。1是中断开,0是中断关。l EA:CPU开/关中断控制位。1是开中断,0 是关中断。(2)中断优先级寄存器IP若系统中多个中断源同时请求中断,则CPU按中断源的优先级别,由高到低分别响应。AT89C51单片机有两个中断优先级:高优先级和低优先级。每个中断源都可以编程为高优先级。这可以实现两级中断嵌套。嵌套的原则:一个正在执行的中断服务程序可以被高级的中断请求中断,而不能被同级或较低级的中断请求中断。两级中断通过使用IP寄存器设置,相应的位置1,则优先级高,0则优先级低。PX0、PX1:外部中断0、1优先级设定位。PT0、PT1:定时器0、1中断优先级设定位。PS:串行中断优先级设定位。AT89C51复位时,IP被清零,5个中断源都在同一个优先级。这时若其中几个中断源同时产生中断请求,则CPU按照片内硬件优先级链路的顺序相应中断,硬件优先级由高到低的顺序是:外部中断0定时器/计数器0-外部中断1-定时器/计数器1-串行口中断。3.2.3 中断响应AT89C51的CPU在每个机器周期采样的中断源的请求标志位,如果没有上述阻止条件,则将在下一个机器周期响应被激活了的最高级中断请求。阻止条件如下:CPU正在处理同级或更高级的中断;现行机器周期不是所执行的最后一个机器周期;正在执行的是RETI或者是访问IE或IP的指令;CPU在中断响应之后完成如下操作:硬件清除相应的中断标志位;执行一条硬件子程序,保护断点,并转向中断服务程序入口;结束中断时执行RETI指令,恢复断点,返回主程序。AT89C51的CPU在相应中断请求时,由硬件电路自动形成转向与该中断源对应的中断的服务程序入口地址。这种方法为硬件向量中断法。各中断源的中断服务程序入口如表3.2所示:表3.2 中断源的中断服务程序入口编号中断源入口地址0外部中断00003H1定时器/计数器0000BH2外部中断10013H3定时器/计数器1001BH4串行口中断0023H各中断服务程序入口地址仅隔8个字节,编译器在这些地址放入无条件转移指令,跳到服务程序的实际地址。向量中断包括把先前的程序计数指针进入堆栈,中断服务程序很像其他子程序。当向量中断发生时,硬件禁止所有中断。此时表明外部中断或定时器溢出的标志位由硬件来清除。中断服务程序的不同分支取决于中断源。在重新允许全局CPU中断EA之前,必须仔细清除各种标志。标志会引起立即地重复中断。AT89C51的中断返回指令是RETI。RETI重新允许系统识别其他中断。因而,没必要在正常使用中断时复位EA,只要在程序初始化时开中断一次就可以了。3.3 单片机定时/计数器在数字钟的使用AT89C51系列单片机至少有两个16位内部定时器/计数器。AT89C52有三个定时器/计数器,其中两个基本定时器/计数器分别是定时器/计数器0和定时器/计数器1。他们既可以编程为定时器使用,也可以编程为计数器使用。AT89C51的T/C是加“1”计数的。定时器实际上也是工作在计数方式下的,只不过对固定频率的脉冲计数;由于脉冲周期固定,由计数值可以计算出时间,有定时功能。当T/C工作在定时器状态时,对振荡源12分频的脉冲计数,即每个机器周期计数值加1,因此计数频率为振荡频率的1/12。晶振为6MHz时,计数频率为500KHz,每2us计数加1。当T/C工作在计数器状态时,计数脉冲来自外部脉冲输入引脚T0或T1。当T0或T1脚上负跳变需要2个机器周期时,即为24个振荡周期。所以T0或T1脚输入的计数外部脉冲最高频率为fosc/24。当晶振为12MHz时,最高计数频率为500KHz,高于此频率将计数出错。3.3.1 与T/C有关的特殊功能寄存器(1)计数寄存器TH和TLT/C是16位的,计数寄存器有TH高8位和TL低8位构成。在特殊功能寄存器中,对应T/C0为TH0和TL0;对应T/C1为TH1和TL1。定时器/计数器的初始值通过TH1/TL1和TH0/TL0设置。(2)定时器/计数器控制寄存器TC TR0、TR1:定时器/计数器0、1启动控制位。1是启动,0是停止。TCON复位后清零,T/C需要受到软件才能启动计数;计数计满时,产生向高位的进位TF,即溢出中断请求标志。T/C的方式控制寄存器TMODl C/T:计数器或定时器选择位。1是计数器,0是定时器l GATE:门控信号。1是T/C的启动控制受到双重控制,即要求TR0/TR1和INT0/INT1同时为高;0是T/C的启动仅受TR0/TR1控制l M1和M0:工作方式选择位,具体见下表3.3所示表3.3 M1和M0的工作方式选择位M1 M0方式功能0 00为13位定时器/计数器,TL存低5位,TH存高8位0 11为16位定时器/计数器,TL存低8位,TH存高8位1 02常数自动装入低8位定时器/计数器1 13仅适用于T/C0,两个8位定时器/计数器3.3.2 定时器/计数器的初始化(1)初始化步骤在使用AT89C51定时器/计数器之前,应该对它进行编程初始化,主要是对TCON和TMOD编程,还需要计算和装载T/C的计数初值。一般完成以下几个步骤:确定T/C的工作方式-编程TMOD寄存器。计算T/C中的计数初值,并装载到TH和TL。T/C在中断方式工作时,需开CPU中断和源中断-编程IE寄存器。启动定时器/计数器-编程TCON中的TR1和TR0位。(2)计数初值的计算在定时器方式下,T/C是对机器周期脉冲计数的,如果fosc=6MHz,一个机器周期为2us,则方式0 13位定时器最大时间间隔=(213-1)*2us=16.384ms;方式1 16位定时器最大时间间隔=(216-1)*2us=131.072ms;方式2 8位定时器最大时间间隔=(28-1)*2us=512ms;若使用T/C工作在定时器方式1,要求定时1ms,求计数初值。如设计数初值为x,则有(216-1)*2us=1000usx=216-500因此,TH,TL可置65536-500。第4章 系统硬件电路的设计4.1 单片机的基本结构MCS-51单片机内部结构:AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM): AT89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图4.1单片机AT89C51的内部结构图程序存储器(ROM):AT89C51共有4096个8位掩膜ROM,用于存放用户下程序,原始数据或表格。定时/计数器:AT89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:AT89C51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。 4.2 七段数码管的引脚图及使用图4.2七段数码管的引脚图数码管的使用条件:a、段及小数点上加限流电阻。b、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定。c、使用电流:静态:总电流80mA(每段10mA);动态:平均电流4-5mA峰值电流100mA。上图只是七段数码管的引脚图,其中共阳极数码管和共阴极的是一样的。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特征,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图4.3是共阴极和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将“b”和“c”段接上正电源,其它端接地或悬空,那么“b”和“c”段发光,此时,数码管显示将显示数字“1”。而将“a”、“b”、“d”、“e”和“g”段都接上正电源,其它引脚悬空,此时数码管将显示“2”。其它字符的显示原理类同。图4.3 共阴极和共阳极数码管的内部电路图4.3 定时闹铃模块的设计如图4.4所示,当数字钟显示时间到达定时闹铃的时候,单片机AT89C51的P1.2口就输出方波信号,驱动蜂鸣器发出鸣叫声。 图4.4 主控制系统图 单片机与报时模块图4.4 硬件电路的设计原则在性价比满足应用系统要求的情况下,选择更可靠,更熟悉的单片机缩短研制周期。尽可能选择自己较为熟悉的应用电路,以提高系统的可靠性。单片机内部的资源与外部的扩展资源应在满足系统设计的基础上留有余地,为进一步的升级和扩展提供方便。应充分的结合软件方案考虑硬件的结构,通常硬件功能较完善,其相应的软件程序就简单,但硬件的成本较高,而功能较低,其相应的软件就复杂,其实际常用软件代替硬件来降低成本。整个系统相关的器件尽可能的做到性能匹配。充分的考虑系统的抗干扰性,如具有抗干扰的单片机并充分的筛选芯片与器件,在电路中采取隔离或屏蔽的措施等。更具以上的原则我们选择我们较为熟悉的AT89C51单片机、LED数码管、按键扬声器等一些器件。时钟硬件连接图如图4.5所示 图4.5 时钟硬件连接图第5章 系统软件程序的设计5.1 软件程序内容本设计的软件程序包括主程序、中断子程序、时钟显示子程序和延时子程序等等。另外由于电路中有按键,还另外设计了防抖动程序来防止干扰。5.2 软件流程图5.2.1 系统软件设计流程图这次的数字电子钟设计用到了很多子程序,它们的流程图如下所示。主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。主程序流程图如图5.1所示。 图5.1 主程序流程图 按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。按键处理如图5.2所示。 图5.2 按键处理流程图 定时器中断是先检测1秒是否到,如果1秒到,秒单元就加1;如果没有到,就检测1分钟是否到,如果1分钟到,分单元就加1;如果没有到,就检测1小时是否到,如果1小时到,小时单元就加1,如果没有到,就显示时间。定时器中断如图5.3所示。 图5.3 定时器中断流程图 闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间设定模块的设计可参照时间设定的模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃的判别。程序设计思想如图5.4所示。 图5.4 闹铃实现流程图 时间显示先是秒的个位计算显示,然后是秒的十位计算显示,再是分的个位计算显示,再然后是分的十位显示,再就是小时的个位计算显示,最后是小时的十位显示。5.3 定时程序设计单片机的定时功能也是通过计数器的计数来实现,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每经过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/计数器两种工作模式和四种工作方式。定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX。当定时器/计数器工作于方式1时,为16位的计数器。本设计是单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。5.3.1 实时时钟实现的基本方法时钟的最小计时单位是秒,但是使用定时器的方式1,在工作频率下,最大的定时时间也只能达到131ms。我们可以把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件来实现。秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。5.3.2 实时时钟程序设计步骤(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数的累计;(3)从秒分时的计时是通过累加和数值比较来实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部 RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来。(6)中断服务程序:进行计时操作;(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1 时共有三种调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。 第6章 系统仿真在Proteus中打开数字时钟完整的电路图,双击AT89C51,在Program File:选项中浏览选择由Keil软件编译生成的hex文件,确认保存即可进行仿真。系统的仿真结果如图6.1所示。图6.1 系统仿真图第7章 结束语在设计的过程中,让我学到了很多有用的知识和加强了动手能力,也让我知道了AT89C51在整个时钟电路中的作用。作为一名大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年B公司新型材料研发与应用合作协议
- 2025年度绿色住宅自来水管道铺设与环保验收合同
- 2025生物技术临床应用转化合作合同样本
- 2025年新型教育资源共享平台会员入学体验合同模板
- 2025年耐腐蚀门头定制、安装及维护保养综合服务合同
- 2025年度白酒产业联盟展会参展权益及资源共享合同
- 银行信贷管理试题及答案
- 银行消防培训试题及答案
- 直肠肛管周围脓肿课件
- 银行年检考试题库及答案
- 投资占股协议合同
- 2025年铁路客运值班员(高级)考前必练题库500题(含真题、重点题)
- 长周期材料在高压环境下的适应性研究
- 肿瘤患者VTE预防治疗
- 被迫解除劳动合同通知书范本
- 米粉生产工艺培训
- 《poct院内培训》课件
- 副校长申请书
- 《GMP自检简介》课件
- 2025年华电新疆发电有限公司招聘笔试参考题库含答案解析
- 2025年月度工作日历含农历节假日电子表格版
评论
0/150
提交评论