基于51单片机电子时钟课程设计

《单片机原理及接口》课程

设计报告

题 目: 时钟系统设计 姓 名:

专 业: 电信 班 级: 1 学 号: 20131 指导教师:

信息工程学院 二0一六年一月

时钟系统设计

摘要:本系统是基于AT89C51单片机的具有准点报时、调时、以及可设闹钟功能的简单数字时钟系统的设计。以AT89C51为核心控制器,系统分为时钟模块、显示模块、按键模块及闹钟模块。系统以单片机内部定时器作为时钟模块的主要控制模块,通过频率计数实现计时功能,采用了8位数码管来显示时间,采用独立按键做为时间调时以及闹钟设置按键,采用蜂鸣器作为报时闹钟系统。通过Keil软件C语言程序的编写、编译、调试以及硬件单片机的连接,实现了时间显示(24小时制)、闹钟设置、时间调试以及准点报时,可复位的功能,并运行了该电路的程序,得出了符合实验设计要求的结果。 关键字:数字时钟;AT89C51;数码管;C语言;闹钟;调时

1 系统设计内容

1.1 前言

随着近年来科技的进步,单片机在近十年也取得了飞速的发展。目前,单片机已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。现在虽然单片机的品种繁多,各具特色,但仍以MCS-51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的WinBond系列单片机。以8031为核心的单片机占据了半壁江山,在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。

数字电子时钟作为单片机基础学习的一个重要的典型,是很多初学的学习单片机的很好的例子,是对单片机的定时器的一个重要的应用。可以说,学习单片机的两个重点就是中断和定时器,学会了数字时钟的编程就是对单片机学习的一个很好的综合应用。

1.2 设计要求

应用知识:I/O口应用、数码显示、定时/计数器、中断。

基本要求:设计一时钟系统,系统具有时钟功能,能准确显示时、分、秒。系统还应具有校正功能:能够修改当前的时间。

扩展部分:具备设定闹钟和定时闹钟响功能。

1.3 设计思路

2

通过软件程序的编程,硬件电路的调试,实现了简单时钟系统的设定,使得该系统具有正常走时,能够正确的显示时、分、秒;能够进行调时,修改当前的时间,并且能够设定闹钟,使闹钟能够定时响。

首先是时间的调试:若要进行正常的时间调试需要有进入时间的调时试状态按键以及调试是加或者是减的按键,即每个状态要3个按键,共有时、分、秒三个状态,这样就一共需要9个按键,这样的编程太过复杂,硬件需要的按键也比较多。考虑到,可通过同一个按键来控制定时器的走与停,以及通过按键的次数来控制所进入的调试状态是时、分还是秒。当调试进入某一状态时,需要分别通过两个按键来控制时间的加与减,而此时的加与减的按键相当于是局部变量,可以在三个状态中分别使用。这样一共就只需要3个按键,大大节省了硬件并且简化了软件的编程。设3个按键分别为key1、key2和key3,设计为当按键key1被按下时,停止走时,进入调时状态,当key1被按下1次,进行秒的调整;当key1被按下2次,进行分的调整,当key1被按下3次,进行时的调整;当key1被按下4次,停止调时,继续进行走时。在key1被按下4次以下的情况下,若按下key2键,则进行时间加,若按下key3,则进行时间减。

其次是闹钟设定:基于时间调试的设置思路,同样将进入闹钟状态以及闹钟设定的按键分开,考虑到此时闹钟设置时,数码管的显示问题以及定时器的走时问题,故将进入闹钟的设定状态和时设定、分设定的按键分开,而分和时的设定又都需要时间的加和减,即各需要两个按键,再加上进入闹钟设定状态的一个按键,共需要5个按键来实现闹钟的设定。设这5个按键分别为key0、key4、key5、key6和key7,其中,key0为进入闹钟状态按键,key4和key6分别为分钟设定的加和减的按键,key5和key7分别为时设定的加和减设定的按键。依照思路可设定为当key0一直被按住的情况下,此时进入闹钟设定状态,但是定时器仍然在工作。在key0一直被按住的情况下,若key4或key5被按下,则分别进行分和时的累加状态;若key6和key7被按下,则分别进行分和时的减状态,当放开key0时,继续进行走时。若想再次进行闹钟的设定,重复上述的步骤,不过当再次按下按键key0时,则显示上次设置的闹钟时间。

2 系统方案设计

2.1 方案论证 (1)、核心控制模块

方案一:采用FPGA作为核心控制模块。由于FPGA具有强大的资源,使用方便灵活,易于进行功能扩展,特别是结合了EDA,可以达到很高的效率。此方案逻辑虽然简单一点,但是一块FPGA的价格很高,对于做数字钟来说有一点浪费,而且FPGA比较难掌握,本设计中不作过多研究,也不采用此方案。;

方案二:采用AT89C51作为核心控制模块。此方案中AT89C51单片机的入门学习相对交容易,易于理解,外围电路比较简单,成本比较低,此系统控制灵活能很好地满足本课题的基本要求和扩展要求,因此选用该方案。

3

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4