news 2025/12/23 12:12:00

基于单片机电子钟时钟(DS1302,温度,12864)系统Proteus仿真(含全部资料)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机电子钟时钟(DS1302,温度,12864)系统Proteus仿真(含全部资料)

全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等

资料下载:↓↓↓

通过网盘分享的文件:资料分享
链接:百度网盘 请输入提取码提取码: tgnu


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

(1)能显示年、月、日、星期、小时、分、秒。
(2)显示模块采用LCD液晶显示。
(3)能显示温度。


项目文件:

一、Proteus仿真源文件

​​

二、AD原理图文件

二、报告说明书

三、系统流程图

​​

四、器件清单

元件型号数量
单片机AT89C511
电容10uf1
电容30pf2
晶振12MHZ1
电阻10k1
按钮6
温度传感器DS18B201
实时时钟DS13021
电位器1k1
显示器LCD128641
排阻10k1
红外模块HS00381
晶振32.768KHz1

五、Keil c语言程序源代码(部分)

#include "reg51.h" #include"ds1302.h" #include"Ds18b20.h" #include <AMPIRE128X64.h> #define uchar unsigned char #define uint unsigned int sbit k1=P3^4;//按钮 sbit k2=P3^5; sbit k3=P3^6; sbit k4=P3^7; sbit test=P1^7; uchar time=0,mode=0;//系统变量 uchar wendu=0;//温度 uchar code str1[]={0x00,0x20,0x18,0xC7,0x44,0x44,0x44,0x44,0xFC,0x44,0x44,0x44,0x44,0x04,0x00,0x00, 0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00};/*"年",0*/ uchar code str2[]={0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x00, 0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00};/*"月",1*/ uchar code str3[]={0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00};/*"日",2*/ uchar code str4[]={0x00,0xFC,0x84,0x84,0x84,0xFC,0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x00, 0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x01,0x06,0x40,0x80,0x7F,0x00,0x00,0x00};/*"时",3*/ uchar code str5[]={0x80,0x40,0x20,0x90,0x88,0x86,0x80,0x80,0x80,0x83,0x8C,0x10,0x20,0x40,0x80,0x00, 0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x40,0x80,0x40,0x3F,0x00,0x00,0x00,0x00,0x00};/*"分",4*/ uchar code str6[]={0x24,0x24,0xA4,0xFE,0x23,0x22,0x00,0xC0,0x38,0x00,0xFF,0x00,0x08,0x10,0x60,0x00, 0x08,0x06,0x01,0xFF,0x01,0x06,0x81,0x80,0x40,0x40,0x27,0x10,0x0C,0x03,0x00,0x00};/*"秒",5*/ uchar code str7[]={0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00, 0x00,0x44,0x42,0x49,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x41,0x40,0x00,0x00};/*"星",6*/ uchar code str8[]={0x00,0x04,0xFF,0x24,0x24,0x24,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00, 0x88,0x48,0x2F,0x09,0x09,0x19,0xAF,0x48,0x30,0x0F,0x02,0x42,0x82,0x7F,0x00,0x00};/*"期",7*/ uchar code str9[]={0x10,0x60,0x02,0x8C,0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00, 0x04,0x04,0x7E,0x01,0x40,0x7E,0x42,0x42,0x7E,0x42,0x7E,0x42,0x42,0x7E,0x40,0x00};/*"温",8*/ uchar code str10[]={0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0x25,0x26,0x24,0xFC,0x24,0x24,0x24,0x04,0x00, 0x40,0x30,0x8F,0x80,0x84,0x4C,0x55,0x25,0x25,0x25,0x55,0x4C,0x80,0x80,0x80,0x00};/*"度",9*/ uchar code str11[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*":",10*/ uchar code str12[]={0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*"一",11*/ uchar code str13[]={0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00};/*"二",12*/ uchar code str14[]={0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00};/*"三",13*/ uchar code str15[]={0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00, 0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00};/*"四",14*/ uchar code str16[]={0x00,0x02,0x42,0x42,0x42,0xC2,0x7E,0x42,0x42,0x42,0x42,0xC2,0x02,0x02,0x00,0x00, 0x40,0x40,0x40,0x40,0x78,0x47,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x00};/*"五",15*/ uchar code str17[]={0x20,0x20,0x20,0x20,0x20,0x20,0x21,0x22,0x2C,0x20,0x20,0x20,0x20,0x20,0x20,0x00, 0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x01,0x02,0x04,0x18,0x60,0x00,0x00};/*"六",16*/ uchar code str18[]={0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00};/*"日",17*/ uchar code str19[]={0x00,0x00,0x18,0x24,0x24,0x18,0x00,0x00,0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00};//摄氏度 void main()//主函数 { lcd_init(); // 初始化 lcd_clear(0); // 清屏 lcd_set_line(0); // 设置起始行为0 //设置INT0 IT0=1;//跳变沿出发方式(下降沿) EX0=1;//打开INT0的中断允许。 TMOD|=0X01; TH0=0X3C; TL0=0XB0; ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 while(1) { } } //定时器中断 void Timer0() interrupt 1 { if(time<10)//0.5s time++; else { time=0; Ds1302ReadTime();//读取时间 Ds18b20ReadTemp();//测温 wendu=ds18b20_temp; //显示 display_num(0,0,num2,num0);//年 find(ds1302_time[6]/10);qqq=ppp; find(ds1302_time[6]%10); if(mode==1) display_num_fan(0,1,qqq,ppp); else display_num(0,1,qqq,ppp); display(0,2,str1); find(ds1302_time[4]/10);qqq=ppp;//月 find(ds1302_time[4]%10); if(mode==2) display_num_fan(0,3,qqq,ppp); else display_num(0,3,qqq,ppp); display(0,4,str2); find(ds1302_time[3]/10);qqq=ppp;//日 find(ds1302_time[3]%10); if(mode==3) display_num_fan(0,5,qqq,ppp); else display_num(0,5,qqq,ppp); display(0,6,str3); find(ds1302_time[2]/10);qqq=ppp;//时 find(ds1302_time[2]%10); if(mode==4) display_num_fan(1,1,qqq,ppp); else display_num(1,1,qqq,ppp); display(1,2,str4); find(ds1302_time[1]/10);qqq=ppp;//分 find(ds1302_time[1]%10); if(mode==5) display_num_fan(1,3,qqq,ppp); else display_num(1,3,qqq,ppp); display(1,4,str5); find(ds1302_time[0]/10);qqq=ppp;//秒 find(ds1302_time[0]%10); display_num(1,5,qqq,ppp); display(1,6,str6); display(2,0,str7);//星期 display(2,1,str8); if(mode==6) { switch(ds1302_time[5]) { case 1:display_fan(2,2,str18);break; case 2:display_fan(2,2,str12);break; case 3:display_fan(2,2,str13);break; case 4:display_fan(2,2,str14);break; case 5:display_fan(2,2,str15);break; case 6:display_fan(2,2,str16);break; case 7:display_fan(2,2,str17); } } else { switch(ds1302_time[5]) { case 1:display(2,2,str18);break; case 2:display(2,2,str12);break; case 3:display(2,2,str13);break; case 4:display(2,2,str14);break; case 5:display(2,2,str15);break; case 6:display(2,2,str16);break; case 7:display(2,2,str17); } } display(3,0,str9);//温度 display(3,1,str10); display(3,2,str11); find(wendu/10);qqq=ppp; find(wendu%10); display_num(3,3,qqq,ppp); display(3,4,str19); } TH0=0X3C; TL0=0XB0; } void Int0() interrupt 0 //外部中断0的中断函数 { if(!k1)//设置 { if(mode<6) mode++; else mode=0; } if(!k4)//OK mode=0; if(!k2)//加 { switch(mode) { case 1://年 if(ds1302_time[6]<99) ds1302_time[6]++; Ds1302Init(); break; case 2://月 if(ds1302_time[4]<12) ds1302_time[4]++; Ds1302Init(); break; case 3://日 if(ds1302_time[3]<30) ds1302_time[3]++; Ds1302Init(); break; case 4://时 if(ds1302_time[2]<23) ds1302_time[2]++; Ds1302Init(); break; case 5://分 if(ds1302_time[1]<59) ds1302_time[1]++; Ds1302Init(); break; case 6://星期 if(ds1302_time[5]<6) ds1302_time[5]++; Ds1302Init(); break; } } if(!k3)//减 { switch(mode) { case 1://年 if(ds1302_time[6]>0) ds1302_time[6]--; Ds1302Init(); break; case 2://月 if(ds1302_time[4]>1) case 4://时 if(ds1302_time[2]>0) ds1302_time[2]--; Ds1302Init(); break; case 5://分 if(ds1302_time[1]>0) ds1302_time[1]--; Ds1302Init(); break; case 6://星期 if(ds1302_time[5]>0) ds1302_time[5]--; Ds1302Init(); break; } } }

