微机原理 及汇编语言课程小项目

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8255接线方式及用法: CS接CS1 片选 A0接A0 A1接A1 A端口接发光管,输出状态 B端口接开关,输入状态
8279接线: CS接CS5 片选
接线实物图
七段管显示图
程序开始,各工位都停止 .data leddt db 8 dup(00h) leddt1 db 8 dup(00) timer1=1 timer2=2 .code start:mov ax, @data mov ds, ax mov dx,0f003h mov al, 82h out dx, al mov dx,0f000h mov al,0ffh out dx, al
各工位依次进行 mov dx,0f000h mov al, 01111111b out dx,al call delay1 mov al,10111111b out dx, al call delay1 mov al,11011111b out dx, al call delay1
检测E工位是否正常 jiance: mov dx,0f001h in al,dx cmp al,01111111b ;未完工 jnz l1 ;完工 call jishu1 jmp start l1: mov dx,0f001h in al,dx cmp al,01111111b jnz l1 call jishu2 jmp start ;主程序结束 mov ax,4c00h int 21h
未完工时计数及七 段管显示子程序
完工时计数及七 段管显示子程序
jishu2 proc push cx push di push bx push si mov si,offset leddt mov cx,4 check1:mov bl, [si+4] inc bl cmp bl,9 jbe check2 mov byte ptr[si+4],0 inc si loop check1 check2: mov [si+4],bl mov si,offset leddt call baohu call display8 call songhui pop si pop bx pop di pop cx ret jishu2 endp
微机原理项目汇报 题目:生产线控制系统设计
项目要求
某生产线用于装配某机械产品,总共有5个工位,分别 为A、B、C、D、E要求使用微机控制,总计45秒完成一 个产品的装配。A、B、C、D各需要8秒,E工位需要13 秒。其中E工位是关键控制工位,如果在E工位没有按照 要求的时间完成就要将A工位暂停,直到E工位完成后给 A一个完成信号重新启动A工位。要求记录完成的工件数 和生产线发生故障的次数并显示。
baohu proc push si push di push ax push cx
延时子程序
songhui proc push si push di 保护缓冲 push ax 区子程序 push cx mov si,offset leddt1 mov di,offset leddt mov si,offset leddt mov cx,8 mov di,offset leddt1 again1:mov al,[si] mov cx,8 在调用了8279的 mov [di],al again:mov al,[si] display8 inc si mov [di],al 后缓冲区的数变为断码, inc di inc si loop again1 inc di 所以需要将其保护起来 pop cx loop again pop ax pop cx pop di pop ax 将缓冲区 pop si pop di 内的断码 ret pop si 转化为真 songhui endp ret 正的数 baohu endp
end start
项目心得
在刚刚开始设想方案时无法将方案中的实物和实验箱中 的模块替代对应,而且关于E工位是否按时完成的检测无 法用程序来表达,后来经过和组内人员讨论,决定将这 一环节用一个外部传感器来检测,本项目中只需获得传 感器信号。 项目完成后最大的体会就是团队合作的重要性和将学习 到得东西用到实际应用中的成就感。
delay1 proc push bx push cx mov bx,timer1 dely1:mov cx,10 dely2:loop dely2 dec bx jnz dely1 pop cx pop bx ret delay1 endp delay2 proc push bx push cx mov bx,timer2 dely3:mov cx,10 dely4:loop dely4 dec bx jnz dely3 pop cx pop bx ret delay2 endp
方案预想
用8255的A端口输出来控制五个发光管代表生产线各个工位 运行状态,用B端口来输入仪器上第八个开关的状态,表示 检测到得E工位是否正常结束,若正常结束,则完工计数一 次,重新从A工位开始循环,若E工位未在13秒内完工,则E 灯继续亮,直至E工位完工,故障计数一次,再从A开始循环。 其中,计数的七段管用8279芯片控制。
mov al,11101111b out dx, al call delay1
mov al,11110111b out dx, al call delay2
百度文库
jishu1 proc push cx push di push bx push si mov si,offset leddt mov cx,4 check3:mov bl, [si] inc bl cmp bl,9 jbe check4 mov byte ptr[si],0 inc si loop check3 check4: mov [si],bl mov si,offset leddt call baohu call display8 call songhui pop si pop bx pop di pop cx ret
相关文档
最新文档