news 2026/2/28 0:46:19

基于单片机数字电子钟数码管显示系统Proteus仿真(含全部资料)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机数字电子钟数码管显示系统Proteus仿真(含全部资料)

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

资料下载:

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


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

电子钟系统,定时器控制定时,按键进行切换。可以手动设置时间。


项目文件:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、器件清单

元件型号数量
单片机AT89C511
电容10uf1
电容30pf2
晶振12MHZ1
电阻10k1
按钮4
晶振32.768KHZ1
实时时钟DS13021
数码管6位共阴1
排阻10k1

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

#include "reg51.h" #include"ds1302.h" #define uchar unsigned char #define uint unsigned int sbit smg1=P2^0;//数码管 sbit smg2=P2^1; sbit smg3=P2^2; sbit smg4=P2^3; sbit smg5=P2^4; sbit smg6=P2^5; sbit K1=P3^2;//时间切换 sbit K2=P3^3;//+ sbit K3=P3^4;//- uchar code smgduan0[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9,无小数点 uchar code smgduan1[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//显示0~9,有小数点 uchar xian[]={0,0,0,0,0,0};//显存 uchar mode=0;//模式 uchar time0=0,sec=0;//定时变量 void delay(uint i)//延时 { while(i--); } void disp0()//显示小时 { if(mode==1) { if(sec<11) { P0=smgduan0[xian[0]]; smg1=0;delay(100);smg1=1; P0=smgduan1[xian[1]]; smg2=0;delay(100);smg2=1; } } else { P0=smgduan0[xian[0]]; smg1=0;delay(100);smg1=1; P0=smgduan1[xian[1]]; smg2=0;delay(100);smg2=1; } } void disp1()//显示分钟 { if(mode==2) { if(sec<11) { P0=smgduan0[xian[2]]; smg3=0;delay(100);smg3=1; P0=smgduan1[xian[3]]; smg4=0;delay(100);smg4=1; } } else { P0=smgduan0[xian[2]]; smg3=0;delay(100);smg3=1; P0=smgduan1[xian[3]]; smg4=0;delay(100);smg4=1; } } void disp2()//显示秒 { if(mode==3) { if(sec<11) { P0=smgduan0[xian[4]]; smg5=0;delay(100);smg5=1; P0=smgduan0[xian[5]]; smg6=0;delay(100);smg6=1; } } else { P0=smgduan0[xian[4]]; smg5=0;delay(100);smg5=1; P0=smgduan0[xian[5]]; smg6=0;delay(100);smg6=1; } } void main()//主函数 { uchar j,k=0; Ds1302ReadTime(); TIME[0]&=0X7F; Ds1302Init(); TMOD=0X11;//选择为定时器0模式,工作方式1,仅用TR0打开启动。 TH0=0X3C; //给定时器赋初值,定时50ms TL0=0XB0; ET0=1;//打开定时器1中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 while(1) { disp0();//显示 disp1(); disp2(); //按键检测 if(!K1 &&(k!=1)) //模式切换 { k=1; if(mode<3) mode++; else mode=0; } if(mode==1)//调整小时 { if(!K2 &&(k!=2))//+ { k=2; j=10*(TIME[2]>>4)+(TIME[2]&0X0F); if(j<23) j++; else j=0; TIME[2]=((j/10)<<4)+j%10; xian[0]=TIME[2]>>4; //时 xian[1]=TIME[2]& 0x0f; Ds1302Init(); } if(!K3 &&(k!=3))//- { k=3; j=10*(TIME[2]>>4)+(TIME[2]&0X0F); if(j>0) j--; else j=23; TIME[2]=((j/10)<<4)+j%10; xian[0]=TIME[2]>>4; //时 xian[1]=TIME[2]& 0x0f; Ds1302Init(); } } if(mode==2)//调整分钟 { if(!K2 &&(k!=2))//+ { k=2; j=10*(TIME[1]>>4)+(TIME[1]&0X0F); if(j<59) j++; else j=0; TIME[1]=((j/10)<<4)+j%10; xian[2]=TIME[1]>>4; //分 xian[3]=TIME[1]& 0x0f; Ds1302Init(); while(!K3);//等待松开 } if(!K3 &&(k!=3))//- { k=3; j=10*(TIME[1]>>4)+(TIME[1]&0X0F); if(j>0) j--; else j=23; TIME[1]=((j/10)<<4)+j%10; xian[2]=TIME[1]>>4; //分 xian[3]=TIME[1]& 0x0f; Ds1302Init(); } } if(mode==3)//调整秒 { if(!K2 &&(k!=2))//+ { k=2; j=10*(TIME[0]>>4)+(TIME[0]&0X0F); if(j<59) j++; else j=0; Ds1302Init(); while(!K3);//等待松开 } if(!K3 &&(k!=3))//- { k=3; j=10*(TIME[0]>>4)+(TIME[0]&0X0F); if(j>0) j--; else j=23; TIME[0]=((j/10)<<4)+j%10; xian[4]=TIME[0]>>4; xian[5]=TIME[0]& 0x0f; Ds1302Init(); } } if(K1 && K2 && K3) k=0; } } void Timer0() interrupt 1//T0中断 { TH0=0X3C; //给定时器赋初值,定时50ms TL0=0XB0; if(time0<10)//定时 time0++; else { time0=0; //读取时间 Ds1302ReadTime(); xian[0]=TIME[2]>>4; //时 xian[3]=TIME[1]& 0x0f; xian[4]=TIME[0]>>4; //秒 xian[5]=TIME[0]& 0x0f; } if(sec<20)//1s sec++; else sec=0; }