六、全套资料包含

​​

七:项目资源获取

需要完整的资料可以点击下面的名片关注,回复“资料”!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/21 21:49:42

【计算机毕业设计案例】基于Spring Boot的数字乡村治理系统“村事通”设计与实现基于springboot的村务管理系统的设计与实现(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2025/12/21 21:48:40

【译】GitHub Copilot for Azure(预览版)已经在 Visual Studio 2022 中推出

目录 公开预览版中有什么&#xff1f; 开始使用 先决条件 安装并设置 试试这些示例提示词 接下来是什么&#xff1f; 适用于 Azure 的 GitHub Copilot 扩展现已在 Visual Studio 2022&#xff08;17.14及以上版本&#xff09;中进入公开预览阶段。它通过 Azure MCP 服务器…

作者头像 李华
网站建设 2025/12/21 21:48:34

Java毕设项目推荐-基于Springboot的乡政府管理系统设计与实现基于springboot的村务管理系统的设计与实现【附源码+文档,调试定制服务】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2025/12/21 21:43:49

2025冬至继上

如果把生活类比成可迭代的对象&#xff0c;我的生活又到哪个版本了&#xff1f;还有什么可优化的地方吗&#xff1f;客观的事物不以人的意志为转移&#xff0c;怎么才能使自己的生活贴近事物发展的自然规律&#xff0c;使自己更贴近 按规律办事&#xff1f;古人云&#xff0c;头…

作者头像 李华
网站建设 2025/12/21 21:40:06

5.A.swift 使用指南

家好&#xff0c;我是K哥。一名独立开发者&#xff0c;同时也是Swift开发框架【Aquarius】的作者&#xff0c;悦记和爱寻车app的开发者。Aquarius开发框架旨在帮助独立开发者和中小型团队&#xff0c;完成iOS App的快速实现与迭代。使用框架开发将给你带来简单、高效、易维护的…

作者头像 李华
网站建设 2025/12/21 21:37:40

3个常见的降AI率工具大汇总(含免费降AI额度),AI率降到20以内!

临近毕业&#xff0c;好多学弟学妹都在问&#xff1a;有没有免费的降AI率工具&#xff1f; 一篇论文动不动10000、20000字&#xff0c;查重、查AI率、降重、降AIGC率&#xff0c;再查一次AIGC率。从写好论文到最后通过查重&#xff0c;最起码得好几百。 对学生来说&#xff0…

作者头像 李华