MCS-51单片机驱动步进电机的程序设计

发布者:创意旅程最新更新时间:2017-10-12 来源: eefocus关键字:MCS-51  单片机  驱动步进电机 手机看文章 扫描二维码
随时随地手机看文章

  1.实验设计


 定时器1于方式1,16位,10ms中断一次 

    40H 10ms计数单元


    41H 秒计数单元 

    42H 分计数单元


    43H 时计数单元


 定时方式1为10MS:THX=0ECH,TLX=78H 

     方式0为10MS: THX=63H,TLX=18H

步进电机驱动实验  定时中断程序


正转后反转,显示计数值


步进电机按三相六拍的工作方式运动


           X轴


        C    B    A 

      P1.2 P1.1 P1.0


用键盘上方的发光二极管(3FH)对应指示:


        D2   D1   D0 

 正转:A-AB-B-BC-C-CA-A

 反转:A-CA-C-BC-B-AB-A

2.参考程序


; 42H,41H为BCD码计数单元


;内存分配


TCTER   EQU     40H     ;10ms计数单元


CTCL    EQU     44H     ;进给步数


CTCH    EQU     45H     ;最大9999步


STAT    EQU     52H


SMOUT   EQU     55H 

; 位地址,工作标志


XP      EQU     02H     ;X轴正反转


XW      EQU     04H     ;工作标志

DISP    EQU     0DE00H  ;显示子程序入口


    ORG     0000H


START:  AJMP    MAIN


    ORG     000BH   ;定时器0中断服

    AJMP    T0INT   ;务程序入口

    ORG     0030H


MAIN:   MOV     R0,#39H ;显示缓冲区初始化


MAIN_0: MOV     @R0,#0


    INC     R0

    CJNE    R0,#44H,MAIN_0  

    MOV     STAT,#01

    MOV     SMOUT,#01H


    MOV     CTCL,#50H       ;150步

    MOV     CTCH,#01H 

    SETB    XW 

    CLR     XP 

    MOV     TMOD,#01H

    MOV     IE,#10000010B


    MOV     TH0,#0ECH;10ms:EC78H

    MOV     TL0,#78H


    SETB    TR0


MAIN_1: JNB     XW,MAIN_2


    ACALL   CONT    ;主程序循环


    SJMP    MAIN_1


MAIN_2: CLR     TR0     ;关定时器

MAIN_3: LCALL   DISP


    SJMP    MAIN_3 

;


CONT:   MOV     3FH,SMOUT


    LCALL   DISP    ;控制程序


;       MOV     P1,SMOUT


    RET

;


;定时器0中断服务程序


T0INT:  MOV     TH0,#0ECH


    MOV     TL0,#78H


    PUSH    ACC     ;保护现场


    PUSH    PSW 

    PUSH    01H


    INC     TCTER 

    MOV     A,TCTER


    CJNE    A,#50,T0INTR


    MOV     TCTER,#0

    ACALL   XPD0

    ACALL   COUNT 

T0INTR: POP     01H


    POP     PSW     ;恢复现场

    POP     ACC

    RETI


COUNT:  JB      XP,COUNT0


    MOV     A,41H   ;个十单元


    INC     A


    DA      A


    MOV     41H,A


    JNZ     COUNT1


    CLR     C


    MOV     A,42H   ;百千单元


    INC     A


    DA      A


    MOV     42H,A

    SJMP    COUNT1


COUNT0: MOV     A,41H   ;个十单元


    ADD     A,#99H


    DA      A 

    MOV     41H,A


    CJNE    A,#99H,COUNT2


    MOV     A,42H   ;百千单元


    ADD     A,#99H 

    DA      A

    MOV     42H,A


    SJMP    COUNT2 

COUNT1: MOV     A,42H


    XRL     A,CTCH


    JNZ     TINT0


    MOV     A,41H


    XRL     A,CTCL


    JNZ     TINT0 

    SETB    XP

    SJMP    TINT0


COUNT2: MOV     A,42H

    JNZ     TINT0


    MOV     A,41H 

    JNZ     TINT0 

    CLR     XW

;


TINT0:  MOV     A,41H   ;第一拆字


    ANL     A,#0FH


    MOV     39H,A 

    MOV     A,41H


    ANL     A,#0F0H

    SWAP    A


    MOV     3AH,A

    MOV     A,42H   ;第二拆字


    ANL     A,#0FH

    MOV     3BH,A

    MOV     A,42H

    ANL     A,#0F0H

    SWAP    A

    MOV     3CH,A

    MOV     3DH,#10H        ;空格

    JB      XP,TINT1


    MOV     3EH,#0AH        ;正转


    RET


TINT1:  MOV     3EH,#0BH        ;反转


    RET 

;步进电机驱动处理

XPD0:   MOV     R1,#STAT

    JB      XP,XPD1


    INC     @R1     ;正转


    CJNE    @R1,#07H,XPD2


    MOV     @R1,#1

    SJMP    XPD2


XPD1:   DEC     @R1     ;反转 

    CJNE    @R1,#00H,XPD2 

    MOV     @R1,#06


XPD2:   MOV     A,@R1 

    ADD     A,#2 

    MOVC    A,@A+PC 

    MOV     SMOUT,A


    RET


SM_TAB: DB      03H,01H,05H

    DB      04H,06H,02H


关键字:MCS-51  单片机  驱动步进电机 引用地址:MCS-51单片机驱动步进电机的程序设计

上一篇:用单片机定时器编制电子时钟程序实例
下一篇:mcs51单片机计数器/定时器工作方式3 编程举例

推荐阅读最新更新时间:2024-03-16 15:40

