基于51单片机步进电机节拍步数正反转LCD1602显示( proteus仿真+程序+原理图+设计报告+讲解视频)
基于51单片机步进电机节拍步数正反转LCD1602显示
- 📑1. 主要功能:
- 📑2. 讲解视频:
- 📑3. 仿真
- 📑4. 程序代码
- 📑5. 设计报告
- 📑6. 设计资料内容清单&&下载链接
- 📑[资料下载链接:](https://docs.qq.com/doc/DS0FKU3had0RLUG9N)
基于51单片机步进电机节拍步数正反转LCD1602显示( proteus仿真+程序+原理图+设计报告+讲解视频)
仿真图proteus7.8及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0063
📑1. 主要功能:
基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用)
基于单片机的步进电机控制系统设计
1、用单片机来控制步进电机的运行,要求有启动控制、换向控制、电机停止。
2、正转和反转状态均由不同颜色指示灯来指示。
3、电机的节拍方式可以通过按键进行切换。
4、电机的步数可通过按键设定来确定,电机转动过程要显示剩余步数。
5、用LCD1602液晶显示,步数,步进节拍和方向。
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
资料下载链接:
【腾讯文档】S0063 网盘链接
https://docs.qq.com/doc/DS0FKU3had0RLUG9N
以下为本设计资料展示图:
📑2. 讲解视频:
仿真讲解+代码讲解
📑3. 仿真
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后,LCD1602显示step:0100,pai:8 right。分别表示步数,节拍为8拍和转动方向。
可以通过按键调整步数,节拍和转动方向。
📑4. 程序代码
使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。
主函数
//主函数
void main()
{uchar k=0;init_1602();P1=0x01;TMOD|=0X01;TH0=0XD8;TL0=0XF0; ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器while(1){if(fang==0)//方向指示led2=0;elseled2=1;if(start)led1=0;elseled1=1;if(!k1 &&(k!=1))//启停{k=1;start=!start;if(start==1){step=step_set;}else{step=0;}}if(!k2 &&(k!=2))//设置{k=2;if(mode<3)mode++;elsemode=0;}if(!k3 &&(k!=3))//加{k=3;if(mode==1)//步数{if(step_set<9999)step_set+=10;step=step_set;}if(mode==2)//通电方式{moshi=1;}if(mode==3)//方向{fang=0;}}if(!k4 &&(k!=4))//减{k=4;if(mode==1)//步数{if(step_set>10)step_set-=10;step=step_set;}if(mode==2)//通电方式{moshi=0;}if(mode==3)//方向{fang=1;}}if(k1 && k2 && k3 && k4)k=0;}
}
📑5. 设计报告
5654字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等
📑6. 设计资料内容清单&&下载链接
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
0、常见使用问题及解决方法–必读!!!!
1、仿真图
2、程序源码
3、功能要求
4、原理图
5、开题报告
6、元器件清单
7、设计报告
8、软硬件流程框图
9、讲解视频
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
📑资料下载链接:
相关文章:
基于51单片机步进电机节拍步数正反转LCD1602显示( proteus仿真+程序+原理图+设计报告+讲解视频)
基于51单片机步进电机节拍步数正反转LCD1602显示 📑1. 主要功能:📑2. 讲解视频:📑3. 仿真📑4. 程序代码📑5. 设计报告📑6. 设计资料内容清单&&下载链接📑[资料下…...
Vim 从何而来?
Vim 编辑器的创造者、维护者和终身领导者 Bram Moolenaar 为了纪念这位杰出的荷兰程序员,我们今天来聊一聊 Vim 的历史。 Vim 无处不在。它被很多人使用。同时 Vim 可能是世界上 “最难用的软件之一” ,但是又多次被程序员们评价为 最受欢迎的 代码编辑…...
Auto.js 清除指定应用缓存
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!Auto.js 清除指定应用缓存 环境 win10Pixel4Android13var packageName = ""; // 包名 var resu…...
[EFI]Surface Pro 4电脑 Hackintosh 黑苹果引导文件
硬件型号驱动情况主板Surface Pro 4处理器Intel Core i5-6300U 2.5GHz已驱动内存16GB DDR4 2400Mhz已驱动硬盘Samsung SSD 860 EVO 250G Media (Install on SSD External)已驱动显卡Intel HD Graphics 520 2GBmacOS 13以上自行添加显卡补丁声卡Realtek ALC3269(id 3…...
【Java 进阶篇】深入浅出:JQuery 事件绑定的奇妙世界
在前端的世界里,事件是不可或缺的一部分。用户的点击、输入、滚动等行为都触发着各种事件,而如何在代码中捕捉并处理这些事件是每位前端开发者必须掌握的技能之一。本文将带你深入浅出,探索 JQuery 中的事件绑定,为你揭开这个奇妙…...
Pair用法示例:
这里用到了 org.apache.commons.lang3.tuple.Pair 来封装数据(就是不想自己再写一个 DO 或者 VO 或者 MO) 在Java中,Pair是一种简单的数据结构,用于存储两个相关联的值。它没有特定的内置类,但可以通过自定义实现或使…...
rpc依赖安装
依赖: 0、boost:用于实现多线程等; 1、protobuf:用于实现数据的序列化、反序列化,也用于定义和生成rpc数据及接口; 2、libevent:用于实现基于IO多路复用机制的网络事件循环。 其实可以直接用包…...
文件存储服务 实时通信服务 HTTP通信协议
目录 文件存储服务实时通信服务HTTP通信协议 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! 文件存储服务 文件存储服务是一种用于…...
Redis - 订阅发布替换 Etcd 解决方案
为了减轻项目的中间件臃肿,由于我们项目本身就应用了 Redis,正好 Redis 的也具备订阅发布监听的特性,正好应对 Etcd 的功能,所以本次给大家讲解如何使用 Redis 消息订阅发布来替代 Etcd 的解决方案。接下来,我们先看 R…...
Hessian协议详解
前言 Hessian协议是一种基于二进制的轻量级远程调用协议,用于在分布式系统中进行跨语言的通信。它使用简单的二进制格式来序列化和反序列化数据,并支持多种编程语言,如Java、C#、Python等。Hessian协议相对于其他协议的优势在于其简单性和高…...
【AI视野·今日Sound 声学论文速览 第三十六期】Mon, 30 Oct 2023
AI视野今日CS.Sound 声学论文速览 Mon, 30 Oct 2023 Totally 7 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Style Description based Text-to-Speech with Conditional Prosodic Layer Normalization based Diffusion GAN Authors Neeraj Kumar, A…...
Android Jetpack的组件介绍,常见组件解析
jetpack组件有哪些 Android Jetpack是一个集成Android应用程序组件的一站式解决方案。它使开发人员能够专注于他们的应用程序的真正创新部分,而不会受到Android平台特定的限制。Jetpack组件可分为四个类别: 架构组件(Architecture Componen…...
ImportError: cannot import name ‘url_quote‘ from...
👨🏻💻 热爱摄影的程序员 👨🏻🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻🏫 一位高冷无情的编码爱好者 大家好,我是全栈工…...
一文看分布式锁
为什么会存在分布式锁? 经典场景-扣库存,多人去同时购买一件商品,首先会查询判断是否有剩余,如果有进行购买并扣减库存,没有提示库存不足。假如现在仅存有一件商品,3人同时购买,三个线程同时执…...
Jenkins自动化部署一个Maven项目
Jenkins自动化部署 提示:本教程基于CentOS Linux 7系统下进行 Jenkins的安装 1. 下载安装jdk11 官网下载地址:https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html 本文档教程选择的是jdk-11.0.20_linux-x64_bin.tar.g…...
K8S1.23.5部署(此前1.17版本步骤囊括)及问题记录
应版本需求,升级容器版本为1.23.5 kubernetes组件 一个kubernetes集群主要由控制节点(master)与工作节点(node)组成,每个节点上需要安装不同的组件。 master控制节点:负责整个集群的管理。 …...
基于java web的中小型人力资源管理系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...
Python学习笔记--Python关键字yield
原文:http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained 注:这是一篇 stackoverflow 上一个火爆帖子的译文 问题 Python 关键字 yield 的作用是什么?用来干什么的? 比如,我正在试图理解下面的代码: def node._get_child_candidates(self,…...
CF 850 C Arpa and a game with Mojtaba(爆搜优化SG)
CF 850 C. Arpa and a game with Mojtaba(爆搜优化SG) Problem - C - Codeforces Arpa and a game with Mojtaba - 洛谷 思路:显然对于每一种质因子来说操作都是独立的 , 因此可以考虑对于每一种质因子求当前质因子的SG &#…...
kafka分布式安装部署
1.集群规划 2.集群部署 官方下载地址:http://kafka.apache.org/downloads.html (1)上传并解压安装包 [zhangflink9wmwtivvjuibcd2e package]$ tar -zxvf kafka_2.12-3.3.1.tgz -C ../software/(2)修改解压后的文件…...
[云原生2.] Kurbernetes资源管理 ---- (陈述式资源管理方式)
文章目录 1. K8s管理资源的方法类别1.1 陈述式资源管理方式1.2 声明式资源管理方式1.3 GUI式资源管理方法 2. 陈述式资源管理方式2.1 命令行工具 ---- Kubelet2.1.1 简介2.1.2 特性2.1.3 kubelet拓展命令2.1.4 kubectl基本语法2.1.5 Kubectl工具的自动补全 2.2 k8s Service 的类…...
java:IDEA中的Scratches and Consoles
背景 IntelliJ IDEA中的Scratches and Consoles是一种临时的文件编辑环境,用于写一些文本内容或者代码片段。 其中,Scratch files拥有完整的运行和debug功能,这些文件需要指定编程语言类型并且指定后缀。 举例:调接口 可以看到…...
华为 Mate 60 Pro 拆解:陆制零件比率上升至47% | 百能云芯
近日,日经新闻联合研究公司Fomalhaut Techno Solutions对华为 Mate 60 Pro 进行了拆解,揭示了这款于8月发布的新型智能手机的成本结构。拆解结果显示,该手机的国产零部件比例达到了47%,相较于三年前的 Mate 40 Pro,提高…...
ZBrush 2024(三维数字雕刻软件)
ZBrush是一款Mac数字雕刻软件,它具有以下功能: 雕刻工具:ZBrush的雕刻工具非常强大,可以让用户在3D模型上进行雕刻,就像使用传统雕塑工具一样。高精度模型创建:ZBrush可以创建高精度的3D模型,适…...
wpf devexpress 排序、分组、过滤数据
这个教程示范在GridControl如何排序数据,分组数据给一个行创建一个过滤。这个教程基于前一个教程。 排序数据 可以使用GridControl 排序数据。这个例子如下过滤数据对于Order Date 和 Customer Id 行: 1、对于Order Date 和 Customer Id 行指定Colum…...
使用Badboy录制生成 JMeter 脚本
JMeter是一款在国外非常流行和受欢迎的开源性能测试工具,像LoadRunner 一样,它也提供了一个利用本地Proxy Server(代理服务器)来录制生成测试脚本的功能,但是这个功能并不好用。所以在本文中介绍一个更为常用的方法——…...
V10 桌面版、服务器版系统加固
V10 桌面版、服务器版系统加固 一、 文档说明 本文档中涉及的加固方法主要包括:密码策略配置、防火墙规 则配置、禁用高风险服务等。 二、 V10 桌面版系统加固 2.1 密码策略配置 密码策略包括密码老化控制策略和密码复杂度策略。密码老化 控制策略需要配置/etc…...
mtgsig1.2简单分析
{"a1": "1.2", # 加密版本"a2": new Date().valueOf() - serverTimeDiff, # 加密过程中用到的时间戳. 这次服主变坏了, 时间戳需要减去一个 serverTimeDiff(见a3) ! "a3": "这是把xxx信息加密后提交给服务器, 服主…...
场景交互与场景漫游-osgGA库(5)
osgGA库 osgGA库是OSG的一个附加的工具库,它为用户提供各种事件处理及操作处理。通过osgGA库读者可以像控制Windows窗口一样来处理各种事件 osgGA的事件处理器主要由两大部分组成,即事件适配器和动作适配器。osgGA:GUIEventHandler类主要提供了窗口系统的…...
Leetcode -1
Leetcode Leetcode -521.最长特殊序列Leetcode - 541.反转字符串Ⅱ Leetcode -521.最长特殊序列 题目:给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列的长度。如果不存在,则返回 - 1 。 「最长特殊序列」 定义如下࿱…...
系列四、JVM的内存结构【本地接口(Native Interface)】
一、组成 本地接口由本地方法栈(Native Method Stack)、本地方法接口(Native Interface)、本地方法库组成。 二、本地接口的作用 本地接口的作用是融合不同的编程语言为Java所用,它的初衷是融合C/C程序,Jav…...
大型语言模型中的幻觉研究综述:原理、分类、挑战和未决问题11.15+11.16+11.17
大型语言模型中的幻觉研究综述:原理、分类、挑战和未决问题11.15 摘要1 引言2 定义2.1 LLM2.3 大语言模型中的幻觉 3 幻觉的原因3.1 数据的幻觉3.1.1 有缺陷的数据源3.1.2 较差的数据利用率3.1.3 摘要 3.2 来自训练的幻觉3.2.1训练前的幻觉3.2.2来自对齐的幻觉3.2.3…...
redis悲观锁和乐观锁
redis悲观锁 Redis加锁命令分有INCR、SETNX、SET 一、INCR锁 key不存在时,key的值会先被初始化为0,其它用户在执行INCR操作进行加一, 如果返回的数大于1,说明这个锁正在被使用当中,通常用在同时只能有一个人可以操作某…...
前端项目练习,首页退出登录功能,清除token --点击事件 quitFn
<el-menu-item index"2" click"quitFn"><i class"el-icon-switch-button">退出</i> </el-menu-item>quitFn() {// 为了让用户体验更好,来个确认提示框this.$confirm("确认退出登录吗?退出登…...
nodejs+vue杰和牧场管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计
系统涉及的对象是奶牛。 系统使用员工有管理员和普通员工。 管理员有修改的权限,普通员工没有。系统包含新闻功能,最好是有个后台管理,在后台输入新闻标题和内容,插入图片,在网页上就可以展示。最好再有个轮播图。 新闻…...
基于STM32的蓝牙低功耗(BLE)通信方案设计与实现
蓝牙低功耗(Bluetooth Low Energy,简称BLE)是一种能够在低功耗环境下实现无线通信的技术。在物联网应用中,BLE被广泛应用于传感器数据采集、健康监测设备、智能家居等领域。本文将基于STM32微控制器,设计并实现一个简单…...
qt 重载信号,使用““方式进行connect()调用解决方案
问题 在Qt中,重载的信号默认是无法使用&这种方式调用的。 因为&只能绑定到一个具体的信号,而重载的信号名称相同,编译器无法确定要绑定哪一个信号。 解决方案 如果非要使用&绑定重载的信号,可以使用函数指针进行转…...
阿里云+宝塔部署项目(Java+React)
阿里云服务器宝塔面板部署项目(SpringBoot React) 1. 上传所需的文件到服务器 比如jdk包和java项目的jar:这里以上传jar 为例,创建文件夹,上传文件; 在创建的文件夹下上传jar包 上传jdk 2. 配置jdk环境 3.…...
Linux_系统信息_uname查看内核版本、内核建立时间、处理器类型、顺便得到操作系统位数等
1、uname --help 使用uname --help查看uname命令的帮助信息 2、uname -a 通过上面的help就知道-a选项显示全部内容时的含义了。 内核名是Linux主机名是lubancat,如果想看主机名可以使用命令hostname;内核版本是Linux 4.19.232,建立时间为2…...
screen中conda激活环境后登录jupyter notebook导入包提示找不到,但是在命令行中就可以导入包
问题:screen中conda激活环境后登录jupyter notebook导入包提示找不到,但是在命令行中就可以导入包 解决方法: screen可能有bug,当在screen中conda激活环境后登录jupyter notebook出现问题,import torch提示没有安装好…...
基于SSM的中小型企业财务管理设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
工厂模式之简单工厂模式(常用)
工厂模式的分类 简单工厂模式工厂方法模式抽象工厂模式 简单工厂模式 简单工厂模式又称为静态工厂模式,实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。简单工厂模式的…...
Kafka入门教程与详解(一)
Kafka入门教程与详解(一) 一、Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务。消息传送依赖于大量支持组件,这些组件负责处理连接服务、消息的路由和传送、持久性、安全性以及日志记录。消…...
GoFrame学习随便记1
用Yii1.1中典型的 blog 项目作为例子来学习Web应用应该不错。数据库 sqlite3,windows下可以下载 sqlite-tools-win-x64-*** (https://www.sqlite.org/download.htm),把下载的几个exe放到 %GOPATH%\bin 目录下,而该目…...
最新自动定位版本付费进群系统源码
更新内容: 1.在网站首页增加了付款轮播功能。 2.新增了城市定位功能,方便用户查找所在城市的相关信息。 3.对域名库及支付设置进行了更新和优化。 4.增加了一种图模板设置模式,简化了后台模板设置流程。 5.此外还进行了前后台的其他优化…...
freeswitch的一个性能问题
概述 freeswitch是一款简单好用的VOIP开源软交换平台。 在fs的使用过程中,会遇到各种各样的问题,各种问题中,性能问题是最头疼的。 最近在测试某些场景的时候,压测会造成fs的内存占用持续升高,并在达到某个临界点的…...
各机构如何加强网络渗透、“渗透”防御
数据渗透,例如黑客攻击和“渗透”,或未经授权的信息传输。 联邦调查局、国家安全局以及网络安全和基础设施安全局最近的联合报告证明,网络安全仍然是当今国防部门面临的两个最大的网络威胁。 所谓的零日攻击尤其有害,因为组织在…...
Docker命令 常用中间件运维部署,方便构建自己服务
Tips:记录了如何安装不同中间件的Docker命令,帮助大家更方便的搭建自己服务,会不定期更新。 MySQL # Mysql 5版本: docker run -d -p 3306:3306 --privilegedtrue \ -v /itholmes/mysql/log:/var/log/mysql \ -v /itholmes/mysql…...
Android——gradle构建知识片-散装版
一、Gradle - Plugins插件库地址 Gradle - Plugins插件库地址https://plugins.gradle.org/ 二、将自己的代码Android Library发布到仓库Bintray、JCenter、JitPack 放弃JitPack,发布Android Library到Bintray、JCenter - 简书Bug:升级到gradle tools …...
3.3 Windows驱动开发:内核MDL读写进程内存
MDL内存读写是一种通过创建MDL结构体来实现跨进程内存读写的方式。在Windows操作系统中,每个进程都有自己独立的虚拟地址空间,不同进程之间的内存空间是隔离的。因此,要在一个进程中读取或写入另一个进程的内存数据,需要先将目标进…...