微机原理三级项目Word文档下载推荐.docx
《微机原理三级项目Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理三级项目Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。
![微机原理三级项目Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/17b96394-e64d-428d-bb5b-ecd23b31e59b/17b96394-e64d-428d-bb5b-ecd23b31e59b1.gif)
3.1.1工程背景
某厂生产瓶装保健饮品,每10瓶装一箱,要求箱满时,启动送箱装置,先送走满箱到位(延时一定时间),再送来空箱到位(延时一定时间),满箱和空箱分别在两个不同的传送带上传送。
3.1.2需要解决的问题
1、能够模拟传送带的运行过程,实现整个送箱过程。
2、能够模拟装箱过程(装满十瓶)。
3、能够人为控制生产线的启动和停止(比如键盘上,按某一键启动,启动后按任意键停止)。
4、能够在数码管上显示当时已装满送出的箱数。
3.2项目模拟方案
3.2.1主要硬件
(1)8255A芯片一个
CS:
片选信号,低电平有效。
A0、A1
地址信号
JP52:
PC口;
JP53:
PB口;
JP56:
PB口。
(2)8155芯片一个
IO/M:
高电平,选择I/O口;
低电平,选择数据RAM。
JP75:
JP76:
PA口;
JP79:
PC口。
(3)步进电机一个
(4)LED数码管
A:
按键的列线
B:
数码管段码
C:
数码管选择脚
D:
按键的行线
(5)发光管、按键、开关
发光管电路原理图
JP65:
发光管控制接口,0-灯亮,1-灯灭
3.2.2电路图
3.2.3系统连线图
B4区:
CS(8255)、A0、A1、CS(8155)
A3区:
CS3、A0、A1、CS2
IOM
A8
JP76、JP75
G5:
JP41、JP42
JP56、JP53
G6:
JP65、JP80(PC口)
E1区:
A、B、C、D
PC4、PC5、PC6、PC7
3.3控制程序
3.3.1框图
3.3.2详细程序
程序编写如下
.modelsmall
.stack
.data
leddb06h,5bh,4fh,66h,7dh,07h,7fh,6fh
.code
.startup
movax,@data
movds,ax
movcx,20
movbx,offsetled
start:
pushcx
moval,10000010b;
8255初始化
movdx,0d003h
outdx,al
L:
movdx,0d000h
moval,11111111b
outdx,al;
将指示灯初始化,使其全部熄灭
an_key1:
movdx,0d001h
inal,dx
cmpal,00000001b
jnzan_key1;
按键开始
L0:
moval,01111111b;
绿灯亮,开始装瓶。
calldelay
movcx,10;
装箱过程,让黄灯闪烁十下
L1:
moval,00111111b
calldelay1
moval,01111111b
loopL1
moval,11011111b;
红灯亮,装瓶结束
calldelay
moval,11110111b;
绿灯亮,开始送箱
an_key4:
jnzan_key4
callzhengzhuan
an_key2:
jnzan_key2
calldelay3
callxianshi
an_key3:
jnzan_key3
an_key5:
jnzan_key5
callfanzhuan
an_key6:
jnzan_key6
popcx
incbx
loopstart
zhengzhuanproc
pushdx
pushax
movcx,3
zheng1:
movdx,0d002h;
电机正转,送走满箱
moval,10h;
端口A
outdx,al
callzdelay
movdx,0d002h
moval,20h
端口B
callzdelay
moval,40h
端口C
moval,80h;
端口D
outdx,al
loopzheng1
popax
popdx
ret
zhengzhuanendp
xianshiproc
movdx,0e100h;
LED显示装箱数
moval,03h
movah,11111110b
again:
movdx,0e101h
moval,ah
movdx,0e102h
moval,[bx]
xianshiendp
fanzhuanproc
fan1:
电机反转,送来空箱
moval,40h;
端口C
moval,20h;
端口B
端口A
loopfan1
fanzhuanendp
;
延时子程序
zdelayproc
movdx,01h
a1:
xorcx,cx;
循环2
次,以下同理
a2:
loopa2
decdx
jnza1
zdelayendp
delay3proc
movdx,15h
t1:
xorcx,cx
t2:
loopt2
jnzt1
delay3endp
delayproc
movdx,10h
t3:
t4:
loopt4
jnzt3
delayendp
delay1proc
movdx,02h
t5:
t6:
loopt6
jnzt5
delay1endp
delay2proc
movdx,5h
t7:
t8:
loopt8
jnzt7
delay2endp
end
3.4实验结果分析
通过不断的调试,纠正,运行结果基本上达到了预期的效果,但是也存在一些问题,比如说步进电机的的转动是不连续的、有的实验台数码管不显示等等,不同的实验台,运行的效果也不一样,主要原因可能是实验仪器,和编程软件在制作上从在一定的误差,另一方面,也可能是我编的程序在逻辑上或多或少从在一些问题,在不考虑这些因素的情况下,方案基本上是可行的。
4、感想
这次项目收获颇多,首先,让我更加充分的了解微机原理计算机控制技术在实际中的应用,了解实际应用的一般流程和操作技巧。
其次,在这过程中,遇到了许多我无法立刻解决的问题,我通过上网查资料,与同学讨论,同时请教老师,最终顺利地解决了问题,经过自己的努里,我成功地完成项目要求,也学到了实验课上未涉及的知识。
最后,我也深刻体会到,团队合作的重要性,一个人的力量往往是有限的,众人拾柴火焰高,只有相互合作,各取所长,才能取得后的胜利。
同时大学也因培养自己的创新精神,敢于创新,这样才会在竞争激烈今天,处于不败之地。
5、参考文献
[1]钱晓捷[,陈涛]16/32位微机原理、汇编语言及接口技术2014年7月第一版
[2]StarES8688实验参考项目版