0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机DS1302电子时钟闹钟控制系统

bbxyliyang 来源:bbxyliyang 作者:bbxyliyang 2023-07-28 09:00 次阅读

基于单片机DS1302电子时钟闹钟控制系统
一、系统方案

本设计采用STC89C52作为主控制器,DS1302计时,液晶1602显示,按键设置时分秒,闹钟,实际时间走时达到闹钟时间,蜂鸣器报警提醒。

wKgaomTCZpSANDItAAAYYMTctyA960.png

二、硬件设计
原理图如下:

wKgZomTCZpyAQgrOAAEDnWUcF94205.png

三、单片机软件设计
1、首先是系统初始化:
/*************定时器0初始化程序***************/
void init_time0()
{
EA = 1; //开总中断
TMOD = 0X12; //定时器0、工作方式1
TH1= 0X3C;
TL1 = 0XB0; //50ms
ET1 = 1; //开定时器0中断
TR1 = 1; //允许定时器0定时
TH0=0x00; //重载值
TL0=0x00; //初始化值
ET0=1; //开中断
TR0=1;
PT1=1;

}


2、中断服务程序
/**************定时器0中断程序*****************/
void time1() interrupt 3
{
static uchar value;
TH1= 0X3C;
TL1 = 0XB0; //50ms
value ++;
if((value % 2) == 0) //100ms
flag_100ms = 1;
if(value >= 6) //200ms
{
value = 0;
flag_200ms = 1;
}


}

3、按键检测程序
void key() //独立按键程序
{


if(s1==0)
{
delay_1ms(5);
if(s1==0)
{
while(!s1);
key_can = 4;
}
}
if(s2==0)
{
delay_1ms(5);
if(s2==0)
{
while(!s2);
key_can = 3;

}
}
if(s3==0)
{
delay_1ms(5);
if(s3==0)
{
while(!s3);
key_can = 2;
}
}
if(s4==0)
{
delay_1ms(5);
if(s4==0)
{
while(!s4);
key_can = 1;

}
}
if(s5==0)
{
delay_1ms(5);
if(s5==0)
{
while(!s5);
key_can = 5;
flag=!flag;
}
}


}
4、核心算法程序
void main()
{
P0 = P1 = P2 = P3 = 0xff; //单片机IO口初始化为1
init_time0(); //初始化定时器
init_1602(); //lcd1602初始化
init_1602_dis_csf(); //lcd1602初始化显示
while(1)
{
key(); //按键程序


if(key_can < 10)
{
key_with();

key_can = 20; //按键值还原
}

if(flag_200ms == 1)
{
flag_200ms = 0;
if(menu_1 == 0)
{
read_time(); //读时间

init_1602_ds1302(); //显示时钟
}

}
menu_dis(); //闹钟报警函数
delay_1ms(1);
}
}

四、proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。

wKgaomTCZqaAX9UfAAES8jcd_-c518.png

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    6623

    浏览量

    110632
  • Proteus
    +关注

    关注

    79

    文章

    1692

    浏览量

    106617
  • DS1302
    +关注

    关注

    8

    文章

    449

    浏览量

    50708
  • 电子时钟
    +关注

    关注

    11

    文章

    197

    浏览量

    24536
  • 单片机
    +关注

    关注

    0

    文章

    216

    浏览量

    16658
收藏 人收藏

    评论

    相关推荐

    基于ds1302电子时钟

    基于ds1302电子时钟设置,可以设置初始时间
    发表于 07-25 21:01

    PIC单片机控制时钟芯片DS1302汇编程序

    PIC单片机控制时钟芯片DS1302汇编程序
    发表于 05-24 09:56 1768次阅读

    基于单片机的红外线控制(同时控制led和ds1302时钟

    基于单片机的红外线控制(同时控制led和ds1302时钟)【C语言版】
    发表于 12-31 10:09 9次下载

    DS1302时钟(并)

    电子专业单片机相关知识学习教材资料——DS1302时钟(并)
    发表于 08-23 15:55 36次下载

    DS1302电子时钟

    DS1302电子时钟电路方案
    发表于 02-15 22:31 26次下载

    DS1302电子时钟的组成及设计方案的介绍

    DS1302 电子时钟设计 主要硬件组成 单片机 STC89C52,DS1302,纽扣电池,LCD1602,四个对地按键 S1-S4,蜂鸣器,DS
    发表于 11-27 14:45 28次下载
    <b class='flag-5'>DS1302</b><b class='flag-5'>电子时钟</b>的组成及设计方案的介绍

    51单片机DS1302实时时钟驱动程序

    本文首先阐述了ds1302引脚及功能,其次介绍了DS1302控制字节及电路图,最后详细介绍了51单片机DS1302实时
    发表于 05-15 08:45 9566次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>DS1302</b>实时<b class='flag-5'>时钟</b>驱动程序

    使用单片机应用DS1302时钟程序免费下载

    本文档的主要内容详细介绍的是使用单片机应用DS1302时钟程序免费下载。
    发表于 08-20 17:31 7次下载
    使用<b class='flag-5'>单片机</b>应用<b class='flag-5'>DS1302</b>的<b class='flag-5'>时钟</b>程序免费下载

    基于单片机DS1302时钟源码文件下载

    基于单片机DS1302时钟源码文件下载
    发表于 04-12 16:18 63次下载
    基于<b class='flag-5'>单片机</b>的<b class='flag-5'>DS1302</b><b class='flag-5'>时钟</b>源码文件下载

    DS1302单片机数字电子时钟使用说明书

    DS1302单片机数字电子时钟使用说明书免费下载。
    发表于 04-16 10:06 38次下载

    蓝桥杯单片机——DS1302时钟

    蓝桥杯单片机硬件基础DS1302单片机之间能简单地采用同步串行方式进行通信,仅用到三个接口线:RST复位线、I/O数据线和SCLK串行时钟线。DS
    发表于 01-17 12:48 5次下载
    蓝桥杯<b class='flag-5'>单片机</b>——<b class='flag-5'>DS1302</b><b class='flag-5'>时钟</b>

    DS1302电子时钟

    DS1302电子时钟DS1302如上图所示,它是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片, DS1302是一种高
    发表于 01-18 09:02 6次下载
    <b class='flag-5'>DS1302</b><b class='flag-5'>电子时钟</b>

    使用51单片机DS1302时钟芯片做一个简易的电子时钟

    今天给大家推荐一个51单片机小实验,带你使用51单片机做一款简易的电子时钟,其中计时模块采用DS1302硬件模块,显示采用LCD显示屏,具体怎么实现开来一起看看吧!
    的头像 发表于 02-23 11:49 6550次阅读

    基于单片机控制DS1302时钟带VB上位包含proteus仿真

    基于单片机控制DS1302时钟带VB上位包含proteus仿真源程序
    发表于 04-20 15:40 2次下载

    基于89C51单片机DS1302可调时钟源程序

    基于89C51单片机DS1302可调时钟源程序
    发表于 05-16 10:05 3次下载