大学计算机实验报告 实验原理,大连理工大学计算机原理实验报告.pdf

a7f4a3f590493a1e451dd952a488fd7c.gif 大连理工大学计算机原理实验报告.pdf

(15页)

397b96ec3a7ddbb3d7b6c04acac87c9b.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

11.90 积分

大连理工大学计算机原理实验报告 - II - 目 录 1 实验任务 ........................................................................................................................ 1 2 设计方案 ........................................................................................................................ 1 3 设计电路 ........................................................................................................................ 3 4 设计程序 ......................................................................................................................... 5 5 遇到的问题 .................................................................................................................... 2 (1)程序语法方面 .................................................................................................. 2 (2)运行逻辑方面 .................................................................................................. 2 (3)软件使用方面 .................................................................................................. 2 6 何解决问题 .................................................................................................................... 2 (1)程序语法方面 .................................................................................................. 2 1)寄存器使用时,数据类型不匹配: .......................................................... 2 2)程序越来越大的时候,程序结构混乱: .................................................. 2 3)基本操作的要求: ...................................................................................... 3 4)对于中断服务程序、堆栈段以及中断 STI 指令的理解: ...................... 3 (2)运行逻辑方面 .................................................................................................. 3 1)电梯加速减速在一楼到二楼的特殊情况的考虑问题: .......................... 3 2)电梯运行方式的确定问题: ...................................................................... 4 3)电梯连续运行时,各种参数的转换问题: .............................................. 5 4)对于电梯实时运行显示的显示逻辑问题: .............................................. 5 (3)软件使用方面 .................................................................................................. 5 1)在使用软件的时候,对于软件设置断点,以及使用断点的问题: ...... 5 2)在软件使用中,经常出现的 USB 端口缺失,以及软件程序不能发送到实验板中的问题: .................................................................................................... 6 7 实验体会 ........................................................................................................................ 6 大连理工大学计算机原理实验报告 –1– 1 实验任务 本次实验通过汇编语言编程,基本实现电梯的功能:通过在实验板的 8 位开关进行选择需要到的楼层,步进电机进行旋转,250 个脉冲为一层,即电机旋转 5.2 圈为一层,每次启动,电机由速度为 0 加速启动,加速到最大速度时,正好达到二楼。到达目的楼层之前,在距离楼层半层时开始减速,准确到达楼层时停止转动。其中,当运动为一层时,电梯仅仅加速到最大速度的一半,然后减速,到达目的楼层。在每次到达目的楼层之后,继续修改目的楼层,可以连续工作。在工作的过程中,通过数码管实时显示当前的楼层,同时通过 LED 灯也实时显示楼层情况。 2 设计方案 (1) 电梯电机驱动部分 通过地址 200H 选中 8254 定时器芯片,使用定时器 0 和定时器 1 对实验板上的 1MHz 脉冲信号进行分频,通过两个定时器进行分频,之后 out1 给中断控制器 8259,触发中断,在中断中进行参数 spnum 的自加,在通过这个变量的数值大小与主程序 speed 的比较来决定主程序是否对步进电机发出相序信号,使其开始转动。 mov ax,speed cmp ax,spnum ;判断现在是否开始发步进电机脉冲时序 。省略部分。ov bufnum,al jmp next next: inc distance ;记录步进电机的步数 mov ax,distance mov ch,250 div ch mov floor,al ;如果目的是 2 楼 cmp floorinit,1 jnz next1 ;不等于二,进行下一步的正常启动 cmp distance,125 jnb shut_2 sub speed, 1 cmp speed,20 jnb shut_2 mov speed,20 shut_2: cmp distance,250 jb shut cli ;到了二楼关中断 cmp up,1 jne storedown1 mov ah,floor add floorbeforeshow,ah call finddown storedown1: mov ah,floor sub floorbeforeshow,ah call finddown shut: cmp distance,125 jna go add speed ,1 ;提高数值 减速 cmp speed,100 jb go mov speed,100 jmp go next1: ;加速阶段 cmp distance,250 jnb shutdown sub speed, 1 cmp speed,20 jnb go mov speed,20 shutdown: mov al,floorinit cmp floor,al jnz shut1 cli cmp up,1 jne storedown2 mov ah,floor add floorbeforeshow,ah call finddown storedown2: mov ah,floor sub floorbeforeshow,ah call finddown mov move,0 shut1: mov ax,floorinitdis cmp distance, ax jna go add speed ,1 ;提高数值 减速 cmp speed,100 jb go mov speed,100 go: ;循环之中显示小灯和数码管 cmp up,1 jne show2 ;led mov al, 00000001b mov ah,floorbeforeshow add ah,floor mov cl,ah rol al,cl mov dx, p8255_c out dx,al ;数码管 mov al,ah inc al mov cl,01h call disp jmp continue show2: ;led mov al, 00000001b mov ah,floorbeforeshow sub ah,floor mov cl,ah rol al,cl mov dx, p8255_c out dx,al ;数码管 mov al,ah 大连理工大学计算机原理实验报告 –4– inc al mov cl,01h call disp continue: jmp lll finddown proc mov distance,0 loop1: ;程序开始,从 8255 中取出想要去的楼层 ;led mov al, 00000001b mov ah,floorbeforeshow mov cl,ah rol al,cl mov dx, p8255_c out dx,al ;数码管 mov al,ah inc al mov cl,01h call disp mov dx,p8255_b in al,dx cmp al,beforelouceng je loop1 cmp al,floorbeforeshow jna giveup1 mov beforelouceng,al mov up,1 sub al,floorbeforeshow mov floorinit,al dec al mov bh,250 mul bh add ax,125 mov floorinitdis,ax jmp out1 giveup1: mov up,0 mov beforelouceng,al mov cl,floorbeforeshow sub cl,al mov al,cl mov floorinit,al dec al mov bh,250 mul bh add ax,125 mov floorinitdis,ax jmp out1 finddown ENDP ;**********数码管显示函数******* DISP PROC push dx push bx push ax push cx mov si,offset ledcode mov bx,si mov ah,0 add bx,ax mov al,[bx] mov dx,led_cs out dx,al mov al,cl inc dx nop nop nop out dx,al pop cx pop ax pop bx pop dx RET DISP ENDP ;****中断服务函数,控制速度*** int_proc proc far push ax push cx inc spnum cmp spnum,150 jna con mov spnum,150 con: mov al,20h out 20h,al pop cx pop ax iret int_proc endp code ends end main 关 键 词: 实验 理工大学 报告 大连 原理 计算机

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值