《燕山大学微机原理项目第二十八组知识讲解.ppt》由会员分享,可在线阅读,更多相关《燕山大学微机原理项目第二十八组知识讲解.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、燕山大学微机原理项目第二十八组设计思路 使用8255用了A口,B口,C口。A口、B口和C口的下半部分输出,C口上半部分输入。PA0PA7接发光二极管,显示工作状态。PB0PB7接数码管段选端,PC0PC3接数码管位选端,用于满箱计数显示。PC4和PC5接开关,用于控制生产线开始和停止。设备数量8088CPU18255a芯片1发光二极管 3LED数码管4开关 2实验设备项目流程图程序初始化所有灯灭全部熄灭程序初始化所有灯灭全部熄灭设置设置8255A芯片芯片A、B,C低四位输出,低四位输出,C口高四位输入口高四位输入循环生产循环生产十瓶装一箱,绿灯闪十次指示十瓶装一箱,绿灯闪十次指示启动传送带运走
2、满箱、黄灯指示、数码管计数启动传送带运走满箱、黄灯指示、数码管计数检测启动开关是否闭合,是则向下执行检测启动开关是否闭合,是则向下执行 否则继续检测否则继续检测启动空箱传送带运送空箱,红灯指示启动空箱传送带运送空箱,红灯指示检测停止开关是否闭合,是则生产线停止,否则继续运行检测停止开关是否闭合,是则生产线停止,否则继续运行8255A接线图接线图试验仪上的接线图实现的功能K5闭合,生产线启动,绿灯连续闪十下,代表向箱子中装入十瓶饮料,黄灯亮,运装满饮料的箱子的传送带运送饮料到指定位置,红灯亮,运空箱子的传送带运送空箱子到指定位置,如果K6没有闭合,则程序循环运行,生产线连续生产,若K6闭合,则进
3、入暂停状态。项目分析系统自动每箱装入十个瓶子系统自动检测空箱到位系统对装满的箱运走系统可以在数码管上统计装满箱子的数目可以人工控制启动和停止程序程序stak segment stackstak segment stack db 1024 dup(0)db 1024 dup(0)stak endsstak endsdata segmentdata segmentnum dw 00hnum dw 00hled db 3fh,06h,5bh,4fh,66hled db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fh db 6dh,7dh,07h,7fh,6fh
4、bai dw 100 bai dw 100 shi db 10 shi db 10 baiw db 0 baiw db 0 shiw db 0 shiw db 0 gew db 0 gew db 0 data endsdata endscode segment codecode segment code assume cs:code,ds:data,ss:stak assume cs:code,ds:data,ss:stakstart:mov ax,datastart:mov ax,data mov ds,ax mov ds,ax mov al,10001000b;A,B mov al,100
5、01000b;A,B口工作在方式,口工作在方式,端口下部和端口下部和A、B口用于输出,端口口用于输出,端口C上部用于上部用于输入输入 mov dx,0f003h mov dx,0f003h out dx,al out dx,al mov dx,0f000h mov dx,0f000h mov al,11111111b mov al,11111111b out dx,al;out dx,al;将指示灯初始化,使其全部将指示灯初始化,使其全部熄灭熄灭 mov cx,999 mov cx,999test1:mov dx,0f002htest1:mov dx,0f002h in al,dx in al
6、,dx test al,10h test al,10h jnz test1;jnz test1;检测开关是否闭合,若闭合,检测开关是否闭合,若闭合,向下执行程序,生产线启动,若没有闭合,继续向下执行程序,生产线启动,若没有闭合,继续检测检测 one:mov dx,0f000h one:mov dx,0f000h mov cx,10 mov cx,10 again:mov al,111111again:mov al,1111111 10b0b out dx,al out dx,al call xianshi call xianshi mov al,11111111b mov al,1111111
7、1b out dx,al out dx,al call xianshi call xianshi loop again ;loop again ;生产线将瓶子装入箱子中,生产线将瓶子装入箱子中,十瓶一箱十瓶一箱 mov al,1111110 mov al,11111101 1b b out dx,al out dx,al call xianshi ;call xianshi ;启动运送已装满的箱子启动运送已装满的箱子的传送带的传送带 call xianshi call xianshi call xianshi call xianshi call xianshi call xianshi inc
8、 num inc num call xianshi;call xianshi;数码管计数显示数码管计数显示 mov dx,0f001h mov dx,0f001h mov al,00h mov al,00h out dx,al out dx,al test2:call xianshitest2:call xianshi mov dx,0f002h mov dx,0f002h in al,dx in al,dx test al,30h test al,30h jz test2 ;jz test2 ;检测控制暂停的开关是否闭检测控制暂停的开关是否闭合,若闭合,则生产线暂停,若没有闭合,则生合,若闭
9、合,则生产线暂停,若没有闭合,则生产线连续运行产线连续运行 mov dx,0f000h mov dx,0f000h mov al,11111 mov al,111110 011b11b out dx,al out dx,al call xianshi ;call xianshi ;启动运送空箱到位的传启动运送空箱到位的传送带送带 用显示的时间作为延迟时间用显示的时间作为延迟时间 call xianshi call xianshi call xianshi call xianshi call xianshi call xianshi jmp one;jmp one;循环生产循环生产 xiansh
10、i proc xianshi proc 显示子程序显示子程序 push cx push cx push ax push ax push bx push bx push dx push dx call shuzi call shuzi mov cx,800 mov cx,800again1:mov bl,baiwagain1:mov bl,baiw xor bh,bh xor bh,bh mov al,LEDbx mov al,LEDbx mov dx,0f001h mov dx,0f001h out dx,al call clear mov bl,shiw xor bh,bh mov al,L
11、EDbx mov dx,0f001h out dx,al mov dx,0f002h mov al,11111011b out dx,al call clear mov bl,gew xor bh,bh mov al,LEDBX mov dx,0f001h out dx,al mov dx,0f002h mov al,11110111b out dx,al call clear loop again1loop again1 pop dx pop dx pop bx pop bx pop ax pop ax pop cx pop cx ret ret xianshi endp xianshi e
12、ndp clear proc clear proc push ax push ax push dx push dx mov dx,0f002h mov dx,0f002h mov al,11111111b mov al,11111111b out dx,al out dx,al pop dx pop dx pop ax pop ax ret retclear endpclear endpshuzi procshuzi proc push ax push ax push dx push dxmov ax,nummov ax,num mov dx,0h mov dx,0h div bai div
13、bai mov baiw,al mov baiw,al mov ax,dx mov ax,dx div shi div shi mov shiw,al mov shiw,al mov gew,ah mov gew,ah pop dx pop dx pop ax pop ax ret ret shuzi endp shuzi endp code ends code ends end start end start数码管显示感想与建议 通过做微机原理项目,我收获了很多,首先是知识方面,因为微机原理毕竟是电脑的语言,就像接触一门不同的语言一样。但是在做项目的过程中,随着不断地用到各方面的知识从汇编的基础知识到常用语句,以及程序设计,到存储器,再到8255A芯片的原理及应用,我对这些知识有了深入的了解。另外我们通过小组成员的共同交流合作一步步懂了试验箱上各部件是如何通过计算机语言实现运行的,提高了动手能力。当然最主要的还是感谢老师的倾囊相授。希望以后能多有这样的机会,通过实践来学习知识,再用学到的知识指导实践工作,能真正做到学以致用!此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢
限制150内