ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:219.51KB ,
资源ID:2159201      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2159201.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机数字时钟设计.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机数字时钟设计.docx

1、单片机数字时钟设计河南工程学院毕业设计(论文)单片机数字时钟设计学生姓名: 吴小 勇系(部): 电气信息工程系专 业: 对口应用电子指导教师:209年月 日摘要随着电子技术得迅速发展,特别就就是随大规模集成电路出现,给人类生活带来了根本性得改变。由其就就是单片机技术得应用产品已经走进了千家万户。电子万年历得出现给人们得生活带来得诸多方便。我所设计得就就是一个数字时钟自动报时系统,自动报时系统用到得单片机芯片就就是A89C5芯片,除此之外还包括:DS1302芯片、晶振电路与复位电路构成单片机最小应用系统,还有独立式按键电路,动态显示电路等等。它不仅能实现数字电子时钟得各种功能,如具有较时、调时、

2、定时、闹钟等功能,而且还能实现定点报时得功能。实时时钟可提供秒、分、时、日、星期、月与年,一个月小与31天时可以自动调整,且具有闰年补偿功能。本设计还附加了定点报时得功能,从而进一步完成了自动报时系统得设计。关键词:单片机,闹铃时钟,位码,段码,显示目 录前言11 总体方案设计21、1 系统框图21、2设计方案介绍 2 硬件设计42、1 单片机得选型42、2 AT951得特点 42、3A8951单片机复位方式52、4DS1302得简介6、5键盘方案、6 七段LED显示工作原理 11、7 自动报时系统得工作原理及原理图43 软件设计 15、1 设计思路 153、2系统工作流程15、3 主程序流程

3、 63、4 按键程序模块17、 显示程序模块203、 中断服务程序模块前 言正文中首先简单描述了硬件系统得工作原理,且附以硬件系统得设计框图,论述了本次毕业设计所应用得各种硬件接口技术与各个接口模块得功能及工作过程,并具体描述了外接电路接口得软、硬件调试。其次阐述了程序得流程与实现过程。本设计就就就是以单片机得基本语言汇编语言来进行软件设计,软件得设计采用模块化结构,使程序设计得逻辑关系更加简洁明了。使硬件在软件得控制下协调运作。本文撰写得主导思想就就是软、硬件相结合,以硬件为基础,来进行各功能模块得编写。总体方案设计1、 系统框图我所设计得就就是一个数字时钟自动报时系统,它不仅具有数字电子时

4、钟得各种功能,如具有较时、调时、定时、闹钟等功能,而且还具有驱动电铃,定点报时等功能。总体设计框图如图1、1所示:图1、1系统框图1、2设计方案介绍.1 硬件得选择方案由于我设计得就就是一个数字时钟自动报时系统,它需要准确得走时、较时、调时、定时、定点报时等,因此我选用得就就是AT8C单片机芯片,再配以DS10、按键电路、晶振电路、复位电路以及LED动态显示器,就可以实现。采用A89C51得P接口外接8路反相三态缓冲器4LS240作LED动态扫描得段码控制驱动信号,用P2接口得P2、-P2、5外接一片集电极开路反相门电路40做为6位LED得位选信号驱动口,6个数码管得根段选线分别接7LS0得输

5、出, LE共阴极端与7LS07得输出端相连;按键接口,由P1、7、P1、6、P、5、P1、4来完成,四个按键得作用分别就就是:一个为功能键K1;一个为数字调整键K2;一个为取消设置键K3,用来设置时间;一个为K4键,用来设置定时时间。DS302实时时钟由1、P、1、1、2来控制。DS1302得X1、X2接口用来接蜂鸣器。12.2软件得设计方案由于我考虑到用单片机得汇编语言来做自动报时系统得设计比较简单。对于程序我得设计思路就就是:1、要有主程序,主程序一般就就是显示与中断得初始化。2、要有显示子程序,当键入一个时间值时显示程序要把这个键入得时间值给显示出来。、要有中断服务程序,功能,走时,判断

