单片机课程设计步进电机控制系统设计.doc

上传人:仙人指路1688 文档编号:4147563 上传时间:2023-04-07 格式:DOC 页数:28 大小:9.12MB
返回 下载 相关 举报
单片机课程设计步进电机控制系统设计.doc_第1页
第1页 / 共28页
单片机课程设计步进电机控制系统设计.doc_第2页
第2页 / 共28页
单片机课程设计步进电机控制系统设计.doc_第3页
第3页 / 共28页
单片机课程设计步进电机控制系统设计.doc_第4页
第4页 / 共28页
单片机课程设计步进电机控制系统设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单片机课程设计步进电机控制系统设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计步进电机控制系统设计.doc(28页珍藏版)》请在三一办公上搜索。

1、单片机系统课 程 设 计成绩评定表设计课题 : 步进电机控制系统设计 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 设计时间 : 指导教师意见:成绩: 签名: 年 月 日单片机系统课 程 设 计课程设计名称: 步进电机控制系统设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 单片机系统 课程设计任务书学生姓名专业班级学号题 目课题性质工程设计课题来源选题指导教师 主要内容(参数)本设计应用单片机AT89C51和脉冲分配器PMM8713,步进电机驱动器,光电隔离器4N25等,构建了步进电

2、机控制器和驱动器为一体的步进电机控制系统。通过AT89C51和脉冲分配器PMM8713完成步进电机的各种运行控制方式,实现步进电机在3相6拍的工作方式下的正反转控制和加减速控制。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1王迎旭.单片机原理及及应用.北京:机械工业出版社

3、2张迎新.单片微型计算机原理、及接口技术.北京国防工业出版社 3周向红.51系列单片机应用与实践教程.北京北京航天航空大学出版社4华成英,童诗白. 模拟电子技术基础M. 北京:高等教育出版社,20085张靖武,周灵彬.单片机系统的PROTEUS设计与仿真M. 北京:电子工业出版社,2007 审查意见系(教研室)主任签字: 年 月 日 1.引言41.1课题研究的目的和意义41.2国内外研究概况42.步进电机与驱动电路的介绍42.1步进电机的种类42.2步进电机的特点52.3步进电机的原理52.4步进电机的驱动62.4.1一般步进电机的驱动构成62.4.2驱动器特点72.4.3驱动类型82.4.3

4、.1单电压驱动82.4.3.2双电压驱动83. 单片机的介绍103.1单片机简介103.2单片机的特点113.3 单片机的内部结构113.3.1 CPU123.3.2 存储器123.3.3 I/O口123.3.4总线124.总体设计方案134.1硬件电路设计144.1.1复位电路设计144.1.2报警电路设计154.1.3键盘接口设计154.1.4显示电路设计154.1.5驱动电路设计164.2 系统软件设计164.2.1系统软件主流程图174.2.2系统初始化流程图174.2.3步进电机转动序流程程图185.调试总结195.1操作控制195.2心得体会20参考文献20附录A;原理图20附录B

5、;单片机源程序211.引言1.1课题研究的目的和意义 步进电机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机。它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速启停、正反转控制及制动等。并且用其组成的开环系统既简单,廉价,又实用。因此在打印机等的办公自动化设备以及各种控制装备等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。1.2国内外研究概况 步进电机是国外发明的。中国在文化大革命中已经生产和应用,例如江苏、浙江、北京、南京、四川都生产,而且都在各行业使用,驱

6、动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电合。 国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。 在卫星、雷达等应用场合,中国在文化大革命后期,就生产了力矩电机,就生产了环形力矩电机,在高品质的控制场合,有时还不能使用步进电机。步进电机的细分控制,在改革开放初期,国内就已经基本掌握,这与交流电动机的矢量控制相比,难度要低得多。2.步进电机与驱动电路的介绍 2.1步进电机的种类 步进电机分永磁式(PM)、

7、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。2.2步进电机的特点(1)精度高 一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反 转控制及制动等,这是步进电动机最突出的优点; (2)过载性好 其转速不受负载大小的

