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

(完整版)基于单片机和DS1302电子万年历的毕业设计论文

来源:用户分享 时间:2025/11/25 11:59:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

RST=1; for(a=8;a>0;a--) {

IO=ACC0;

SCLK=0; 产生上升沿写入数据,从低位写入 SCLK=1; ACC=ACC>>1; } }

uchar read_byte()读一个字节 { RST=1; for(a=8;a>0;a--) {

ACC7=IO;

SCLK=1; 产生下降沿输出数据,先输出低位,保存到ACC中 SCLK=0; ACC=ACC>>1; }

return (ACC); }

void write_1302(uchar add,uchar dat)向1302芯片写函数,指定写入地址,数据 { RST=0;

SCLK=0; RST=1; write_byte(add); write_byte(dat); SCLK=1; RST=0; }

uchar read_1302(uchar add)从1302读数据函数,指定读取数据来源地址 {

uchar temp; RST=0; SCLK=0; RST=1; write_byte(add); temp=read_byte(); SCLK=1; RST=0; return(temp); }

uchar BCD_Decimal(uchar bcd)BCD码转十进制函数,输入BCD,返回十进制 {

uchar Decimal; Decimal=bcd>>4;

return(Decimal=Decimal*10+(bcd&=0x0F));

}

void ds1302_init() 1302芯片初始化子函数(2:00:00,week7) { RST=0; SCLK=0;

write_1302(0x8e,0x00); 允许写,禁止写保护

write_1302(0x80,0x00); 向DS1302内写秒寄存器80H写入初始秒数据00 write_1302(0x82,0x00);向DS1302内写分寄存器82H写入初始分数据00 write_1302(0x84,0x12);向DS1302内写小时寄存器84H写入初始小时数据12

write_1302(0x8a,0x07);向DS1302内写周寄存器8aH写入初始周数据4 write_1302(0x86,0x17);向DS1302内写日期寄存器86H写入初始日期数据18

write_1302(0x88,0x06);向DS1302内写月份寄存器88H写入初始月份数据06

write_1302(0x8c,0x12);向DS1302内写年份寄存器8cH写入初始年份数据12

write_1302(0x8e,0x80); 打开写保护 }

3.4 LCD显示程序流程图

显示流程图如图3.4所示,流程图分析如下:首先对1602显示屏进行初始化(初始化大约持续10ms),然后检查忙信号,若BF=0,则获得显示RAM地址,写入相应的数据显示。若BF=1,则代表模块正在进行内部操作,不接受任何外部指令和数据,直到BF=0为止。

图3.4 LCD显示程序流程图

4 万年历的仿真与调试结果

上电后的显示 秒调节

功能按键,自上而下功能依次为调节按键、加按键、减按键

5 心得体会

本次设计是我们遇到过的较大的设计,所以遇到的问题也比较的多,尤其是以前没有接触过如此复杂的硬件电路以及软件编程,在软、硬件设计和调试中遇到了不少的困难,在同学的帮助才逐一克服了难题,学习到了不少的专业知识。

在整个设计过程之前,我已经在网上找了相关方面的资料,万事开始难,一开始不知道从哪里下手。后来慢慢学会分析系统,将系统模块化,各个模块可以在软件或者硬件上实现。在确保各个模块的硬件电路和与之相搭配的程序能够正常工作后在把它们组成一个系统。在今后的日子里,我会进一步加强自己的动手能力,丰富自己的知识面。

(完整版)基于单片机和DS1302电子万年历的毕业设计论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0owvy25x6m0cqsi0v0jd0weks4q8jb00nuh_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top