基于单片机的数字时钟设计与仿真系统电路设计_毕业设计论文.doc

基于单片机的数字时钟设计与仿真系统电路设计_毕业设计论文.doc

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的数字时钟设计与仿真 系统电路设计 PAGE 2 基于单片机的数字时钟设计与仿真 1.总体电路设计 1.1总体设计思路 本设计在LCD显示屏上显示年、月、日、时、分、秒、星期及温度,原理框图如下图,电路以下几个部分组成:按键调节模块、AT89C51主控制器、LCD动态显示模块、复位电路及温度传感器。 图1.1 单片机实现液晶显示万年历以及温度总框图 对于各部分: 为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正液晶上显示的时间。 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。 温度传感器用来显示当天的确定温度值。 单片机发送的信号经过显示电路通过译码最终在液晶上显示出来。 1.2 设计方案选择 方案一 可以利用单片机内部的定时器作为时间的计算,再用不同的地址单元记录。这种设计误差较大,因为单片机的读取程序的时候会产生误差,其二程序编写起来也比较复杂。 方案二 用C语言编程来控制单片机让它在液晶上显示数据及文字。单片机结构简单、控制功能强、可靠性高、体积小、价格低,并且液晶屏幕可以完整的同时显示数据及文字。 综合上述方案的选择与比较,选择方案二。 1.3 功能介绍 本次设计主要用单片机控制程序让它在液晶上显示年、月、日、时、分、秒及星期,同时用DS18B20温度传感器来接受外面的信号,让单片机来接受它,且也让它在液晶上显示测的温度。设计的电路主要由四大模块构成:温度传感器电路,单片机控制电路,显示电路以及复位电路。 当温度传感器接受到外面的信号,送入单片机,单片机将接受到的信号输出,让它在液晶上显示。同时由单片机控制的万年历以及时间显示,当时间及秒计数计满60时就向分进位,分计数器计满60分后向时计数器进位,小时计数器按“24翻1”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。时计数器计满24小时后自动向日计数器进一,日计数器由平年、闰年的28/30/31对大、小月和二月的判断应与当月相应的日期相一致,当日计数器计满时,向月计数器进位,月计数器计满12月向年计数器进位,当年计数器计满100时所以计数器清零。设计采用的是年、月、日和时、分、秒、星期显示。 2.几种典型芯片及LCD的介绍 2.1 AT89C51芯片的简介 AT89C51是一种带4K字节FLASH 存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称 单片机。AT89C2051是一种带2K字节闪存可编程可擦除 只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。 AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。下图为AT89C51的芯片图: 图2.1 AT89C51芯片图 AT89C51芯片各引脚功能: VCC:供电电压。  GND:接地。  P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为 高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。  P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。  P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P

文档评论(0)

weidameili + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档