基于51单片机的数字时钟毕业论文_第1页
基于51单片机的数字时钟毕业论文_第2页
基于51单片机的数字时钟毕业论文_第3页
基于51单片机的数字时钟毕业论文_第4页
基于51单片机的数字时钟毕业论文_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、xx职业技术学院毕业论文系 别: 专 业: 学 号: 姓 名: 论文题目: 指导教师: 提交日期: 摘 要:随着生活节奏的加快,人们时间观念的加强,时钟已经成为人们日常生活中不可或缺的一部分,而如何在时钟的基础上,根据人们生活的需要增加相应的功能以方便人们的生活,成为时钟设计方面的重点。单片机以其强大的功能,低廉的价格成为许许多多功能电子产片的首选。本设计结合所学的单片机的原理与应用而扩展的电子方面的研究,在单片机时钟的基础上通过软件记时,实现时钟功能,同时通过安检开关来扩展功能,实现定时闹钟与秒表功能。c语言作为高级语言c语言的移植,易于理解和操作,且结构化较高,本设计即采用c语言作为编程语

2、言,流程比较清晰,关键词:stc89c51 电子时钟 ds1302 c语言目 录摘要一、引言41.1课题目的及意义4二、工作原理6三、系统硬件设计实验板介绍芯片的选择63.1 主控电路63.2 时钟电路93.3振荡电路123.4复位电路123.5 蜂鸣器电路133.6 led液晶显示屏13四、软件设计13五、调试与分析145.1硬件调试145.2软件调试14结束语16致谢16附录a:实验板原理图17附录b:数字钟程序清单18一、引言 数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,已成为人们日常生活中不可少的必需品,由于数字集成电路的发展

3、和石英晶体与振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、通断动力设备以及各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有若非常现实的意义。 1.1 课题目的及意义单片机自1976年由intel公司推出mcs-48开始,迄今已有二十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自

4、动化、汽车电子、pc机外围以及网络通讯等广大领域。单片机有两种基本结构:一种是在通用微型计算机中广泛采用的,程序存储器和数据存储器共用一个存储器空间的结构,称为“冯·诺依曼”(von neumann)结构。另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为“哈佛”(harvard)结构,目前的单片机采用此种结构为多。本文讨论的单片机多功能时钟系统的核心是目前应用极为广泛的51系列单片机,配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能多等特点。不仅能满足所需要求而且还有很多功能可供扩展,有着广泛的应用领域。在日常生活和工作中,我们常常用到定时控制

5、,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性价比的不断提高,新一代产品的应用也越来越广泛。大则可以构成复杂的工业过程控制系统,完成复杂的控制功能;小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大、体积小、质量轻、灵活好用,配以适当的接口芯片,可以构成各种各样、功能各异的微电子产品。随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。这些具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字

6、化提供了可能。根据这种实际情况,设计了一个单片机多功能时钟系统,它有基本的时间功能,还有定时功能,既可作为闹铃,也可扩展为定时对家电等电气产品的自动控制,可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制;可增加温度传感器,进行实时温度显示,进一步扩展为利用不同的温度某些电气产品进行自动控制;也可增加湿度传感器,进行实时湿度显示,以便对湿度进行控制,方便人们的生活。二、工作原理 系统的结构框架最主要的部分是中间的主控模块部分,时间的计算由ds1302芯片完成,通过简单的串行接口与单片机进行通信。三、 系统硬件设计实验板介绍芯片的选择该系统主要由以下五部分组成:电源部分、主控制器、实时时

7、钟部分、蜂鸣器和液晶显示部分等,下面对这几个部分的具体的器件选择及连接电路做具体的介绍。 3.1主控电路 stc89c52介绍: 主要性能: 与mcs-51单片机产片兼容、5k字节在系统可编程flash存储器、1000次擦写周期、全静态操作:0hz33hz、三级加密程序存储器、32个可编程i/o口线、三个16位定时器/计数器、八个中断源、全双工uart串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。 功能特性描述: stc89c52是一种低功耗、高效能cmos8位微控制器,具有8k在系统可编程flash存储器。使用atmel公司高密度非易失性存储器技术制

