找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1844|回复: 4
打印 上一主题 下一主题
收起左侧

新手做了个单片机万年历的程序 烧入后lcd12864的时间不变为什么?

[复制链接]
跳转到指定楼层
楼主
第一次学习单片机,使用程序,烧入进单片机后,时间不动,所有的按键都没啥控制到,顶多把下面的字变成了其他的然后又复原。不知道程序是哪里有问题该怎么改动。求求大神帮忙看看 十分谢谢。程序和照片在附件,拜托大家帮忙看看。
图和代码在附件。

IMG20210806171637.jpg (5.37 MB, 下载次数: 101)

IMG20210806171637.jpg

万年历.docx

21.29 KB, 下载次数: 15

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:235200 发表于 2021-8-6 23:26 | 只看该作者
一般是时钟的时序不对,需根据单片机的时钟调整时序
回复

使用道具 举报

板凳
ID:959256 发表于 2021-8-7 10:00 | 只看该作者
csmyldl 发表于 2021-8-6 23:26
一般是时钟的时序不对,需根据单片机的时钟调整时序

好,我看看怎么弄,谢谢
回复

使用道具 举报

地板
ID:959346 发表于 2021-8-7 12:33 | 只看该作者
        init_12864();
        delay(1000);
        set_time();          //第一次下载程序 设置时间  之后可以屏蔽
        init_12864();

应该是时钟芯片12864没有正常工作或者正常通讯。你改变set_time()函数内的初值,然后直接再读出来显示,看看对不对。
回复

使用道具 举报

5#
ID:959346 发表于 2021-8-7 12:42 | 只看该作者
1 直接在 shou()函数内写固定值,测试一下显示是否正常,如果显示能随着你的值正确变化,则显示正常。否则显示模块部分不对,检查一下显示模块部分。不给从你的现象看,显示模块应该是正常的。
2 你改变set_time()函数内的初值,中间不响应其它操作,直接get_time();shou(); 读出来显示,看看对不对。估计问题在这。仔细检查一下时钟模块的初始化流程,如果流程正确(包括复位流程和寄存器配置),则检查一下通讯波形是否正常。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表