基于AT89C51单片机的电子计数器设计与仿真
点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/87770826

源码获取
主要内容:
设计一个电子计时器,数码管初始显示值为“00”,每隔1s电子秒表加1;秒计数到60时清0,并从00重新开始。
基本要求:
1、电子定时器电路设计图;
2、电子定时器设计源程序;
3、keil运行源程序;
4、protus中仿真;
5、运行结果分析。
主要参考资料:
[1]张志良.单片机学习指导及习题解答.机械工业出版社,2008.
[2]张伟.单片机原理及应用.机械工业出版社,2009.
[3]孙俊逸、盛秋林、张锋.单片机原理及应用.清华大学出版社.2010.
[4]张毅刚.单片机原理及应用.北京高等教育出版社,2010.
[5]黄仁欣.单片机原理及应用技术.北京清华大学出版社,2005.
完 成 期 限:12 月 11 日 - 12 月 26 日 指导教师签名: 课程负责人签名:
摘 要
计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路。计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。
本设计为简易电子计数器,以AT89C51为主控芯片,其作用范围在0~59,应用了示数码管来显示计数。
关 键 词:简易电子计数器;AT89C51
目录
摘 要 I
目录 II
1、 概述 1
1.1课程设计目的 1
1.2系统主要内容 1
2、总体设计 2
2.1 设计方案 2
2.2 系统功能设计 2
3、Protues仿真图及相应局部工作原理 3
3.1 总的仿真图 3
3.2 局部显示 3
3.3 按钮控制 4
4、源程序 4
5、结果分析 6
6、心得体会 9
1、概述
1.1课程设计目的
1.掌握以单片机为核心的控制系统的分析和设计的根本方法;
2.控制程序的设计及实现方法;
3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础
1.2系统主要内容
1.开始按钮,按下开始计数并设置的有初始值;
2.暂停按钮,按下暂停按钮,停顿计数,再按下暂停按钮,开始计数;
3.结束按钮,按下结束此次计数;
4.每过一秒,示数码管数字就加一,数码管数字每到60就归零
2、总体设计
2.1 设计方案
本设计为累加计数的简易计数器,应用AT89C51芯片作为核心, 8位的LED数管显示。这种实现方法的优点是电路简单,性能可靠,实时性强,操作简单,编程容易。
2.2 系统功能设计

图2.1系统功能图
3、Protues仿真图及相应局部工作原理
3.1 总的仿真图

图3.1总的仿真图
3.2 局部显示

图3.2数码管显示
3.3 按钮控制
4、源程序
#include <reg51.h>
#define uc unsigned char
#define ui unsigned int
uc code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数字字模表
uc led_mod[2];//存储每位上的数
#define ledSize 2
ui num;//显示的数字
uc led_point;//周期为1s=1ms*1000 a=65536-1000=0xfc18
//ui a = 0xfc18; //a=(256-100)%256=156 = 0x9c
ui a = 0x9c;
void init(){num=00;//初始值//TH0=a/256;//TL0=a%256;TH0=0x9c;TL0=0x9c;TMOD=0x02;//T0定时方式2 0000 0010TCON=0x10;//TR0=1 启动T0IE=0x82;//EA=1;ET0=1; 开启中断 开T0中断}
void delayMs(ui ms){//延时函数ui i;while(ms--)for(i=0;i<124;i++);
}P2=~led_point;//数码 低电平有效 从个位数向千位数刷新P0=led_mod[i];//字模 led_point<<=1;delayMs(10);}}//}void timer0() interrupt 1{//T0中断函数static ui count;count++;//TH0=a/256;//TL0=a%256;if(count==10000){count=0;num++;num%=60;}
}void main(void){ init();//初始化 while(1){show(num);}
}
5、结果分析
5.1在keil软件中输入完整代码,点击运行,结果如下:

图5.1

5.2 keil源程序运行成功后,生成hex文件,连接proteus,进行仿真。

图5.2

图5.3
5.3 连接完成后点击开始按钮,计数器开始计数
图5.4
5.5 点击暂停按钮计数器暂停计数
5.6 在暂停状态下,长按点击按钮,计数器正常运行,松开暂停计数

5.7 计数每到60数码管数字就会归零
5.8点击结束按钮,结束计数