基于89C52单片机和MB90092芯片实现视频图像叠加应用系统的设计
1、引言 随着监控现场的扩展和探头数量增多,在监控端的图像显示系统中,经常需要接收外部数据并把相关的信息实时地连同图像显示在监控屏幕上,以便使用人员知道该图像信息以何种方式来自何处及与之相关的信息,时间,地区徽标,实时数据显示在屏幕上。但是对于监控人员而言,监控端遭到攻击是一个值得担心的问题,因此,改善技术方案和增强安全性是对目前状况提出的一种迫切要求。监控人员希望所看到的是得到验证的真实图像,无论时间、环境、探头位置、角度和焦距都必须得到保证。在远程监控场合,有关重要部门的监控者往往对于接收图像的实时性和真实性不完全放心,尤其是如果对高科技对象实时监控,那么,当监控者因故临时离开监控台一段时间后,由于不知道被监控方是否对监控系统
[单片机]
基于89C52<font color='red'>单片机</font>和MB90092芯片实现视频图像叠加应用系统的设计
51单片机使用槽型光耦测速模块
【测速模块】 模块资料 我使用的是窄体的槽型光耦测速模块,如下图所示: 接线 1、VCC接电源正极3.3V-5V 2、GND接电源负极 3、D0(TTL开关信号输出)接单片机外部中断 4、A0无效 使用说明 1、模块槽中无遮挡时,接收管导通,模块DO输出低电平,遮挡时,DO输出高电平; 2、DO输出接口可以与单片机10口直接相连,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。 3、模块DO可与继电器相连,组成限位开关等功能,也可以与有源蜂鸣器模块相连,组成报警器。 【单片机程序】 我使用的是传统的89C51单片机,外部晶振为11.0592M。以下程序仅提供思路,省去无关的定义内容等等
[单片机]
51<font color='red'>单片机</font>使用槽型光耦测速模块
单片机控制DAC0832输出锯齿波
DAC 0832:DAC0832是8位全MOS中速 D/A 转换器,采用R—2RT 形 电阻 解码 网络,转换结果为一对差动 电流 输出,转换时间大约为1us。使用单 电源 +5V―+15V 供电。参考 电压 为-10V-+10V。在此我们直接选择+5V 作为参考电压。DAC0832 有三种工作方式:直通方式,单缓冲方式,双缓冲方式;在此我们选择直通的工作方式,将XFER WR2 CS 管脚全部接数字地。管脚8 接参考电压,在此我们接的参考电压是+5V。我们在控制P0口输出数据有规律的变化将可以产生三角波,锯齿波,梯型波等波形了。 #include reg51.h sbit wela=P2^7; // 数码管 位选 sbi
[单片机]
基于AT89C55单片机和PCA82C250实现分布式通信网络的设计
1 概述 用于多机间数据通信的通信物理层接口是分布式测控系统数据共享的工作基础,传统的以单片机为核心的分布式多机测控系统为简化通信物理层大多采用电流环或RS-485/RS-422总线。 电流环形式因较RS-485/RS-422总线形式连线复杂等原因已基本退出历史舞台。而RS-485总线接线形式较RS-422总线接线形式少了二极通信线且抗干扰能力增强,从而使接线形式更为简单、造价更低,因此,RS-485总线基本上独霸了以单片机为核心的分布式多机测控系统通信物理层的应用。但随着科技的发展,RS-485总线的总线效率低、系统实时性差、通讯可靠性低、后期维护成本高、网络工程调试复杂、传输距离不理想、单总线可挂接节点少、应用不灵活等缺点
[单片机]
基于AT89C55<font color='red'>单片机</font>和PCA82C250实现分布式通信网络的设计
基于ARM7的LPC21XX系列微控制器在BAS中的应用
1. 楼宇自动化系统概述      楼宇自动化系统(Building Automation System,简称BAS),实际上是一套中央监控系统。它通过对建筑物(或建筑群)内的各种电力设备、空调设备、冷热源设备、防火、防盗设备等进行集中监控,达到在确保建筑内环境舒适、充分考虑能源节约和环境保护的条件下,使建筑内的各种设备状态及利用率均达到最佳的目的。       图1 BAS的组成      图1是BAS的组成示意图,其中的中央控制室(数据中心)主要包括中央处理机(一台微型计算机、存储器、磁带机和接口装置)、外围设备(显示终端、键盘、打印机)和不间断电源三部分。      传感器是指装设在现场的各种敏感元件、触点和限位开关、以及
[单片机]
基于ARM7的LPC21XX系列<font color='red'>微控制器</font>在BAS中的应用
ATMEA48单片机太阳能光伏板
单片机源程序如下: //晶振1M #include iom48v.h #include macros.h /******************************************************************** 数据类型定义 *********************************************************************/ #define uchar unsigned char #define uint unsigned int #define LED1_K PORTB|=BIT(0) #define LED1_G PORTB&=~B
[单片机]
ATMEA48<font color='red'>单片机</font>太阳能光伏板
单片机与DSP结合的dsPIC芯片
摘要:介绍一款结合16位单片机控制特点和DSP高速运算优点的新型芯片——dsPIC,对比分析它与PIC16F87X系列单片机之间结构功能的差异。 关键词:单片机 PIC DSP dsPIC 微电子技术大规模甚至超大规模集成电路技术的发展日新月异,计算机芯片技术获得了高速发展。构成这样单片机,亦是不断更新换代,朝着高速化、通用化、不断专用化和提高性价比以及模拟/数字混合集成等方向发展。 熟悉单片机的用户,对于PIC已不再陌生了。由美国Microchip公司推出的PIC系列单片机产品,采用了RISC结构,不但解决了传统冯%26;#183;诺依曼结构单片机的“瓶颈”问题,并以高速度、低电压、低功耗、大电流驱动能力和低价位OTP及F
[单片机]
瑞萨推出集成STT-MRAM的MCU测试芯片,瞄准物联网与边缘智能
瑞萨电子最近宣布,他们已成功研发出自旋转移矩磁阻随机存取存储器(STT-MRAM)的测试芯片。这款芯片以其卓越的读写性能,有望为性能要求严苛的微控制器(MCU)提供传统闪存芯片的有力替代品。 随着物联网(IoT)和人工智能(AI)技术的飞速发展,端点设备中的MCU必须提供比以往更高的性能,以满足日益增长的需求。瑞萨电子在谈及他们在内存技术方面的工作时指出:“高性能MCU的CPU时钟频率已达到数百兆赫兹。为了进一步提升性能,我们需要提高嵌入式非易失性存储器的读取速度,以尽量缩小它们与CPU时钟频率之间的差距。” STT-MRAM,通常简称为MRAM,是一种新型存储器技术,旨在弥合非易失性但相对较慢的闪存与易失性但快速的动态
[单片机]
瑞萨推出集成STT-MRAM的<font color='red'>MCU</font>测试芯片,瞄准物联网与边缘智能
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved