微机原理课程设计电梯_第1页
微机原理课程设计电梯_第2页
微机原理课程设计电梯_第3页
微机原理课程设计电梯_第4页
微机原理课程设计电梯_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机原理课程设计实验报告学院: 专业: 班级:姓名: 学号:成绩:目录1.实验题目-32.题目分析-33.原理分析-34.实验模块-45.电路图设计-56.程序框图-57.程序清单-78.实验现象-13一、实验题目垂直电梯运行曲线控制(一)模拟题:在实际中,电梯是我们的交通工具,电梯从静止开始,慢慢加速,当到达某个值时,转入匀速运动,根据电梯运行的速度,电梯快要到达停止层时,开始减速,直到平层停止,打开轿厢门,客人安全走下电梯,无人上下电梯,电梯关门,向另一个目的层运动,火灾时,电梯自动归位到首层。二、题目分析从题目要求来看,需要实现的功能有:1.电机的正转和反转2.电梯的加速-匀速-减速3

2、.电梯所在楼层的显示 三、原理分析本课程设计以步进电机为驱动电机,通过8086处理器、8259A中断控制器、8255可编程接口为核心芯片,并辅以开关、LED,构成一个控制系统,用以模拟电梯正常运行过程。其中的实验器材原理分别为:步进电机:作为被控制的电机,电机每走一步转过7.5度,转一圈需要48步才能转一圈。电梯的控制方法为:A-AB-B-BC-C-CD-D-DA-A,一个周期内有八步,按照这个规律不断循环就能实现电机的连续运转。8086:作为CPU,控制步进电机、8259A可编程中断控制器、8255可编程接口以及LED,使用汇编语言编程。8259A:作为中断控制器,数据总线、地址总线和控制总

3、线与8086相连,使用主片上的MIR5和从片上的SIRO作为触发脉冲PLUS1和PLUS2输入口。当来一个PLUS1或PLUS2时,传递给CPU一个中断,让CPU处理子程序。8255:作为可编程接口,A口的PA0、PA1、PA2和PA3分别与步进电机的BJ-IN1、 BJ-IN2、 BJ-IN3和BJ-IN4相连,控制步进电机的旋转。B口为数据输入,PB0-PB7分别与开关K0-K7相连,作为输入目的楼层接口。C口为LED驱动输出口,分别与八个LED相连,可以显示电梯所在的楼层。四、实验模块控制模块电梯的速度控制:电机速度的控制是通过步与步之间的延时来控制的,延时越短,速度越快。通过分析,我以

4、FFFF个主频脉冲为一个延时基本单位T,当电梯加速时,第一个循环的第一步与第二步之间用8T,第二步与第三步之间用7T第八步与下一个循环之间用T,这样就实现了由慢到快的过渡;当电梯匀速时,所有的延时均用T;当电梯减速时,最后一个循环第一步与第二步之间用2T,第二步与第三步之间用3T第七步与第八步之间用8T,这样就实现了由快到慢得过渡,这三个过程就实现了电梯运行时加速-匀速-减速基本过程。楼层间电机行进控制:我以电梯转一圈作为电梯行进一层楼的标准。具体思想为,首先电梯所在楼层设为1层,输入人所在楼层后,电梯经过一个加速-匀速-减速过程到达人所在楼层,然后输入目的楼层,电梯又经过一个加速-匀速-减速

5、到达目的楼层,然后把目的楼层赋值给电梯当前所在楼层,一个基本过程就完成了。基本过程的步数控制:假设电梯从M层运行到N层(N>M),以电机转一圈为行进一层,那么电机需要运行的圈数为N-M,对应于6(N-M)个循环。首先,电梯加速需要用一个循环,然后电梯匀速运行需要6(N-M)-2个循环,最后是减速用一个循环。按照这个规则设计,就能实现转多少圈就代表行进多少层,且速度的变换很平滑。延时模块本实验中,延时模块以FFFF个主频周期为基本单位时间T,包含延时分别为T-8T的八个Delay。当电机执行加速过程时,电机一个循环之间的延时分别为8T-2T,当电机匀速运行时,电机的步与步之间的延时为T,当

6、电机减速时,电机最后一个循环的步与步之间的延时分别为2T-8T,这样通过延时就能控制电机运行的速度。中断模块中断模块为8259A,分为使用主片的MIR5和从片的SIRO,当给一个PLUS的时,送给CPU一个中断,让其执行子程序,接受开关的到达楼层数据然后驱动电机行进。显示模块显示模块为3个LED,通过CPU控制,使其在到达每一层楼后显示相对应的楼层数。五、电路图设计8259AMIR5SIR0 PA0-PA3 8255 PC0-PC7PB0-PB7/CSPLUS1PLUS2步进电机IN1-IN4开关K0-K7LEDL0-L7200H-2FFH六、程序框图子程序RISE 子程序DOWN调用SPEE

7、D1调用SPEED2调用SPEED3RET开始调用SPEED4调用SPEED5调用SPEED6RET开始开始输入8255控制字开放MIR5和SIR0中断写中断程序入口输入目的楼层NN>M?给电梯当前楼层赋初值M调用RISE调用DOWN电梯所在楼层赋给MYN中断程序开始保护寄存器调用子程序中断结束命令恢复寄存器开中断中断返回开中断延时程序开始PUSH:AX,BX.CXDHßSPEEDCXß0FFFFLOOP X2DHßDH-1POP:AX,BX,CXDH=0?YN 七、程序清单 data segment i8255_a equ 200h i8255_b equ

8、 201h i8255_c equ 202h i8255_k equ 203h speed db 2 count db 01h x db 01h fire db 00h data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov es,ax mov dx,i8255_k mov al,89h out dx,al in al,21h and al,11011011b out 21h,al in al, 0a1h and al,0feh out 0a1h,al sti push ds mov ax,0

9、 mov ds,ax lea ax,cs:mint_proc mov bx,5 mov si,30H add si,bx add si,si add si,si mov ds:si,ax push cs pop ax mov ds:si+2,ax lea ax,cs:sint_proc mov bx,0 mov si,70H add si,bx add si,si add si,si mov ds:si,ax push cs pop ax mov ds:si+2,ax pop ds lll: mov dx,i8255_b mov al,x out dx,al jmp lll mint_proc

10、 proc far sti push ax callmint mov al,20h out 20h,al pop ax iret mint_proc endpmint proc mov dx,i8255_c in al,dx mov count,al cmp al,x ja rise jb down jmp rrrise: call speed1 call speed2 call speed3 jmp rrdown: call speed4 call speed5 call speed6 jmp rr rr: mov al,count movx,al ret mint endp sint_pr

11、oc proc far push ax push dx call sint mov al,20h out 0a0h,al nop out 20h,al pop ax pop dx iret sint_proc endp sint proc mov dx,i8255_c in al,dx and al,0fh mov count,al cmp al,x ja rise1 jb down1 jmp rr1 rise1: call speed1 call speed2 call speed3 jmp rr1 down1: call speed4 call speed5 call speed6 jmp

12、rr1 rr1: retsint endp speed1 proc mov dx,i8255_a mov al,01h out dx,al call delay8 mov dx,i8255_a mov al,03h out dx,al call delay7 mov dx,i8255_a mov al,02h out dx,al call delay6 mov dx,i8255_a mov al,06h out dx,al call delay5 mov dx,i8255_a mov al,04h out dx,al call delay4 mov dx,i8255_a mov al,0ch

13、out dx,al call delay3 mov dx,i8255_a mov al,08h out dx,al call delay2 mov dx,i8255_a mov al,09h out dx,al call delay1 ret speed1 endp speed2 proc mov al,count sub al,x mov ah,al add al,al add al,ah add al,al sub al,02h xor ah,ah dec ax mov cx,ax a2: pushcx mov dx,i8255_a mov al,01h out dx,al call de

14、lay1 mov dx,i8255_a mov al,03h out dx,al call delay1 mov dx,i8255_a mov al,02h out dx,al call delay1 mov dx,i8255_a mov al,06h out dx,al call delay1 mov dx,i8255_a mov al,04h out dx,al call delay1 mov dx,i8255_a mov al,0ch out dx,al call delay1 mov dx,i8255_a mov al,08h out dx,al call delay1 mov dx,

15、i8255_a mov al,09h out dx,al call delay1 popcx loop a2 ret speed2 endp speed3 proc mov dx,i8255_a mov al,01h out dx,al call delay1 mov dx,i8255_a mov al,03h out dx,al call delay2 mov dx,i8255_a mov al,02h out dx,al call delay3 mov dx,i8255_a mov al,06h out dx,al call delay4 mov dx,i8255_a mov al,04h

16、 out dx,al call delay5 mov dx,i8255_a mov al,0ch out dx,al call delay6 mov dx,i8255_a mov al,08h out dx,al call delay7 mov dx,i8255_a mov al,09h out dx,al call delay8 ret speed3 endp speed4 proc mov dx,i8255_a mov al,09h out dx,al call delay8 mov dx,i8255_a mov al,08h out dx,al call delay7 mov dx,i8

17、255_a mov al,0ch out dx,al call delay6 mov dx,i8255_a mov al,04h out dx,al call delay5 mov dx,i8255_a mov al,06h out dx,al call delay4 mov dx,i8255_a mov al,02h out dx,al call delay3 mov dx,i8255_a mov al,03h out dx,al call delay2 mov dx,i8255_a mov al,01h out dx,al call delay1 ret speed4 endp speed

18、5 proc mov al,x sub al,count mov ah,al add al,al add al,ah add al,al sub al,02h xor ah,ah dec ax mov cx,ax a1: pushcx mov dx,i8255_a mov al,09h out dx,al call delay1 mov dx,i8255_a mov al,08h out dx,al call delay1 mov dx,i8255_a mov al,0ch out dx,al call delay1 mov dx,i8255_a mov al,04h out dx,al ca

19、ll delay1 mov dx,i8255_a mov al,06h out dx,al call delay1 mov dx,i8255_a mov al,02h out dx,al call delay1 mov dx,i8255_a mov al,03h out dx,al call delay1 mov dx,i8255_a mov al,01h out dx,al call delay1 popcx loop a1 ret speed5 endp speed6 proc mov dx,i8255_a mov al,09h out dx,al call delay1 mov dx,i

20、8255_a mov al,08h out dx,al call delay2 mov dx,i8255_a mov al,0ch out dx,al call delay3 mov dx,i8255_a mov al,04h out dx,al call delay4 mov dx,i8255_a mov al,06h out dx,al call delay5 mov dx,i8255_a mov al,02h out dx,al call delay6 mov dx,i8255_a mov al,03h out dx,al call delay7 mov dx,i8255_a mov a

21、l,01h out dx,al call delay8 ret speed6 endp delay1 proc push ax push bx push cx mov dh,01h x1: mov cx,0ffffh x2: loop x2 dec dh jnz x1 pop dx pop cx pop ax ret delay1 endp delay2 proc push ax push bx push cx mov dh,02h x3: mov cx,0ffffh x4: loop x4 dec dh jnz x3 pop dx pop cx pop ax ret delay2 endp delay3 proc push ax push bx push cx mov dh,03h x5: mov cx,0ffffh x6: loop x6 dec dh jnz x5 pop dx pop cx pop ax ret delay3 endp delay4 proc push ax push bx push cx mov dh,04h x7: mov cx,0ffffh x8: loop x8 dec dh jnz x7 pop dx pop cx pop

温馨提示

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

评论

0/150

提交评论