单片机技术课程设计报告 步进电机控制综合实验_第1页
单片机技术课程设计报告 步进电机控制综合实验_第2页
单片机技术课程设计报告 步进电机控制综合实验_第3页
单片机技术课程设计报告 步进电机控制综合实验_第4页
单片机技术课程设计报告 步进电机控制综合实验_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机技术课程设计报告题 目: 步进电机控制综合实验学 年:20102011 学 期:1 专 业:通信工程 班 级:02 学 号:0804140128 姓 名:易峰 0804140204 指导教师及职称: 时 间: 2011年1月14日一设计目的1、掌握模/数转换电路的应用、掌握8279数码显示电路的应用、掌握步进电机的工作原理和控制方法2、锻炼和培养由各个子模块功能单元构筑完整的微机控制系统的能力,掌握单片机控制系统的设计方法。二设计要求用数码管来指示电位器所在的位置,用电位器来控制步进电机的转动:当电位器正向旋转时,步进电机正转;当电位器反向旋转时,步进电机反转;当电位器不动时,步进电机停

2、转;而且,步进电机转动的角度与电位器旋转的角度成线性关系。三模块原理说明1.电位器模块电位器模块为一个10k 的可调电阻,通过调节电位器上的旋钮可以改变电位器的电压输出。此电位器的电压输出为05v 模拟电压。通过连接adc0809 可将电位器的模拟电压转换为数字量,提供给单片机使用。2、a/d转换模块adc0809 adc0809 是一种逐次比较式8 路模拟输入、8 位数字量输出的a/d 转换器。adc0809 start 端为a/d 转换启动信号,ale 端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始a/d 采样转换,故启动a/d 转换只需如下两条指令:mov d

3、ptr,#portmovx dptr,aa 中为何内容并不重要,这是一次虚拟写。在中断方式下,a/d 转换结束后会自动产生eoc 信号,将其与8031cpu 板上的int0 相连接。在中断处理程序中,使用如下指令即可读取a/d 转换的结果:mov dptr,#portmovx a,dptr3、led显示模块8279显示接口电路地址(系统固定):数据口cfe8h、控制口cfe9h4、步进电机模块步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。本实验用的是二相四拍步进电机。二相四拍步进电机模块有一个步进电机和外围驱动电路组成,模块的电源通过接口总线

4、获得。(1)步进电机的工作原理步进电机是纯粹的数字控制电动机。它将电脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源;此外步进电机的角位移与输入脉冲严格成正比,因此,当它转一转后,没有累计误差,具有良好的跟随性。步进电机由定子和转子两部分组成。以二相步进电机为例,定子上有两组相对的磁极,每对磁极缠有同一绕组,形成一相。定子和转子上分布着大小、间距相同的多个小齿。当步进电机某一相通电形成磁场后,在电磁力的作用下,转子被强行推动到最大磁导率(或最小磁阻)的位置。本模块中使用的二相四拍步进

5、电机共有50个齿,齿距角为7.2;每转一个齿距角需走四步,因而步距角为1.8。另外必须按照一定的次序给每个相通电,才能正常完成四步一个齿距的动作。电机每相电流为0.2a,相电压为5v。通电次序如下图所示:(1) 模块电路原理步进电机有四根引出线。红、绿为一组,红线接a,绿线接a;黄、蓝为一组,黄线接b,蓝线接b。 (3) 模块的测试方法1、 cpu模块的p1.0接步进电机模块的a插孔,p1.1接b插孔,p1.2接a插孔,p1.3接b插孔。2、 运行测试参考程序step.asm,步进电机应顺时针转动;交换a、a(或b、b),电机应逆时针转动。以上说明该模块正常。测试程序step.asm如下:cs

6、eg at 4000h ljmp start cseg at 4030hstart: mov a, #03h mov p1,a lcall del0 mov a, #06h mov p1,a lcall del0 mov a, #0ch mov p1,a lcall del0 mov a, #09h mov p1,a lcall del0 ljmp start del0: mov r2, #0ffhdel1: mov r3, #100 djnz r3, $ djnz r2, del1 ret end四系统设计系统链接框图五软件设计1、思路描述本实验要实现的功能分别是电位器控制步进电机转动和le

7、d显示。电位器控制步进电机转动部分:由于电位器输出为模拟电压,而单片机所能处理的仅为数字信号,所以要经过adc0809将电位器的输出转换为数字信号。因此编程时要启动in0,启动a/d转换,并用软件延时一段时间等待转换结束,然后读取转换结果并将其存入指定的寄存器供调用。电机转动部分:本模块中使用的为二相四拍步进电机,通过a/d转换,获取当前采样值和上一次采样值,求出转动步数。正转(反转)程序设计是根据led 显示部分:本部分的主要功能是将adc0809 的输出显示在led 上。首先将转换结果存入寄存器r1,然后写显示ram 命令字,数据端口地址送r0,并将初值送r0。写8279 数据口地址,读取

8、转换结果,语句“acall table”通过查表将adc0809 的转换结果转换为显示码,写入8279 显示ram 指针r0 加1,显示码送dptr 输出。计数器r7 减1,不为零则跳转显示下一个数据,减为零则从子程序返回。2、程序流程图 开始打开通道0启动a/d转换p1.4=0?y30ha调用a/d转换35har135hled显示35h=30h?ycy=1?nn正转反转y30h35h源程序:port equ 0cfa0hcseg at 0000hljmp startcseg at 4100hstart: mov dptr,#port movx dptr,a jnb p3.1,$ movx a

9、,dptr mov 30h,a nop loop: lcall adc mov r1,35h lcall disp mov a,35h cjne a,30h,next ljmp loop next: jc fanzhuan subb a,30h mov r7,al1: mov a, #03h mov p1,a lcall del0 mov a, #06h mov p1,a lcall del0 mov a, #0ch mov p1,a lcall del0 mov a, #09h mov p1,a lcall del0 djnz r7,l1 sjmp restofanzhuan: clr c

10、xch a,30h subb a,30h待添加的隐藏文字内容3 mov r7,a l2: mov a, #09h mov p1,a lcall del0 mov a, #0ch mov p1,a lcall del0 mov a, #06h mov p1,a lcall del0 mov a, #03h mov p1,a lcall del0 djnz r7,l2resto: mov a,35h mov 30h,a ljmp loop retadc: mov dptr,#port movx dptr,a jnb p3.1,$ movx a,dptr mov 35h,a retdisp: mov a,r1 swap a anl a,#0fh mov 50h,a mov a,r1 anl a,#0fh mov 51h,a mov dptr,#0cfe9h mov a,#90h movx dptr,a mov r0,#50h mov r1,#02h mov dptr,#0cfe8h dl0: mov a,r0 acall table movx dptr,a inc r0 djnz r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论