77范文网 - 专业文章范例文档资料分享平台

微机课设—电子万年历的设计制作(6)

来源:网络收集 时间:2019-04-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

电子万年历的设计与制作 RTInputByte(ucDa); /* 写1Byte数据*/ T_CLK = 1; T_RST = 0; }

函数名:R1302()

功能:读取DS1302某地址的数据

说明:先写地址,后读命令/数据 (内部函数) 调用:RTInputByte() , RTOutputByte() 入口参数:ucAddr: DS1302地址 返回值:ucData :读取的数据 ucharR1302(ucharucAddr)

{

ucharucData; T_RST = 0; T_CLK = 0; T_RST = 1;

RTInputByte(ucAddr); /* 地址,命令 */ ucData = RTOutputByte(); /* 读1Byte数据 */ T_CLK = 1; T_RST = 0; return(ucData); }

DS1302与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位MSB(D7)必须为逻辑1,如果D7=0,则禁止写DS1302,即写保护;D6=0,指定时钟数据,D6=1,指定RAM数据;D5~D1指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑0,指定写操作(输入),D0=1,指定读操作(输出)。 4.2.2 温度程序设计

单总线上最基本的操作有初始化、写和读3种,所有其它的操作都由这3种基本操作组合而成,初始化用于对总线上的器件进行状态复位,写用于主节点向总线上写入一位数据,读用于主节点从总线上读取一位数据。在这3种操作中,只有写操作是单向的,初始化操作和读操作都是双向的。具体程序设计如下:

byteow_reset(void) {

bytepresence;

DQ = 0; //拉低总线

22

电子万年历的设计与制作 delay(29); // 保持480us

DQ = 1; // 释放总线 delay(3); // 等待回复 presence = DQ; // 读取信号 delay(25); // 等待结束信号

return(presence); // 返回0:正常1:不存在 }

//从1-wire总线上读取一个字节 byteread_byte(void) { bytei;

bytevalue = 0; for (i=8;i>0;i--) {

value>>=1; DQ = 0; DQ = 1; delay(1);

if(DQ)value|=0x80; delay(6); }

return(value); }

//向1-WIRE总线上写一个字节 voidwrite_byte(charval) { bytei;

for (i=8; i>0; i--) // 一次写一位 {

DQ = 0; // DQ = val&0x01; delay(5); // DQ = 1; val=val/2; }

delay(5); }

23

电子万年历的设计与制作 5 系统的机体设计

5.1系统的模块组成

本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。系统的核心采用的是AT89S52单片机;数据显示模块采用的是LCD液晶显示;温度采集模块用的是

DS18b20温度传感器,该传感器所采用的是单总线传输,内部带有A/D转换,用起来非常方便;时间处理模块用的是DS1302时钟芯片,可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能;调整设置模块共包括四个按键:模式选择键、功能选择键、调整加按键、调整减按键。

5.2 功能实现

系统在正常工作时,LCD液晶上第一行显示时分秒和温度,第二行显示年月日和星期,如果想要对时间进行调整,可以通过调整设置模块来实现。当按下P3.3键时,系统进入另一模式,此时液晶显示当前温度以及温度上限和下限,可以通过按键来设置温度上下限,当温度超过温度上限或低于温度下限,此时液晶会显示越限标志,如果想要退出该模式就在按一下P3.3即可。

系统原理图如图18:

24

图18系统原理图

电子万年历的设计与制作 25

结论 结论

在整个设计过程中,硬件方面主要设计了AT89S52单片机的最小系统、DS1302接口电路、DS18B20接口电路、闹钟及LCD显示;软件方面借助各个渠道的资料,主要设计了阳历数据读取程序、阳历转阴历程序、温度采集程序、闹铃程序以及LCD显示程序;系统的调试主要是通过一块AT89S52开发板,再借助于Keil、STC以及少许自己搭建的外围电路实现的;再此过程中,分步调试时显示出了阳历的日期及时间,还有实时温度,集中调试时没有达到预期效果。此万年历具有读显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。

在整个设计过程中学到了许多没学到的知识,在电路焊接时虽然没什么大问题,但从中也知道了焊接在整个作品中的重要性,电路工程量大,不能心急,一个个慢慢来不能急于求成。反而达到事半功倍的效果。对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方。程序编写中,由于思路不清晰,开始时遇到了很多的问题,经过静下心来思考,理清了思路,反而得心应手。在此次设计中,知道了做事要有一颗平常的心,不要想着走捷径,一步一脚印。也练就了我的耐心,做什么事都要有耐心。在本次设计中学到了很多很多东西,这是最重要的。总之,此次毕业设计使我的能力得到了全方位的提高,次设计的电子万年历也存在的不足的地方,有待于以后的改进。

26

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机课设—电子万年历的设计制作(6)在线全文阅读。

微机课设—电子万年历的设计制作(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/622271.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: