【TB作品】MSP430G2553,DS1302,LCD1602,时间读取和显示,万年历,Proteus仿真

效果

在这里插入图片描述

部分代码

#include <MSP430.h>
#include "ds1302.h"
#include "LCD.h"//关掉ccs优化,并且Convert_BCD_To_Dec函数中只能是10.0f才行,不然有bugvoid main(void)
{char cnt = 0;char disp[16];WDTCTL = WDTPW + WDTHOLD; /* 关闭看门狗 */P1DIR = 0xFF; /* 设置方向 */P1SEL = 0; /* 设置为普通I/O 口 */P2DIR = 0xFF; /* 设置方向 */P2SEL = 0; /* 设置为普通I/O 口 */P3DIR = 0xFF; /* 设置方向 */P3SEL = 0; /* 设置为普通I/O 口 */P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;delay_ms(200);LCD_init();TimeData[0] = 59; //秒TimeData[1] = 58; //分TimeData[2] = 58; //时TimeData[3] = 23; //日TimeData[4] = 6; //月TimeData[6] = 25; //年TimeData[5] = 1; //星期Init_DS1302();Set_DS1302_Time(DS1302_W_ADDR);  /* 先写入时钟日历寄存器起始地址再设置时钟日历初值 */while (1){Read_DS1302_Time( DS1302_R_ADDR); /* 先写入时钟日历寄存器起始地址再读出时钟日历写入到TimeData数组中 */cnt = 0;disp[cnt++] = '2';disp[cnt++] = '0';disp[cnt++] = TimeData[6] / 10 + '0';disp[cnt++] = TimeData[6] % 10 + '0';disp[cnt++] = '-';disp[cnt++] = TimeData[4] / 10 + '0';disp[cnt++] = TimeData[4] % 10 + '0';disp[cnt++] = '-';disp[cnt++] = TimeData[3] / 10 + '0';disp[cnt++] = TimeData[3] % 10 + '0';disp[cnt++] = 0;LCD_dsp_string(0, 1, disp);cnt = 0;disp[cnt++] = TimeData[2] / 10 + '0';disp[cnt++] = TimeData[2] % 10 + '0';disp[cnt++] = ':';disp[cnt++] = TimeData[1] / 10 + '0';disp[cnt++] = TimeData[1] % 10 + '0';disp[cnt++] = ':';disp[cnt++] = TimeData[0] / 10 + '0';disp[cnt++] = TimeData[0] % 10 + '0';disp[cnt++] = 0;LCD_dsp_string(0, 2, disp);TimeData[5]=getWeekdayByYearday(2000+TimeData[6],TimeData[4],TimeData[3]);switch (TimeData[5]){case 1:LCD_dsp_string(12, 2, "MON");break;case 2:LCD_dsp_string(12, 2, "TUE");break;case 3:LCD_dsp_string(12, 2, "WED");break;case 4:LCD_dsp_string(12, 2, "THU");break;case 5:LCD_dsp_string(12, 2, "FRI");break;case 6:LCD_dsp_string(12, 2, "SAT");break;case 7:LCD_dsp_string(12, 2, "SUN");break;}delay_ms(500);}
}

代码解释

代码功能讲解

主要模块和功能
  1. 头文件包含

    • 包含了MSP430微控制器、DS1302时钟模块和LCD显示屏的相关定义和函数声明。
  2. 初始化

    • 关闭看门狗定时器,防止系统复位。
    • 设置P1、P2、P3端口的方向为输出,并将其设置为普通I/O口。
    • 初始化LCD显示屏。
  3. 时间设置

    • 初始化TimeData数组,设置秒、分、时、日、月、年和星期的初始值。
    • 初始化DS1302时钟模块,并将初始时间写入时钟模块。
  4. 主循环

    • 读取DS1302时钟模块中的当前时间,并更新TimeData数组。
    • 将时间数据转换为字符串格式,并在LCD显示屏上显示日期和时间。
    • 根据日期计算星期,并在LCD显示屏上显示相应的星期。
  5. 延时

    • 在循环的每次迭代中,增加一个500毫秒的延时,以确保显示内容稳定更新。

