【proteus仿真】基于51单片机的秒表设计

【proteus仿真】基于51单片机的秒表设计

资料获取在文章结尾处!

更多资料获取链接:

https://docs.qq.com/sheet/DTExIc2dPUUJ5enZZ?tab=BB08J2

1.资料内容

  • 源码
  • proteus仿真图

演示视频:

【proteus仿真】基于51单片机的秒表设计_哔哩哔哩_bilibili

2.总体设计

本设计是采用AT89C51单片机为中心,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LCD1602液晶以及键盘电路来设计计时器。将软、硬件有机的结合起来,使得系统能够实现四位LCD显示,最大显示时间为09:59:99,有开始/暂停、复位、记录和查看功能,并设有每秒提醒功能。

此次的设计是采用定时器进行计时并且在LCD1602上显示时间,先要基本了解硬件内在结构,确定用P0并行端口进行LCD1602控制输入,使用P2.0、P2.1、P2.2控制LCD的RE、RW、EN端口。P1.0控制蜂鸣器、P1.1控制开始/暂停、P1.2、P1.3控制查看上一条、控制每秒提醒

3.部分电路展示

  1. 按键控制电路

    image

  2. LCD显示电路

    image

4.部分代码


//函数声明
void LCD1602_WriteCom(unsigned char com); 			//1602部分
void LCD1602_WriteData(unsigned char Data); 
void LCD1602_Clear(void);
void LCD1602_PutString(unsigned char x,unsigned char y,unsigned char *s);
void LCD1602_PutChar(unsigned char x,unsigned char y,unsigned char Data);
void LCD1602_Init(void);
void LCD1602_Delay(unsigned int t);
 
void delay_ms(unsigned int t);
void IniTC0(void) ;						//初始化定时计数器0
void KeyWork(void);						//按键扫描以及按键功能动作
void DisplayCountTime(void);	//显示计时的时间
 
void main()
{
	IniTC0();
	LCD1602_Init();
	Beep = 1;

	LCD1602_PutString(4,0,"Well Come");	
	LCD1602_PutString(2,1,"  Stopwatch   ");
	delay_ms(1000);
	LCD1602_Clear();

	while(1)
	{
		DisplayCountTime();
		KeyWork();
	}
}
/*------------------------------------------------
              写入命令函数
------------------------------------------------*/
void LCD1602_WriteCom(unsigned char com) 
{
	LCD1602_Delay(5);
	RS_CLR; 
	RW_CLR; 
	EN_SET; 
	DataPort= com; 
	_nop_(); 
	EN_CLR;
}
/*------------------------------------------------
              写入数据函数
------------------------------------------------*/
void LCD1602_WriteData(unsigned char Data) 
{ 
	LCD1602_Delay(5);
	RS_SET; 
	RW_CLR; 
	EN_SET; 
	DataPort= Data; 
	_nop_();
	EN_CLR;
}

‍资料请在下面公众回复 51秒表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/720895.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

​【数据结构与算法】冒泡排序:简单易懂的排序算法解析

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 ​ 目录 一、引言 二、冒泡排序原理 🍃基本思想: 🍃算法…

为什么传统 CNN 可能无法进行基于纹理的分类?

作者:Mayank Gubba、Mohammed Faisal、Trapti Kalra、Vijay Pandey 将纹理分析与深度学习结合使用对于在机器视觉任务中取得更好的结果起着重要作用。在第一篇博客中,我们讨论了“纹理”的基础知识、不同类型的纹理以及纹理分析在解决实际计算机视觉任务…

Windows系统下制作Windows 11系统U盘启动及安装指导

