微机原理实习报告Word文档下载推荐.docx
《微机原理实习报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理实习报告Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
成员,,软件调试
成员,,软件实现
成员,,硬件处理
三、技术要求
1、设计完成交通灯的电路
2、采用TDN试验箱上的8255、8259、8088完成
3、程序设计中采用软件控制数码管显示(难点)
四、试验器材
TDN-MD86/88实验箱一台,8255一片,8259一片,8088一片,数码管一组,发光二极管一组。
五、设计和调试环境
TDN-MD88教学试验系统
六、题目分析、工作原理、设计思想
题目分析:
我们所做的交通灯是控制单路口处车辆和行人的通过及停止的简易交通灯。
因此需要两个灯和一块用于显示倒计时的数码块来控制车辆和行人的通行、停留问题。
其中两个灯分为红绿黄色,主要根据3只灯的亮灭情况来控制车辆,当红灯灭绿灯亮的时候车辆可以通过,而红灯亮绿灯灭时车辆就要停止通行。
数码块用于显示倒计时的时间以控制人,当倒计时开始时人通行,倒计时结束后行人就要等待。
设计思想:
在意开始启动交通灯时设置为红灯亮,让车辆先通行,行人等待,数码快开始倒计时,此时为车通行时间。
然后当数码块倒计时到0时车通行的时间结束,转而黄灯开始闪烁,经过4秒后,跳转到绿灯,此时,人行道畅通,车停止,通过,不断地循环正常的进行。
特殊情况:
通行道遇到紧急状况时,封封锁通道进行处理,此时,红灯全亮,延长一段时间后,处理结束,进入正常的状态,车辆人都可以畅通。
工作原理:
通过向8259写入程序来控制其他器件的工作。
在程序一开始写入中断向量和各芯片的控制方式字,以确保发生中断是正确的响应中断及芯片正确的工作状态。
接下来的程序就是控制8255,8255选择工作方式1,A、B、C、口都做基本的输入输出。
通过8255A口先让红灯亮。
。
中断允许后就开始执行中断程序,此时通过8255的A口先让红灯全亮,8255的B口控制数码块显示倒计时数据,8255的C口控制在那一块数码块上显示。
中断结束后跳转到上面控制8255的程序处又继续依次执行。
七、电路图
整套电路系统由控制系统模块、交通灯输出控制显示模块、倒计时时显示模块组成。
交通灯输出显示采用高亮度红绿双色发光二极管,倒计时采用高亮红色7段LED发光数码管显示,采用共阴数码管。
系统电路图如下所示:
八、程序
主要分为四大模块:
第一,led的闪烁,第二,数码管的倒计时,第三,中断的响应,第四,整体的试验成功.
完整的主程序:
七段码的赋值
0209:
00006FH0209:
000566H
00017FH0209:
00064FH
000207H0209:
00075BH
00037DH0209:
000806H
00046DH0209:
00093FH
/*****************中断向量的初始化*************
IRQ7:
movw[003C],2500
MOVW[003E],0000
MOVAL,80
OUT63,AL//8255的初始化工作在方式0
INAL,21H
ANDAL,7FH
OUT21H,AL//7号引脚开中断
/********************红灯显示*********************
RED:
MOVAL,1F
OUT62,AL,
MOVAX,0000H
MOVDS,AX
MOVSI,2000H
A2:
MOVAL,[SI]
OUT61H,AL//设置显示字符9-0
INCSI
CMPSI,200CH
JZYELLOW
CALLDALLY//调用延时程序
JMPA2
/********************绿灯显示**********************
GREEN:
MOVAL,0F8
OUT62,AL
A2,:
OUT61H,AL//设置显示字符9-0
JZRED
CALLDALLY//调用延时程序
/******************黄灯显示***********************
YELLOW:
MOVAL,0E7
OUT62,AL
MOVAX,0000H
MOVDS,AX
MOVSI,2006H
A2
MOVAL,[SI]
OUT61H,AL//设置显示字符9-0
INCSI
CMPSI,200CH
JZGREEN
CALLDALLY//调用延时程序
JMPA2,,
CALLDALY2//调用计数函数
JMPRED
/*********************延时程序程序1**************
DALLY1:
PUSHCX
PUSHAX
MOVCX,00FFH
A3:
MOVAX,056CH
A4:
DECAX
JNZA4
LOOPA3
POPAX
POPCX
RET
/********延时程序程序2********************
DALLY2:
MOVCX,00A0H
RET
/************紧急中断应用延时程序****************
DALLY3:
MOVAL,00
OUT61H,AL
PUSHCX
PUSHAX
MOVCX,00ffH
MOVAX,00ffH
/***********紧急中断,全部显示***********************
IRQ7:
MOVAL,0fH
OUT62H,AL//设置红灯全亮
CALLDALLY3//调用延时程序
JMPGREEN
movAL,20
out,20,AL
CLT
IRET