步进电机转速控制系统

合集下载

步进电机运动控制系统设计

步进电机运动控制系统设计

步进电机运动控制系统设计设计时考虑到CPU在执行指令时可能受到干扰的冲击,导致程序”跑飞”或者进入”死循环”,因此,设计了看门狗电路,使用的是MAXIM公司生产的微处理系统监控集成芯片MAXI813。

本文还详细地给出了相关的硬件框图和软件流程图,并编制了该汇编程序。

步进电机最早是在1920年由英国人所开发。

1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。

以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的系统中。

在生产过程中要求自动化、省、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。

随着微和技术的发展,步进电机的需求量与日俱增,在各个国民领域都有应用。

步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。

步进电机可以直接用数字信号驱动,使用非常方便。

一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。

步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。

在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。

因此非常适合于单片机控制。

步进电机还具有快速启动、精确步进和定位等特点,因而在数控机床,绘图仪,打印机以及光学仪器中得到广泛的应用。

步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。

传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。

步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

步进电机控制技术

步进电机控制技术

四、反应式步进电机的特性
动态稳定区:(-π+θse)<θ<(π+θse) a点与OA点之间的夹角θr称为稳定裕度(或裕量角)。裕量
角越大,电动机运行越稳定。
r se
2 Z r (mC 2) mZ r C mC
由上式可见,C=1时,反应式步进电动机的相数最少为3。 电动机的相数越多,步距角越小,相应的稳定裕度越大,运
下面以反应式步进电机为例说明步进电机的结构 和工作原理。
一、步进电机简介及结构
步进电动机主要由两部分构成:定子和转子。它们均 由磁性材料构成,其上分别有六个、四个磁极 。
定子绕组
定子
转子
一、步进电机简介及结构
A IA
定子 转子
定子的六个磁 极上有控制绕组, 两个相对的磁极组 成一相。
注意:
这里的相和三 相交流电中的“相” 的概念不同。步进 电动机通的是直流 IB B 电脉冲,这主要是 指线圈的联接和组 数的区别。
冲的最高频率,它是步进电动机的一项重要技术指标。它的大小与电机本 身的参数、负载转矩、转动惯量及电源条件等因素有关,它是衡量步进电
动机快速性的重要技术指标。
1)按能起动的最短脉冲间隔时间tf便可决定电动机的起动频率fst,则 fst=1/tf
2)起动频率fst的大小与电动机的步距角θS有关。
3)电动机的最大静转矩Tsm越大,作用于电动机转子上的电磁转矩也越大, 使加速度越大,转子达到动稳定区所需时间也就越短,起动频率fst越高。
二、步进电机工作方式
三相单双六拍
三相绕组的通电顺序为: AABBBCCCAA 共六拍。 工作过程:
A
B' 4 1 2 3 A'

步进电机调速系统的建模与仿真

步进电机调速系统的建模与仿真

步进电机调速系统的建模与仿真步进电机调速系统的建模与仿真步进电机调速系统是一种常见的工业控制系统,它通常用于控制电机的转速和位置。

本文将按照步骤思考的方式,介绍步进电机调速系统的建模与仿真方法。

1. 确定系统需求和参数在开始建模之前,我们首先需要确定步进电机调速系统的需求和参数。

例如,我们需要知道电机的额定转速、最大转矩以及负载的惯性等。

这些参数将对系统的建模和仿真过程产生重要影响。

2. 绘制系统框图根据步进电机调速系统的工作原理,我们可以绘制出系统的框图。

框图是由各个组成部分和它们之间的关系组成的图形,有助于我们理清系统的功能和信号流动。

在步进电机调速系统中,通常包括电机、驱动器、编码器和控制器等组件。

3. 建立数学模型在建模过程中,我们需要将系统转化为数学模型。

对于步进电机调速系统,可以采用转子惯性、电机动力学方程和电机驱动器的特性等来建立数学模型。

根据这些模型,我们可以得到系统的状态方程和输出方程。

4. 设计控制策略设计控制策略是步进电机调速系统建模的重要一步。

根据系统的需求和数学模型,我们可以选择适合的控制策略。

常见的控制策略包括比例积分控制(PID)和模糊控制等。

选择合适的控制策略可以提高系统的稳定性和性能。

5. 进行仿真分析完成步进电机调速系统的建模和控制策略设计后,我们可以进行仿真分析。

使用仿真软件,我们可以将系统的数学模型输入,并模拟系统的运行情况。

通过仿真分析,我们可以评估系统的性能,例如转速响应、位置控制精度等。

6. 优化和调试在仿真分析过程中,我们可能会发现系统存在一些问题,例如过大的超调、不稳定等。

这时,我们需要进行优化和调试,尝试调整控制策略的参数,以改善系统的性能。

通过多次优化和调试,最终得到满足系统需求的步进电机调速系统。

总结通过以上步骤,我们可以建立步进电机调速系统的数学模型,并进行仿真分析。

这种建模与仿真的方法可以帮助我们更好地了解步进电机调速系统的工作原理和性能,为实际系统的设计和控制提供参考。

基于单片机的步进电机控制系统设计方案

基于单片机的步进电机控制系统设计方案

D10-基于单片机旳步进电机控制系统一、理解什么是步进电机以及其工作原理步进电机是数字控制电机,步进电机旳运转是由电脉冲信号控制旳,其角位移量或线位移量与脉冲数成正比,每个一种脉冲,步进电机就转动一种角度(不距角)或前进、倒退一步。

步进电机旋转旳角度由输入旳电脉冲数确定,因此,也有人称步进电机为数字/角度转换器。

步进电机旳各相绕组按合适旳时序通电,就能使步进电机转动。

当某一相绕组通电时,对应旳磁极产生磁场,并与转子形成磁路,这时,假如定子和转子旳小齿没有对齐,在磁场旳作用下,由于磁通具有力图走磁阻最小途径旳特点,则转子将转动一定旳角度,使转子与定子旳齿互相对齐,由此可见,错齿是促使电机旋转旳原因。

二、步进电机旳特点(1)步进电机旳角位移与输入脉冲数严格成正比,因此当它转一转后,没有合计误差,具有良好旳跟随性。

(2)由步进电机与驱动电路构成旳开环数控系统,既非常以便、廉价,也非常可靠。

同步,它也可以有角度反馈环节构成高性能旳闭环数控系统。

(3)步进电机旳动态响应快,易于启停、正反转及变速。

(4)速度可在相称宽旳范围内平滑调整,低速下仍能保证获得很大旳转矩,因此一般可以不用减速器而直接驱动负载。

(5)步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。

(6)步进电机自身旳噪声和振动比较大,带惯性负载旳能力强。

三、步进电机旳控制步进电机旳控制重要包括换相次序旳控制、速度控制、速度控制、加减速控制等,控制系统就是运用单片机旳功能实现以上控制旳系统,即本次设计旳目旳。

四、示意图五、硬件设计计划本设计旳硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。

最小系统只要是为了使单片机正常工作。

控制电路只要由开关和按键构成,由操作者根据对应旳工作需要进行操作。

显示电路重要是为了显示电机旳工作状态和转速。

驱动电路重要是对单片机输出旳脉冲进行功率放大,从而驱动电机转动。

(1)控制电路根据步进电机旳工作原理可以懂得,步进电机转速旳控制重要是通过控制通入电机旳脉冲频率,从而控制电机旳转速。

基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。

本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。

一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。

1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。

本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。

2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。

电源电压和电流的大小需要根据具体的步进电机来确定。

3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。

常用的步进电机驱动芯片有L297、ULN2003等。

4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。

这些电路的设计需要根据具体的应用来确定。

二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。

根据实际需求还可以进行其他模块的初始化设置。

2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。

脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。

脉冲信号可以通过定时器产生,也可以通过外部中断产生。

3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。

开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。

4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。

步进电机控制系统设计

步进电机控制系统设计

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,具有快速启动能力,定位精度高,能够直接接受数字量,因此被广泛地应用于数字控制系统中,如数模转换装置、精确定位、计算机外围设备等,在现代控制领域起着非常重要的作用。

本设计运用了8086 CPU芯片以及74273芯片、8255A芯片和步进电机以及7位小功率驱动芯片ULN2003A、指示灯等辅助硬件电路,设计了步进电机正反转及调速系统。

绘制软件流程图,进行了软件设计并编写了源程序,最后对软硬件系统进行联合调试。

该步进电机的正反转及调速系统具有控制步进电机正反转的功能,还可以对步进电机进行调速。

关键词:步进电机;正反转;调速控制;ULN2003A芯片;8086微机系统1、课程设计任务书1.1任务和目的 (4)1.2设计题目 (4)1.3内容和要求 (4)1.4列出使用元器件和设备清单 (4)2、绪论 (4)3、步进电机的总体方案 (6)4、步进电机的硬件设计 (7)4.1总体设计思路 (7)4.2电路原理图 (10)4.3线路连接图 (11)5、步进电机软件设计 (12)5. 1流程图 (12)5.2控制程序 (14)&调试说明 (19)6.1调试过程 (19)6.2调试缺陷 (19)7、总结收获 (19)8、参考文献 (20)附录:元器件及设计清单1. 课程设计任务书1.1任务和目的掌握微机硬件和软件综合设计的方法。

1.2设计题目步进电机控制系统设计1.3内容和要求1. 基本要求:控制步进电机转动,要求转速1步/1秒;设计实现接口驱动电路。

2. 提高要求:改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3挡);1.4列出使用元器件和设备清单8086cpu可编程并行接口8255指示灯键盘74LS138译码器驱动模块步进电机2. 绪论步进电机又称脉冲电动机或阶跃电动机,国外一般称为Step motor或Steeping motor、Stepper servo Steppe,等等。

基于PLC的步进电机运动控制系统设计

基于PLC的步进电机运动控制系统设计

机电工程系基于PLC的步进电机运动控制系统设计专业:测控技术与仪器指导教师:xxx姓名: xxx _______________(2011年5月9日)目录一、步进电机工作原理 (1)1。

步进电机简介 (1)2。

步进电机的运转原理及结构 (1)3。

旋转 (1)4。

步进电动机的特征 (2)1)运转需要的三要素:控制器、驱动器、步进电动机 (2)2)运转量与脉冲数的比例关系 (2)3)运转速度与脉冲速度的比例关系 (2)二、西门子S7-200 CPU 224 XP CN (2)三、三相异步电动机DF3A驱动器 (3)1。

产品特点 (3)2。

主要技术参数 (3)四、PLC与步进电机驱动器接口原理图 (5)五、PLC控制实例的流程图及梯形图 (5)1.控制要求 (5)2。

流程图 (5)3.梯形图 (6)六、参考文献 (6)七、控制系统设计总结 (6)基于PLC的步进电机运动控制系统设计一、步进电机工作原理1.步进电机简介步进电机是一种将电脉冲转化为角位移的执行机构。

通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单2.步进电机的运转原理及结构电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。

