当前位置:文档之家› 完整版单片机控制系统的设计

完整版单片机控制系统的设计

学号 07437230常州大学硬件实习报告题目:步进电机单片机控制系统的设计学生:学院(系):专业班级:指导教师:通信(怀)081单片机原理与应用实习任务书一、设计题目步进电机单片机控制系统的设计二、设计背景步进电机是工业过程控制及仪表中的主要控制元件之一。

它可以在机械结构中把丝杆的角度变成直线位移,也可以用它带动螺旋电位通信工程系指导教师:孙守昌1、前言1.1课题的背景、目的和意义1.1.1课题设计的背景:步进电机是一种将电脉冲转化为角位移的执行机构。

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

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

步进电机也是工业过程控制及仪表中的主要控制元件之一。

它可以在机械结构中把丝杆的角度变成直线位移,也可以用它带动螺旋电位器,调节电压和电流,从而实现对执行机构的控制。

在数字控制系统中,由于它可以直接接收计算机输出的数字信号,而不需要进行D/A转换,所以使用起来十分方便。

步进电机具有快速的启停能力和精度高的显著特点,在定位场合得到了广泛应用。

1.1.2 课题设计的目的:(1)了解步进电机的结构和工作原理。

(2)掌握步进电机控制系统的设计方法及其调试技术。

(3)能够使用电路仿真软件进行电路调试。

步进电机驱动控制系统设计内容1.1.3 课题设计的意义:随着工业自动化的发展,步进电机的应用越来越广泛。

步进电机是用脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽阔的频率来实现调速,快速起停,正转反转控制及制动等,并且用其组成的开环系统既简单,廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装备等多领域有着极其广泛的应用。

随着微电子和计算机技术的发展,步进电机的需求量与日俱增,研制步进电机驱动器具有十分重要的意义。

1.1.4课题的现状与发展趋势步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Stepping moter,pulse motor或Stepper servo,其应用发展已有80年的历史。

正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。

随着微电子和计算机技术的发展。

步进电机的需求量与日俱增,在各个国民经济领域都有应用。

比如在数控系统中就得到了广泛应用。

目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。

1.1.5课题欲解决哪一方面的问题在设计上尽量使其安全以及简单 易操作。

其次,在这次设计可行性上进行分析如下: 1、经济可行性:单片机课程设计----- 所谓经济可行性,即在这次设计上需要投入资金的多少,由于课程设计是提 高我们的动手能力以及资金有限。

因此在经济上必须能够承受,比较理想化的对 于我们课程设计来说是不可行的。

通过分析后,无论是在器件价格或是常见度上 均是可行的。

2、技术可行性: 技术可行性主要是分析技术条件上是否能够顺利开展并完成课程设计的主 要问题,硬件、软件能否满足设计者的需要等。

通过分析各种软件环境,硬件仿真环境等均已经具备。

综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统 的开发是完全可行的。

2、课题设计2.1方案的原理、特点与选择依据2.1.1 方案的原理采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。

系统由硬件设计和软件设计两部分组成。

其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块个功能模块设计。

2.1.2 特点优点:(1)不需要反馈,控制简单。

(2)与微机的连接,速度的控制(起停和反转)及驱动电路的设计比较简单。

(3)没有角累积误差。

(4)停止时也保持转距。

(5)没有转向器等机械部分,不需要保养,造价低。

(6)即使没有传感器,也能精确定位。

(7)根据给定的脉冲周期,能够以任意速度转动。

缺点:(1)难以获得较大的转距。

(2)不宜高速转动。

(3)超过负载时会破坏同步,高速工作时会发生振动和噪声。

2.1.3选择依据AT89C51是一种低功耗高性能CMOS8位单片机微机,它除了具有与MCS-51完全兼容的若干特性外,最为突出的优点就是片内集成了4K 字节FLASH PEROM,可用来存放应用程序,这个FLASH程序存储器除允许用一般的编程器离线编程外,还允许在应用系统中实现在线编程,并提供了对程序进行三级加密保护的功能,AT89C51的另外一个特点就是工作速度更高,晶振频率可高达24MHZ,一个机器周期仅500ns,比MCS-51快一倍。

(1)管脚说明VCC:供电电压。

GND:接地。

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

当P0口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

(2)芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10MS 来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

串口通讯 单片机的结构和特殊寄存器,这是你编写软件的关键。

至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢? SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。

有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。

”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。

CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。

发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。

操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字SFR 定义为一个变量就可以对其进行读写操作了,如SFR SBUF = 0X99;当然你也可以用其它的名称。

通常在标准的REG51.H 或AT89X51.H 等头文件中已对其做了定义,只要用#INCLUDE 引用就可以了。

相关主题