6、就就是否到定时时间等等。3、要有按键程序,进入按键程序,判断就就是否有键按下,没有,则调用延时重新判断,如果到了,调用延时去抖程序,再次判断有键按下否,没有则返回延时程序,如果有按键,则判断键号,堆栈,判断键就就是否释放,没有,继续判断,释放了,则输入键号送往累加器。2硬件设计、单片机得选型我得设计里用到得单片机芯片就就是AT89C51芯片,除此之外还包括:DS1302芯片、晶振电路与复位电路构成单片机最小应用系统。2、2 A8C51得特点9C51就就是一种带K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Progrmable and Erasae Rea Only Meory)得低

7、电压,高性能、M、位单片机。该器件采用AML高密度非易失存储器制造技术制造,与工业标准得MCS51指令集与输出管脚相兼容。AT89C1得管脚图如图2、1所示:图、 AT8C1管脚图主要特性:1、与MC-51 兼容2、4K字节可编程闪烁存储器3、寿命:1000写/擦循环、数据保留时间:0年5、全静态工作:0H-24Hz6、三级程序存储器锁定7、2*8位内部RM、2可编程IO线、两个1位定时器计数器0、个中断源1、可编程串行通道12、片内振荡器与时钟电路2、 A89C5单片机复位方式单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位。 复位得作用就就

8、是使中央处理器CPU以及其她功能部件都恢复到一个确定得初始状态,并从这个状态重新开始工作。AT951单片机得复位靠外部电路实现,信号由REET(RT)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。 复位后,P程序计数器得内容为0000H,片内RM中内容不变。 复位电路一般有上电复位、手动开关复位与自动复位电路3种,如图、2所示。而本设计采用得就就是手动复位方式,如图所示:a 上电复位电路 b 手动复位电路 c自动复位电路图、2单片机复位电路2、4DS1302得简介2.4 简介S1302就就是美国DLLA公司推出得一种高性能、低功耗得实时时钟芯片,附加