0、1/3て、2/3て,即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A’与齿5相对齐,(A'就是A,齿5就是齿1)3.旋转如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力,以下均同)。

基于stm32的步进电机控制系统设计与实现

基于stm32的步进电机控制系统设计与实现

基于STM32的步进电机控制系统设计与实现1. 引言步进电机是一种常见的电动机类型,具有定位准确、结构简单、控制方便等优点,在自动化控制领域得到广泛应用。

本文将介绍基于STM32单片机的步进电机控制系统设计与实现,包括硬件设计、软件开发和系统测试等内容。

2. 硬件设计2.1 步进电机原理步进电机是一种将输入脉冲信号转换为角位移的设备。

其工作原理是通过改变相邻两相之间的电流顺序来实现转子旋转。

常见的步进电机有两相、三相和五相等不同类型。

2.2 STM32单片机选择在本设计中,我们选择了STM32系列单片机作为控制器。

STM32具有丰富的外设资源和强大的计算能力,非常适合用于步进电机控制系统。

2.3 步进电机驱动模块设计为了实现对步进电机的精确控制,我们需要设计一个步进电机驱动模块。

该模块主要包括功率放大器、驱动芯片和保护电路等部分。

2.4 电源供应设计步进电机控制系统需要稳定可靠的电源供应。

我们设计了一个电源模块,用于为整个系统提供稳定的直流电源。

3. 软件开发3.1 开发环境搭建在软件开发过程中,我们需要搭建相应的开发环境。

首先安装Keil MDK集成开发环境,并选择适合的STM32单片机系列进行配置。

3.2 步进电机控制算法步进电机控制算法是实现步进电机精确控制的关键。

我们可以采用脉冲计数法、速度闭环控制等方法来实现对步进电机的位置和速度控制。

3.3 驱动程序编写根据硬件设计和步进电机控制算法,我们编写相应的驱动程序。

该程序主要负责将控制信号转换为驱动模块所需的脉冲信号,并通过GPIO口输出。

3.4 系统调试与优化在完成软件编写后,我们需要对系统进行调试和优化。

通过调试工具和示波器等设备,对系统进行性能测试和功能验证,以确保系统工作正常。

4. 系统测试与评估在完成硬件设计和软件开发后,我们需要对系统进行全面的测试和评估。

主要包括功能测试、性能测试和稳定性测试等内容。

4.1 功能测试功能测试主要验证系统是否按照预期工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告题 目: 步进电机转速控制显示系统 学生姓名: 陶宁 学生学号: 09080201321该设计要求通过程序实现单片机对电动机进行控制。

共包含五个键盘,分别操控正转、反转、停止、加速、减速。

并且讲电动机的转动状态反映在LCD 上。

1.3 课程设计的研究基础2步进电机转速控制显示系统方案制定 2.1 方案提出方案一:使用开关直接控制电动机的正反转以及转速控制,此种设计非常简便易操作,共两个开关控制。

方案一:本方案十分简单,除了实现正常的正转反转,只能实现步进电机的正转加速,还有反转减速,并不能实现正转减速或者反转加速等功能。

程序设计上比较简单,实用性不大。

方案二:本方案较方案一复杂些,并且成功的实现了电机的正转加速和减速,反转的加速和减速,简单明了,控制范围更大,实用性更强。

但是由于复杂性增加,程序的编写难度上就增加了。

2.3 方案论证对于以上两个方案比较分析得出:方案二成功的实现了方案一所有的功能,而且其他功能上更加全面。

使用上也更加易操作。

方案一对于简单的应用可以适用,但局限性很大,有时无法实现必要的功能。

2.4 方案选择根据以上的比较论证,选择方案二。

3 步进电机转速控制显示系统方案设计3.1各单元模块功能介绍及电路设计该设计分为控制模块,驱动模块,显示模块。

,从而—FalshAT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1)主要特性a.与MCS-51 兼容b.4K字节可编程闪烁存储器c.寿命:1000写/擦循环d.数据保留时间:10年e.全静态工作:0Hz-24Hzf.三级程序存储器锁定g.128*8位内部RAMk.可编程串行通道l.低功耗的闲置和掉电模式m.片内振荡器和时钟电路2)管脚说明a.VCC:供电电压。

b.GND:接地。

c.P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速目的[3]。

3.4 系统整体电路图图4系统整体电路图4 步进电机转速控制显示系统仿真和调试4.1 仿真软件介绍本设计主要采用Protues软件,Protues软件是英国Labcenter electronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译。

它具有丰富的元器件库,超过27000种元器件,可方便地创建新元件。

仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。

仿真仪表资源:示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号(5)按下K6开关,使电动机减速,显示正转减速运行。

图9正转减速(6)当步进电机转速达到稳定时,LCD显示正转低速运行。

图10正转低速运行(7)此时按下K3,无需先按下K2停止,电动机实现反转运行,显示反转低速运行。

图11反转低速运行(8)此时按下K4,与正转加速类似,加速过程后,显示反转正常运行。

图12反转正常运行状态4.3 系统测试测试环境:20℃测试仪器:XP系统计算机,protues仿真软件,keil程序编辑软件。

测量数据:暂无数据。

4.4 数据分析由于本课程设计仅限于仿真阶段,实现其设计功能,未做出实体,所以暂时没有数据,有待以后深入研究发展。

5 总结5.2 展望随着技术的不断发展,步进电机的控制应用前景将越来越广阔,而其控制系统也将向着智能化和网络化的方向发展。

此课程设计还是比较基础部分,基本上在实用上没有太大用途,但是我们要在现在的基础上,不断吸收新的技术和方法,并将其应用于课题研究上来,为以后学习更多的电子类如嵌入式、微机原理等知识打下了坚实基础。