8、造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得stc89c52为众多嵌入式控制应用系统提供高灵巧、超有效的解决方案。stc89c52具有以下标准功能:8k字节flash,256字节ram,32位i/o口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,stc89c52可降至0hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方

9、式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8k字节在系统可编程flash stc89c52p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0口具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。p1口:p1口是一个具有内部上拉电阻的8位双向i/o口,p1输出缓冲器能驱动4个ttl逻辑电平。对p1端口写“1

10、”时,内部上拉电阻把端口拉高,此时可以作为输出口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(ttl)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和定时器/计数器2的触发输入(p1.1/t2ex)。在flash编程和校验时,p1口接收低8位地址字节。引脚号第二功能:p1.0 t2(定时器/计数器t2的外部计数输入),时钟输入p1.1 t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5 mosi(在系统编程用)p1.6 miso(在系统编程用)p1.7 sck(在系统编程用)p2口:p2口是一个具有内部上拉电阻的8位双

11、向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2口送出高八位地址。在这种应用中,p2口使用很强的内部上拉发送1。在使用8位地址(如 movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p3口:p3口是一个具有内部上拉电阻的8位双向i/o口,p3输出缓冲器能驱动4个ttl逻辑电平。

12、对p3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因将输出电流(iil)。p3口亦作为stc89c52特殊功能(第二功能)使用:在flash编程和校验时,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(外部数据存储器写选通)p3.7 rd(外部数据存储器读选通)此外,p3口还接收一些用于flash闪存编程和程序校验的控制信号。rst复

13、位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将单片机复位。ale/prog当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚输入编程脉冲(prog)。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只有一条movx和movc指令才能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设

14、置ale禁止无效。psen程序存储允许(psen)输出是外部程序存储器的读选通信号,当stc89c52由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即两个脉冲,在此期间,当访问外部数据存储器,将跳过两次psen信号。ea/vpp外部访问允许,欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端位高电平(接vcc端),cpu则执行内部程序存储器的指令。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器件使用12v编程电压vpp。3.2

15、 时钟电路ds1302是美国dallas公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态ram,采用spi三线接口与cpu进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和ram数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5v。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。ds1302的外部引脚分配如图1所示及内部结构如图2所示。ds1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛

16、应用于测量系统中。时钟芯片ds1302引脚排列,如图所示。各引脚的功能为: vcc1:主电源;vcc2:备用电源。当vcc2>vcc1+0.2v时,由vcc2向ds1302供电,当vcc2<vcc1时,由vcc1向ds1302供电。 sclk:串行时钟,输入,控制数据的输入与输出; i/o:三线接口时的双向数据线; ce:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,ce开始控制字访问移位寄存器的控制逻辑;其次,ce提供结束单字节或多字节数据传输的方法。ds1302有下列几组寄存器:1、ds1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h),存

17、放的数据格式为bcd码形式。如图3所示 小时寄存器(85h、84h)的位7用定义ds1302时运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示pm。在24小时模式时,位5是第二个10小时位。 秒寄存器(81j、80h)的位7定义为时钟暂停标志(ch)。当该位置位1时,时钟振荡器停止,ds1302处于低功耗状态;当该位置位0时,时钟开始运行。 控制寄存器(8fh、8eh)的位7是写保护位(wp),其它7位均置为0。在任何的对时钟和ram的写操作之前,wp位必须为0。当wp位为1时,写保护位防止对任一寄存器的写操作。 2 读写时序说明 ds1

18、302时spi总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。 要想与ds1302通信,首先要先了解ds1302的控制字。ds1302看控制字,如图6。控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到ds1302中。 位6:如果为0,则表示存取日历时钟数据,为1表示存取ram数据; 位5至位1(a4a0):指示操作单元的地址; 位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个sclk时钟的上升沿时,数据被写入ds1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令

