课程设计任务书1.设计目的:在学习专业基础课和专业课的基础上,主要在电子仪器、微机综合设计与实践、单片机综合应用等几个方面开展实践活动,巩固所学知识、培养动手能力。2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):a)、掌握AT89C51系列单片机软、硬件知识;b)、掌握时钟芯片DS12887的使用方法;c)、会设计应用电路、并会对时钟芯片DS12887进行编程处理;d)、利用protel绘制相关电路图。3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:1)设计说明书、相关图纸符合要求;2)相应器件的工作原理及应用;3)系统工作原理图;4)参考文献原文不少于5篇。课程设计任务书4.主要参考文献:要求按国标GB7714—87《文后参考文献著录规则》书写,例:1傅承义,陈运泰,祁贵中.地球物理学基础.北京:科学出版社,1985(5篇以上)5.设计成果形式及要求:设计说明书及相关电路图6.工作计划及进度:2012年12月31日~2013年1月3日:了解设计题目及查找资料;2013年01月04日~01月08日:确定各题目要求计算相关参数;2013年01月09日~01月10日:结合各题目确定具体设计方案;2013年01月11日~01月16日:结合要求具体设计并编程仿真;2013年01月17日~01月17日:整理课程设计说明书;01月18日~01月18日:答辩或成绩考核。系主任审查意见:签字:年月日目录前言.................................................4设计简介..............................................4总体设计方案.............................................5一、系统基本工作原理................................5二、系统设计框图....................................5硬件系统设计.............................................6一、芯片简介..........................................61、单片机89C51.....................................62、时钟芯片DS12887.................................93、液晶LCD1602....................................11二、总体电路设计.....................................12软件系统设计............................................131、程序流程图........................................132、程序代码..........................................14系统的仿真与调试........................................32心得体会................................................33参考文献................................................33前言数字时钟已经成为人们日常生活中必不可少的必需品,广泛应用于个人家庭以及办公室公共场所,给人们的生活、学习、工作、娱乐带来了极大地方便。由于数字集成电路技术的发展和采用了新进的石英技术,是数字钟具有走时准确、性能稳定、携带方便等优点。它还用于计时、自动报时等各个领域。尽管目前市场上已有现成的数字集成电路芯片出售,价格便宜,使用也方便,但鉴于单片机的定时器功能也可以完成数字中电路的设计,因此进行数字钟的设计是必要的。在这里我们将以学过的比较零散的电路知识有机的、系统的结合起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。文中详细论述了以89C51单片机位核心,应用新型时钟芯片DS12887的数字时钟设计原理以及使用的各种芯片的介绍,阐明了本实例所使用的设计方案、详细的电路图以及程序代码。设计简介本设计是以89C51单片机为核心,结合新型实时时钟芯片DS12887,并利用液晶LCD1602显示的数字时钟。在液晶上显示出年、月、日、以及周几、时、分、秒等信息。同时辅以硬件电路,实现校时、定时、闹钟等功能。同时因为DS12887本身的特点,本设计还具有掉电后继续计时的功能。另外,它的计时周期为24小时,采用24小时制的计时方式,显示满刻度为23时59分59秒,计时范围为2100年前100年,这也是DS12887的计时范围。本设计的数字时钟,可以通过按键来设置时间,包括年、月、日、周几等信息,同时,也可以通过按键来设置闹钟的时间,不过与设置正常时间相比,仅限于设置时、分、秒。每按一次按键,蜂鸣器就会发出很短的滴声,当达到设定的时间时,数字时钟会也发出声音,来提醒使用者时间到了。以上是本设计的大致功能和简介。总体设计方案一、系统基本工作原理本次设计的题目是单片机控制时钟芯片DS12887的时分秒定时系统设计,可以正常的显示年、月、日、时、分、秒。本系统利用89C51单片机和时钟芯片DS12887实现具有计时、校时以及定时等功能,同时应用液晶LCD1602动态显示年、月、日、时、分、秒的数字时钟。本设计总体可大致分为两部分:硬件部分、软件部分。硬件部分包括:89C51单片机、DS12887时钟芯片、1602LCD液晶显示器。主要由89C51单片机、实时时钟芯片电路、液晶显示输出电路、键盘输入电路组成等几大部分组成。软件部分包括了主程序模块,DS12C887模块,LCD1602模块,按键控制模块。以硬件系统为基础,通过软件编程,实现对硬件系统的控制,从而实现设计的数字时钟的各个功能。二、系统设计框图图1、系统设计框图硬件系统设计一、芯片简介1、单片机89C51单片机89C51来承担单片机在系统中对其他模块进行控制,是整个系统的核心部件,主要是对其他模块进行控制和数据交换。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器。89C51单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。89C51的引脚如图3.1所示。图2、89C51引脚的引脚图89C51的各个引脚的说明如下:VCC:电源电压GND:接地P0口:P0口是一个8位漏极开路的双向I/O口,即地址/数据总线复用口。作为输出口时,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻,在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.1所示[8]。在flash编程和校验时,P1口接收低8位地址字节。表3.1引脚号第二功能引脚第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR,A)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@R1,A)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口亦作为89C51特殊功能(第二功能)使用,如表3.2所示。第二功能功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.20INT(外部中断0)P3.31INT(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)表3.2AT89S52特殊功能(第二功能)表此外,P3口还接收一些用于Flash闪存编程和程序校验的控制信号。RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。XTAL1:振荡器反相放大器的输出端及时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端及时钟发生器的输入端。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H~FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP。2、时钟芯片DS12887DS12887是美国DALLAS半导体公司最新推出的8位串行接口并自带RAM的实时日历时钟芯片,内部有14个时钟控制寄存器,包括10个时标寄存器,4个状态寄存器和114bit作掉电保护用的低功耗RAM。CPU通过读DS12887的内部时标寄存器得到当前的时间和日历,也可通过选择二进制或BCD码初始化芯片的10个时标寄存器,其4个状态寄存器用来控制和指出DS12887的当前工作状态,114bit非易失性静态RAM可在掉电时保存一些重要数据。DS12887功能强大,应用广泛。DS12C887管脚如图3.2所示。图3、DS12C887管脚图DS12887引脚功能:GND:接地端VCC:直流电源+5V电压。当5V电压在正常范围内时,数据可读写;当VCC低于4.25V,读写禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器被切换到内部锂电池。MOT(模式选择):MOT引脚接到VCC时,选择MOT