8、影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; (3)控制方便 步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算机控制带来了很大的方便,反过来,计算机的出现也为步进电机开辟了更为广阔的使用市场; (4)整机结构简单 传统的机械速度和位置控制结构比较复杂,调整困难,使用步进电机后,使得整机的结构变得简单和紧凑。2.3步进电机的原理 图2.3是一种四相可变磁阻型的步进电机结构示意图。这种电机定子上有八个凸齿,每一个齿上有一个线圈。线圈绕组的连接方式,是对称齿上的两个线圈进行反相连接,如图中所示。八个齿构成四对,所以称为四相步

9、进电机。图2.3 它的工作过程是这样的:当有一相绕组被激励时,磁通从正相齿,经过软铁芯的转子,并以最短的路径流向负相齿,而其他六个凸齿并无磁通。为使磁通路径最短,在磁场力的作用下,转子被强迫移动,使最近的一对齿与被激励的一相对准。在图2.3(A)中A相是被激励,转子上大箭头所指向的那个齿,与正向的A齿对准。从这个位置再对B相进行激励,如图2.3中的B,转子向反时针转过15。若是D相被激励,如图1.1中的(C,则转子为顺时针转过15。下一步是C相被激励。因为C相有两种可能性:ABCD或ADCB。一种为反时针转动;另一种为顺时针转动。但每步都使转子转动15。电机步长(步距角)是步进电机的主要性能指

10、标之一,不同的应用场合,对步长大小的要求不同。改变控制绕组数(相数)或极数(转子齿数),可以改变步长的大小。它们之间的相互关系,由下式计算:L360 PN 式中:L为步长;P为相数。2.4步进电机的驱动 2.4.1一般步进电机的驱动构成 步进电动机不像直流电动机、交流电动机一样,它不能直接接到交直流电源上工作,而必须使用专用设备步进电动机驱动器。步进电动机驱动器系统的性能,除与电动机木身的性能有关外,也在很大程度上取决于驱动器的优劣。因此,对步进电动机驱动器的研究几乎是对步进电动机的研究同步进行的。步进电动机驱动器的主要构成如图1.2所示,一般由环形分配器、信号处理级、推动级、驱动级等各部分组

11、成,用于功率步进电动机的驱动器还需要有多种保护电路。 图2.4.1步进电机驱动器构成 环形分配器用来接受来自控制器的CP脉冲,并按步进电动机状态转换表要求的状态顺序产生各相导通或截止的信号。每来一个CP脉冲,环形分配器的输出转换一次。同时,环形分配器还必须接受控制器的方向信号,从而决定其输出的状态转换是按正序或者反序转换,决定了步进电动机的转向。因此,步进电动机转速的高低、升速或降速、起动或停止都完全取决于CP脉冲的有无或频率的高低。 信号放大与处理的作用是将环分输出信号加以放大,变成足够大的信号送入推动级。 信号处理是实现某些转换、合成等功能,产生斩波、抑制等特殊功能的信号,从而产生特殊功能

12、的驱动。本级还经常与各种保护电路、各种控制电路组合在一起,形成较高性能的驱动输出。 推动级的作用是将较小的信号加以放大,变成足以推动驱动级的较大的信号。有时推动级还承担电平转换的作用。 保护级的作用是保护驱动级的安全。一般可根据需要设置过电流保护、过热保护、过压保护、欠压保护等。 2.4.2驱动器特点 1.各相绕组都是开关工作,多数电动机绕组都是连续的交流或直流,而步进电动机各相绕组都是脉冲式供电,所以绕组电流不是连续的。 2.电动机各相绕组都是绕在铁心上的线圈,所以都有较大的电感。绕组通电时电流上升率受到限制,因此影响电动机绕组电流的大小。 3.绕组断点时,电感中磁场的储能将维持绕组中已有的

13、电流不能突变,结果使应该电流截止的相不能立即截止。为使电流尽快截止,必须设计适当的续流回落。绕组导通和截止都会产生较大的反电势,而截止时反电势将对驱动级器件的安全产生有害的影响。 4.电动机运转时在各相绕组中产生旋转电势,这些电势的大小和方向将对绕组电流产生很大的影响。由于旋转电势基本上与电动机转速成正比,转速越高,电势越大,绕组电流越小,从而使电机输出转矩也随着转速升高而下降。驱动级线路,既要保证绕组有足够的电流电压及正确的波形,同时要保证功率放大器件的安全运行,另外,还应有较高的效率、较小的功耗、较低的成本。这就必须要设计合理的线路,选用合适的功率器件。 驱动级的功率放大器件有中功率晶体管

14、、大功率晶体管、大功率达林顿晶体管、可控硅、可关断可控硅、场效应功率管、双极型晶体管与场效应功率管的复合管以及各种功率模块等。 目前步进电机常用的驱动方式有单电压驱动(包括单电压串电阻驱动)、双电压驱动(包括高低压驱动)、斩波恒流驱动和细分驱动等。以下分别简单介绍前二种驱动方式的工作原理和优缺点。将在后面详细介绍细分驱动方式。 2.4.3驱动类型 2.4.3.1单电压驱动单电压驱动是指在电动机绕组工作过程中,只用一个方向电压对绕组供电。其原理图如图2.4.3.1所示,前面推动级输出信号In作用于三极管的基级,其集电极接电动机的一相绕组,绕组另一端直接与电源电压连接。因此,当三极管导通时,电源电

15、压全部作用在电动机绕组上。归结起来,单电压驱动器有如下特点:线路简单,成本低,低频时响应较好;有共振区,高频时,带载能力迅速下降。图2.4.3.1单电压驱动原理图 2.4.3.2双电压驱动 双电压驱动的基本思想是在较低频段用较低的电压驱动,而在高频段用较高电压驱动,原理线路见图2.4.3.2所示。电源直接接到由大功率管H T和二极管 L D组 成的电源转换开关上。当 H T关断时,低压电源 L U 通过 L D给电路提供驱动电压, 图2.4.3.2单电压串电阻驱动当 H T导通时,高压电源 H U 通过 H T给电路提供驱动电压, L D处于反向截止状态, 低压电源自动停止供电。图2.4.3.

16、2双电压驱动原理图 高低压驱动的原理线路如图2.4.3.3所示,初看起来,与双电压驱动电路似乎差别不大,但实际上工作过程截然不同。图中所示为每相的单元线路。主回路由高压管 H T、电动机绕组、低压管 L T串联而成。 H U 加高压, L U 加低电压,电动机 绕组回路不串电阻。当L I为高电平时,该相导通;当 L I为低电平时,该相截止。高压 管的输入信号H I是由L I信号的前沿信号获得的,H I前沿与 L I同步。但脉冲宽度 要比 L I小得多,高低压驱动可保证在很宽的频段内都能保证相绕组有较大的平均 电流,在截止时又能迅速释放,因此能产生较大的且较稳定的电磁转矩,因此驱动系统可得到较高

17、的响应。图2.4.3.3 高低压驱动原理图3. 单片机的介绍 3.1单片机简介 单片机是续计算机出现之后,并随着电器时代大到来,人们借助电气技术想实现了自动控制机械,自动生 产线甚至自动工厂,但依靠计算机去完成每一个自动的过程,反而有些复杂以及资源的乱费;所以用更方便,更微小,更智能的微型处理器来处理工业现场的测控领域,控制领域,有着重大意义;更何况目前,彩电,冰箱,空调,录像机,VCD,遥 控器,游戏机,电饭煲等无处不见单片机的影子,所以单片机将会更满足我们的生活,会更取代大型的计算机。 现在单片机主要按用途,大体上可分为两大类: 1-通用型单片机 2-专用型单片机。 专用型单片机是指用途比

18、较专一,出厂时程序已经一次性固化好, 不能再修该的单片机。例如电子表里的单片机就是其中的一种。 其生产成本很低。 通用型单片机的用途很广泛,使用不同的接口电路及编制不同的应 用程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设 备和整套生产线都可用单片机来实现自动化控制。现在单片机主要包括:中央处理器、存储器、特殊功能寄存器。 3.2单片机的特点单片微型计算机(Single-Chip Microcomputer),简称单片计算机.就是将CPU,RAM,ROM,定时/计时器和多种接口集成在一块芯片上的微型计算机.其主要特点如下: 1.片内存储容量较小:原因是受集成度的限制.ROM一般小于8

19、KB,RAM一般小于256B,但可以在外部扩展.通常ROM,RAM可分别扩展至64KB. 2.可靠性高:因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机. 系统软件(如:程序指令,常数,表格)固化在ROM中,不易受病毒破坏. 许多信号的通道均在一个芯片内,故运作时系统稳定可靠. 3.便于扩展:片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统. 4.控制功能强: 具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令。 5.实用性好:体积小,功耗低,价格便宜,易于产品化.3.3 单片

20、机的内部结构MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。MCS-51单片机内包含下列几个部件: 一个8位CPU; 一个片内振荡器及时钟电路; 4K字节ROM程序存储器; 128字节RAM数据存储器; 两个16位定时器/计数器; 可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路; 32条可编程的I/O线(四个8位并行I/O端口); 一个可编程全双工串行口; 具有五个中断源、两个优先级嵌套中断结构。3.3.1 CPU CPU是单片机的核心部件。它由运算器和控制器等部件组成。3.3.2 存储器MCS-

21、51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。程序存储器为只读存储器(ROM)。数据存储器为随机存取存储器(RAM)。单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。3.3.3 I/O口I/O端口又称为I/O接口,也叫做I/O通道或I/O通路,I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。 并行I/O口MCS-51单片机设有四个8位双向I/O端口(P0、P1、P2、P3),每一条I/O线都能独立地用作输入或输出。P0口为三

22、态双向口,能带8个LSTTL电路。P1、P2、P3口为准双向口(在用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力为4个LSTTL电路。3.3.4总线 MCS-51单片机属总线型结构,通过地址/数据总线可以与存储器(RAM、EPROM)、并行I/O接口芯片相连接。 在访问外部存储器时,P2口输出高8位地址,P0口输出低8位地址,由ALE(地址锁存允许)信号将P0口(地址/数据总线)上的低8位锁存到外部地址锁存器中,从而为P0口接受数据作准备。 在访问外部程序存储器(即执行MOVX)指令时,PSEN(外部程序存储器选通)信号有效,在访问外部数据存储器(即执行MOVX)指令时,由

23、P3口自动产生读/写(RD/WR)信号,通过P0口对外部数据存储器单元进行读/写操作。4.总体设计方案 该系统以AT89C51单片机为核心来控制步进电机。电路设计包括键盘输入电路、LED显示电路、发光二极管显示电路和报警电路,系统原理框图如图4所示。 At89c51单片机的P2口输出控制步进电机速度的时钟脉冲信号和控制步进电机运转方向的高低电平。通过定时程序和延时程序可以控制步进电机的速度和在某一转向的运行时间。运用驱动电路可以将微弱的脉冲信号放大成能使步进电机工作的强电信号,但是放大后的电流不能超过最大负荷能力。使用PPM8713芯片可以增强驱动能力。同时也可以连接一个专用的驱动芯片FT57

24、54来放大工作电流,最大电流为3A,因此设计时应不超过该极限负载能力。图4 系统原理框图当系统上电以后,我们首先将系统初始化,然后扫描整个键盘,如果某参数按键被按下了,通过输入参数可以设置运转的步数。当参数输入完成以后按下确认键,就代表了参数设置成功。我们还可以通过键盘上的按键来设置步进电机的正转与反转。当所有设置完成以后,按下开始按钮步进电机就可以根据设置好的参数开始运行。在运行期间,通过键盘上指定的按键可以对步进电机进行加速或减速,步进电机在正常转动的任意时刻,我们按下停止键,步进电机都将停止运行并且保持。 系统的显示模块采用专用驱动芯片PS7219,它能驱动八位数码管。显示模块能显示步进

25、电机的状态参数。当步进电机处于静止状态,显显示模块可以显示输入参数,在正常运行阶段数码管的高八位和低八位可以分别显示步进电机的步数和回转圈数。4.1硬件电路设计 步进电机控制系统的的硬件电路如图3.1所示,电路中包括键盘操作设计,复位电路设计,报警电路设计,显示状态电路设计,定时电路设计,驱动电路设计和LED显示电路设计。图4.1 硬件电路设计4.1.1复位电路设计 复位操作包括两种方法:上电自动复位和按键手动复位。上电自动复位由外部复位电路电路的电容充电完成。该复位电路如图3所示。系统上电时,RST口电平与VCC口电平相同,随着RC电路的充电电流的减弱,最终RST口电平变为低电平。因此只要电

26、源VCC口电流上升时间不超过1ms,就能实现上电自动复位,这就意味着系统可以凭借接通电源开关完成复位和初始化。按键手动复位电路具有与上电复位电路同样的功能,当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。按键手动复位电路如图3.1所示。4.1.2报警电路设计 蜂鸣器通常用来提示系统运行状态,例如当输入参数错误或则停止信号已发出,蜂鸣器将结合状态指示灯提示当前工作状态。蜂鸣器驱动电流较低,可以用三极管进行功率放大驱动。在刚才的那种情况下,蜂鸣器会发出报警声并同时输出信号使P3.1口置0。4.1.3键盘接口

27、设计通过键盘可以设置步进电机的启停、转速、转向等相关参数。在开始启动步进电机的时候需要现在键盘上设置步进电机的平均转速和总的运行步数,所以键盘的功能是用来传送输入参数到单片机。为了达到启动、停止系统并且控制步进电机的转向等目的,我们需要定义相应的按键来实现这些功能。如图3所示,在列向排线上有一排上拉电阻连接至电源,所以当没有按键按下时,列向排线处为高电平。在所有行向排线输出低电平的情况下如果有按键被按下去,相应位置的列向为低电平。根据这个原理,CPU能扫描整个键盘,检测时CPU 先送出一列为低电平,其余几列为高电平,此时我们确定了列数,然后立即轮流检测一次各行是否有低电平,若检测到某一行为低电

28、平,这时我们便确定了行数,这样我们便可以确定了哪一行哪一列的按键被按下去了。扫描时间非常的短,大约为10ms,所以只要有按键被按下去了就能被检测到。由于按键采用机械式结构,具有灵活性,易产生抖动现象,使实际输出波形与理想的波形不一致,所以我们要解决抖动问题带来的误差。使用软件延时10ms的方法可以获得理想的效果。4.1.4显示电路设计如图3.2,采用LED数码管动态显示数据与个项参数,方法简单,容易控制,成本低。 设计如下图;图4.1.4 显示电路4.1.5驱动电路设计该系统选用型号为57的混合式步进电机。选用专门驱动芯片 来驱动该型号步进电机,能驱动三相或四相励磁步进电机,并能控制正转与反转

29、。图为驱动步进电机的链接电路图。但是输出电流比较微弱,只有,所以连接一个用以放大驱动功率的达林顿放大驱动器,最大电流可达。达林顿驱动器是驱动步进电机的专用驱动芯片,它包含组NPN型达林顿管,能提供足够步进电机运行的工作电流。4.2 系统软件设计 本设计系统的软件设计主要分为系统初始化、延时子程序、按键响应程序,数码管显示程序,读ADC0804子程序及控制脉冲输出几部分,事实上每一部分都是紧密相关的,每个功能模块对于整体设计都是非常重要,单片机AT89S51通过软件编程才能使系统真正的运行起来,软件设计的好坏也直接决定了系统的运行质量。 程序流程图的设计遵循自顶向下的原则,即从主体遂逐步细分到每

30、一个模块的流程。在流程图中把设计者的控制过程梳理清楚。4.2.1系统软件主流程图图4.2.1 主流程图4.2.2系统初始化流程图 对相应的系统参数进行初始化,包括系统上电默认运行参数设定,包括两相四拍的工作方式,初始速度档位是30转/分,系统中断设定,定时器设定,载入定时器初值和默认的工作参数等,具体程序如下。图4.2.2系统初始化流程图4.2.3步进电机转动序流程程图图4.2.3步进电机转动序流程程图5.调试总结5.1操作控制本电路经调试符合题目要求,各项技术指标均达到设计的目的。具体操作控制方法如下: 1、当电机启停按钮时,步进电机根据制定默认状态开始转动; 2、当电机再启停按钮时,步进电

31、机停止转动; 3、当电机换挡按钮时,步进电机速度快速转动; 4、当电机再换挡按钮时,步进电机速度缓慢转动; 5、当电机正反按钮时,步进电机反转; 6、当电机再正反按钮时,步进电机正转;5.2心得体会经过为期一学期的学习和努力,本次设计顺利完成,具体结论如下: 1、采用单片机作为控制核心,利用其强大的功能,把键盘电路和数码管显示电路,电机驱动电路,电机电流检测电路有机的结合起来,组成一个操作方便,交互性强的简单系统。 2、通过系统的设计实现了预期的设计目标,完成了全部的设计任务,具体功能如下:完成了整个系统的硬件设计和软件编程,能通过键盘电路控制步进电机的转速控制,能实现启动、正转、反转、加速、

32、减速控制。整个的成果形式是最终以步进电机控制电路板的形式展示出来了。 3、在本设计中作为电机正常工作比较重要的电机驱动模块,本设计中是采用驱动芯片PPM8713及其外围电路来实现的,其特点是成本低,可靠性高,出现问题容易维护,实现相对容易等特点。 4、最后感谢同学的帮助和老师的指导使我的设计能够顺利完成。参考文献1王迎旭.单片机原理及及应用.北京:机械工业出版社2张迎新.单片微型计算机原理、及接口技术.北京:国防工业出版社 3周向红.51系列单片机应用与实践教程.北京:北京航天航空大学出版社4华成英,童诗白. 模拟电子技术基础M. 北京:高等教育出版社,20085张靖武,周灵彬.单片机系统的P

33、ROTEUS设计与仿真M. 北京:电子工业出版社,2007 附录A;原理图 7.1显示电路图附录B;单片机源程序 P0口控制段选 p1步进电机 P2控制位选 独立键盘 P3.0P3.2 数码管的第一位为正反转标志位 0:正转 1:反转 数码管的第二位为速度标志位 0:单六拍 1:双三拍 数码管的第三位为开关标志位 0:关 1:开 #include #define uchar unsigned char #define uint unsigned int void delay(uint xms); /延时子函数 void keyscan(); /键盘检测子程序 void display(); s

34、bit key1=P30; /正反转选择 sbit key2=P31; /速度选择 sbit key3=P32; /执行键 uchar zx,k,sudu,bu; int n=0,m=4; uchar code table= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,;/数码管显示编码 A-AB-B-BC-C-CD-D-DA (即一个脉冲,转 3.75 度)uchar code FFZ=0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99; /反

35、转 uchar code FFW=0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11; /正转 uchar code shuangz=0x88,0x22,0x44,0x11; ucher code shuangw=0x11,0x44,0x22,0x88;void main() TMOD=0x01; EA=1; ET0=1; TH0=-1000/256; TL0=-1000%256; TR0=1; while(1) keyscan(); display(); /if(zx=1) qudong(); /if(x=0) zx=0; void keyscan() if(ke

36、y1=0) /正反转选择 delay(5); if(key1=0) k+; if(k=2) k=0; while(!key1) display(); if(key2=0) /速度选择 delay(5); if(key2=0) sudu+; if(sudu=2) sudu=0; while(!key2) display(); if(key3=0) /执行键 delay(5); if(key3=0) zx+; if(zx=2) zx=0; while(!key3) display(); void time0() interrupt 1 TH0=-1000/256; TL0=-1000%256; i

37、f (zx=1) if (n=m) if(k=0) /步进电机正转 if(sudu=0)/六拍 for(bu=4;bu0;bu-) P1=FFZbu; delay(2); n=0; display(); if(sudu=1)/双三拍 for(bu=4;bu0;bu-) P1=shuangzbu; /delay(2); n=0; display(); if(k=1) /步进电机反转 if(sudu=0)/六拍 for(bu=8;bu0;bu-) P1=FFWbu; delay(2); n=0; display(); if(sudu=1)/双三拍 for(bu=4;bu0;bu-) P1=shua

38、ngwbu; /delay(2); n=0; display(); n+; else n=0; void delay(uint xms) uint i,j; for(i=110;i0;i-) for(j=xms;j0;j-); void display() /显示子函数 P0=tablek; /正反转标志位 P2=0x01; /选通第一位 0000 0001 delay(3); P0=tablesudu; /速度标志位 P2=0x02; /选通第二位 0000 0010 delay(3); P0=tablezx; /开关标志位 P2=0x04; /选通第二位 0000 0100 delay(3); P2=0x00;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号