六、全套资料包含

七:项目资源获取

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

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

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

PyTorch-CUDA-v2.6镜像与Dockerfile自定义扩展方法

PyTorch-CUDA-v2.6 镜像与 Dockerfile 自定义扩展方法 在深度学习项目落地的过程中&#xff0c;最让人头疼的往往不是模型结构设计或调参技巧&#xff0c;而是“环境配置”这个看似简单却极易出错的环节。你是否经历过这样的场景&#xff1a;本地训练好一个模型&#xff0c;换到…

作者头像 李华
网站建设 2026/2/26 13:37:32

PyTorch-CUDA-v2.6镜像在云服务器上的部署完整流程

PyTorch-CUDA-v2.6镜像在云服务器上的部署完整流程 在深度学习项目从实验走向落地的过程中&#xff0c;最令人头疼的往往不是模型设计本身&#xff0c;而是那个看似简单却频频出错的环节——环境配置。你是否经历过这样的场景&#xff1a;本地训练好一个模型&#xff0c;推到云…

作者头像 李华
网站建设 2026/2/27 0:05:19

PyTorch-CUDA-v2.6镜像能否离线安装?适用于内网环境吗?

PyTorch-CUDA-v2.6镜像能否离线安装&#xff1f;适用于内网环境吗&#xff1f; 在企业级AI部署中&#xff0c;一个常见的痛点是&#xff1a;如何在完全断网的内网环境中快速搭建可用的深度学习开发平台&#xff1f;很多团队都经历过这样的场景——新员工入职后&#xff0c;花上…

作者头像 李华
网站建设 2026/2/27 11:20:30

解决wslregisterdistribution失败问题:推荐使用PyTorch-CUDA镜像

解决 wslregisterdistribution 失败问题&#xff1a;推荐使用 PyTorch-CUDA 镜像 在人工智能项目开发中&#xff0c;一个稳定、高效的 GPU 加速环境几乎是标配。然而&#xff0c;许多开发者在 Windows 系统上通过 WSL2 搭建深度学习环境时&#xff0c;常常卡在一个看似简单却令…

作者头像 李华
网站建设 2026/2/27 5:41:52

PyTorch安装教程避坑指南:选择正确CUDA版本是关键

PyTorch安装避坑指南&#xff1a;如何选对CUDA版本并高效部署 在深度学习项目启动阶段&#xff0c;最让人头疼的往往不是模型设计或数据处理&#xff0c;而是环境配置——尤其是当你兴冲冲写好第一个训练脚本&#xff0c;运行 torch.cuda.is_available() 却返回 False 时&#…

作者头像 李华
网站建设 2026/2/26 10:12:56

零基础理解两种数据库中触发器的创建流程

从零开始搞懂 MySQL 和 SQL Server 触发器&#xff1a;不只是语法&#xff0c;更是工程思维的跃迁你有没有遇到过这样的场景&#xff1f;用户改了一笔订单金额&#xff0c;结果没人知道是谁改的、什么时候改的&#xff1b;多个系统共用一个数据库&#xff0c;某个服务偷偷删了数…

作者头像 李华