核心功能细节

  • 时钟设置与读取

    • 初始化时钟模块,并设置初始时间。
    • 从时钟模块读取当前时间并更新显示。
  • 显示功能

    • 将时间数据转换为字符串,并分行显示日期和时间。
    • 根据日期计算并显示当前星期。
  • 延时控制

    • 在每次更新显示内容后,增加延时以防止频繁刷新导致显示不稳定。

注意事项

  • 关闭CCS优化是为了防止在Convert_BCD_To_Dec函数中出现bug。
  • 代码初始化了端口方向和输出状态,以确保正确控制外部设备。

通过这些步骤,该程序实现了从DS1302读取时间并在LCD显示屏上实时显示当前日期和时间的功能。

全部代码

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/349963.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot实现农产品直卖平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现农产品直卖平台系统的设计演示 摘要 计算机网络发展到现在已经好几十年了&#xff0c;在理论上面已经有了很丰富的基础&#xff0c;并且在现实生活中也到处都在使用&#xff0c;可以说&#xff0c;经过几十年的发展&#xff0c;互联网技术已经把地域信息的隔…

错题记录(小测)

单选 错题1 错题2 错题3 代码题 反转链表 链表的回文结构

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

目录 简介 上传过程 修复上传漏洞 tmp文件夹总是被上传病毒文件如下图: 简介 服务器时不时的会发送短信说你服务器有病毒, 找到了这个tmp文件, 删除了之后又有了。 确实是有很多人就这么无聊, 每天都攻击你的服务器。 找了很久的原因, 网上也提供了一大堆方法,…

万字长文爆肝Spring(一)

Spring_day01 今日目标 掌握Spring相关概念完成IOC/DI的入门案例编写掌握IOC的相关配置与使用掌握DI的相关配置与使用 1&#xff0c;课程介绍 对于一门新技术&#xff0c;我们需要从为什么要学、学什么以及怎么学这三个方向入手来学习。那对于Spring来说: 1.1 为什么要学? …

Star-CCM+自动网格执行方法与设置技巧

在Star中进行一个仿真项目时,有时会创建多个自动网格。网格创建结束后需要执行。在Star中,网格执行可以分为三种。分别是:单独执行操作;多个执行操作;全部执行操作。接下来将三种执行操作的方法与步骤进行介绍。 其次,如果不习惯用自定义控制网格,有时在一个项目中就会…

如何应对pcdn的流量攻击?

面对PCDN的流量攻击&#xff0c;可以采取以下措施来应对&#xff1a; 一&#xff0e;配置防火墙&#xff1a; 1.禁止未授权的PCDN域名访问&#xff1a;根据网络需求&#xff0c;配置防火墙规则&#xff0c;只允许特定的PCDN域名进行访问&#xff0c;从而防止未经授权的PCDN节…

53.Python-web框架-Django开始第一个应用的多语言

针对上一篇的功能&#xff0c;本次仅对页面做了多语言&#xff0c;大家可以看看效果。 51.Python-web框架-Django开始第一个应用的增删改查-CSDN博客 目录 部门列表 新增部门 编辑部门 部门列表 源码 <!DOCTYPE html> {% load static %} {% load i18n %} <html …

如何在 Windows 10/11 上编辑 PDF [4 种简单方法]

PDF 在大多数设备上都易于查看&#xff0c;但由于其设计用于查看&#xff0c;因此编辑起来可能比较棘手。编辑 PDF 可能比编辑 Microsoft Office 文档更具挑战性。 不用担心&#xff0c;我们已经为你做好了准备。无论你是想添加、删除还是插入文本或图片&#xff0c;你都可以使…

深入理解并打败C语言难关之一————指针(4)

前言&#xff1a; 我们在前面的几讲中已经讲了指针的很多内容了&#xff0c;现在我们开始层层递进&#xff0c;要探寻更多的指针喽&#xff0c;不多废话了&#xff0c;直接进入正题&#xff0c;开始今天的指针之旅喽&#xff01; 目录&#xff1a; 1.字符指针变量 1.1常量字符…

英语学习笔记36——Where ... ?

Where … ? ……在哪里&#xff1f; 词汇 Vocabulary beside prep. 在……旁边 同义词&#xff1a; near by 构成&#xff1a;be side side n. 边 搭配&#xff1a;side walk 人行道 例句&#xff1a;Bobby在我旁边。    Bobby is beside me. off prep. 离开&#xff…