6参考文献[1]侯玉宝,等.基于proteus的51系列单片机设计与仿真[M].电子工业出版社,2010.[2]林志琦,等.基于proteus的单片机可视化软硬件仿真[M].科学出版社,2006.[3]李全利,等.单片机原理及接口技术[M].北京航空航天大学出版社,2010.[4]薛均义,等.MCS-51 系列单片微型计算机及其应用[M].西安交通大学出版社,2009. 7附录7.1系统主要功能展示图图13 系统展示7.2器件清单#include <reg51.h>#include <stdio.h>#include <math.h>#define uc unsigned char#define ui unsigned int#define LCDPAGE 0xB8#define LCDLINE 0x40sbit p00=P0^0;sbit p01=P0^1;sbit p02=P0^2;sbit p03=P0^3;sbit E=P3^5;sbit RW=P3^4;sbit RS=P3^2;uc code YUN[]={0x40,0x41,0xCE,0x04,0x00,0x20,0x22,0xA2, 0x62,0x22,0xA2,0x22,0x22,0x22,0x20,0x00, 0x40,0x20,0x1F,0x20,0x28,0x4C,0x4A,0x49, 0x48,0x4C,0x44,0x45,0x5E,0x4C,0x40,0x00, };uc code XING[]={0x10,0x08,0x84,0xC6,0x73,0x22,0x40,0x44, 0x44,0x44,0xC4,0x44,0x44,0x44,0x40,0x00, 0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00, 0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00, };0x00,0x00,0xFE,0x12,0x72,0x92,0x12,0x12, 0x12,0x11,0x91,0x71,0x01,0x00,0x00,0x00, 0x40,0x30,0x4F,0x40,0x20,0x21,0x12,0x0C, 0x0C,0x12,0x11,0x20,0x60,0x20,0x00,0x00, };uc code TING[] ={0x54,0x55,0x56,0x54,0x74,0x04,0x04,0x00, 0x00,0x00,0x00,0xFF,0x00,0x03,0x01,0x05, 0x45,0x85,0x7D,0x05,0x05,0x05,0x03,0x00, };uc code ZHI[ ] ={0x40,0x20,0x1F,0x20,0x48,0x49,0x45,0x43, 0x7F,0x41,0x43,0x45,0x4D,0x40,0x40,0x00, };uc code JIAN[]={0x00,0x02,0xEC,0x00,0xF8,0x28,0x28,0x28, 0x28,0x28,0xFF,0x08,0x8A,0xEC,0x48,0x00,0x5F,0x20,0x13,0x0C,0x13,0x20,0x78,0x00,};uc code BAI[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,void ground(step); void run1(); void run2();void stop();void delay(ui time);void iniLCD(void) { L=1;R=1;wcode(0x38);wcode(0x0f);wcode(0xc0);wcode(0x01);wcode(0x06);}void chkbusy(void)}void wdata(uc dat) {chkbusy();P2=0xff;RW=0;RS=1;P2=dat;E=1;E=0; }void disrow(uc page,uc col,uc *temp){uc i;wcode(LCDLINE);for(i=64-col;i<16;i++)wdata(*(temp+i));}}else{L=0;R=1;wcode(LCDPAGE+page); wcode(LCDLINE+col-64);for(i=0;i<16;i++)wdata(*(temp+i));}}break;case 2:p00 = 0;p01 = 1;p02 = 0;p03 = 0;break;case 3:p00 = 0; p01 = 1; p02 = 1; p03 = 0; break; case 4:break; case 7:p00 = 0; p01 = 0; p02 = 0; p03 = 1; }}void display( uc page,uc col,uc *temp){disrow( page, col, temp);disrow( page+1, col, temp+16);}void main(void)ground(step_index);delay(speed);step_index++;if(step_index>7)step_index=0;}if((scan_key1==0)&(scan_key2==1)){ground(step_index);display(6,0x00,&CONTRARY); display(6,0x10,&ZHUAN);delay(speed);step_index--;if(step_index<0)display(6,0x30,&CHANG);display(6,0x40,&YUN);display(6,0x50,&XING);}else{display(6,0x20,&JIA);display(6,0x30,&SU);}}if(step1==0&step2==1){speed=speed+100;if(speed>2500|speed==2500)for(count2=0;count2<3;count2++); }void key(void) interrupt 2{uc i;for(i=0;i<200;i++);if(P3^3==0){butter=~P1;switch(butter){case 0x01: scan_key1=1;scan_key2=0; break; case 0x02: scan_key1=0;scan_key2=0;break; case 0x04: scan_key1=0 ;scan_key2=1; break; case 0x08: step1=1;step2=0;break;。

相关文档
最新文档