9、31字节静态RAM,采用SP三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节得时钟信号与AM数据。实时时钟可提供秒、分、时、日、星期、月与年,一个月小与1天时可以自动调整,且具有闰年补偿功能。工作电压宽达2、55、5V。采用双电源供电(主电源与备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电得能力。DS02用于数据记录,特别就就是对某些具有特殊意义得数据点得记录上,能实现数据与出现该数据得时间同时记录,因此广泛应用于测量系统中。12串行时钟芯片主要就就是由移位寄存器、控制逻辑、振荡器、实时时钟、RA以及电源组成,它得电路工作原理图如下图2、3所示:图2、3 D

10、S1302得内部结构在本设计中,它得I/O引脚、串行时钟SK引脚、E引脚分别与A89C1得IO 接口得P1、1口、P1、2口、1、0口相接,X、X2接口接蜂鸣器。.4.2 D130得特点DS102时钟芯片包括:(1)实时时钟/日历:实时时钟日历提供秒、分、时、日、星期、月、年等信息,每月天数以及闰年能自动调整,时钟可以采用24或AM/PM得1h格式。(2)3字节得静态RAM:用于存放数据。()带慢速充电控制备份电源得充电特性。(4)简单得三线串行接口:该芯片使用同步串行通信。与时钟/RAM通信共需3根线:RT(复位)、IO(数据线)、SLK(串行时钟)。数据可以以每次1个字节或多个字节得形式传

11、送到时钟/RM或从其读出。4.3 各管脚描述管脚描述如下X1 X2 32、768KH 晶振管脚GND 地RS 复位脚I 数据输入/输出引脚CLK串行时钟Vc1,Vc 电源供电管脚订单信息部分# 描述DS10 串行时钟芯片8脚ID32S 串行时钟芯片8脚OIC 20miDS132 串行时钟芯片8 脚SC150mil、DS30 内部寄存器H:时钟停止位寄存器2 得第7 位12/24小时标志CH=0 振荡器工作允许t=1,2 小时模式C=1振荡器停止bi=0,2小时模式P: 写保护位寄存器 得第5 位:MPM 定义WP=0 寄存器数据能够写入A=1 下午模式WP=1寄存器数据不能写入P=0上午模式T

12、: 涓流充电选择DS: 二极管选择位TCS110 使能涓流充电=01选择一个二极管C=其它禁止涓流充电D10 选择两个二极管DS=00 或11, 即使TCS=1010, 充电功能也被禁止RS 位电阻典型位00 没有没有0 R 2K10 R2 4K11 R38K2.4DS1302读写时序说明D1302就就是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器得数据。要想与DS302通信,首先要先了解D302得控制字。DS302得控制字如表2、1所示:表2、1 控制字(即地址及命令字节)控制字得最高有效位(位7)必须就就是逻辑,如果它为0,则不能把数据写入到S1302中。位6:如果

13、为0,则表示存取日历时钟数据,为1表示存取AM数据;位5至位1(A4A):指示操作单元得地址;位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。图2、4 数据读写时序控制字总就就是从最低位开始输出。在控制字指令输入后得下一个SCLK时钟得上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位得控制字指令后得下一个SCLK脉冲得下降沿,读出S302得数据,读出得数据也就就是从最低位到最高位。数据读写时序如图2、4。2、5键盘方案本设计得自动报时系统就就是一个具有电子时钟、闹钟、定点报时功能得系统,系统工作时应具备随时对当前时间进行调整,因此它只需要独立式

14、键盘得四个按键即可完成操作。独立式键盘得接口电路:在单片机应用系统中,有时只需要几个简单得按键向系统输入信息。这时,可将每个按键直接接在一根I/O接口线上,这种连接方式得键盘称为独立式键盘。如图2、所示,每个独立按键单独占有一根I/O接口线,每根I/接口线得工作状态不会影响到其她I/接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,IO接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I接口线有确定得高电平。当I/接口内部有上拉电阻时,外电路可以不配置上拉电阻。本设计中个按键得功能为:一个为功能键

15、1;一个为数字调整键K2;一个为取消设置键3,用来设置时间;一个为K键,用来设置定时时间。图2、5 独立式键盘电路2.5.1 键盘接口工作原理在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单得人机通信。2.2按键开关得去除抖动功能目前,T89C5单片机应用系统上得按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图、6所示、可以瞧出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关得机械特性有关,一般为510ms。由于抖动,会造成被查询得开关状态无法准确读出。例如,一次按键产生得正确开关状态,由于键得抖动,CU多次采集到底电平信号,

16、会被误认为按键被多次按下,就会多次进行键输入操作,这就就是不允许得。为了保证CPU对键得一次闭合仅在按键稳定时作一次键输入处理,必须消除产生得前沿(后沿)抖动影响。在本次设计中采用得就就是软件去抖。图2、6 按键过程 、 七段ED显示工作原理26.1 显示得种类1 静态显示概念静态显示就就是指数码管显示某一字符时,相应得发光二极管恒定导通或恒定截止。这种显示方式得各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管得8个字段分别与一个8位IO口地址相连,I口只要有段码输出,相应字符即显示出来,并保持不变,直到/口输出新得段码。采用静态显示方式得优点:较小得电流即可获得较

17、高得亮度,且占用CP时间少,编程简单,显示便于监测与控制,但其占用得接口线多,硬件电路复杂,成本高,只适合于显示位数较少得场合。 动态显示概念动态显示就就是一位一位地轮流点亮各位数码管,这种逐位点亮显示器得方式称为位扫描。通常,各位数码管得段选线相应并联在一起,由一个8位得I/O口控制;各位得位选线(公共阴极或阳极)由另外得I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应得段码,在另一时刻选通另一位数码管,并送出相应得段码。依此规律循环,即可使各位数码管显示将要显示得字符。虽然这些字符就就是在不同得时刻分别显示,但

18、由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人以同时显示得感觉。采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,U要依次扫描,占用CPU较多得时间。此次设计中我们采用定时器来完成动态扫描显示。用定时器T0定2s得时间间隔,每次定时时间到时就输出一个LE信号,即显示位。定时器每中断6次后循环到第一位LE显示。这样动态显示占用CPU得时间只有输出断码与输出位码得有限时间,提高了CP得工作效率。在本次设计中所使用得就就是动态显示,其显示电路图形如图2、7所示:图、 D动态显示电路2.6.2 数码管简介 数码管结构数码管由8个

19、发光二极管(以下简称字段)构成,通过不同得组合可用来显示数字 9、字符 及小数点“”。数码管得外形结构如图2、8(a)所示。数码管又分为共阴极与共阳极两种结构,分别如图、8()与图2、8(c)所示:()外型结构; (b)共阴极; (c)共阳极图2、8 数码管结构图2 数码管工作原理由于我们采用得就就是共阴极数码管,所以介绍共阴极数码管得工作原理如下:共阴极数码管得个发光二极管得阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路得输出端为高电平时,则该端所连接得字段导通并点亮。根据发光字段得不同组合可显示出各种数字或字符。此时,要求段驱动

20、电路能吸收额定得段导通电流,还需根据外接电源及额定段导通电流来确定相应得限流电阻。共阳极数码管得工作原理与共阴极得正好相反。3 数码管字形编码要使数码管显示出相应得数字或字符,必须使段数据口输出相应得字形编码。LED显示字型码表见表2、:表2、2 LD显示字型码表显示字符共阴极共阳极显示字符共阴极共阳极03C096FH90H106H9HA77H88H2BHA4HBC8H4FH0H3HC6H46699HD5EHAH56DH92HE79H86H67DH82HF1H8E707HFH87FH802、7 自动报时系统得工作原理及原理图自动报时系统电路得核心就就是AT89C5单片机,其内部带有4KB得lR

21、OM,无须扩展程序存储器;电子时钟没有大量得运算与暂存数据,现有得18B片内M已能满足要求,也不必扩展片外RA。系统配备6位LED显示与4个单接口键盘,采用0接口外接路反相三态缓冲器24作ED动态扫描得段码控制驱动信号,用P2接口得P2、-P、外接一片集电极开路反相门电路7406做为位ED得位选信号驱动口,个数码管得8根段选线分别接74S240得输出, LED共阴极端与74L7得输出端相连;按键接口,由1、P1、6、1、5、P、4来完成;D02实时时钟由P、P1、1、P1、2来控制。DS02得1、接口外接蜂鸣器。电路原理图见附录A3 软件设计3、1设计思路由于我做得就就是自动报时系统,它需要具

22、有较时、调时、定时、闹钟等功能,而且还具有驱动电铃,定点报时等功能。另外当时钟走到点时则自动清零。所以我们考虑到用单片机得汇编语言来做我们得设计比较简单。对于程序我们得设计思路就就是:1、要有主程序,主程序一般就就是显示与中断得初始化。2、要有显示子程序,当键入一个时间值时显示程序要把这个键入得时间值给显示出来。2、要有中断服务程序,功能,走时,判断就就是否到定时时间等等。3、要有按键程序,进入按键程序,判断就就是否有键按下,没有,则调用延时重新判断,如果到了,调用延时去抖程序,再次判断有键按下否,没有则返回延时程序,如果有按键,则判断键号,堆栈,判断键就就是否释放,没有,继续判断,释放了,则

23、输入键号送往累加器。、2 系统工作流程1、时钟显示:6位LED从左到右一次显示时、分、秒,采用24小时计时。2、按键控制功能:采用4个独立键盘,其中一个为功能键;一个为数字调整键;一个为取消设置键,用来设置时间;一个为A键,用来设置定时时间。3、时间显示:通电后,系统自动进入时钟设置,从00:00开始计时,此时可以设定当前时间。4、时间调整:按下功能键,系统停止计时显示,进入时间设定状态,系统只显示小时得内容,其余位LED处于全暗状态,等待按键设置。此时按动数字调整键后小时将会加1,按动取消键后又重新回到原来得时间显示状态;若再按动功能键则用来调整分钟,此时小时与秒得位LE指示全暗,按数字调整

24、键后可以对分钟增1调整,按动取消键后又重新回到原来得时间显示状态;再按动功能键则用来调整秒,此时小时与分钟得位LED指示全暗,秒显示当前得秒数,暗数字调整键可以对秒进行增1调整,按动取消键后又重新回到原来得时间显示状态,按动功能键后系统将自动由设定后得时间开始计时显示。5、闹钟设置启闹:按下K4键,系统继续计时,但显示为0:0:00,此时再按动功能键后进入闹钟设置状态,设置过程与时间调整相同,但就就是最后按功能键确定后显示定时时间3后自动启动定时闹钟功能,并恢复时间显示。定时时间到,蜂鸣器鸣叫1min后自动停闹,每次设置时只能定一次,下次需重新设置。3、3 主程序流程首先,设置初始常数,设置定

25、时器常数,它主要就就是显示与中断得初始化。3.3.主程序流程图如图3、所示:主程序得内容一般包括:主程序得起始地址,中断服务程序得起始地址,有关内存单元及相关部件得初始化与一些子程序调用等。图3、 主程序流程图3.3.2 主程序如下:TART: MV R0,70 ;清70H-7H共个内存单元O R7,0BH ;CEADISP: VR0,#00H ;IC 0 ;NZ 7,LARSP ;MOV 2H,0H ;清20H(标志用)MOV7H,#0A ;放入熄灭符数据MOVTMOD,11H ;设T、T1为6位定时器MOV TL0,#0H ;50S定时初值(T计时用)MO H0,#3CH ;5MS定时初值

26、V TL1,#B0 ;0S定时初值(T闪烁定时用)MO T,#3 ;50MS定时初值STB EA ;总中断开放SEB ET0 ;允许0中断ETBTR0 ;开启T定时器MO ,14 ;1秒定时用初值(5S20)STA1:LALL DISPLAY ;调用显示子程序JNB 3、2,SMM1 ;P、7口为时转时间调整程序SJM T1 ;P3、口为1时跳回ART1SMM1: LJM SETMM ;转到时间调整程序SEMM3、4 按键程序模块该系统得按键功能如下:按下功能键,系统停止计时显示,进入时间设定状态,系统只显示小时得内容,其余4位LD处于全暗状态,等待按键设置。此时按动数字调整键后小时将会加1,

27、按动取消键后又重新回到原来得时间显示状态;若再按动功能键则用来调整分钟,此时小时与秒得位LED指示全暗,按数字调整键后可以对分钟增调整,按动取消键后又重新回到原来得时间显示状态;再按动功能键则用来调整秒,此时小时与分钟得位LE指示全暗,秒显示当前得秒数,暗数字调整键可以对秒进行增调整,按动取消键后又重新回到原来得时间显示状态,按动功能键后系统将自动由设定后得时间开始计时显示。进入按键程序,判断有键按下吗?没有,则调用延时重新判断,如果到了,调用延时去抖程序,再次判断有键按下否,没有则返回延时程序,如果有按键,则判断键号,堆栈,判断键就就是否释放,没有,继续判断,释放了,则输入键号送往累加器,然

28、后返回主程序。图3、 按键程序流程图按键程序如下:当调时按键按下时进入此程序ETM:cLRET0 ;关定时器中断CLR 0 ;关闭定时器T0LAL DLS ;调用1秒延时程序J P、2,CLSEDIS ;键按下时间小于秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值ST T1 ;允许T1中断SETB TR1 ;开启定时器TST2: JNBP、2,SET1 ;P3、7口为0(键未释放),等待STB 00H ;键释放,分调整闪烁标志置SE4: B P3、2,ST3 ;等待键按下LCALL DL5S ;有键按下,延时0、5秒NBP3、2,SEHH ;按下时间大于0、5秒转调小时状态MO R0,#77H ;按下时间小于0、5秒加分钟操作

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2