《站在2024年的十字路口:计算机专业是否仍是高考生的明智之选?》

文章目录 每日一句正能量前言行业竞争现状行业饱和度和竞争激烈程度[^3^]新兴技术的影响[^3^]人才需求的变化[^3^]行业创新动态如何保持竞争力 专业与个人的匹配度判断专业所需的技术能力专业核心课程对学生的要求个人兴趣和性格特点专业对口的职业发展要求实践和经验个人价值观…

高考志愿填报选专业,兴趣爱好和就业前景哪个优先?

每个人都有自己的兴趣与爱好&#xff0c;而高考志愿填报是在为自己选择职业方向。最理想的状态就是把自己的兴趣和爱好与自己的职业统一起来&#xff0c;让兴趣和爱好促进职业的发展&#xff0c;为职业增添动力。但现实生活中&#xff0c;这种理想的状态并不是每个人都能达到的…

探索未来边界:前沿技术引领新纪元

目录 引言 一、人工智能与深度学习&#xff1a;智慧生活的引擎 1.医疗应用 2.智能家居 3.自动驾驶 二、量子计算&#xff1a;解锁宇宙的密钥 1.量子比特示意图 2.量子计算机实物图 3.分子模拟应用 三、生物技术&#xff1a;生命科学的革新 1.CRISPR-Cas9基因编辑图 2.合成生…

Python 学习 用Python第二册 第9章内容解八皇后问题

----用教授的方法学习 目录 1.八皇后问题 2.状态表示(抽象) 3.检测冲突 4.基线条件 5.递归条件 6.结尾 1.八皇后问题 深受大家喜爱的计算机科学谜题&#xff1a;你需要将8个皇后放在棋盘上&#xff0c;条件是任何一个皇后都不能威胁其他皇后&#xff0c;即任何两个皇后…

灾备建设中虚拟机细粒度恢复的含义及技术使用

灾备建设中为了考虑虚拟机恢复的效率与实际的用途&#xff0c;在恢复上出了普通的恢复虚拟机&#xff0c;也有其余的恢复功能&#xff0c;比如瞬时恢复&#xff0c;细粒度恢复等。这里谈的就是细粒度恢复。 首先细粒度恢复是什么&#xff0c;这个恢复可以恢复单个备份下来的文…

mysql中 什么是锁

大家好。上篇文章我们讲了事务并发执行时可能带来的各种问题&#xff0c;今天我们来聊一聊mysql面试必问的问题–锁。 一、解决并发事务带来问题的两种基本方式 1. 并发事务访问相同记录的情况 并发事务访问相同记录的情况大致可以划分为3种&#xff1a; 读-读情况&#xf…

ripro主题如何使用memcached来加速

ripro主题是个很不错的资源付费下载主题。主题自带了缓存加速开关&#xff0c;只要开启了缓存加速功能&#xff0c;正常情况下能让网站访问的速度提升很大。 但好多人这么做了却发现没啥加速效果&#xff0c;原因就在于wordpress里缺少了memcache文件。只需要把object-cache.ph…

蒂姆·库克解释Apple Intelligence和与ChatGPT合作的区别|TodayAI

在2024年全球开发者大会&#xff08;WWDC 2024&#xff09;上&#xff0c;苹果公司首席执行官蒂姆库克&#xff08;Tim Cook&#xff09;隆重介绍了公司的最新人工智能&#xff08;AI&#xff09;计划——Apple Intelligence&#xff0c;并宣布了与OpenAI的ChatGPT的合作。虽然…

AI 客服定制:LangChain集成订单能力

为了提高AI客服的问题解决能力&#xff0c;我们引入了LangChain自定义能力&#xff0c;并集成了订单能力。这使得AI客服可以根据用户提出的问题&#xff0c;自动调用订单接口&#xff0c;获取订单信息&#xff0c;并结合文本知识库内容进行回答。这种能力的应用&#xff0c;使得…

操作系统安全:Windows系统安全配置,Windows安全基线检查加固

「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等12个知识域的一百多个知识点,持续更新。 这一章节我们需要知道W…