IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 设计分享|基于单片机的步进电机(汇编) -> 正文阅读

[嵌入式]设计分享|基于单片机的步进电机(汇编)

具体实现功能

具体功能:

设置三个按键,第一个按键按下电机正转,第二个按键按下电机反转,第三个按键按下电机停止。

设计介绍

单片机介绍

51单片是一种低功耗、高性能CMOS8位微控制器,具有?8K?在系统可编程Flash?存储器。在单芯片上,拥有灵巧的8?位CPU?和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32?位I/O?口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16?位?定时器/计数器,一个6向量2级中断结构,全双工串行口。另外?STC89X51?可降至0Hz?静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU?停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。

设计思路

文献研究法:搜集整理相关单片机智能手环系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机智能手环系统的现状、存在问题和解决办法;

比较分析法:比较不同单片机智能手环系统的具体原理,以及同一类传感器性能的区别,分析单片机智能手环系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

设计内容

仿真图

本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。

程序

本设计由汇编语言编写,具体如下:

 K1 EQU P0.0        K2 EQU P0.1       K3 EQU P0.2       ORG 0000H       LJMP MAIN       ORG 0100HMAIN:MOV SP,50HSTOP:MOV P1,#0FFH  ;步进电机停转LOOP:JNB K1,MZZ2   ;是否K1按下,是则转正转模块      JNB K2,MFZ2   ;是否K2按下,是则转反转模块      JNB K3,STOP1  ;是否K3按下,是则转步进电机停转      JMP LOOP      ;循环STOP1:ACALL DELAY  ;按K3键,消除抖动      JNB K3,$     ;K3放开否?      ACALL DELAY  ; 放开消除抖动      JMP  STOP    ; 步进电机停转MZZ2:ACALL DELAY  ;按K1键,消除抖动      JNB K1,$     ;K1放开否?      ACALL DELAY  ; 放开消除抖动      JMP  MZZ    ; 转步进电机正转模块MFZ2:ACALL DELAY  ;按K2键,消除抖动      JNB K2,$     ;K2放开否?      ACALL DELAY  ; 放开消除抖动      JMP  MFZ    ; 转步进电机反转模块MZZ: MOV R0,#00H  ;置表初值MZZ1:MOV A,R0         MOV DPTR,#TABLE ;表指针     MOVC A,@A+DPTR  ;取表代码     JZ MZZ  ;是否取到结束码?     MOV P1,A       ;从P1输出,正转     JNB K3,STOP1   ; 是否K3按下,是则转步进电机停转     JNB K2,MFZ2    ; 是否K2按下,是则转反转模块     ACALL DELAY    ; 步进电机转速     INC  R0        ;取下一个码     JMP  MZZ1           RET;步进电机反转模块程序如下所示。MFZ:MOV R0,#05    ; 反转到TABLE表初值MFZ1:MOV A,R0         MOV DPTR,#TABLE ;表指针     MOVC A,@A+DPTR  ;取表代码     JZ  MFZ         ;是否取到结束码?     MOV P1,A       ;从P1输出,反转     JNB K3,STOP1   ; 是否K3按下,是则转步进电机停转     JNB K1,MZZ2    ; 是否K1按下,是则转正转模块     ACALL DELAY    ; 步进电机转速     INC  R0        ;取下一个码     JMP  MFZ1           RETDELAY:MOV R5,#40  ;延时20msDEL1:MOV R6,#248     DJNZ R6,$     DJNZ R5,DEL1     RET ;;控制代码表:TABLE:DB 0FCH,0F9H,0F3H,0F6H;;正转      DB 00H ;               ;正转结束码      DB 0F7H,0F3H,0FBH,09H;;反转      DB 0FDH,0FCH,0FEH,0F6H;      DB 00H;                ;反转结束码      END                   ;程序结束

更多资料欢迎关注微信公众号“电子工程师成长日记”!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 12:03:02  更:2021-10-19 12:04:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:19:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码