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

    文章

    5964

    浏览量

    108713
  • Proteus
    +关注

    关注

    76

    文章

    1688

    浏览量

    105597
  • DS1302
    +关注

    关注

    8

    文章

    448

    浏览量

    50227
  • 电子时钟
    +关注

    关注

    11

    文章

    197

    浏览量

    24124
  • 单片机
    +关注

    关注

    0

    文章

    168

    浏览量

    16658
收藏 人收藏

    评论

    相关推荐

    单片机DS1302时钟仿真模块

    DS1302时钟仿真。如果要掉电时间还可以走的话,第一次仿真把设置的时间下载进单片机时间会自动存入DS1302内部寄存器中,再把程序中的赋值时间语句删掉,在下载
    发表于 10-09 19:38

    基于ds1302电子时钟

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

    51单片机做的12864时钟DS1302

    今天翻到的以前做的12864时钟时钟芯片是DS1302,看了一下,界面不是很好,考虑了很久要不要发,以前总是从论坛上下资料,现在就发一下自己的吧,不喜欢的请口下留情,勿喷功能有:时钟
    发表于 06-11 04:35

    【项目分享】LCD1602+DS1302基于单片机设置的智能时钟

    输出。时钟芯片实时更新的内容送往1602显示。其次DS1302时钟模块的IO、RST、SCLK分别接单片机的RA0、RA1、RA2。对DS1302
    发表于 11-27 15:00

    基于51单片机电子时钟设计资料分享

    2.3.1AT89C51单片机2.3.2 LCD1602液晶显示器2.3.3 24C02C存储芯片2.3.4 DS1302时钟芯片三、详细设计3.1 液晶显示模块设计3.1.1 硬件设计3.2 时间产生模块设计3.2.1 硬件设
    发表于 11-10 08:00

    DS1302单片机之间是如何进行通信的

    蓝桥杯单片机硬件基础DS1302单片机之间能简单地采用同步串行方式进行通信,仅用到三个接口线:RST复位线、I/O数据线和SCLK串行时钟线。DS
    发表于 01-17 06:36

    基于单片机的红外线控制(同时控制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>的组成及设计方案的介绍

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

    基于单片机DS1302时钟源码文件下载
    发表于 04-12 16:18 61次下载
    基于<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 4次下载
    蓝桥杯<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 4493次阅读