Windows系统下制作Windows 11系统U盘启动及安装指导 一、准备工作 U盘不得小于8G(推荐使用usb3.0接口);下载好对应的系统镜像;下载RUFUS或者软通碟U盘制作启动软件; 二、Windows操作系统下制作U盘启动(这里以使用RUFUS软件为例&…

Java对象头的组成

介绍对象头之前先说一下Java对象内部的组成结构&#xff1a; 1&#xff0c;成员变量&#xff08;Data1...DataN&#xff09; 2, 对象头 Java对象头的组成&#xff08;根据对象头分析对象状态借此优化代码&#xff09; <dependency> <groupId>org.openjdk.jol&l…

MB-iSTFT-VITS 模型论文思路与实验分享:基于VITS架构优化的轻量级文本转语音模型

参考文献&#xff1a; [1] Kawamura M, Shirahata Y, Yamamoto R, et al. Lightweight and high-fidelity end-to-end text-to-speech with multi-band generation and inverse short-time fourier transform[C]//ICASSP 2023-2023 IEEE International Conference on Acoustics…

【C#上位机应用开发实战】—机器视觉检测

#机器视觉 在现代工业生产中&#xff0c;机器视觉检测技术扮演着越来越重要的角色。它通过计算机视觉技术来实现对工件的自动化检测和判断&#xff0c;大大提高了生产效率和产品质量。而在机器视觉检测的应用中&#xff0c;C#作为一种简洁易用且功能强大的编程语言&#xff0c…

搭贝低代码开发平台:高效、灵活、经济的软件开发解决方案

在当今快速发展的数字化时代&#xff0c;企业对于快速、灵活且成本效益高的软件开发需求日益增长。搭贝低代码开发平台以其强大的功能和用户友好的体验&#xff0c;正在成为众多企业&#xff0c;特别是中小企业&#xff0c;软件开发的首选工具。 &#x1f4c8; 什么是低代码开发…

鸿蒙开发网络管理:【@ohos.net.socket (Socket连接)】

Socket连接 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import socket from ohos.net.socket;socket.constructUDPSocketInstance constructUDPSocketInstance(): UDPSocket 创建…

061、Python 包:模块管理

包&#xff08;Package&#xff09;是一种用于组织模块的层次结构。包实际上就是一个包含了__init__.py文件的目录&#xff0c;该文件可以为空或包含包的初始化代码。通过使用包&#xff0c;可以更好地组织和管理大型项目中的模块&#xff0c;避免命名冲突&#xff0c;并提高代…

利用C#和Snap7工具模拟S7通信(包含DB地址讲解)

之前写过一篇用KepServerEx做模拟S7的通信数据&#xff0c;参考链接&#xff1a; 通过C#和KepServer完成模拟S7协议通信_c# 与kepserver-CSDN博客 但KepServerEx是收费的&#xff0c;而且模拟的DB块超过64就不行了&#xff0c;当然Snap7在本文中也是只能模拟DB1、DB2和DB3的数…

HTML 全局属性介绍及示例

HTML 全局属性是一组可以在任何HTML元素中使用的属性。这些属性提供了一种方式来定义元素的通用行为或外观。以下是一些常见的HTML全局属性及其示例。 id id 属性为元素提供了一个唯一的标识符。它不能在 <head>, <html>, <meta>, <script>, <sty…

数据压缩还能这么玩,国产数据库有救了!

页级压缩 opengauss数据库是以数据页面&#xff08;Page&#xff09;为单位进行压缩解压&#xff0c;本特性自openGauss 3.0.0版本开始引入&#xff0c;通过对数据页的透明页压缩和维护页面存储位置的方式&#xff0c;做到高压缩、高性能。提高数据库对磁盘的利用率。 页级压缩…

FL Studio没有声音怎么办 FL Studio声音卡顿怎么办

FL Studio是一款综合创作歌曲的宿主软件&#xff0c;这款软件的里面内置了很多效果器和插件&#xff0c;非常适合创作电子音乐&#xff0c;很多创作电子音乐的小伙伴都喜欢使用此款软件。不过有些刚接触FL Studio的小伙伴&#xff0c;在使用此软件的时候&#xff0c;会出现一些…

openh264 帧间预测编码原理:WelsMdP16x16函数

openh264 帧间预测编码 帧间预测编码是视频压缩技术中的关键方法之一&#xff0c;它主要用于减少视频序列中时间维度上的冗余。这种编码方式依赖于视频帧之间的空间相关性&#xff0c;通过预测和补偿来减少数据量&#xff0c;从而实现高效的视频压缩。帧间预测编码广泛应用于各…

短路是怎么形成的

1. 短路分为电源短路和用电器短路。 电源短路&#xff1a;电流不经过任何用电器&#xff0c;直接由正极经过导线流向负极&#xff0c;由于电源内阻很小&#xff0c;导致短路电流很大&#xff0c;特别容易烧坏电源。 用电器短路&#xff1a;也叫部分电路短路&#xff0c;即一根…

全国产城市轨道交通运营公安AI高清视频监控系统

方案简介 城市轨道交通运营公安高清视频监控系统解决方案针对运营部门和公安部门的安保需求&#xff0c;选用华维视讯的各类前端和视频编解码、控制产品&#xff0c;通过统一平台提供视频监控服务和智能应用&#xff0c;满足轨道交通运营业主客运组织和抢险指挥的需求&#xff…

【idea】解决springboot项目中遇到的问题

一、Maven报错Could not find artifact com.mysql:mysql-connector-j:pom:unknown in aliyunmaven解决及分析 报错 创建springboot项目&#xff0c;勾选数据库驱动&#xff0c;springboot版本为3&#xff0c;现在改成了2.7.2&#xff0c;Maven就发生了报错Could not find art…

从兼职到大神:新手必看的UE材质原理讲解

对于刚接触UE的同学来说&#xff0c;材质篇章往往是令人望而生畏的一大板块。但材质的一些基本原理其实并不难&#xff0c;只要稍作理解便可以轻松入门。接下来我们便分为材质类型和节点类型两个知识板块来介绍材质的相关内容。 材质类型 材质分类 金属&#xff1a;金属材质一…

【C语言】数组参数和指针参数详解

在写代码的时候难免要把【数组】或者【指针】传给函数&#xff0c;那函数的参数该如何设计呢&#xff1f; 1 一维数组传参 #include <stdio.h> void test(int arr[])//ok? {} void test(int arr[10])//ok? {} void test(int* arr)//ok? {} void test2(int* arr[20])…

单载波水声通信技术研究【附MATLAB代码】

文章来源&#xff1a;​微信公众号&#xff1a;EW Frontier 摘要 水下无线通信因其在海洋科研、国防、救援及资源开发等方面的关键作用而备受关注。声波作为水中信息传输的有效载体&#xff0c;推动了水声通信技术的发展&#xff0c;其中单载波调制技术由于其高频谱利用率、结…