仿真图

功能描述:
1 读取DS1302数据,并显示在数码管上面
2 带按键设置功能,可以设置DS1302时分秒数据
3 带倒计时功能,有时间和倒计时切换按键

参考程序:
/------------------------------------------------
主函数
------------------------------------------------
/
void main(void)
{

// uint i;
// uchar str[12]; //连续变量
init1302(); //1302初始化
TMOD=0x01; //定时0初始化
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
ET0=1;
TR0=1;

 EX0=1;IT0=1;EA=1;set_clk1302(0x11,0x59,0x56);while (1) {while(run&&flag2)                                //run=1运行标记{

// init1302(); //1302初始化
while(run&&flag2)
{

  key_process();                       //按键处理程序rd_clk1302(time);    //1302读取时分秒if(time[1]==0&&time[2]<=5) bee=0;else bee=1;}}while(!run&&flag2)                  //run=0,时间设置标记{str[0] = (time[0]>>4&0x0f);       //提取1302时数据赋值给hourstr[1] = (time[0]&0x0f);hour=(str[0]*10)+str[1];str[0] = (time[1]>>4&0x0f);     //提取1302分数据赋值给minstr[1] = (time[1]&0x0f);min=(str[0]*10)+str[1];str[0] = (time[2]>>4&0x0f);       //提取1302秒数据赋值给secstr[1] = (time[2]&0x0f);sec=(str[0]*10)+str[1];while(!run&&flag2){

if(flag==1) //flag=1是时设置,这段程序包含闪烁
{
str[0]=hour/10;
str[1]=hour%10;

}

if(flag==2) //flag=2是分设置,这段程序包含闪烁
{
str[3]=min/10;
str[4]=min%10;

}

if(flag==3) //flag=3是秒设置,这段程序包含闪烁
{
str[6]=sec/10;
str[7]=sec%10;

}

key_process();

}hour=hour/10*16+hour%10;    //再转换成BCD
min=min/10*16+min%10;   //再转换成BCD
sec=sec/10*16+sec%10;   //再转换成BCD
set_clk1302(hour,min,sec);    //1302设置时分秒数据}

while(flag20)
{
key_process2();
if(set0)
{
bee=0;
start=0;
delay_ms(2000);
bee=1;
set=20;
while(!start) key_process2();
}

}

 }}

void T0_time() interrupt 1 //定时器0,用来PWM控制电机
{
TR0=0;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;

if(run==1&&flag2==1)
{
str[0]=(time[0]>>4&0x0f);        //转换时数据
str[1]=(time[0]&0x0f);
str[2]=10;
str[3]=(time[1]>>4&0x0f);        //转换分数据
str[4]=(time[1]&0x0f);
str[5]=10;
str[6]=(time[2]>>4&0x0f);        //转换秒数据
str[7]=(time[2]&0x0f);
}
if(flag2==1) scan();if(flag2==0)
{if(start==1)
{
ms100++;
if(ms100==100)
{
ms100=0;
set--;

// if(set==0) bee=0;

}
else _nop_();
}str[0]=0;
str[1]=0;
str[2]=0;
str[3]=0;
str[4]=0;
str[5]=set/100;
str[6]=set/10%10;
str[7]=set%10;
scan1();
}
TR0=1;

}

void change_flag() interrupt 0 //选择外部中断0,不写工作组,让它自动选择。
{
flag2=!flag2;
if(flag2==1) start=1;
else start=0;
}

.
.

DS1302仿真加程序获取方法

百度一下:刘思源家园

就看到有资料下载了,希望同学们喜欢了!