6、心得体会
这次单片机课程设计让我学到了很多东西,利用了一些本学期学到的东西,收益良多,感觉还是有点成就感的。同时也提高了我们查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平。而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我们的能力得到了锻炼,经验得到了丰富。这是我们都希望看到的也正是我们学习电子技术课程设计的目的所在。本次设计让我深刻地认识到了书上单片机学习到的东西真的是非常的有限,单片机所扩展到的元器件上课和实验用到的只能算是冰山一角。正是这一次锻炼让我们积累了无数实际经验,使我们的头脑更好的被知识武装了起来,也必然会让我们在未来的工作学习中表现出更高的应变能力,更强的沟通和理解力。
相关文章:
基于AT89C51单片机的电子计数器设计与仿真
点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87770826 源码获取 主要内容: 设计一个电子计时器,数码管初始显示值为“00”,每隔1s电子秒表加1;秒计数到60时清0&a…...
IT程序员如何面对35岁大龄问题?我从公司老板的角度聊聊
很多从事IT行业的人一想到35岁就很焦虑,担心自己被公司裁员后找不到工作。同时还有家庭责任加身,担心中年失业后晚年生活。作为一位公司老板,我想从我的角度谈一下这个问题。 首先,我本质上不介意我的员工年龄,无论是…...
【计算机专业漫谈】【计算机系统基础学习笔记】W2-2-2 模运算系统和补码表示
利用空档期时间学习一下计算机系统基础,以前对这些知识只停留在应试层面,今天终于能详细理解一下了。参考课程为南京大学袁春风老师的计算机系统基础MOOC,参考书籍也是袁老师的教材,这是我的听课自查资料整理后的笔记 补码表示法…...
vue概述
vue2和vue3的区别 vue2和vue3区别 NOvue2vue31 optinos Api写法 比较分散 Compostiton Api 代码集 2重写数序双向绑定通过Object.defineProperty()实现 基于Proxy实现 对数组有了更好的支持 3Fragments 1,在template中只能一个div 2…...
SpringCloud-OpenFeign案例实战
关于Spring Cloud Open Feign的介绍可以参考这两篇博客 OpenFeign服务接口调用 使用Feign作为服务消费者 本博客参考gitee开源项目代码,结合自己的理解,记录下微服务场景下的使用。Talk is cheap. Show me the code! 一、项目结构 这里使用…...
ACM - 数学 - 提高(还没学多少)
ACM - 数学 练习题 一、数论1、分解质因数 :AcWing 197. 阶乘分解2、求约数个数(1)AcWing 1294. 樱花 (求 n!约数个数之和)(2)AcWing 198. 反素数 (求 1 ~ N 中约数最多的…...
JavaScript class和继承的原理
(对于不屈不挠的人来说,没有失败这回事。——俾斯麦) class 相关链接 MDN链接 有关类的详细描述 关于构造函数,原型和原型链的说明 类的概述 类是用于创建对象的模板。他们用代码封装数据以处理该数据。JS 中的类建立在原型上…...
Playwright-python 自动化测试【Anaconda】环境配置
第一步:Anaconda的安装 安装Anaconda的好处,比prenv网速快,并且拥有独立的python环境,再也不用烦恼用哪个python好了。 Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。 https://mirrors.tuna.tsinghua.ed…...
攻防世界-web-simple js
题目描述:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} ) 打开链接: 然后我们会发现不管我们输入什么密码,发现是都是这样的报错 1. 先用bp抓包看看,可以抓到这样的一串js脚本 看不懂…...
【SpringCloud】初始微服务
目录 一、单体架构 1、概念 2、优点 3、缺点 二、分布式架构 1、概念 2、优点 3、缺点 三、微服务 1、概念 2、优点 3、缺点 四、微服务技术对比 五、SpringCloud 六、服务拆分 1、注意事项 2、服务远程调用 一、单体架构 1、概念 业务的所有功能都集中到一个…...
均摊时间复杂度
均摊时间复杂度,它对应的分析方法,摊还分析(或者叫平摊分析) 均摊时间复杂度应用的场景比它更加特殊、更加有限 // array表示一个长度为n的数组// 代码中的array.length就等于nint[] array new int[n];int count 0;void insert…...
夏驰和徐策的解决数学问题思路——反证法
反证法是一种证明方法,它的基本思路是通过假设某个结论不成立,然后构造出一个矛盾的情况来推导出原先假设的结论是成立的。 具体来说,反证法一般包含以下步骤: 1. 假设所要证明的命题不成立。 2. 通过这个假设,构造…...
面向开发人员的 ChatGPT 提示词教程 - ChatGPT Prompt Engineering for Developers
面向开发人员的 ChatGPT 提示词教程 - ChatGPT Prompt Engineering for Developers 1. 指南(原文: Guidelines)1-1. 提示的指南(原文: Guidelines for Prompting)1-2. 配置1-3. 提示语原则(原文: Prompting Principles)原则 1: 写出清晰而具体的指示(原文: Write clear and spe…...
虹科方案|使用 HK-TRUENAS支持媒体和娱乐工作流程-1
一、摘要 开发和交付能够随时随地触及受众的媒体内容变得越来越重要和复杂。 在当今高度互联、娱乐驱动的世界中,媒体和娱乐 (M&E) 公司需要保持竞争力才能取得成功。 这些组织需要制作各种不同格式的信息和娱乐内容,以便在移动设备、台式机、工作站…...
DDR5内存彻底白菜价,国外大厂却整出了比着火更离谱的骚操作
今年的 PC 硬件市场,似乎出现了明显两极分化现象。 一边是 N、A 两家新显卡价格高高在上,摆明了不坑穷人。 另一边固态硬盘、内存条又在疯狂互卷不断杀价。 四五百元的 2TB SSD,二百元的 16G 内存条早已见怪不怪。 要说面世多年的 PCIe 3.0…...
Linux网络——Shell编程之函数
Linux网络——Shell编程之函数 一、概述二、定义函数的格式1.格式一2.格式二 三、函数的查看和删除1.查看 declare2.删除 declare 四、函数的返回值1.return 返回值2.echo 返回值 五、函数的参数传入与变量范围1.函数的传参2.函数变量的作用范围 六、函数的应用1.阶乘2.递归目录…...
GQCNN+PointNetGPD思路和问题--chatGPT
有很多算法是通过神经网络来预测机械臂抓手的抓取位置,其中一些算法需要点云数据作为输入,例如: PointNetGPD:PointNetGPD是一个端到端的基于点云的抓取姿态检测算法。它使用了一个PointNet架构来处理点云输入,并输出每…...
Mysql索引(2):索引结构
1 概述 MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种: 索引结构描述BTree索最常见的索引类型,大部分引擎都支持 B 树索引 Hash索引 底层数据结构是用哈希表实现的, 只有精确匹配索引列的…...
Spring框架介绍和应用实践
Spring是一个开源的Java企业应用开发框架,它通过依赖注入和面向切面编程等技术实现了轻量级、松散耦合、可测试和可扩展的应用开发。本文将介绍Spring框架的基本原理和核心功能,以及在实际项目中如何使用Spring框架进行应用开发。 Spring框架基本原理 …...
IO 流学习总结
一:IO 流的概述 1. 什么是 IO 流? 存储和读取数据的解决方法 I:input O:output 流:像水流一样传输数据 2. IO 流的作用? 用于读写数据(本地文件,网络) 3. IO 流按…...
2026届最火的六大降AI率平台实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 要让AIGC(人工智能生成内容)检测率降低,关键之处便在于把…...
hsjdvfjfgdhdydh
一、OpenAI 1.OpenAI是什么简单来说,OpenAI 大模型 是由美国人工智能公司 OpenAI 开发的一系列大型语言模型(LLMs) 。你可以把它们想象成拥有巨大“知识储备”和“学习能力”的超级大脑,它们被训练用来理解和生成人类语言…...
新手怎么部署OpenClaw?2026年本地1分钟超速搭建OpenClaw及大模型百炼APIKey配置
新手怎么部署OpenClaw?2026年本地1分钟超速搭建OpenClaw及大模型百炼APIKey配置。OpenClaw(原Clawdbot)作为2026年主流的AI自动化助理平台,可通过阿里云轻量服务器实现724小时稳定运行,并快速接入钉钉,让AI…...
计算机毕业设计:Python二手车市场数据分析及价格预测平台 Django框架 可视化 线性回归 数据分析 机器学习 深度学习 AI 大模型(建议收藏)✅
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...
Tabula:颠覆传统的PDF数据解放与智能提取工具
Tabula:颠覆传统的PDF数据解放与智能提取工具 【免费下载链接】tabula Tabula is a tool for liberating data tables trapped inside PDF files 项目地址: https://gitcode.com/gh_mirrors/ta/tabula 在数字化办公的浪潮中,PDF文件作为信息传递的…...
如何用OpCore-Simplify在30分钟内完成黑苹果配置:自动化OpenCore EFI工具终极指南
如何用OpCore-Simplify在30分钟内完成黑苹果配置:自动化OpenCore EFI工具终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复…...
资源配额管理:防止单个 Agent 耗尽资源
资源配额管理:防止单个 Agent 耗尽系统资源的核心技术与实践指南 关键词 资源配额(Resource Quota)、Agent 资源隔离(Agent Isolation)、分布式调度系统(Distributed Scheduler)、Kubernetes 资源模型(K8s Resource Model)、CPU 软/硬限制(CPU Soft/Hard Limit)、内…...
两种方案深度解析:如何免费解锁WeMod专业功能
两种方案深度解析:如何免费解锁WeMod专业功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 游戏玩家常常面临一个困境:想要使用…...
OpenClaw与Python:构建高效自动化脚本,赋能复杂工作场景落地
OpenClaw与Python:构建高效自动化脚本,赋能复杂工作场景落地摘要在数字化转型浪潮席卷全球的今天,自动化技术已成为提升企业运营效率、降低人力成本、应对复杂业务挑战的关键利器。其中,机器人流程自动化(RPAÿ…...
Powerlevel10k 终极指南:5分钟打造你的完美终端界面
Powerlevel10k 终极指南:5分钟打造你的完美终端界面 【免费下载链接】powerlevel10k A Zsh theme 项目地址: https://gitcode.com/GitHub_Trending/po/powerlevel10k 厌倦了单调的终端界面?想要一个既美观又实用的命令行环境吗?Powerl…...
