找回密码
 立即注册

QQ登录

只需一步,快速开始

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

ds1302用1602实现时间显示及调整的单片机代码

[复制链接]
跳转到指定楼层
楼主
//           该程序可以对秒分时日月年这6个数据进行修改。
//           按键0是日月年(年的前两位、年的后两位)这4个值的位选键。
//           按键1是秒分时这3个值的位选键
//           按键2是加
//           按键3是减
#include <stc8.h>
#include "ds1302.h"
#include "display.h"
#include "key.h"
#include "SetTime.h"
#include "TIM.h"
#include "1602.h"
char TIMED[7];
unsigned char num=0;
bit Flg = 0;
void main()
{
        unsigned char keys;
        Ds1302Init();           
        LCD_Init();
        Timer0Init();
        while(1)
        {
                keys = key_scan();
                settime(keys);                  // 设置时间函数
                Display();
        }
}
void TM0_Isr() interrupt 1 using 1
{
        num++;                    // 进一次中断值加1
        if(600 == num)            // 设置清屏时间
        {
                num = 0;
                Flg = ~Flg;           // 标志位取反,用于清屏
        }
}





1.jpg (369.66 KB, 下载次数: 79)

1.jpg

1.jpg

2.jpg (395.18 KB, 下载次数: 73)

2.jpg

2.jpg

3.jpg (387.76 KB, 下载次数: 79)

3.jpg

3.jpg

4.jpg (409.51 KB, 下载次数: 92)

4.jpg

5.jpg (343.22 KB, 下载次数: 100)

5.jpg

6.jpg (430.06 KB, 下载次数: 95)

6.jpg

7.jpg (420 KB, 下载次数: 98)

7.jpg

7.jpg

8.jpg (419.97 KB, 下载次数: 92)

8.jpg

DS1302用1602实现时间显示和调整.rar

85.08 KB, 下载次数: 28, 下载积分: 黑币 -5

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

使用道具 举报

沙发
ID:576012 发表于 2019-7-1 23:30 | 只看该作者
应该拍个整体的大图
回复

使用道具 举报

板凳
ID:427492 发表于 2019-7-2 12:22 | 只看该作者
~像鱼 发表于 2019-7-1 23:30
应该拍个整体的大图

什么意思?重点应该是能看到LCD1602的效果吧!
回复

使用道具 举报

地板
ID:427492 发表于 2019-7-27 18:05 | 只看该作者
这个代码定时器中,有个清屏计数变量num,我定义的类型是unsigned char最大值是255,我在定时器中断时给的界限是600,这个判断是不可能实现的。所以可见这个程序是不需要清屏的,定时器部分及定时器中断函数可以不要。大家相互学习,共同进步!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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