




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学 号:课 程 设 计题 目二相步进电机控制系统的设计(采用单极性控制)学 院自动化学院专 业自动化专业班 级自动化1002班姓 名李志强指导教师石云2013年7月6日课程设计任务书学生姓名: 李志强 专业班级: 自动化1002班 指导教师: 石云 工作单位: 自动化学院 题 目: 二相步进电机控制系统的设计(采用单极性控制)初始条件:设计一个二相步进电机控制系统,电机有两组带中心抽头的线圈,要求系统具有如下功能:采用单极性控制,用K0-K2做为通电方式选择键,K0为四相单四拍,K1为四相双四拍,K2为四相八拍;K3为启动/停止控制、K4方向控制、K5加速、K6减速;用4位LED数码管显示工作
2、步数。用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮;要求完成的主要任务:1 硬件设计:系统总原理图及各部分详细原理图2 软件设计:系统总体流程图、步进电机四相单四拍,四相双四拍,四相八拍各模块流程图、显示模块流程图等3 编写程序:能够完成上述任务并用仿真软件演示4 完成符合要求的设计说明书时间安排:2013年6月24日2013年7月4日指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘要11 设计任务及要求的分析22 方案比较及认证22.1 驱动模块选择22.2 单片机选型33 系统实现的原理说明34 硬件设计说明54.1 单片机系统原理分析54.2
3、二相步进电机工作原理分析84.3 L298驱动电路设计104.4 四位LED数码管显示设计115 软件设计说明125.1总体流程分析与设计125.2 设置电机转动模式流程分析与设计135.3 步进电机四相单四拍,四相双四拍,四相八拍流程分析与设计145.4 显示模块流程分析与设计155.5 步进电机速度控制分析与设计166 调试记录及结果分析176.1 总体硬件仿真设计176.2调试与仿真结果分析17小结与心得体会20参考文献21附录1:22附录2:23摘要本控制系统的设计方案,以单片机为核心,辅以驱动电路,完成二相步进电机的控制。本次设计的硬件部分主要包括单片机系统、按键控制模块、步进电机驱
4、动模块、数码显示模块等功能模块的设计,软件部分由几个模块控制子程序分别控制硬件模块的运行,最终实现对步进电机转动方向及转动模式(单四拍,双四拍,八拍)的控制,并且将步进电机的步进数动态显示在LED数码管上。本文首先分析了单片机的各型号的优缺点,简单介绍了系统的设计方案和工作原理,之后在论文的4、5章中,我分别对系统的硬件电路、软件程序进行了详细的原理介绍,并对各模块进行了设计。相结合后在Proteus上进行仿真,实现对步进电机转动控制。在论文的第6章中,详细记录了调试中遇到的问题与自己的调试体会,并给出了实物调试结果。关键词:二相步进电机 单片机 Proteus二相步进电机控制系统的设计1 设
5、计任务及要求的分析设计的步进电机控制系统要求有以下功能:1. 二相步进电机采用单极性控制2用K0-K2作为通电方式选择键,K0为四相单四拍,K1为四相双四拍,K2为四相八拍3. 用K3作为启动/停止控制键4. 用K4作为方向控制5. 用K5作为加速控制6. 用K6作为减速控制7. 用4位LED数码管显示工作步数8. 用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮本次设计需要对二相步进电机进行单极性控制,使其能在控制下进行正转、反转、停止和四相单四拍、四相双四拍、四相八拍运行,可以通过输出不同的脉冲序列;同时利用数码管和二极管分别显示其工作步数和工作状态。由于控制功能较为复杂
6、,所以本系统需要采用单片机以及驱动模块进行设计。2方案比较及认证2.1 驱动模块选择由于单片机输出电流很小,不能驱动电机的运行,所以需要添加驱动电路。驱动模块常用有uln2003a和l298,考虑到二相步进电机需采用单极性控制,uln2003a相当于反相器电路,故电机的驱动模块使用芯片L298实现,控制更直接,接线简洁,采用脉冲数据控制逻辑简单,稳定性好。2.2单片机选型单片机以其体积小、功能齐全、价格低廉、可靠性高等优点,在各个领域都获得了广泛的应用,在我国,近几年单片机也得到了广泛的应用特别是在工业控制、智能仪表等方面。目前市场上常用的单片机有INTEL、ATMEL等公司的mcs-51系列
7、,INTEL公司的251系列、96系列,ATMEL公司的AVR系列等。MCS-51系列运算与寻址能力强、存储空间大、片内集成外设丰富、功耗低等。其中大部分兼容芯片有Flash,价格便宜,常用于仪器仪表、测控系统、嵌入式系统开发。251系列和96系列具有比c51更强的寻址能力,没有累加器的瓶颈限制,有32位元的加减法指令,并且有更大的存储空间,应用于复杂的控制系统、嵌入式系统。AVR系统是基于RISC结构的Flash单片机,其最大的特点是能够在线编程。比较这三种类型的单片机,首先AVR主要应用于家电视讯设备,侧重于在线编程,与设计需要相差稍远。251系列、96系列存储空间大,寻址能力也更强,适用
8、于较为复杂的系统,但成本也相对较高,本系统较为简单,使用此系列有些大材小用。MCS-51系列单片机以抗干扰能力强、对环境要求不高、灵活性强等别的系统所不具备的优点被广泛使用。即使非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。由于本次设计的所要实现的功能并不复杂,鉴于成本考虑,选用便宜而常用的MCS-51系列较为合适。本次设计采用其中低功耗型80C51单片机。3 系统实现的原理说明本次课程设计系统以单片机80c51为核心进行设计,单片机与按键、数码管、发光二极管、L298驱动模块相连接,人为操作按键,在程序控制下,单片机将通过驱动模块控制
9、步进电机转动,并使数码管和二极管分别显示步进电机的工作步数和状态。系统的总体原理框图如下所示:按键设置80C51单片机系统L298驱动模块发光二极管显示状态二相步进电机四位数码管图3-1系统总体原理框图本系统以单片机80c51为核心的控制系统,由P1口进行开关按键的设置,具体为:P1.0接K0四相单四拍通电方式,低电平使电机四相单四拍运转;P1.1接K1四相双四拍通电方式,低电平使电机四相双四拍运转;P1.2接K2四相八拍通电方式,低电平使电机四相八拍运转;P1.3接K3启动/停止开关,高电平为停止,低电平为启动;P1.4接K4正/反转开关,高电平为反转,低电平为正转;P1.5接K5加速控制,
10、低电平使电机运转速度加快;P1.6接K6减速控制,低电平使电机运转速度减慢。P2口与P0口外接4位LED数码管,显示步进步数,具体接线方式已在前面叙述,通过控制P2口的电平信号,达到片选的目的,进而实现4位数值的显示。P0口作为输出口外接负载。P3外接驱动电路L298的4个输入端,具体为P3.0接IN1,P3.1接IN2,P3.2接IN3,P3.3接IN4。这样即可通过控制单片机的P2口输出电平来实现二相步进电机的启动,停止,正反转以及单四拍,双四拍,八拍运转。另外P3.4接绿色发光二极管,使其在电机停转时亮;P3.5接红色放光二极管,使其在电机正转时亮;P3.6接黄色发光二极管,使其在电机反
11、转时亮。具体工作过程需通过对单片机编程来实现。电路图如下所示:图 3-2 系统电路原理图4硬件设计说明4.1 单片机系统原理分析80C51是MCS-51系列单片机中CHMOS工艺的一个典型品种。其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。 该系列单片机是采用高性能的静态80C51设计,由先进CMOS 工艺制造,并带有非易失性Flash 程序存储器 ,全部支持12 时钟和6 时钟操作,P89C51X2 和P89C52X2/54X2/58X2 分别包含128 字节和256 字节RAM、32 条I/O 口线、3 个16 位定时/计数器、6 输入4 优先级嵌套中断结构、
12、1 个串行I/O 口、可用于多机通信 I/O 扩展或全双工UART以及片内振荡器和时钟电路。 其主要结构组成如下:1中央处理器(CPU)2内部数据存储器(内部RAM)3内部程序存储器(内部ROM)4定时器/计数器5并行I/O口6串行口7时钟电路8中断系统9外接晶体引脚图4-1 80C51单片机管脚图单片机管脚如图4-1所示,下面对其各个管脚进行必要的说明。P0、P1、P2、P3口的电平与CMOS和TTL电平兼容。 P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用
13、时,口线输出不是开漏的,无须外接上拉电阻。 P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。 当CPU不对P3口进行字节或位寻址时,内部硬件自动将口锁存器的Q端置1。这时,P3口作为第二功能使用。 P3.0 :RXD(串行口输入); P3.1 :TXD(串行口输出); P3.2 :外部中断0输入; P3.3 :外部中断1输入; P3.4 :T0(定时器0的外部输入); P3.5 :T1(定时器1的外部输出); P3.6 :(片外数据存储器“写”选通控制输出); P3.7 :
14、(片外数据存储器“读”选通控制输出)。 EA/VPP : 访问程序存储器控制信号,当其为低电平时,对ROM的读操作限定在外部的程序存储器,当其为高电平时,对ROM的读操作是从内部存储器开始的,并可延至外部程序存储器。 ALE/PROG : 编程脉冲 PSEN : 外部程序存储器读选通信号,在读外部ROM时PSEN是低电平有效,以实现对ROM 的读操作。 RST/VPD : 复位信号,当输入信号延续2个周期以上的高电平有效,用以完成单片机复位初始化操作。 XTAL : 时钟晶振输入端。 4.2二相步进电机工作原理分析步进电机一般分为永磁式(PM)
15、、反应式(VR)和混合式(HB)3种类型。目前,二相混合式步进电机的应用最为广泛。图4-3为二相六线式步进电机的工作原示意图。由图可知,它有2个绕组,且每个绕组都有一个中间抽头。因此,二相步进电机也就有了6根引线。当电机中的绕组通电后,其定子磁极产生磁场,将转子吸合到相应的磁极处。若绕组在控制脉冲的作用下,通电方向使定子在顺时针方向轮流产生磁场,则电机可顺时针转动;通电方向使定子在逆时针方向轮流产生磁场,则电机可逆时针转动。控制脉冲每作用一次,通电方向就变化一次,使电机转动一步,即一个步距角。脉冲频率越高,电机转动也就越快。本次课设所使用的二相步进电机需要采用单极性的接法。单极性则是指步进电机
16、线圈中电流的流动方向是单向的。单极性驱动电路可以六线式的二相步进电机。对于二相六线式步进电机而言, 2个绕组的中间抽头Vdd1和Vdd2都接高电平。根据步进电机的工作原理,当控制器给驱动器发出脉冲信号时,驱动器经过功率放大后,电机绕组通电的顺序为,其4个状态按顺序周而复始进行变化,电机转动; 若通电时序就变为时,电机就逆向转动。图4-3 二相步进电机原理图任务要求需要对二相步进电机进行四相单四拍,四相双四拍和四相八拍的控制。其三者的区别在于通电时序的不一样,四相单四拍的通电方式为:,而四相双四拍的通电方式为:,四相八拍需要在此基础上进行细分,在中间插入,其通电方式为:。由对应的通电方式,在结合
17、图3-2,便可以得到对应的单片机管脚P3.0,P3.1,P3.2,P3.3的电平变化情况,绘制出步进电机的四相单四拍,四相双四拍,四相八拍控制方式表格。如下所示:表4-1 步进电机四相单四拍控制通电方式时序单片机管脚位通电的线圈对应二进制数转换16进制数P1.3P1.2P1.1P1.010001000101H20100010004H30010001002H41000100008H表4-2 步进电机四相双四拍控制通电方式时序单片机管脚位通电的线圈对应二进制数转换16进制数P1.3P1.2P1.1P1.010101010105H20110011006H3101010100AH41001100109
18、H表4-3 步进电机四相八拍控制通电方式时序单片机管脚位通电的线圈对应二进制数转换16进制数P1.3P1.2P1.1P1.010001000101H20101101005H30100100004H40110100106H50010000102H6101001010AH71000010008H81001011009H由上述所得表格,便可以通过控制单片机I/O口输出高低电平变化来实现步进电机的四拍,八拍运转。在编写程序时,设置好控制字,在I/O口做循环输出,便实现了单片机对步进电机的控制。由于单片机单独代负载能力较差,步进电机与单片机之间需要接入步进电机的驱动电路。4.3L298驱动电路设计由课题
19、任务要求可知,二相步进电机需采用单极性控制,故考虑使用芯片L298来驱动步进电机。L298N 为双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。在接入步进电机时,OUTl,OUT2 ,OUT3,OUT4接二相步进电机的,,二相步进电机的对应管脚以图4-5为准,input1input4接单片机的I/O口,用来控制
20、单片机的正反转以及四相单四拍,四相双四拍,四相八拍通电方式。由图4-5可以看出,L298内部集成有2个H桥路,对应的输入接口为:IN1位P3.0,IN2为P3.1,IN3为P3.2,IN4为P3.3。对应的输出接口为:OUT1接,OUT4接,OUT3接,OUT2接。PROTUS仿真图为图4-5所示:图4-5 驱动电路PROTUS仿真图4.4四位LED数码管显示设计任务要求需采用4位LED数码管显示工作步数,通过查阅相关资料,在仿真时采用型号7SEG-MPX4-CA共阳极数码管显示。其PROTUS仿真图如图4-6所示:图4-6数码管显示仿真图单片机的P0口接数码管输入管脚ABCDEFG以及DP(
21、可以不用,直接拉高),P2口接4位数码管的片选端口1234,7段数码管对应的显示数值与输入信号的关系可以由下表得到。表4-4 七段数码管显示功能表单片机管脚输入显示十六进制P0.0P0.1P0.2P0.3P0.4P0.5P0.6ABCDEFG0000001OC0H10011111F9H00100102A4H00001103B0H1001100499H0100100592H1100000682H00011117F8H0000000880H0000100990H由上表可以得到显示数字与单片机管脚输入信号的对应关系。只需要控制单片机的P0口输出信号即可显示数字,在程序设计中,定义7段显示数组为Seg
22、=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90即可使数码管显示数字。5 软件设计说明5.1总体流程分析与设计软件模块的分析需要根据硬件电路的设计来进行,基于上述硬件电路的分析设计,对整个程序流程需要有个整体的思考与判断。由硬件电路的设计可以看出,程序需要实现以下几个功能:通过开关按键实现电机的启用与停止,正转与反转,以及四拍,八拍的运行方式;由4位LED数码管实现步进步数的显示;3个发光二极管显示电机的状态。程序设计的总体思想是单片机通过判断按键输入电平变化从而选择正反转以及四八拍的工作方式。主程序流程图如图5-1所示。开始K3按下?扫描键
23、盘,设置转动模式设备初始化启动电机显示步数K3弹起?YYNN图 5-1 主程序流程图5.2设置电机转动模式流程分析与设计有硬件电路可知,电机的转动由开关K0、K1、K2、K3、K4、K5、K6来控制,我们通过80K51分别读入这六位控制数据,存放在变量Temp中。K0按下为四相单四拍,K1按下为四相双四拍,K2按下为四相八拍,K3按下为启动,K4按下为正转抬起为反转。设置转动模式流程图如图5-2所示。图5-2 设置电机转动模式流程图5.3 步进电机四相单四拍,四相双四拍,四相八拍流程分析与设计步进电机通电方式的控制字被放置在几个变量数组中,通关过转动方式选择部分程序决定转动方式后,把相应转动方
24、式所对应的数组中相应步数对应的值赋给变量P3。变量Flag控制拍数循环,当Flag为4(四拍)或8(八拍)时,Flag值清零,重新从对应数组开头选择通电方式赋值。变量Step用来记录步数,电机每转一下,Step值加一。电机转动部分流程图如图5-3所示。图5-3 电机单四拍双四拍八拍正反转流程图5.4显示模块流程分析与设计有硬件部分分析可知,Led数码管有4个管脚读入片选信号,8个管脚读入控制信号。本部分程序首先要对当前的步数值进行位数分离,将个、十、百、千位分别提取出来,然后通过片选信号选择位数读入控制字,依次进行显示。由于单片机的计算过程非常快,我们还设置了延时程序,所以看起来各位是同时显示
25、的。数码管显示步数流程图图5-4所示。Num值分离出每一位读取千位数据选择数码管千位进行显示延时2ms取消选择数码管读取十位数据选择数码管十位进行显示延时2ms取消选择显示管读取百位数据百位进行显示延时2ms取消选择显示管读取十位数据选择数码管十位进行显示延时2ms取消选择显示管开始结束图5-4 数码管显示步数流程图5.5 步进电机速度控制分析与设计通过速度控制按键改变速度控制变量Speed,通过定时器0对电机步进控制脉冲之间进行延时,延时到Speed时,Delay=1表示延时时间到。6 调试记录及结果分析6.1总体硬件仿真设计硬件设计模块完成了对系统电路图的设计,软件模块由程序实现了各项功能
26、;接下来需要将软件与硬件结合起来才能真正完成整个设计工作。我们采用的是PROTUS仿真软件得到了系统的硬件图,参见附录1;使用KeilC51软件的集成环境调试程序,程序代码请参见附录,在该集成环境下,创建一工程,将程序装入该工程下,调试运行无误后,该工程会自动生成.hex文件,在PROTUS仿真环境里,在单片机中载入该文件,这样便实现了单片机程序的载入。在系统完成后测试系统,检查硬件和软件是否能够协调运行,并对系统出现的情况进行分析,看是否能够达到系统创作之初所设想的效果,如达不到则重新修改系统的硬件结构或者修改软件的程序部分,直到达到设计需要为止。本系统的设计思路为:首先从整体上划分出各功能
27、模块,然后硬件和软件同时进行依次完成各个功能模块,最后将各个模块联系起来完成整个系统。6.2调试与仿真结果分析在硬件调试的过程中,遇到了很多问题。主要有:按键设计完成后,在多次运行过程中发现按键是否按下难以直观准确判断,在此处进行改进设计,为每一个按键接上一个发光二极管,当有键按下时,相对应的发光二极管变亮,使得按键动作形象直观。在步进电机与驱动电路的连接中,需要准确的接好各个管脚,因为程序里的控制字对应着这些管脚电平的变化,不能随便接,单片机的输出口与驱动电路的输出口也需要一一对应,否则电机无法按正常的设计运转。经过调试以及对仿真电路图及程序的改正,系统得以实现任务的要求,对步进电机进行控制
28、,仿真成功。图6-1为电机正转时的仿真图,电机顺时针旋转,红灯亮。图6-2为电机反转时的仿真图,电机逆时针旋转,黄灯亮。图6-3为电机停止时仿真图,绿灯亮。图6-1 步进电机正转仿真图图6-2 步进电机反转仿真图图6-3 步进电机停止仿真图由仿真图可见,此系统实现了对步进电机的正反转以及停止的控制,能够利用数码管显示步数,通过发光二级管显示步进电机运行状态,此系统设计合理,满足设计要求。小结与心得体会本次课程设计综合了很多学过的知识,同时也要自学新的知识。将理论运用于实践上,结合软件和硬件,提高了理论知识和实践能力。由于时间有限,遇到了很多困难,在同学的帮助和讨论下,自己查阅很多书籍和网络资料
29、。首先,拿到题目之后我很快就确定了利用单片机来进行设计,考虑了atmegal128和80c51等单片机,由于此系统需要实现的功能简单,不需要过大的内存,所以由于成本原因选择了80c51进行设计。但是在protus仿真调试时还是出现了许多问题,程序调试时,速度的控制比较麻烦,通过查阅资料最后决定在每两次电机步进之间加入延时,通过按键改变延时参数即可改变电机转动速度。运行仿真却出现了步进电机转动正常但显示管记录步数不正常的情况。经仔细检查,发现是延时的时候数码管不能进行扫描,后来决定直接用定时器来做电机步进的延时,设置Delay参数,延时时间到就置1。本次课设经过多次调试改正错误,才得以仿真成功。
30、单片机是此次设计中非常重要的元器件,在做完成课程设计的过程中,我查阅了一些资料对其进行学习,了解了其内部结构、存储容量以及管脚功能等知识,感到受益匪浅。调试程序是一个复杂而精细的过程,很多错误都十分细小,在意想不到的地方,我和同学互相检查对方的程序,才发现了彼此的问题。通过本次课程设计,我不仅加深了对课堂知识的理解,拓展了单片机方面的知识,掌握了protus软件的应用,更培养了科学的思维方式和动手能力,与同学的交流也多出了一份学术探讨的氛围,也锻炼了我的耐心和坚持,令我受益匪浅。参考文献1 于海生.计算机控制技术M.北京:机械工业出版社.2007年2张毅刚.新编MCS-51单片机应用设计M.哈
31、尔滨:哈尔滨工业大学出版社.2006年3陈冬云.ATmega128 单片机原理与开发指导M.北京:机械工业出版社.2005年4 王彦平.RPOTEL 99 电路设计指南M.北京:清华大学出版社.2000年5 沈美明.IBM-PC汇编语言程序设计M. 北京:清华大学出版社.2001年6 沈精虎.Protel99 入门与提高M. 北京:人民邮电出版社.2007年7 吴金戌.8051 单片机时间与应用M. 北京:清华大学出版社,2003年8 胡辉.单片机原理及应用设计M. 北京:中国水利水电出版社.2007年附录1:附录2:/*/* 步进电机程序 */*P10为四相单四拍,P11为四相双四拍,P12
32、为四相八拍 */*P13为启动/停止控制、P14方向控制、P15加速、P16减速 */*用4位LED数码管显示工作步数。 */*用3个发光二极管显示状态 */*正转时红灯亮,反转时黄灯亮,不转时绿灯亮 */*编写人:李志强 */*时间:2013-06-26 */*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define SegData P0 /数码管数据口#define KeyData P1 /按键控制数据口#define MotorData P3 /电机控制数据口sbit Wela1
33、=P20; /数码管位选1sbit Wela2=P21; /数码管位选2sbit Wela3=P22; /数码管位选3sbit Wela4=P23; /数码管位选4sbit LedGreen=P34;/控制绿灯-停止uchar PositiveSingleFour=0xd1,0xd4,0xd2,0xd8; /步进电机正相单四拍数表;uchar PositiveDoubleFour=0xd5,0xd6,0xda,0xd9; /步进电机正相双四拍数表;uchar PositiveEight=0xd1,0xd5,0xd4,0xd6,0xd2,0xda,0xd8,0xd9;/步进电机正相八拍数表;uc
34、har NegitiveSingleFour=0xb1,0xb8,0xb2,0xb4; /步进电机反相单四拍数表;uchar NegitiveDoubleFour=0xb9,0xba,0xb6,0xb5; /步进电机反相双四拍数表;uchar NegitiveEight=0xb1,0xb9,0xb8,0xba,0xb2,0xb6,0xb4,0xb5;/步进电机反相八拍数表;uchar Seg=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90;/共阳极数码管显示数码;uchar Flag=0; /用来控制拍数循环; uchar Mode=0;
35、/用来标志工作模式;uchar Way=0; /用来标志运转方向uchar Num=0; /用来定时计数uchar Delay=0; /用来标志延时时间到uchar Move=0; /用来标志启动或停止uint Step=0; /用来计算步数的;char Speed=12; /用来表示速度char SpeedMax=2; /最大速度-参数为时间char SpeedMin=22; /最小速度char SpeedChang=10; /速度每次改变量/*函数声明部分*/void Init();void Display(uint);void DelayMs(uint);void KeyScan();v
36、oid Motor();/*主函数*/void main()Init();while(1)KeyScan();Motor();Display(Step);/*数码管显示函数*/void Display(uint Num)uchar Qian,Bai,Shi,Ge;Qian=Num/1000;Bai=(Num/100)%10;Shi=(Num/10)%10;Ge=Num%10;/分离出每一位;SegData=SegQian;Wela1=1;DelayMs(2);Wela1=0;SegData=SegBai;Wela2=1;DelayMs(2);Wela2=0;SegData=SegShi;Wel
37、a3=1;DelayMs(2);Wela3=0;SegData=SegGe;Wela4=1;DelayMs(2);Wela4=0;/*电机运转函数*/void Motor()if(Move=1)if(Delay=1)Delay=0;if(Way=0)switch(Mode) /*电机步进拍数表数据送到电机控制口;判断一周拍数是否完成;步数加1*/case 1:MotorData=PositiveSingleFourFlag+;if(Flag>=4) Flag=0;Step+;break;case 2:MotorData=PositiveDoubleFourFlag+;if(Flag>
38、;=4) Flag=0;Step+;break;case 3:MotorData=PositiveEightFlag+;if(Flag>=8) Flag=0;Step+;break;default:;elseswitch(Mode)case 1:MotorData=NegitiveSingleFourFlag+;if(Flag>=4) Flag=0;Step+;break;case 2:MotorData=NegitiveDoubleFourFlag+;if(Flag>=4) Flag=0;Step+;break;case 3:MotorData=NegitiveEightF
39、lag+;if(Flag>=8) Flag=0;Step+;break;default:;elseMotorData=0xef;LedGreen=0;/*初始化函数*/void Init()Move=0;LedGreen=0;Step=0;MotorData=0xef;TMOD=0x11; /定时器0初始化TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1; /开总中断ET0=1; /开定时器0中断TR0=1; /开始计时/*按键检测函数*/void KeyScan()uchar Temp,Over=0;Temp=KeyData;Temp=Temp&am
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厨热培训考试题及答案
- 成鱼饲养试题及答案
- 创新与研发主管年度工作总结与前瞻性计划
- 社团调研与需求分析的方法计划
- 完善医院质量管理体系的工作计划
- 跨学科项目式学习实施方案计划
- 班级心理发展与辅导工作计划
- 提高主管工作总结技巧的途径计划
- 如何制定份引领行业的年度计划
- 未成年人保护与安保工作相结合计划
- 礼盒包装策划方案
- 企业环境执法与行政处罚的风险防范
- 财务用发票分割单原始凭证 发票分割单范本
- 《挠挠小怪兽》小班韵律课件
- 童话故事三年级下册350字作文
- 喷淋塔设计标准参考
- 高支模板监测记录
- 涂装工艺流程、PFMEA2018
- 《苏泊尔盈利能力分析》8000字
- 车站信号自动控制教案-四线制道岔控制启动电路
- 委托书挂靠样本
评论
0/150
提交评论