微机原理项目
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Leabharlann Baidu
pop dx pop bx pop ax ret sao endp yin proc push ax push dx sub zhuan,08h mov dx,0f002h mov al,zhuan out dx,al call delay call delay add zhuan,08h mov dx,0f002h mov al,zhuan out dx,al pop dx pop ax ret yin endp code ends end start
项目程序如下:
• • • • • • • • • • • • • • • • • • stak segment stack db 1024 dup(0) stak ends data segment deng db 08h,09h,0ah,0bh,0ch,0dh,0eh,0fh leddt db 0,1,2,3,4,5,6,7,8,9,0ah duan db 8 dup(0) ledtb db 3fh,6h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h zhuan db 8 dup(0) data ends code segment 'code' assume cs:code,ds:data,ss:stak start: mov ax,data mov ds,ax mov dx,0f003h mov al,88h out dx,al mov dx,0f002h
微机原理工程项目作业
项目:某生产线控制系统设计
学校:燕山大学 学院:机械工程学院 姓名:金林茹 学号:070108020043 老师:史艳国
项目要求
某生产线用于装配某机械产品,总共有5个工 位,分别为A、B、C、D、E要求使用微机控 制,总计45秒完成一个产品的装配。A、B、 C、D各需要8秒,E工位需要13秒。其中E工 位是关键控制工位,如果在E工位没有按照要 求的时间完成就要将A工位暂停,直到E工位 完成后给A一个完成信号重新启动A工位。要 求记录完成的工件数和生产线发生故障的次 数并显示。
ma3:
mov al, [di+2] call shuchu call delay jmp jump4 ma4: mov al, [di+3] call shuchu call delay jmp jump5 ma5: mov al, [di+4] call shuchu call delay jmp jump6 ma6: mov al, [di+5] call shuchu call delay jmp jump7 ma7: mov al, [di+6] call shuchu call delay jmp jump8
led2:
mov dx,0f000h out dx,al push ax mov al,ah mov dx,0f001h out dx,al call delay rol ah,1 jmp ma1 jump2: rol ah,1 jmp ma2 jump3: rol ah,1 jmp ma3 jump4: rol ah,1 jmp ma4 jump5: rol ah,1 jmp ma5 jump6: rol ah,1 jmp ma6 jump7: rol ah,1 jmp ma7
8255 接 线 图
8255接线图片
138译码器接线图
8255pc0
8255pc1
8255pc2 (c1)vcc (c1)GND (c1)GND
灯 J P 6 5
总体接线图片
程序介绍
本程序实现的功能:
通过接线和程序实现各工位的时间设置, 实现间断响应,由数码管记录完成成品 数和发生间断次数,并显示读秒和工位 情况,由蜂鸣器读秒。由指示灯代替工 位,由开关代替间断发生。
实验设备
设备 8088CPU 8255a芯片 138译码器 蜂鸣器 发光二极管 开关 数量 1 1 1 1 5 1
8088 芯 片 引 脚 图
注:
PC0—(138)A PC1—(138)B PC2—(138)C PC3—开关 PC4—蜂鸣器
J P 4 1 J P 4 2
(A3)A0 (A3)A1 (A3)CS1
• • • • • • • • • • • • • • • • • • •
jian2: mov duan[6],0 jmp one leddisp proc push ax push bx push cx push dx mov di,offset duan mov bx,offset zhuan mov [bx],ax led1: mov si,offset leddt mov bx,offset ledtb mov ah,0feh led3: cld lodsb cmp al,0ah je jinwei1 xlat ledtb mov cx,12
心得体会
通过这次做项目我理解到了课程中一些 不理解的问题,加深了我的理解,也让 我初步的学习了一些简单的控制系统的 制作方式,更加加深了我对这部分内容 的理解消化。在这次项目中,我深刻的 体会了到了自己从不懂到慢慢理解和熟 练使用的过程,让我理解到了只要用心 去做就会受到收获,总之在这次项目中 使我受益匪浅。
shuchu endp sao proc push ax push bx push dx mov ah,0feh mov al,0 xlat ledtb mov ax,0f000h out dx,al mov dx,0f001h mov al,ah out dx,al call delay mov bx,0 wa: rol ah,1 mov al,duan[bx] push bx mov bx,offset ledtb call shuchu pop bx call delay inc bx cmp bx,08h jne wa
• • • • • • • • • • • • • • • • • • •
zhang: add duan[3],1 cmp duan[3],0ah je zhang1 jmp gui zhang1: add duan[4],1 mov duan[3],0 cmp duan[4],0ah je zhang2 jmp gui zhang2: mov duan[4],0 jmp gui ma1: mov al, [di] call shuchu call delay jmp jump2 ma2: mov al, [di+1] call shuchu call delay jmp jump3
• • • • • • • • • • • • • • • • • •
gong3: mov duan[2],0ch mov bx,offset deng jmp zi mov cx,5 gong4: mov duan[2],0dh again: mov al,[bx] jmp zi out dx,al cmp al,08 ;数码管显示正在加工程序的名称。 gong5: mov duan[2],0eh jmp zi je gong1 zi: call leddisp cmp al,09h inc bx je gong2 cmp bx,05h cmp al,0ah je jian je gong3 one: loop again cmp al,0bh jmp lop je gong4 jian: add duan[5],1 cmp al,0ch cmp duan[5],0ah je gong5 je jian1 gong1: mov duan[2],0ah ;显示A工序。 jmp one jmp zi jian1: add duan[6],1 gong2: mov duan[2],0bh mov duan[5],0 jmp zi cmp duan[6],0ah je jian2 jmp one lop:
项目程序执行过程介绍
由延时程序控制每一工位的时间,由 138译码器实现工位转换,蜂鸣器读秒, LED2显示度的秒数和工位,LED1显示完 成件数和发生故障的次数。
第一工位LED2显示读秒和工位,蜂 鸣器读秒,时间八秒;依次到第五个工位, 若不发生故障,和前四个工位相同,只是 时间为13秒,若发生故障(拨动开关), 则蜂鸣器报警,LED1显示故障数加一。
• • • • • • • • • • • • • • • • • • • •
jump8: pop ax dec cx jne led2 jmp led3 jinwei1: add duan,1 call yin cmp zhuan,0ch jne jinwei5 cmp duan,03h je jinwei4 back: cmp duan,0ah je jinwei2 jmp led1 jinwei2: mov duan,0 add duan[1],1 cmp duan[1],0ah je jinwei3 jmp led1 jinwei3: mov duan[1],0 jmp led1
• • • • • • • • • • • • • • • • • • • • • • • • •
go:
pop dx pop cx pop bx pop ax ret leddisp endp delay proc push cx mov cx,100h delay2: loop delay2 pop cx ret delay endp shuchu proc push ax push bx xlat ledtb mov dx,0f000h out dx,al mov al,ah mov dx,0f001h out dx,al pop bx pop ax ret
jinwei4: cmp duan[1],01h je show jmp back jinwei5: cmp duan,08h je gui1 jmp back gui: mov duan[1],0 mov duan,0 jmp go gui1: mov duan,0 jmp go show: mov dx,0f002h in al,dx and al,10h je zhao jmp gui zhao: mov dx,0f002h in al,dx call sao and al,10h je zhao jmp zhang
pop dx pop bx pop ax ret sao endp yin proc push ax push dx sub zhuan,08h mov dx,0f002h mov al,zhuan out dx,al call delay call delay add zhuan,08h mov dx,0f002h mov al,zhuan out dx,al pop dx pop ax ret yin endp code ends end start
项目程序如下:
• • • • • • • • • • • • • • • • • • stak segment stack db 1024 dup(0) stak ends data segment deng db 08h,09h,0ah,0bh,0ch,0dh,0eh,0fh leddt db 0,1,2,3,4,5,6,7,8,9,0ah duan db 8 dup(0) ledtb db 3fh,6h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h zhuan db 8 dup(0) data ends code segment 'code' assume cs:code,ds:data,ss:stak start: mov ax,data mov ds,ax mov dx,0f003h mov al,88h out dx,al mov dx,0f002h
微机原理工程项目作业
项目:某生产线控制系统设计
学校:燕山大学 学院:机械工程学院 姓名:金林茹 学号:070108020043 老师:史艳国
项目要求
某生产线用于装配某机械产品,总共有5个工 位,分别为A、B、C、D、E要求使用微机控 制,总计45秒完成一个产品的装配。A、B、 C、D各需要8秒,E工位需要13秒。其中E工 位是关键控制工位,如果在E工位没有按照要 求的时间完成就要将A工位暂停,直到E工位 完成后给A一个完成信号重新启动A工位。要 求记录完成的工件数和生产线发生故障的次 数并显示。
ma3:
mov al, [di+2] call shuchu call delay jmp jump4 ma4: mov al, [di+3] call shuchu call delay jmp jump5 ma5: mov al, [di+4] call shuchu call delay jmp jump6 ma6: mov al, [di+5] call shuchu call delay jmp jump7 ma7: mov al, [di+6] call shuchu call delay jmp jump8
led2:
mov dx,0f000h out dx,al push ax mov al,ah mov dx,0f001h out dx,al call delay rol ah,1 jmp ma1 jump2: rol ah,1 jmp ma2 jump3: rol ah,1 jmp ma3 jump4: rol ah,1 jmp ma4 jump5: rol ah,1 jmp ma5 jump6: rol ah,1 jmp ma6 jump7: rol ah,1 jmp ma7
8255 接 线 图
8255接线图片
138译码器接线图
8255pc0
8255pc1
8255pc2 (c1)vcc (c1)GND (c1)GND
灯 J P 6 5
总体接线图片
程序介绍
本程序实现的功能:
通过接线和程序实现各工位的时间设置, 实现间断响应,由数码管记录完成成品 数和发生间断次数,并显示读秒和工位 情况,由蜂鸣器读秒。由指示灯代替工 位,由开关代替间断发生。
实验设备
设备 8088CPU 8255a芯片 138译码器 蜂鸣器 发光二极管 开关 数量 1 1 1 1 5 1
8088 芯 片 引 脚 图
注:
PC0—(138)A PC1—(138)B PC2—(138)C PC3—开关 PC4—蜂鸣器
J P 4 1 J P 4 2
(A3)A0 (A3)A1 (A3)CS1
• • • • • • • • • • • • • • • • • • •
jian2: mov duan[6],0 jmp one leddisp proc push ax push bx push cx push dx mov di,offset duan mov bx,offset zhuan mov [bx],ax led1: mov si,offset leddt mov bx,offset ledtb mov ah,0feh led3: cld lodsb cmp al,0ah je jinwei1 xlat ledtb mov cx,12
心得体会
通过这次做项目我理解到了课程中一些 不理解的问题,加深了我的理解,也让 我初步的学习了一些简单的控制系统的 制作方式,更加加深了我对这部分内容 的理解消化。在这次项目中,我深刻的 体会了到了自己从不懂到慢慢理解和熟 练使用的过程,让我理解到了只要用心 去做就会受到收获,总之在这次项目中 使我受益匪浅。
shuchu endp sao proc push ax push bx push dx mov ah,0feh mov al,0 xlat ledtb mov ax,0f000h out dx,al mov dx,0f001h mov al,ah out dx,al call delay mov bx,0 wa: rol ah,1 mov al,duan[bx] push bx mov bx,offset ledtb call shuchu pop bx call delay inc bx cmp bx,08h jne wa
• • • • • • • • • • • • • • • • • • •
zhang: add duan[3],1 cmp duan[3],0ah je zhang1 jmp gui zhang1: add duan[4],1 mov duan[3],0 cmp duan[4],0ah je zhang2 jmp gui zhang2: mov duan[4],0 jmp gui ma1: mov al, [di] call shuchu call delay jmp jump2 ma2: mov al, [di+1] call shuchu call delay jmp jump3
• • • • • • • • • • • • • • • • • •
gong3: mov duan[2],0ch mov bx,offset deng jmp zi mov cx,5 gong4: mov duan[2],0dh again: mov al,[bx] jmp zi out dx,al cmp al,08 ;数码管显示正在加工程序的名称。 gong5: mov duan[2],0eh jmp zi je gong1 zi: call leddisp cmp al,09h inc bx je gong2 cmp bx,05h cmp al,0ah je jian je gong3 one: loop again cmp al,0bh jmp lop je gong4 jian: add duan[5],1 cmp al,0ch cmp duan[5],0ah je gong5 je jian1 gong1: mov duan[2],0ah ;显示A工序。 jmp one jmp zi jian1: add duan[6],1 gong2: mov duan[2],0bh mov duan[5],0 jmp zi cmp duan[6],0ah je jian2 jmp one lop:
项目程序执行过程介绍
由延时程序控制每一工位的时间,由 138译码器实现工位转换,蜂鸣器读秒, LED2显示度的秒数和工位,LED1显示完 成件数和发生故障的次数。
第一工位LED2显示读秒和工位,蜂 鸣器读秒,时间八秒;依次到第五个工位, 若不发生故障,和前四个工位相同,只是 时间为13秒,若发生故障(拨动开关), 则蜂鸣器报警,LED1显示故障数加一。
• • • • • • • • • • • • • • • • • • • •
jump8: pop ax dec cx jne led2 jmp led3 jinwei1: add duan,1 call yin cmp zhuan,0ch jne jinwei5 cmp duan,03h je jinwei4 back: cmp duan,0ah je jinwei2 jmp led1 jinwei2: mov duan,0 add duan[1],1 cmp duan[1],0ah je jinwei3 jmp led1 jinwei3: mov duan[1],0 jmp led1
• • • • • • • • • • • • • • • • • • • • • • • • •
go:
pop dx pop cx pop bx pop ax ret leddisp endp delay proc push cx mov cx,100h delay2: loop delay2 pop cx ret delay endp shuchu proc push ax push bx xlat ledtb mov dx,0f000h out dx,al mov al,ah mov dx,0f001h out dx,al pop bx pop ax ret
jinwei4: cmp duan[1],01h je show jmp back jinwei5: cmp duan,08h je gui1 jmp back gui: mov duan[1],0 mov duan,0 jmp go gui1: mov duan,0 jmp go show: mov dx,0f002h in al,dx and al,10h je zhao jmp gui zhao: mov dx,0f002h in al,dx call sao and al,10h je zhao jmp zhang