您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理课程设计(电梯)
1计算机原理课程设计实验报告学院:专业:班级:姓名:学号:成绩:2目录1.实验题目------------------------------------------32.题目分析------------------------------------------33.原理分析------------------------------------------34.实验模块------------------------------------------45.电路图设计----------------------------------------56.程序框图------------------------------------------57.程序清单------------------------------------------78.实验现象------------------------------------------133一、实验题目垂直电梯运行曲线控制(一)模拟题:在实际中,电梯是我们的交通工具,电梯从静止开始,慢慢加速,当到达某个值时,转入匀速运动,根据电梯运行的速度,电梯快要到达停止层时,开始减速,直到平层停止,打开轿厢门,客人安全走下电梯,无人上下电梯,电梯关门,向另一个目的层运动,火灾时,电梯自动归位到首层。二、题目分析从题目要求来看,需要实现的功能有:1.电机的正转和反转2.电梯的加速-匀速-减速3.电梯所在楼层的显示三、原理分析本课程设计以步进电机为驱动电机,通过8086处理器、8259A中断控制器、8255可编程接口为核心芯片,并辅以开关、LED,构成一个控制系统,用以模拟电梯正常运行过程。其中的实验器材原理分别为:步进电机:作为被控制的电机,电机每走一步转过7.5度,转一圈需要48步才能转一圈。电梯的控制方法为:A-AB-B-BC-C-CD-D-DA-A,一个周期内有八步,按照这个规律不断循环就能实现电机的连续运转。8086:作为CPU,控制步进电机、8259A可编程中断控制器、8255可编程接口以及LED,使用汇编语言编程。8259A:作为中断控制器,数据总线、地址总线和控制总线与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层,输入人所在楼层后,电梯经过一个加速-匀速-减速过程到达人所在楼层,然后输入目的楼层,电梯又经过一个加速-匀速-减速到达目的楼层,然后把目的楼层赋值给电梯当前所在楼层,一个基本过程就完成了。基本过程的步数控制:假设电梯从M层运行到N层(NM),以电机转一圈为行进一层,那么电机需要运行的圈数为N-M,对应于6(N-M)个循环。首先,电梯加速需要用一个循环,然后电梯匀速运行需要6(N-M)-2个循环,最后是减速用一个循环。按照这个规则设计,就能实现转多少圈就代表行进多少层,且速度的变换很平滑。延时模块本实验中,延时模块以FFFF个主频周期为基本单位时间T,包含延时分别为T-8T的八个Delay。当电机执行加速过程时,电机一个循环之间的延时分别为8T-2T,当电机匀速运行时,电机的步与步之间的延时为T,当电机减速时,电机最后一个循环的步与步之间的延时分别为2T-8T,这样通过延时就能控制电机运行的速度。中断模块中断模块为8259A,分为使用主片的MIR5和从片的SIRO,当给一个PLUS的时,送给CPU一个中断,让其执行子程序,接受开关的到达楼层数据然后驱动电机行进。显示模块显示模块为3个LED,通过CPU控制,使其在到达每一层楼后显示相对应的楼层数。5五、电路图设计六、程序框图子程序RISE子程序DOWN调用SPEED1调用SPEED2调用SPEED3RET开始调用SPEED4调用SPEED5调用SPEED6RET开始8259AMIR5SIR0PA0-PA38255PC0-PC7PB0-PB7/CSPLUS1PLUS2步进电机IN1-IN4开关K0-K7LEDL0-L7200H-2FFH6开始输入8255控制字开放MIR5和SIR0中断写中断程序入口输入目的楼层NNM?给电梯当前楼层赋初值M调用RISE调用DOWN电梯所在楼层赋给MYN中断程序开始保护寄存器调用子程序中断结束命令恢复寄存器开中断中断返回开中断延时程序开始PUSH:AX,BX.CXDHSPEEDCX0FFFFLOOPX2DHDH-1POP:AX,BX,CXDH=0?YN7七、程序清单datasegmenti8255_aequ200hi8255_bequ201hi8255_cequ202hi8255_kequ203hspeeddb2countdb01hxdb01hfiredb00hdataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoves,axmovdx,i8255_kmoval,89houtdx,alinal,21handal,11011011bout21h,alinal,0a1handal,0fehout0a1h,alstipushdsmovax,0movds,axleaax,cs:mint_procmovbx,5movsi,30Haddsi,bxaddsi,siaddsi,simovds:[si],axpushcspopaxmovds:[si+2],axleaax,cs:sint_procmovbx,0movsi,70Haddsi,bxaddsi,siaddsi,simovds:[si],axpushcspopaxmovds:[si+2],axpopdslll:movdx,i8255_bmoval,xoutdx,aljmplllmint_procprocfarstipushaxcallmintmoval,20hout20h,alpopaxiretmint_procendpmintprocmovdx,i8255_cinal,dxmovcount,alcmpal,xjarisejbdownjmprr8rise:callspeed1callspeed2callspeed3jmprrdown:callspeed4callspeed5callspeed6jmprrrr:moval,countmovx,alretmintendpsint_procprocfarpushaxpushdxcallsintmoval,20hout0a0h,alnopout20h,alpopaxpopdxiretsint_procendpsintprocmovdx,i8255_cinal,dxandal,0fhmovcount,alcmpal,xjarise1jbdown1jmprr1rise1:callspeed1callspeed2callspeed3jmprr1down1:callspeed4callspeed5callspeed6jmprr1rr1:retsintendpspeed1procmovdx,i8255_amoval,01houtdx,alcalldelay8movdx,i8255_amoval,03houtdx,alcalldelay7movdx,i8255_amoval,02houtdx,alcalldelay6movdx,i8255_amoval,06houtdx,alcalldelay5movdx,i8255_amoval,04houtdx,alcalldelay4movdx,i8255_amoval,0choutdx,alcalldelay3movdx,i8255_amoval,08houtdx,alcalldelay2movdx,i8255_a9moval,09houtdx,alcalldelay1retspeed1endpspeed2procmoval,countsubal,xmovah,aladdal,aladdal,ahaddal,alsubal,02hxorah,ahdecaxmovcx,axa2:pushcxmovdx,i8255_amoval,01houtdx,alcalldelay1movdx,i8255_amoval,03houtdx,alcalldelay1movdx,i8255_amoval,02houtdx,alcalldelay1movdx,i8255_amoval,06houtdx,alcalldelay1movdx,i8255_amoval,04houtdx,alcalldelay1movdx,i8255_amoval,0choutdx,alcalldelay1movdx,i8255_amoval,08houtdx,alcalldelay1movdx,i8255_amoval,09houtdx,alcalldelay1popcxloopa2retspeed2endpspeed3procmovdx,i8255_amoval,01houtdx,alcalldelay1movdx,i8255_amoval,03houtdx,alcalldelay2movdx,i8255_amoval,02houtdx,alcalldelay3movdx,i8255_amoval,06houtdx,alcalldelay4movdx,i8255_amoval,04houtdx,alcalldelay5movdx,i8255_amoval,0choutdx,alcalldelay6movdx,i8255_amoval,08houtdx,alcalldelay710movdx,i8255_amoval,09houtdx,alcalldelay8retspeed3endpspeed4procmovdx,i8255_amoval,09houtdx,alcalldelay8movdx,i8255_amoval,08houtdx,alcalldelay7movdx,i8255_amoval,0choutdx,alcalldelay6movdx,i8255_amoval,04houtdx,alcalldelay5movdx,i8255_amoval,06houtdx,alcalldelay4movdx,i8255_amoval,02houtdx,alcalldelay3movdx,i8255_amoval,03houtdx,alcalldelay2movdx,i8255_amoval,01houtdx,alcalldelay1retspeed4endpspeed5procmoval,xsubal,countmovah,aladdal,aladdal,ahaddal,alsubal,02hxorah,ahdecaxmovcx,axa1:pushcxmovdx,i8255_amoval,09ho
本文标题:微机原理课程设计(电梯)
链接地址:https://www.777doc.com/doc-1821201 .html