news 2026/4/23 16:48:38

基于单片机简易电子钟系统Proteus仿真(含全部资料)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机简易电子钟系统Proteus仿真(含全部资料)

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

资料下载:

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


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

设计一个简易时钟
1、使用数码管显示时间
2、使用单片机内部定时实现走时
3、通过按键设置时间,设置时对应显示位置闪烁


项目文件:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、器件清单

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

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

#include "reg51.h" #define uchar unsigned char #define uint unsigned int sbit k1=P3^2;//按钮 sbit k2=P3^3; sbit k3=P3^4; sbit smg1=P2^0;//数码管 sbit smg2=P2^1; sbit smg3=P2^2; sbit smg4=P2^3; sbit smg5=P2^4; sbit smg6=P2^5; 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 time=0,mode=0;//系统变量 uchar miao=0,fen=0,shi=0;//计时 //延时 void delay(uint i) { while(i--); } //主函数 void main() { uchar k=0; TMOD|=0X01; TH0=0X3C; TL0=0XB0; ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 while(1) { if(mode==1)//显示小时 { if(time<11) { P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1; P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1; } } else { P0=smgduan0[shi/10];smg1=0;delay(100);smg1=1; P0=smgduan1[shi%10];smg2=0;delay(100);smg2=1; } if(mode==2)//显示分钟 { if(time<11) { P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1; P0=smgduan1[fen%10];smg4=0;delay(100);smg4=1; } } else { P0=smgduan0[fen/10];smg3=0;delay(100);smg3=1; } if(mode==3)//显示秒 { if(time<11) { P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1; P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1; } } else { P0=smgduan0[miao/10];smg5=0;delay(100);smg5=1; P0=smgduan0[miao%10];smg6=0;delay(100);smg6=1; } //按键检测 if(!k1 &&(k!=1)) { k=1; if(mode<3) mode++; else mode=0; } if(mode==1)//设置小时 { if(!k2 &&(k!=2)) { k=2; if(shi<23) shi++; else shi=0; } if(!k3 &&(k!=3)) { k=3; if(shi>0) shi--; else shi=23; } } if(mode==2)//设置分钟 { if(!k2 &&(k!=2)) { k=2; if(fen<59) fen++; else fen=0; } if(!k3 &&(k!=3)) { k=3; if(fen>0) fen--; else fen=59; } } if(mode==3)//设置秒 { if(!k2 &&(k!=2)) { k=2; if(miao<59) } if(!k3 &&(k!=3)) { k=3; if(miao>0) miao--; else miao=59; } } if(k1 && k2 && k3) k=0; } } //定时器中断 void Timer0() interrupt 1 { if(time<20)//1s time++; else { time=0; if(mode==0) { else { miao=0; if(fen<59)//分 fen++; else { fen=0; if(shi<23)//时 shi++; else shi=0; } } } } TH0=0X3C; TL0=0XB0; }

六、全套资料包含

七:项目资源获取

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

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

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

在WSL中配置VS Code C++开发环境完整教程

设置Linux开发环境 启动WSL终端&#xff1a;在Windows搜索栏输入"Ubuntu"并打开 Ubuntu in Start Menu 首次启动会要求设置用户名和密码&#xff0c;请记住此密码&#xff0c;后续使用sudo命令时需要更新系统包列表并安装GNU编译器工具和GDB调试器&#xff1a; 代…

作者头像 李华
网站建设 2026/4/23 15:25:17

实现在探测主机中获取主机信息

目录 主机信息识别系统设计思路 1. 分层收集架构 2. 智能推断引擎 3. 性能优化设计 4. 健壮性保障 5. 核心设计理念 注意事项 代码分析 调用和初始化 通过MAC地址收集信息 获取MAC地址厂商 基于MAC地址的厂商推断信息 通过DNS查询收集信息 检查缓存 DNS反查询 …

作者头像 李华
网站建设 2026/4/23 12:29:26

小白也能学会:PyTorch-CUDA-v2.6镜像入门级操作手册

PyTorch-CUDA-v2.6镜像实战指南&#xff1a;从零开始的AI开发环境搭建 在深度学习项目中&#xff0c;最让人头疼的往往不是模型设计&#xff0c;而是环境配置。你是否经历过这样的场景&#xff1a;好不容易找到一个开源项目&#xff0c;兴冲冲地准备复现结果&#xff0c;却卡在…

作者头像 李华
网站建设 2026/4/23 12:30:45

PCAN驱动开发入门必看:从零搭建CAN通信环境

从零搭建CAN通信环境&#xff1a;PCAN驱动开发实战指南 你是不是也遇到过这种情况——手头有了PCAN-USB设备&#xff0c;却卡在驱动装不上、程序发不出数据&#xff1f;明明线都接好了&#xff0c; candump 却收不到一帧报文&#xff1f; 别急。这几乎是每个刚接触CAN总线的…

作者头像 李华
网站建设 2026/4/23 12:30:54

如何通过SSH访问PyTorch-CUDA-v2.6镜像进行远程调试

如何通过SSH访问PyTorch-CUDA-v2.6镜像进行远程调试 在深度学习项目开发中&#xff0c;一个常见的痛点是&#xff1a;本地机器算力有限&#xff0c;而远程服务器配置了高性能 GPU&#xff0c;但如何安全、高效地接入那个“别人家的 A100 集群”&#xff0c;并像操作本地环境一样…

作者头像 李华
网站建设 2026/4/23 15:25:00

Python3模块入门:这样导入和使用,超简单!

目录 一、什么是模块 二、模块的四种导入方式 三、这些常用工具箱你一定会用到 四、两个超重要的知识点 简单示例&#xff1a; 一、什么是模块 想象一下&#xff0c;Python模块就像一个个装满工具的工具箱。Python自带了很多好用的工具箱&#xff08;标准库&#xff09;&…

作者头像 李华