1、完整版单片机数字时钟毕业设计以下文档格式全部为word格式,下载后您可以任意修改编辑。山东华宇职业技术学院高职毕业生毕业设计(论文)课题名称 单片机数字时钟设计 专业 机电一体化 班级 09高职机电五班 学号 姓名 陈帅 指导教师 王爱岭 毕业设计(论文)任务书 毕业设计(论文)题目 单片机数字时钟设计 专业: 机电一体化 姓名: 陈帅 毕业设计(论文)工作起止时间: 2011.10.202012.6.1 毕业设计(论文)的内容要求:设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计时,在这里设计的数字电子时钟,它能实现计时和校时的功能,给电子钟加上电自动计时,设计一个按
2、键对时钟进行复位和三个按键对时间进行调整。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及LED显示器四个部分。单片机选用AT89C51芯片,它无须外扩程序存储器,设计电路很简单。由于只用了四个按键,所以采用独立式按键使设计更简单。显示时、分、秒加两个分隔符,采用8位的数码管,用常用的74LS244来驱动LED数码管显示字符。 简易数字时钟可实现校时和整点报时功能,该软件采用C语言来实现,主要包括主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把原程序加入原理图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为60进制,小时为24进制计数。可通过按键实现时钟
3、复位和分、秒、时的校正。指导教师(签名): 年 月 日毕业设计开题报告一、课题设计(论文)目的及意义人类的生活包括:工作、学习、休息以及参与社会的多种实践活动,环环有条理,更加丰富多彩。应该说时钟的计时功能与人类的各种行为和活动有着密切的联系,于是时钟的作用便体现出来,生活中有许多人,因为只顾工作而忘记时间,从而耽误了重要的安排或者计划,造成不可挽回的损失,使之后悔莫及。我们要养成良好的时间观念,就需要电子钟时刻提醒我们。因此,电子钟已成为人们日常生活中必不可少,它的应用非常广泛,应用于家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。现在投入生产的大多
4、是智能时钟,它的功能很全面,但价格有点昂贵,大多数学生或者经济条件较差的人,想要拥有它,都有点困难。因此,在这里设计一个较简单的电子钟,它能完成计时和校时的功能。这个时钟系统很简单,投入生产的成本很低,因此,它的价格比较便宜,对于学生很实用。二、课题设计(论文)提纲时钟电路的核心是AT89C51单片机,其内部带有2KB的可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),无须外扩程序存储器。电脑时钟没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必外扩片RAM。系统配备8位LED数码管显示和3个独立式按键,用P0口作为键盘接口电路,P1口
5、和P3口作为段码和位码输出口,并在字段码输出口接74LS245芯片,用该芯片来驱动LED数码管显示。利用P0.0、P0.1和P0.2作为功能按键输入口。三、课题设计(论文)思路、方法及进度安排(1)显示方案方案一:静态显示就是当CPU将要显示的字或字段码送到输出口,显示器就可以显示出所要显示的字符,如果CPU不去改写它,它将一直保持下去;静态显示硬件开销大,电路复杂,信息刷新速度慢。方案二:动态显示则是一位一位地轮流点亮显示器地各个位(扫描)。对于显示器的每一位而言,每隔一段时间点亮一次;动态显示耗能较小,但编写程序较复杂。动态显示硬件连接简单,信息刷新速度快。由于本次设计是对时间进行显示,如
6、采用静态显示,则所占用的IO口较多,电路较复杂,所以在此选择的是方案二,采用动态显示。(2)键盘方案方案一:独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以,独立式按键常用于按键数量不多的场合。方案二:矩阵式键盘。矩阵式键盘采用的是行列式结构,按键设置在行列的交点上.(当接口线数量为8时,可以将4根接口线定义为行线,另4根接口线定义为列线,形成4*4键盘,可以配置16个按键。)由于本设计只用了四个按键,不需要采用矩阵式键盘,所以
7、选用第一种方案,采用独立式键盘。(3)计时方案采用软件控制:利用单片机内部的定时计数器进行定时,配合软件定时实现时、分、秒的计时。该方案能够使设计者,在设计的过程中容易实现,且节省硬件成本,因此本系统将采用软件方法实现计时。方法及进度安排:第一周到第二周:通过搜集资料,参考文献,反复的硬件调试,第三周到第四周:基本完成各模块的性能要求。第五周到第六周:在研究过程中系统的部分模块属电子系统中常用模块的可以直接采用,但需要结合连接电路进行适当调试,以达到最佳效果。四、课题设计(论文)参考文献;1.朱永金等主编,单片机应用技术,中国劳动社会保障出版社。2.彭冬明.韦友春主编,单片机实验教程,理工大学
8、出版社。 3.朱家建主编,单片机原理及应用,机械工业出版社。4.胡汉才主编,单片机原理及接口技术,清华大学出版社。 5.张伟主编,单片机原理及应用,机械工业出版社。6.谭浩强.C程序设计M.北京:清华大学出版社,19997.陈娟.无刷直流电机的电梯门控制系统研究D.吉林:吉林大学,20068.顾明.无刷直流电机控制系统设计D.大连:大连理工大学,2006 9.杨帆.具有PID自整定功能的温度控制器研究与实现D.大连:大连理工大学,200610.姚剑峰.基于PWM技术的电动机模拟器D.天津:天津大学,200611.宋健,姜军生,赵文亮,孙学岩.基于单片机的直流电机PWM调速系统J.农业化研究,2
9、006摘 要 1第1章 绪 论 21.1 电子钟的发展史 21.2 设计的目的与意义 21.3 设计的基本思路与主要内容 3第2章 时钟系统的整体设计 42.1系统功能要求 42.2 整体方案 4第3章 硬件设计与分析 63.1 硬件设计原理 63.2各单元电路介绍 63.2.1 AT89C51单片机介绍 63.2.2单片机最小应用系统 63.2.3显示电路 83.2.4 键盘及其接口 93.3 系统原理图 11第四章 软件设计 124.1 主程序的设计 124.2 键输入程序 134.3 显示程序 144.4 延时程序 152.5 中断程序 16第5章 调试与运行 195.1 电路仿真 19
10、5.2 调试和运行 20第6章 结 论 21致 谢 22参考文献 23附录一 系统原理图 24附录二 元件清单 25附录三 程序清单 26单片机数字时钟设计姓名: 陈帅 学号: 班级:09高职机电五班指导教师:王爱岭摘要:单片微型计算机简称单片机,它是把微型计算机的各个功能部件:中央处理器CPU、随机存取存储器RAM、只读存储器ROM、IO接口、定时器计数器以及串行通信接口等待集成在一块芯片上,构成一个完整的微型计算机,故又把它称为单片微型计算机。当今信息科技高速发展,使用方便、低成本电子设备已逐步成为我们日常生活中电子产品的主力军。用软件代替硬件的电子设备能大大地节省成本,且有利于资源的节约
11、,因此,以软代硬的设计必将成为我们现代设计的主流。本设计是利用MCS-51系列单片机内部的定时器计数器进行中数年定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能够使设计者在定时计数器的使用、中数年及程序设计方面得到锻炼和提高,因此本系统将采用软件方法实现计时。关键词: 单片机 数码管 程序设计第1章 绪 论1.1 数字时钟的发展史 电子钟有着很长的历史,从民国19年的电钟,研制始於60年代中期的国内电晶体、半导体管钟,到研制始於70年代末的石英电子钟,再到今天我们所用的智能电子钟。以前的电子钟存在着很多缺点,其外观体积庞大,在功能上有死摆、走时时间不长、走时精确度不高等缺点。如
12、今无论是外观,还是在功能上,电子钟都有了很大的改进。 虽然世界绝大多数钟表都是中国制造,但钟表对于国内市场来说只是个小行业,2003年总盘子不过才100多亿,但不是没有前景。近年来,市场在急剧膨胀。根据国外的统计数据显示,发达国家人均一生拥有手表23块,发展中国家12块,而目前中国的城镇人口人均拥有量不多于6块,空间很大。比如彩电一般是一个家庭一台,手表则是每人一块,但从销售量来看,光TCL一家公司两个月的彩电销量可以接近300万台,而我们手表每年总共才卖200多万只。所以绝对不是市场潜力不够的问题,而是我们应该如何去做的问题。1.2 设计的目的与意义人类的生活包括:工作、学习、休息以及参与社
13、会的多种实践活动,环环有条理,更加丰富多彩。应该说时钟的计时功能与人类的各种行为和活动有着密切的联系,于是时钟的作用便体现出来,生活中有许多人,因为只顾工作而忘记时间,从而耽误了重要的安排或者计划,造成不可挽回的损失,使之后悔莫及。我们要养成良好的时间观念,就需要电子钟时刻提醒我们。因此,电子钟已成为人们日常生活中必不可少,它的应用非常广泛,应用于家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。现在投入生产的大多是智能时钟,它的功能很全面,但价格有点昂贵,大多数学生或者经济条件较差的人,想要拥有它,都有点困难。因此,在这里设计一个较简单的电子钟,它能完
14、成计时和校时的功能。这个时钟系统很简单,投入生产的成本很低,因此,它的价格比较便宜,对于学生很实用。1.3 设计的基本思路与主要内容设计一个电子产品,首先了解它能实现的功能,时钟系统最基本的功能就是实现计时,在这里设计的数字电子时钟,它能实现计时和校时的功能,给电子钟加上电自动计时,设计一个按键对时钟进行复位和三个按键对时间进行调整。 硬件设计很简单,主要包括:单片机、按键电路、驱动显示电路,以及LED显示器四个部分。单片机选用AT89C51芯片,它无须外扩程序存储器,设计电路很简单。由于只用了四个按键,所以采用独立式按键使设计更简单。显示时、分、秒加两个分隔符,采用8位的数码管,用常用的74
15、LS244来驱动LED数码管显示字符。 简易数字时钟可实现校时和整点报时功能,该软件采用C语言来实现,主要包括主程序、键输入程序、显示程序、定时程序和中断程序等软件模块。把原程序加入原理图,做出电子钟的仿真,以秒计数并显示时、分、秒。其中秒和分为60进制,小时为24进制计数。可通过按键实现时钟复位和分、秒、时的校正。第2章 简易数字时钟系统的整体设计 2.1系统功能要求 以单片机技术为核心,充分应用各种外围电路元器件,设计一个通过显示器显示时间(时、分、秒)的电子钟。要求:1、上电时,时、分、秒显示为00时、00分、00秒,并以秒为单位开始计时;2、运行状态下,按动控制按扭S-SET,对秒进行
16、调整;3、运行状态下,按动控制按扭M-SET,对分进行调整;4、运行状态下,按动控制按扭H-SET,对小时进行调整。5、当数字时钟运行到正点时,实现自动报时功能。6、当按下T-SET键是实现小时由24进制和12进制的相互转换。2.2 整体方案 电子钟的电路图主要由单片机(AT89C51)、键盘电路、驱动显示电路和LED显示器四部分组成,它主要实现时钟的显示,以及对时、分、秒进行调整,即实现调时的功能。其数字钟系统整体结构如图2-1所示。图2-1 电子钟系统整体结构(1)显示方案方案一:静态显示就是当CPU将要显示的字或字段码送到输出口,显示器就可以显示出所要显示的字符,如果CPU不去改写它,它
17、将一直保持下去;静态显示硬件开销大,电路复杂,信息刷新速度慢。方案二:动态显示则是一位一位地轮流点亮显示器地各个位(扫描)。对于显示器的每一位而言,每隔一段时间点亮一次;动态显示耗能较小,但编写程序较复杂。动态显示硬件连接简单,信息刷新速度快。由于本次设计是对时间进行显示,如采用静态显示,则所占用的IO口较多,电路较复杂,所以在此选择的是方案二,采用动态显示。(2)键盘方案方案一:独立式键盘。独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以
18、,独立式按键常用于按键数量不多的场合。方案二:矩阵式键盘。矩阵式键盘采用的是行列式结构,按键设置在行列的交点上.(当接口线数量为8时,可以将4根接口线定义为行线,另4根接口线定义为列线,形成4*4键盘,可以配置16个按键。)由于本设计只用了四个按键,不需要采用矩阵式键盘,所以选用第一种方案,采用独立式键盘。(3)计时方案采用软件控制:利用单片机内部的定时计数器进行定时,配合软件定时实现时、分、秒的计时。该方案能够使设计者,在设计的过程中容易实现,且节省硬件成本,因此本系统将采用软件方法实现计时。第3章 硬件设计与分析3.1 硬件设计原理 时钟电路的核心是AT89C51单片机,其内部带有2KB的
19、可反复擦写的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),无须外扩程序存储器。电脑时钟没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必外扩片RAM。系统配备8位LED数码管显示和3个独立式按键,用P0口作为键盘接口电路,P1口和P3口作为段码和位码输出口,并在字段码输出口接74LS245芯片,用该芯片来驱动LED数码管显示。利用P0.0、P0.1和P0.2作为功能按键输入口。3.2各单元电路介绍3.2.1AT89C51单片机介绍 AT89C51是一个低电压,高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读Flash程序存储
20、器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处理器和Flash存储单元,所以说AT89C51是一个功能强大的单片机。 AT89C51是一个低功耗高性能单片机,它有40个引脚,32个外部双向输入输出(IO)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。同时AT89C51的时钟频率可以为零,即具备可用
21、软件设置的睡眠省电功能,系统的唤醒方式有RAM、定时计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复位方可继续运行。3.2.2 单片机最小应用系统时钟电路和复位电路是单片机最小应用系统中必不可少的。单片机时钟电路图,如图3-1所示:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。图3
22、-1 单片机时钟电路图复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作就是从复位开始的,当在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本的形式:一种是上电复位,另一种是上电与按键均有效的复位。由于本次设计采用的是上电复位,所以这里只介绍上电复位,如下图3-3所示: 图3-3上电复位电路上电复位要求接通电源后,单片机自动实现复位操作。常用的上电复位如上图所示。上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。3.2.3显示电路一、七段L
23、ED显示器的原理显示器是单片机应用系统常用的设备,包括LED、LCD等。LED显示器由若干个发光二极管组成。七段LED通常构成字型“8”,还有一个发光二极管用来显示小数点。每段LED分别引出一个电极,电极的名为a、b、c、d、e、d、g、dp,其中dp是小数点段的引出电极。当发光二极管导通时,相应的一个笔画或一个点就发光。控制相应的二极管导通,就能显示出对应字符。说明:在该设计中,没有用到电极(dp),而是用单位的数码管来显示分隔符,其七段LED显示器如图3-4所示图3-4 七段LED显示器二、 动态显示本设计共用了八位LED显示器,因此采用动态显示方式。所谓动态显示就是一位一位的轮流点亮显示
24、器的各个位。对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作,但由于人眼的视觉暂留效应和发光二极管熄灭时的余晖,我们看到的却是多个字符“同时“显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间长短和时间间隔有关。显示器的位数不大于8位,则控制显示器公共极电位只需要一个IO接口,称为扫描口或字位口,控制各位LED显示器所显示的字型也需要一个8位接口,称为段数据口或字型口。图3-5为驱动显示电路框图。图3-4 驱动显示电路框图74LS244是我们常用的芯片,用来驱动led或者其他的设备当8051单片机的P1口总线负载达到或超过P1最大负载能力时,必须接入74LS
25、244等总线驱动器。当片选端CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)3.2.4 键盘及其接口键盘是由若干个按键组成的,它是单片机最简单的输入设备。通过键盘输入数据或命令,就可实现简单的人机对话。一、按键的抖动现象按键就是一个简单的开关。当按键按下时,相当于开关闭合;当按键松开时,相当于开关断开。按键在闭合和断开时,触点会存在抖动现象。按键抖动时间一般为5ms10ms,抖动可能造成一次按键的多次处理问题。应采取措施消除抖动的影响。消除的方法很多,本设计采用软件延时的方法来消除抖动。当单片机检测到有按键按下时先定时,然后再检测按键的状态,若仍是闭合状态则认为真的有键按下
26、。当检测到按键释放时,亦需要做同样的处理。二、按键电路 独立式键盘的各个按键相互独立,每个按键独立地与一根数据输入线(单片机并行接口或其他芯片的并行接口)连接。独立式键盘配置灵活,软件结构简单,但每个按键必须占用一根接口线,在按键数量不多时,接口线占用多。所以,独立式按键常用于按键数量不多的场合。该设计只用了三个按键,来实现功能控制。在运行状态下,按动控制按扭S-SET,可对秒进行调整;按动控制按扭M-SET,可对分进行调整;按动控制按扭H-SET,可对时进行调整;因此采用独立式键盘方式,设计起来比较简单。如图3-6所示图3-5 键盘电路3.3 系统原理图 AT89C51的P1口接入三个按键,
27、对时、分、秒进行调整。P0口输出字段码,控制要显示的字符,外接74LS245芯片,驱动LED显示。P3口输出字位码,去控制要显示的位,其原理图如图3-6所示。图3-6 电子钟原理图当接入电源时,数字电子钟以秒为单位开始计时。运行状态下,按下控制按键S-SET,对秒进行调整;按下M-SET调整分钟;按下H-SET对小时进行调整。这样通过三个按键,分别对时、分、秒进行调整,从而实现调时。第4章 软件设计在软件设计中,整个程序的主框架是以定时1s计算的方式来实现电子钟。定时1s的程序段,使用动态显示程序实现延时,既完成了延时,也完成了数字的显示。在计算程序中,使对应于时、分、秒的变化量按照60进制和
28、24进制进行计算,动态显示程序直接引用这些变量,达到显示的数字也随之不断变化,即完成了电子钟的功能。其软件功能模块主要有键输入程序、中断程序、显示程序,以及延时程序。需要说明的是,这里设计的是简易的电子钟,主要是用程序运行来计算时间,这样用程序来确定出1s的时间精度是很有限的,所以整个时钟的精度不太高。4.1 主程序的设计初始化将时、分、秒各单元的内容清空,置T0为计数器方式1,分别给计数器的高8位和低8位赋计数初值,启动T0工作。键入一个按键,如执行此动作,秒值加1,否则重新键如按键。 主程序模块:主程序流程图,如图4-1所示 图4-1 主程序流程图4.2 键输入程序键输入程序用于调整时间。
29、以秒为例,按下按键S-SET,判断S-SET是否真的被按下,若没有键按下,转到A1程序段,再次键入按键,重新判断。若按键按下了,则调用延时程序,消除抖动现象秒值加1,当秒值大于60时,秒清零,进行下一次计时,同时分加一,并转到J0显示。此过程循环执行,其程序流程图如图4-2所示:图4-2 键输入程序流程图A1: LCALL DISPLAY;调用延时程序 JNB S_SET,S1;判断按键是否按下 JNB M_SET,S2 JNB H_SET,S3 LJMP A1S1: LCALL DELAY ;去抖动 JB S_SET,A1 INC SECOND ;秒值加1 MOV A,SECOND CJNE
30、 A,#60,J0 ;判断是否加到60秒 MOV SECOND,#0 ;秒清0 LJMP J0J0: JB S_SET,A1 LCALL DISPLAY ;调用显示 SJMP J04.3 显示程序 显示其时、分、秒的数值,和两个分隔符。以显示秒为例,当P3.7输入高电平时,秒的个位所对应的字段码点亮,显示其秒的个位;当秒有十位输入时,P3.6输入高电平,秒所十位对应的字段码点亮,显示其秒十位。其程序流程图如图4-3所示:图4-3 显示程序流程图DISPLAY:MOV A,SECOND ;显示秒 MOV B,#10 DIV AB CLR P3.6 MOVC A, A+DPTR ;取字段码 MOV
31、 P0, A LCALL DELAY ;调用延时 SETB P3.6 ;显示秒十位 MOV A,B CLR P3.7 MOVC +DPTR ;取字段码 MOV P0,A LCALL DELAY ; 调用延时,去抖动 SETB P3.7 ;显示秒个位 CLR P3.54.4延时程序 按键抖动时间一般为5ms10ms,因此延时10ms,其流程图如图4-4所示:图4-4 延时程序流程图DELAY: MOV R6,#10 ;延时10msD1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RET2.5 中断程序 中断程序主要用于控制显示的字符。当秒值大于60时,秒清零,重新计数,分值加1,秒、分同时显示;当分值大于60时,分清零,重新计数,小时加1,秒、分、时同时显示,当小时大于23时,一天的计时完毕,秒、分、时均清零,进行第二天的计时。此任务循环执行。其程序流程图如图4-5所示:图4-4 中断程序流程图DISPLAY: MOV A,SECOND ;显示秒 MOV
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1