19、后的下一个sclk脉冲的下降沿,读出ds1302的数据,读出的数据也是从最低位到最高位。3 电路原理图:电路原理图如图8,ds1302与单片机的连接也仅需要3条线:ce引脚、sclk串行时钟引脚、i/o串行数据引脚,vcc2为备用电源,外接32.768khz晶振,为芯片提供计时脉冲。3.3振荡电路振荡电路:主要用来产生时间标准信号,因为时钟的精度主要取决于时间标准信号的频率及稳定度,所以常采用石英晶体振荡器。实验板的时钟振荡源电路如图3-3所示。其中jt 为11.0592mhz 的晶振,改变两电容cb的值即可对此晶振频率进行调节。该电路提供单片机工作所需的振荡频率,计算定时器初值即需此晶振频率

20、,在通信时也需知道晶振频率,以对波特率进行计算。 图 3-3 时钟电路3.4 复位电路如图3-4所示为实验板的复位电路,当reset 信号为低电平时,实验板为工作状态,当reset信号为高电平时,实验板为复位或下载程序状态。由于stc89c52具有isp 的功能,即可以通过并口线直接将程序下载到单片机内,因此, stc89c52 具有两种状态,下载程序状态和运行状态。该复位电路能实现上电自动复位,也能手动复位,一般复位时reset应保持20毫秒以上高电平,此复位时间由接地电容控制。图 3-4 复位电路3.5蜂鸣器电路其硬件原理图如图3-7所示。此电路用于定时时发出提示音。speaker与p3.

21、2口相连,当speaker输出高电平时蜂鸣器不响,而speaker输出低电平时蜂鸣器发出响声。只需控制speaker输出高低电平的时间和变化频率,就可以让蜂鸣器发出不同的声音。此电路用于产生定时器提示音。图 3-7 蜂鸣器电路3.6 led液晶显示屏为了能够提供一个更为良好的显示界面,该设计选用带背光的lcdl602数显液晶显示器。led液晶显示是依靠液晶显示器来进行数据或图形显示的。led液晶显示弥补了led显示效果不够美观、不能显示图形和汉字等缺点,因此液晶显示技术等技术得到了越来越广泛的应用。液晶显示器是由液晶分子折射背光源的光线来呈现出不同的颜色,液晶分子自身是无法发光的,主要通过背光

22、源的照射来实现。该显示器专门用于显示字母、数字及符号等,它集成了hd44780控制器,是一个液晶组件。显示容量为16×2个字符,芯片工作电压;4.55.5v,最佳工作电压5.0v,总共有16个引脚,11条指令。它的另一大优点就是功耗主要消耗在其内部的电极和驱动ic上,因而耗电量比其它显示器要少得多。 四、软件设计 为利于该设计的多功能的实现和更高的编程效率。采用c语言进行编程3。为实现编程结构清晰,采用各个模块单独编程,最后实现各个模块的综合连接。主程序的框架由键盘扫描程序构成,各个功能模块程序嵌入到各个按键的子程序中,通过对按键的不断扫描来确定跳转到哪个功能模块。对于键盘模块,采用扫描法循环扫描。dsl302的程序也按照芯片的规格要求编写。对于扩展的秒表功能,则利用系统时钟的延时1s功能实现,闹钟、生日提醒和温度报警的上下限设置则通过全局变量来设置初始值,利用按键可以增减。 五、调试与分析 5.1硬件调试。在硬件方面,由于电路不是很复杂,所以焊接起来不是很难,容易出现问题的地方在于焊接是否出现虚焊,跳线是否接实,管脚是否连接正确等。 5.2软件调试。用c语言编好程序后,先编译,把c语言编译成二进制代码和十六进制代码。若编译无法进行,说明程序有语法错误,需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论