单片机加DS1302加8位数码管proteus仿真电子时钟电路相关推荐

  1. 51单片机 玩转按键加减切换+数码管+Proteus仿真

    51单片机 玩转按键加减切换+数码管+Proteus仿真 实例代码 /* 实验说明:实验接线:1,动态数码管模块-->单片机管脚2,独立按键模块-->单片机管脚 K1-->P10K2 ...

  2. 单片机c语言数码管显示子程序,单片机C语言之两位数码管动态显示

    <单片机C语言之两位数码管动态显示>由会员分享,可在线阅读,更多相关<单片机C语言之两位数码管动态显示(1页珍藏版)>请在人人文库网上搜索. 1.include #define ...

  3. 基于stm32单片机农业智能温室大棚温湿度光照测量报警系统Proteus仿真(源码+仿真+论文)

    资料编号:146 视频讲解: 146-基于stm32单片机农业智能温室大棚温湿度光照测量报警系统Proteus仿真(源码+仿真+论文) 设计内容 本次嵌入式课程设计综合实验的内容为基于proteus的 ...

  4. 基于stm32单片机农业智能温室大棚温湿度光照测量报警系统Proteus仿真

    资料编号:146   下面是相关功能视频演示: 146-基于stm32单片机农业智能温室大棚温湿度光照测量报警系统Proteus仿真(源码+仿真+论文) 设计内容 本次嵌入式课程设计综合实验的内容为基 ...

  5. 基于51单片机CO一氧化碳可燃气体浓度检测超限报警Proteus仿真

    资料编号:160   下面是相关功能视频演示: 160-基于51单片机CO一氧化碳可燃气体浓度检测超限报警Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC083 ...

  6. 【033】基于51单片机的步进电机角度测量与速度设定Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的步进电机角度测量与速度设定proteus仿真设计一份: (2).基于51单片机的步进电机角度测量与速度设定proteus仿真设计keli源代码一份: (3) ...

  7. 基于stm32单片机的超声波测距显示倒车雷达提醒报警系统Proteus仿真

    资料编号:145   下面是相关功能视频演示: 145-基于stm32单片机的超声波测距显示倒车雷达提醒报警系统Proteus仿真(源码+原理图+仿真+论文) 设计内容 本次嵌入式课程设计综合实验的内 ...

  8. 1430基于51单片机的管道压力检测及泄漏检测Proteus仿真

    [前言] hello 大家好,今天给大家讲一讲基于51单片机的管道压力检测及泄漏检测Proteus仿真. 该项目的功能如下: 1.LCD1602液晶实时显示当前始端和末端压力,压力阈值 2.按键启动/ ...

  9. 51单片机+步进电机控制正反转8拍控制+Proteus仿真

    51单片机+步进电机控制正反转8拍控制+Proteus仿真 更新内容(2022年5月2日) 调整了Proteus仿真接线问题, 程序代码 急停放在了外部中断0里面实现. #include<reg ...

最新文章

  1. 基于VTK的MFC应用程序开发(3)
  2. Linux input子系统 io控制字段【转】
  3. 解决magento保存产品时耗时很长的问题
  4. Spring Boot项目优雅的全局异常处理方式(全网最新)
  5. 13 大论坛同开播!数百专家带你从机器学习技术与工程实践,聊到开源生态 | AI ProCon 2020...
  6. mysqlbinlog unknown variable:default-character-set=gbk
  7. 常用RAID类型以及它们的区别
  8. Git 修改已提交 commit 的信息
  9. Django Form ModelForm modelfromset
  10. 中柏平板触摸驱动_要成绩也要玩乐,聊聊学生买平板那些事儿
  11. 手机 safari mac 调试
  12. 360卸载方法(最全面)
  13. LTE下行物理层传输机制(5)-DCI格式的选择和DCI1A
  14. GPU cuda驱动安装
  15. 程序员的996简史!我们是怎么一步步陷入996工作制的
  16. POJ 2079 求最大三角形面积
  17. 面向对象之反射,元类
  18. ucos 学习:STM32F107 学习板 资料收集
  19. 代驾APP开发多少钱才合适,你真知道吗
  20. BatchUpdateException: Incorrect string value: '\xE9\x87\x8D\xE5\xBA\x86...'

热门文章

  1. 在Ubuntu20.10中搭建TFTP服务器
  2. 科研实习 | 阿联酋MBZUAI林智仁教授招聘文本分类方向研究助理/实习生
  3. Python中函数ravel()的说明:
  4. [转]车载电子操作系统:QNX与Linux未来有望两家独大
  5. ctfshow-web109(PHP反射类ReflectionClass、异常处理Exception)
  6. word2vec (转载)
  7. jmeter之jtl文件解析
  8. DM365的UBL源码分析
  9. 外贸大环境下soho人策略
  10. Java web项目——音乐播放器