您好!欢迎进入无锡惠斯通电机科技有限公司官网 !

    联系我们
    服务热线
    13901635301
    联系人:赵先生
    手机:13901635301
    电话:0523-83765066
    地址:江苏省兴化市张郭镇刘西工业园区民营路168号
    两相步进电机ifCNT5==0//键盘扫
    浏览:467 发布日期:2020-03-05 01:25:53

      两相步进电机控制系统设计._幼儿读物_幼儿教育_教育专区。两相步进电机控制系统设计.

      综合课程设计 题目 学院 专业 班级 学生姓名 指导教师 两相步进电机 计信学院 10 自动化 2班 文远熔 2012 年 12 月 28 日 1 两相步进电机课程设计报告 步进电机是一种进行步进运动的机电执行元件,它广泛应用于工业机械的数字控 制,为使系统的可靠性、通用性、可维护性以及性价比,根据控制系统功能要求及步进 电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于 8051 单片机的四 相步进电机的开环控制系统。控制系统通过单片机存储器、I/O 接口、中断、键盘、LED 显 示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电 路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。为实现单片机 控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段 时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展, 单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很 大的提高。人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、 各种自动控制阀、各种工具,还有机器人等机械装置。此外作为执行元件,步进电机是机电 一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的 发展,它的需要量与日俱增,在各个国民经济领域都有应用。步进电机是机电数字控制系统 中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中 得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强, 价格低的步进电机控制驱动器提供了先进的技术和充足的资源。 关键字: 步进电机 单片机 2 1 设计内容 根据给定的任务要求选择合适的单片机和其他电子元件,进行系统硬件电路 设计和软件编程,根据系统制作并调试电路板,使之实现任务要求。两相步进电 机,步距角为 3 度,编程实现下列功能: (1) 按键,步进电机按一定速度正转。 (2) 按键,步进电机按一定速度反转。 (3) 任何时候按一下“STOP”键,步进电机停止转动。 (4) 点动:按键,步进电机转过 3 度步距角;再按,再转过 3 度步距角…… (5) 用 1602 显示屏显示转过的角度。 (6) 用 L298 芯片驱动。 2 步进电机原理 2.1 步进电机原理及控制技术 步进电机一般分为永磁式(PM)、反应式(VR)和混合式(HB)3种类型。目前, 二相混合式步进电机的应用为广泛。图5为二相六线式步进电机的工作原示意 图。由图可知,它有2个绕组,且每个绕组都有一个中间抽头。因此,二相步进 电机也就有了6根引线。当电机中的绕组通电后,其定子磁极产生磁场,将转子 吸合到相应的磁极处。若绕组在控制脉冲的作用下,通电方向使定子在顺时针方 向轮流产生磁场,则电机可顺时针转动;通电方向使定子在逆时针方向轮流产生 磁场,则电机可逆时针转动。控制脉冲每作用一次,通电方向就变化一次,使电 机转动一步,即一个步距角。脉冲频率越高,电机转动也就越快。 本次课设所使用的二相步进电机需要采用双极性的接法。双极性则是指步进 电机线圈中电流的流动方向不是单向的,即绕组线圈中的电流有时沿某一方向流 动,有时按相反方向流动。步进电机的双极性驱动电路如图2-5所示它使用8个晶 体管来驱动2组相位。双极性驱动电路可以同时驱动四线式或六线式的二相步进 电机。对于二相六线个绕组的中间抽头Vdd1和Vdd2都悬空。 根据步进电机的工作原理,当控制器给驱动器发出脉冲信号时,驱动器经过环形 分配器和功率放大后,电机绕组通电的顺序为 AA ? BB ? AA ? BB ,其4个状态 按顺序周而复始进行变化,电机转动; 若通电时序就变为 BB ? AA ? BB ? AA 时,电机就逆向转动。步进电机运转时,当达林顿管Q1和Q4导通时,线 向为A→ A ;当林顿管Q2和Q3导通时,线圈中电流方向为 A →A。可见,步进电机线 圈中的电流方向在运转过程中是不断改变的。 (1) 图4-21 二相步进电机原理图 (2) 步进电机的速度控制 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉 冲的间隔越短,步进电机就转得越快。调整送给步进电机的脉冲频率,就可以对步进电机进 行调试。 (3) 步进电机的起停控制 步进电机由于其电气特性,运转时会有步进感。为了使电机转动平滑,减小振动,可在 步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,跳过 电机运行的平稳性。在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合 适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。 (4) 步进电机的加减速控制 在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于 leizi888 2010 惯性跟不上电信号的变化,这时就会产生堵转和失步现象。所有步进电机在启动时,必须有 加速过程,在停止时波形有减速过程。理想的加速曲线一般为指数曲线,步进电机整个降速 过程频率变化规律是整个加速过程频率变化规律的逆过程。选定的曲线比较符合步进电机升 降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间, 并可防止失步和过冲现象。在一个实际的控制系统中,要根据负载的情况来选择步进电机。 步进电机能响应而不失步的步进频率称为“启动频率”,于此类似“停止频率”是指系 统控制信号突然关断,步进电机不冲过目标位置的步进频率。电机的启动频率、停止频 率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速 控制。加速过程有突然施加的脉冲启动频率 f0。步进电机的启动频率(突跳频率)一 般为 0.1 KHz 到 3~4KHz ,而运行频率则可以达到 N*102KHz ,以超过启动频率 的频率直接启动,会产生堵转和失步的现象。在一般的应用中,经过大量实践和反复验证, 频率如按直线上升或下降,控制效果就可以满足常规的应用要求。用 PLC 实现步进电机的 加 P 减速控制,实践上就是控制发脉冲的频率。加速时,使脉冲频率增高,减速则相反。 如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中断的设定值。速度从 v1~v2 变化,如果是线性增加,则按给定的斜率加 P 减速;如果是突变,则按阶梯加速处 理。在此过程中要处理好两个问题: 4 ①速度转换时间应尽量短。为了缩短速度转换的时间,可以采用建立数据表的方法。 结合各曲线段的频率和各段间的阶梯频率,就可以建立一个连续的数据表,并通过转换程序 将其转换为定时初始表。通过在不同的阶段调用相应的定时的初值,就可控制电机的运行。 定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。 ②保证控制速度的性。要从一个速度准确达到另一个速度,就要建立一个校验机制, 以防超过或未达到所需速度。 (5) 步进电机的换向控制 步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内在换向,以免产生较 大的冲击而损坏电机。换向信号一定要在前一个方向的后一个脉冲,结束后以及下一个方 向的个脉冲前发出。对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列的均匀度 及高低电平方式。在某一高速下的正、反向切换实质包含了降速→换向→加速 3 个过程。 步进电机有如下特点: ① 步进电机的角位移与输入脉冲数严格成正比,因此当它转一转后,没有累计误差, 具有良好的跟随性。 ② 由步进电机与驱动电路组成的开环数控系统,既非常方便、廉价,也非常可靠。同 时,它也可以有角度反馈环节组成高性能的闭环数控系统。 ③ 步进电机的动态响应快,易于启停、正反转及变速。 ④ 速度可在相当宽的范围内平滑调节,低速下仍能保证获得很大的转矩,两相步进电机因此一般可 以不用减速器而直接驱动负载。 ⑤ 步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。 3 硬件电路设计 3.1 系统总体设计框图 按键输入 预置数 控制 清零 电源电路 AT89C51 单片机系 统控制器 脉冲序列 方向控制信号 驱动电路 功率 放大 信号 步进电机 同步显示角度及转速 数码管显示 3.2 LCD1602 显示器 3.2.1 液晶显示器各种图形的显示原理 线段的显示 点阵图形式液晶由 M×N 个显示单元组成,假设 LCD 显示屏有 64 行,每行有 128 列, 5 每 8 列对应 1 字节的 8 位,即每行由 16 字节,共 16×8=128 个点组成,屏上 64×16 个显 示单元与显示 RAM 区 1024 字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。 例如屏的行的亮暗由 RAM 区的 000H——00FH 的 16 字节的内容决定,当(000H)=FFH 时,则屏幕的左上角显示一条短亮线FFH)=FFH 时,则屏幕的右下 角显示一条短亮线EH)=00H, (00FH)=00H 时,则在屏幕的顶部显示一条由 8 段亮线 条暗线组成的虚线。这就是 LCD 显示的基本原理。 字符的显示: 用 LCD 显示一个字符时比较复杂,因为一个字符由 6×8 或 8×8 点阵组成,既要找到 和显示屏幕上某几个位置对应的显示 RAM 区的 8 字节,还要使每字节的不同位为“1”,其 它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符 发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD 上开始显示的行列号及每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该字符 对应的代码即可。 汉字的显示: 汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用 字模提取软件),每个汉字占 32B,分左右两半,各占 16B,左边为 1、3、5……右边为 2、 4、6……根据在 LCD 上开始显示的行列号及每行的列数可找出显示 RAM 对应的地址,设 立光标,送上要显示的汉字的字节,光标位置加 1,送第二个字节,换行按列对齐,送 第三个字节……直到 32B 显示完就可以 LCD 上得到一个完整汉字 3.2.2`引脚功能说明 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接口说明如表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 3.2.3 其与单片机的连接如下图所示 6 1602 液晶模块内部的控制器共有 11 条控制指令,如下表所示 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 00000000 1 2 光标返回 0 00000001 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开/关控制 0 0 0 0 0 0 1 DC B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 写数到 CGRAM 或 10 DDRAM) 要写的数据内容 10 从 CGRAM 或 DDRAM 读 11 数 1 读出的数据内容 1 3.3 80C51 单片机 外部中断 中断控制 CPU 4K字节 ROM 128字节 RAM 定时/计数器1 定时/计数器0 计数器输入 振荡电路 XTAL1 OSC XTAL2 C1 C2 EA RESET PSEN ALE 总线 TXD RXD 地址/数据 总线 时钟信号控制电路 如图 3.3 所示,89C51 芯片内部有一个高增益反相放大器,用于构成振荡器。 反相放大器的输入端为 XTAL1,输出端为 XTAL2,两端跨接石英晶体及两个电容 就可以构成稳定的自激振荡器。电容 C1 和 C2 可以稳定频率并对振荡频率有微调 作用。振荡脉冲频率为 0 到 24MHz。振荡信号从 XTAL2 端输入到片内的时钟 发生器上。 图 3.3 时钟信号控制电路 3.5 驱动电路 如图3.5所示,驱动电路用 L298来驱动步进电机,L298 所出产的双全桥步 进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相 和四相步进电 机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个 H-Bridge 的高电压、大电流双全桥式驱动器,接收标准 TTL 逻辑准位信号,可驱动46V、 2A 以下的步进电机,两相步进电机且可以直接透过电源来调节输出电压;此芯片可直接由单 8 片机的 IO 端口来提供模拟时序信号。 引脚功能说明: 图 3.5 驱动电路 引脚 Name Function 功能说明 1;15 Sense A; Sense B 电流监测端,1、15和 PowerSO 的2、19用法一样,SEN1、SEN2分别 为两个 H 桥的电流反馈脚,不用时可以直接接地 2;3 Out 1; Out 2 1Y1、1Y2输出端 4 VS 功率电源电压,此引脚与地必须连接100nF 电容器 5;7 Input 1; Input 2 1A1、1A2输入端,TTL 电平兼容 6;11 Enable A; Enable B TTL 电平兼容输入 1EN、2EN 使能端,低电平禁止输出 8 GND GND 地 9 VSS 逻辑电源电压。 此引脚与地必须连接100nF 电容器 10; 12 Input 3; Input 4 2A1、2A2 输入端,TTL 电平兼容 13; 14 Out 3; Out 4 2Y1、2Y2 输出端 监测引脚15 – N.C. Not Connected 空 3.6 显示电路 9 如图 3.6 所示,步进电机的转速显示是通过 1602 来实现的。1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶 模块。它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以 显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字 符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义 CGRAM,显示效果也不好)。 1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块 (显示字符和数字)。 1602 采用标准的 16 脚接口,其中: 第 1 脚:VSS 为电源地 第 2 脚:VCC 接 5V 电源正极 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度弱,接地 电源时对比度(对比度过高时会 产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。 第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选 择指令寄存器。 第 5 脚:RW 为读写信号线)时进行读操作,低电平(0)时进行 写操作。 第 6 脚:E(或 EN)端为使能(enable)端。 第 7~14 脚:D0~D7 为 8 位双向数据端。 第 15~16 脚:空脚或背灯电源。15 脚背光正极,16 脚背光负极。 3.7 键盘电路 本次设计要对步进电机实现正转、反转和点动等功能,所以设计了键盘按键 分别进行步进电机的“正转”、“反转”、两相步进电机“点动”和“停止”。 10 4 软件系统设计 4.1 主程序流程图 如图 4.1 是主程序流程图,初始化程序后,有键按下该按键对应值为 0,其 他按键则为 1 来进行按键的处理,并且进行控制步进电机的正反转及点动以及停 转。在处理案件的过程中,如有其他键按下,则退出该键的循环改为进入更改过 后的按键的处理程序然后调用显示程序显示转过的角度数。如此进行旋转和显 示。 开始 数码管显示 电机正转速 是 否 显示是否切换? 初始化单片机 否 是否启动? 是 正/反转? 否 是 设置转速电机开始 正向转动 设置转速电机开始 反向转动 是否 是否暂停? 否 11 是 是否暂停? 是 数码管显示电机反 转速 否 是 显示是否切换? 否 4.2 键盘处理 共设置 16 键, 0~9 数字键 设置电机转动转速 及相关参数。 EBTER/STOP 确认和暂停 DOP 点动 Z/F 控制电机正反转 BSELECT 设置位数选择 REST 复位键 5 Protues 仿真平台简介 Protues 软件是英国 Labcenter electronics 出版的 EDA 工具软件。它 不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它 是目前的仿真单片机及外围器件的工具。虽然目前国内推广刚起步, 但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用 12 的科技工作者的青睐,Protues 是一个能仿真模拟和数字电路,特别是能够仿 真单片机、ARM、DSP、FPGA 等的软件,它还能和 KEIL 软件在同一台机子实现联 调 Protues 可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SP I 调试器、I2C 调试器、信号发生器、模式发生器、交直流电压表、交直流 电流表。理论上同一种仪器可以在一个电路中随意的调用 PROTUES 不仅 可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。 前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难 以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在 相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路 连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于 PROTUES 提 供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、 提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了 培养学生实践精神、创造精神的平台。因此在不具备实验前可以利用 protues 进行仿线 仿线 课程设计总结 本系统主要研究了一种基于单片机的步进电机控制及驱动的电路设计。设计 采用 AT89C51 单片机作为控制模块的核心,利用单片机编程实现了对步进电机的 控制。由单片机产生的信号经 ULN2003A 芯片进行功率放大,驱动步进电机工作, 同时由数码管同步显示预置数和所转角度,由相应的按键实现预置转速、控制、 13 清零功能。 系统能够实现: (1) 预设步进电机转速; (2) 启动停止、正转反转等功能的基本控制; (3) 同步显示转过角度; (4) 步进电机处于停止状态时可以对预置数进行清零操作。 在系统设计过程中,力求硬件电路简单,充分发挥软件部分的优势,编程灵 活方便来满足系统的要求。通过实际测试表明本设计系统的性能优于传统步进电 机控制器,具有结构简单、可靠性高、实用性强、人机接口简单方便、性价比高 等特点。 本设计作品,就是单片机在智能化仪表方面的具体应用,充分体现了单片机 的优越之处。本论文,从硬件设计到软件设计,根据硬件的工作原理及设计原理, 对设计的设计方案做了仔细的分析。 8 程序源代码 #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int #define ink P3 #define LCDPORT P0 sbit RS=P2^0; sbit RW=P2^1; sbit E=P2^2; unsigned int buffer[32]; uchar buffer2[3]; uchar Point,KeyValue=16,NUM,s1,xc; 14 uchar code dc_s[9]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09,0x01}; unsigned char code ASCII[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39}; uint cnt,cnt1,dcc1; uchar dc,a,dcs; uint cnt,cnt1,an,dcc,dca,dcc1; uint ge,shi,bai,qian,wan; void DELAY(unsigned int N) { unsigned int i; for(i=0;iN;i++); } void WRITE_CMD(unsigned char CMD_BYTE) { LCDPORT=CMD_BYTE; RS=0; RW=0; E=1; _nop_(); E=0; _nop_(); } void WRITE_DAT(unsigned char DAT_BYTE) { LCDPORT=DAT_BYTE; RS=1; RW=0; E=1; _nop_(); E=0; _nop_(); } 15 void INIT(void) { WRITE_CMD(0x38); DELAY(1000); WRITE_CMD(0x06); DELAY(1000); WRITE_CMD(0x0F); DELAY(1000); WRITE_CMD(0x0c); DELAY(1000); WRITE_CMD(0x01); DELAY(1000); } void main(void) { TMOD=0x11; TH1=0xFC; //1ms time =0x18; ET1=1; TR1=1; TH0=0xfc; //10ms time =0x18; ET0=1; TR0=1; PT0=1; EA=1; buffer[3]=0x53; buffer[4]=0x50; buffer[5]=0x45; buffer[6]=0x45; 16 buffer[7]=0x44; buffer[9]=0x30; buffer[10]=0x30; buffer[11]=0x30; buffer[12]=0x2f; buffer[13]=0x4d; buffer[14]=0x49; buffer[15]=0x4e; buffer[24]=0x30; buffer[25]=0x30; buffer[26]=0x30; buffer[27]=0x30; buffer[28]=0x30; buffer[29]=0x30; buffer[30]=0x30; buffer[31]=0xdf; INIT(); s1=5; a=-1; cnt1=100; while(1) { if(KeyValue10) // 输入值 { NUM=KeyValue; KeyValue=16; switch(s1) { case 1: buffer[1]=ASCII[NUM]; 17 break; case 2: buffer[2]=ASCII[NUM]; break; case 3: buffer[9]=ASCII[NUM]; break; case 4: buffer[10]=ASCII[NUM]; buffer2[1]=NUM; break; case 5: buffer[11]=ASCII[NUM]; buffer2[2]=NUM; break; } } if(KeyValue==10) //位选 { KeyValue=16; s1--; NUM=0; } if(s1==3) s1=5; } switch(KeyValue) {case 15:if(a==-1) {if(dc==0) { ++dcs; if(dcs3) dcs=0; P1=dc_s[dcs]; dcc++; } 18 else { --dcs; if(dcs0) dcs=3; P1=dc_s[dcs]; dcc++; } KeyValue=16; } break; } } //键盘中断扫描// void T1_ISR(void) interrupt 3 { static unsigned char i,k,in,n,m; static unsigned char CNT=0,KeyCNT=0; TH1=0xFC; //1ms time =0x18; ink=0xf0; i++; if(i==16) { WRITE_CMD(0xc0); DELAY(1000); } if(i==32) { i=0; WRITE_CMD(0x80); DELAY(1000); 19 } WRITE_DAT(buffer[i]); if(CNT%5==0)//键盘扫描 { if(((P3&0xf0)!=0xf0)&&(KeyCNT==0)) KeyCNT++; switch(KeyCNT) {case 0: break; case 1:if((P3&0xf0)!=0xf0) {for(m=0;m4;m++) { ink=~(0x01m); for(n=0;n4;n++) { in=ink; in=in(4+n); if((in&0x01)==0){k=n+m*4;} } } KeyCNT++; } else KeyCNT=0; break; case 2:if((P3&0xf0)==0xf0) { KeyValue=k; KeyCNT=0; 20 } break; } } if(k==11) { buffer2[1]=0; buffer2[2]=0; buffer[10]=ASCII[0]; buffer[11]=ASCII[0]; buffer[30]=ASCII[0]; buffer[29]=ASCII[0]; buffer[28]=ASCII[0]; buffer[27]=ASCII[0]; buffer[26]=ASCII[0]; buffer[8]=0x30; buffer[24]=0x30; a=-1; dc=0; } if(k==13)//显示切换 { xc=~xc; k=16; } if(k==14)//方向切换 { dc=~dc; dcc1=0; if(dc==0) { buffer[8]=0x30; buffer[24]=0x30; } 21 else { buffer[8]=0x2d; buffer[24]=0x2d; } k=16; } if(KeyValue==12)//转速计算 { a=-a; if(a==1) { dcc1=0; cnt1=7500/(buffer2[2]+buffer2[1]*10); } KeyValue=16; } if(k==15) { buffer2[1]=0; buffer2[2]=0; buffer[10]=ASCII[0]; buffer[11]=ASCII[0]; if(a==-1) {if(dc==0) { ++dcs; if(dcs7) dcs=0; P1=dc_s[dcs]; dcc1++; } else { 22 --dcs; if(dcs1) dcs=8; P1=dc_s[dcs]; dcc1++; } k=16; } } CNT++; } //电机转速输出// void T0_isr()interrupt 1 { TH0=0xfc; TL0=0x18; if(++cntcnt1) return; cnt=0; if(dc==0) { if(a==1) { ++dcs; if(dcs7) dcs=0; P1=dc_s[dcs]; dcc1++; } } else { 23 if(a==1) { --dcs; if(dcs1) dcs=8; P1=dc_s[dcs]; dcc1++; } } if(dca!=dcc1) { dca=dcc1; an=45*dcc1; wan=an/10000; qian=an%10000/1000; bai=an%1000/100; shi=an%100/10; ge=an%10; buffer[30]=ASCII[ge]; buffer[29]=ASCII[shi]; buffer[28]=ASCII[bai]; buffer[27]=ASCII[qian]; buffer[26]=ASCII[wan]; } } 24
    以上信息由无锡惠斯通电机科技有限公司整理编辑,了解更多步进电机,两相步进电机,混合式步进电机信息请访问http://www.huistong.com