某生产线控制系统设计资料.docx
- 文档编号:5639617
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:15
- 大小:227.66KB
某生产线控制系统设计资料.docx
《某生产线控制系统设计资料.docx》由会员分享,可在线阅读,更多相关《某生产线控制系统设计资料.docx(15页珍藏版)》请在冰豆网上搜索。
某生产线控制系统设计资料
某生产线的计算机控制技术的实现
班级:
10级机控
(1)班
学号:
100101010053
姓名:
卢彪
课程名称:
16/32位微机原理,汇编语言及接口技术
指导教师:
李艳文
2013年5月
一、项目要求3
二、模拟方案3
三、程序执行流程图4
四、接线图5
五、实物接线图5
六、功能实现7
七、详细程序7
八、感言12
某生产线的计算机控制技术的实现作者卢彪
(燕山大学机械工程学院)
摘要:
该项目主要是通过数码管模拟A,B,C,D,E五个工序的运行情况,用8253定时计数器进行精确计时。
用七段数码管的前4位记录完成的工件数,后四位记录误工数。
通过用汇编语言的编程,基本实现A,B,C,D各运行8S,E运行13S,并对误工现象进行模拟、识别和记录功能。
一、项目要求
某生产线用于装配某机械产品,总共有5个工位,分别为A、B、C、D、E要求使用微机控制,总计45秒完成一个产品的装配。
A、B、C、D各需要8秒,E工位需要13秒。
其中E工位是关键控制工位,如果在E工位没有按照要求的时间完成就要将A工位暂停,直到E工位完成后给A一个完成信号重新启动A工位。
要求记录完成的工件数和生产线发生故障的次数并显示。
2、模拟方案
1、考虑采用二极管的亮灭代表A,B,C,D,E的运行与否以及误工情况
2、采用七段数码管的前四位表示所生产的的工件数,后四位表示误工数
3、用误工开关模拟E工位的误工情况
4、采用8255A作为基本的输入输出接口,用PA口对数码管进行段控;用
PB口控制二极管的亮灭;PC0作为误工信号的输入接口,PC1作为计时
结束信号返回的接口,PC5,PC6,PC7用来控制74LS138译码器的A、
B、C端口。
5、采用74LS138译码器的输出接口对七段数码管进行位控
6、采用8253定时计数器进行精确计时
三、程序执行流程图
四、接线图
5、实物接线图
1、8255A实物接线图
2、74LS138译码器实物接线图
3、8253定时计数器实物接线图
6、功能实现
通过二极管的1、2、3、4、6号灯分别模拟A、B、C、D、E五个工位的运行情况,8号灯与6号灯同时亮表示E工位误工。
本题通过8号开关模拟误工信号。
七段数码管的前四位显示所完成的工件数,后四位显示E工位误工数。
七、详细程序
.modelsmall
.stack
.data
chushudw10;定义除数为10
shujudb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;0——10所对应的七段数码管段码→shuju
gjsdw0h;定义所完成工件数gjs
wgsdw0h;定义误工数wgs
ge1db0h;定义工件数个位ge1
shi1db0h;定义工件数十位shi1
bai1db0h;定义工件数百位bai1
ge2db0h;定义误工数个位ge2
shi2db0h;定义误工数十位shi2
bai2db0h;定义误工数百位bai2
.code
start:
movax,@data
movds,ax;初始化8255A
movdx,0f003h;
moval,10000001b
outdx,al
movdx,0e003h;初始化8253
moval,00110000b
outdx,al
a0:
movdx,0f001h;定义A工位
moval,11111110b
outdx,al
calldelay8s;调用8S延时程序
a1:
movdx,0f002h
inal,dx;返回计数器out0信号
andal,00000010b
jza1;OUT0为低电平继续循环
movdx,0f001h;OUT0为高电平则开始工位B
moval,11111101b
outdx,al
calldelay8s
b1:
movdx,0f002h
inal,dx
testal,00000010b
jzb1
movdx,0f001h;开始工位C
moval,11111011b
outdx,al
calldelay8s
c1:
movdx,0f002h
inal,dx
testal,00000010b
jzc1
movdx,0f001h;开始工位D
moval,11110111b
outdx,al
calldelay8s
d1:
movdx,0f002h
inal,dx
testal,00000010b
jzd1
m:
movdx,0f001h;开始工位E
moval,11011111b
outdx,al
calldelay13s;调用13S延时程序
e1:
movdx,0f002h
inal,dx;返回计时器OUT0信号
testal,00000010b
jze1;若OUT0信号为低电平继续循环
e2:
movdx,0f002h;若为高电平则检测误工情况
inal,dx;返回误工开关电平
testal,00000001b
jzcount;误工信号为低电平,跳转至分支count
delay:
movdx,0f001h
moval,01011111b
outdx,al;E工位和误工信号灯同时亮
delay1:
movdx,0f002h
inal,dx;返回误工信号
testal,00000001b
jnzdelay;若继续误工,则重复检验
movdx,0f001h
moval,11111111b
outdx,al;误工解除,信号灯全灭进行计数
incwgs;误工数加一
count:
moval,11111111b
movdx,0f001h
outdx,al;信号灯全灭,进行计数
incgjs;工件数加一
calljisuan1;调用计算工件数子程序jisuan1
calljisuan2;调用计算误工数子程序jisuan2
movcx,3h;设定数码管循环显示次数为3
show:
callledshow;调用数码管显示子程序
loopshow;循环显示
jmpa0;调至程序开头,重新进行
movax,4c00h
int21h
jisuan1proc
pushax
pushdx
ge3:
movax,gjs;工件数→AX
movdx,0;dx清零
divchushu;利用除十取余法取出个位
movge1,dl
shi:
movdx,0
divchushu
movshi1,dl;继续除十取余取出十位
bai:
movdx,0
divchushu
movbai1,dl;取出百位
popcx
popdx
popax
ret
jisuan1endp
jisuan2proc
pushax
pushdx
ge0:
movdx,0
movax,wgs
divchushu
movge2,dl
shi0:
movdx,0
divchushu
movshi2,dl
bai0:
movdx,0
divchushu
movbai2,dl
popdx
popax
ret
jisuan2endp
ledshowproc
pushbx
pushax
pushdx
showbai1:
movbx,offsetshuju;shuju偏移地址→bx
moval,bai1;百位数字→al
xlat;百位数字对应的数码管段码→al
movdx,0f000h
outdx,al;写入段码
moval,11000000b
movdx,0f002h
outdx,al;写入位码
showshi1:
movbx,offsetshuju;显示工件数十位
moval,shi1
xlat
movdx,0f000h
outdx,al
moval,10100000b
movdx,0f002h
outdx,al
showge1:
movbx,offsetshuju;显示工件数各位
moval,ge1
xlat
movdx,0f000h
outdx,al
moval,10000000b
movdx,0f002h
outdx,al
showbai2:
movbx,offsetshuju;显示误工数百位
moval,bai2
xlat
movdx,0f000h
outdx,al
moval,01000000b
movdx,0f002h
outdx,al
showshi2:
movbx,offsetshuju;显示误工数十位
moval,shi2
xlat
movdx,0f000h
outdx,al
moval,00100000b
movdx,0f002h
outdx,al
showge2:
movbx,offsetshuju;显示误工数个位
moval,ge2
xlat
movdx,0f000h
outdx,al
moval,00000000
movdx,0f002h
outdx,al
popdx
popax
popbx
ret
ledshowendp
delay8sproc;8s延时子程序
pushax
pushdx
moval,08h
movdx,0e000h
outdx,al;写入计数值低字节
moval,3dh
movdx,0e000h
outdx,al;写入计数值高字节
popdx
popax
ret
delay8sendp
delay13sproc;13s延时子程序
pushax
pushdx
moval,2dh
movdx,0e000h
outdx,al
moval,63h
movdx,0e000h
outdx,al
popdx
popax
ret
delay13sendp
endstart
8、感言
经过一段时间的忙碌和纠结以后终于把项目如期完成了。
从一开始的满脑的茫然到后来的一知半解再到后来能自己独立完成这次项目,学到了许多。
不单单是汇编语言的编程知识、硬件的连线知识,更重要的是一种学习的态度和方法。
面对从未接触过的领域,大部分人肯定会十分茫然,但我们若是畏步不前,那我们就会毫无进步,唯有硬着头皮向上冲,方能学到自己该学到的东西。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生产线 控制系统 设计 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)