微机原理课程设计南京工程学院电气工程讲义Word文档下载推荐.docx
- 文档编号:6728041
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:19
- 大小:231.17KB
微机原理课程设计南京工程学院电气工程讲义Word文档下载推荐.docx
《微机原理课程设计南京工程学院电气工程讲义Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计南京工程学院电气工程讲义Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。
完成以下要求:
1)设计并绘制系统的电路原理图
2)绘制具备相关功能的程序流程图
3)根据设计的流程图编写汇编语言源程序
4)在STARES598PCI实验系统上调试运行程序,完成设计功能要求。
具体的交通灯模拟控制系统的功能及设计任务见附页。
3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕
本次课程设计进行交通信号灯模拟控制系统的设计。
预习要求:
1)预习《微机原理及接口技术实验指导书》附录B中实验仪硬件环境及星研集成环境软件的操作方法。
2)复习《微机原理及接口技术实验指导书》中第2部分实验一、二、三、四等8255、8253、8259实验。
预习指导书中第4部分课程设计题目一和课程设计题目二,并在星研实验装置上调试实现。
3)预习本任务书,根据设计任务,预先画出电路原理图、程序流程图,编写程序。
设计报告要求:
1)画出接口部分电路原理图,并阐述系统工作原理。
2)绘制程序流程图(Visio绘制)、给出源程序清单。
3)调试过程描述和结果说明。
4)设计、调试过程中遇到的问题和解决方法以及整个课程设计的心得。
5)要求用WORD撰写报告,上交打印报告和电子稿(全班刻盘)。
4.主要参考文献
1、李干林,李升.微机原理及接口技术实验指导书.北京:
北京大学出版社.
2、李继灿.新编16/32位微型计算机原理及应用(第4版).北京:
清华大学出版社.
5.课程设计进度安排
起止日期
工作内容
3月10日前
3月11日
3月12日~3月14日
3月15日
任务布置,预习,绘制程序流程图,编写源程序
在星研实验装置上调试预习实验内容
在星研实验装置上进行设计内容调试
验收答辩,撰写论文
6.成绩考核办法
实验表现占30%,验收答辩占30%,设计报告占40%。
教研室审查意见:
同意。
教研室主任签字:
鞠阳
2013年3月6日
院(系、部、中心)意见:
同意。
主管领导签字:
李祖明
2013年3月6日
带数码管显示的交通灯模拟控制系统设计(报告书)
一、设计概述及目的
通过设计一个十字路口交通灯系统掌握8255、8253、8259等接口芯片的编程和应用方法,做到理论联系实际。
二、设计要求
要求绘制流程图、编写源程序,并在实验系统上调试通过程序。
三、设计内容
1、十字路口交通信号灯设置
某十字路口交通信号灯系统在4个路口均装设红、绿2个灯,并装设数码管显示倒计时。
图1交通信号灯设置
实验时用LED(发光二极管)代替十字路口的红绿灯。
2、交通信号灯亮灭规律
交通信号灯系统初始状态为所有红灯闪烁N1秒钟(不必在数码管显示);
之后东西向车行道绿灯亮,车辆放行N秒钟,此时南北向车行道红灯亮,之后转为南北向车行道放行N秒钟,如此循环重复。
要求数码管能够显示倒计时。
参数选择:
N=20s/25s…85s/90s(每隔5s取一个秒数)
N1≤10s,闪烁次数为3~8次
每组自行选择N、N1(及闪烁次数)。
3、设计分析
设有一个十字路口,其道路为南北方向和东西方向,南北、东西各用一组发光二极管表示,路口交通信号灯的亮灭规律如下:
(1)非工作状态:
南北、东西方向黄灯以0.5s的时间间隔亮灭,红灯、绿灯灭。
时间数码管无显示。
(2)工作状态下:
1南北绿灯亮(18s),东西红灯亮(其他信号灯灭)。
2南北黄灯亮(2s),东西红灯亮(其他信号灯灭)。
3南北红灯亮(18s),东西绿灯亮(其他信号灯灭)。
4南北红灯亮(2s),东西黄灯亮(其他信号灯灭)。
5转①循环。
采用数码管显示20s递减到01s,再循环。
4、详解设计
(1)由人工控制模拟装置输入状态信号“工作状态/非工作状态”的开关信号,由控制拨动开关K连接到8255的PC7输入口。
(2)模拟装置交通灯灯光由试验仪的LED发光二极管显示,设计可由8255A口输出信号实现,见表4-1。
表4-1带时间显示的十字路口交通信号模拟装置及8255A输入/输出信号一览表(供参考)
8255-PB输出方式
PCH输入方式
8255-PA输出方式
PCL输出方式
引脚
输出信号
输入信号
数码管的位码选择
PB7
驱动数码管
PC7
开关工作/非工作
PA7
PB6
PC6
PA6
东西红灯
PB5
PC5
8253-OUT2
PA5
东西黄灯
PB4
PC4
PA4
东西绿灯
PB3
PA3
PC3
PB2
PA2
南北红灯
PC2
PB1
PA1
南北黄灯
PC1
PB0
PA0
南北绿灯
PC0
注:
①8255-PA输出方式可根据实验设备红绿黄灯的具体位置改变。
②采用软件延时时,则8255的PC5不接用8253-OUT2。
(3)定时:
采用软件延时或者采用8253计数器2方式0进行定时,从而确定时间。
(8253计数器2的输出OUT2可接入8255的PC5输入。
)
(4)时间显示采用试验仪的数码管显示,4个数码管的位码选择(低电平有效)由8255的PC3~PC0来确定。
显示内容由8255的B口接线到数码管数据线来确定。
3、程序流程
实验主流程图如图4.1所示。
数据段主要内容如下。
(1)4种LED发光二极管显示如下:
①南北:
红灯。
东西:
绿灯。
②南北:
黄灯。
③南北:
④南北:
(2)0~9数码管显示如下:
DB:
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH。
工作状态循环子程序内容参考提示如下。
循环:
查询“工作/非工作”输入的开关信号,该信号为“1”为继续,为“0”为返回主程序调用非工作子程序。
输出:
①南北为红灯,东西为绿灯,数码管位码确定→BL(两个数码管显示),循环调用18次延时1s子程序。
②南北为红灯,东西为黄灯,调用2次延时1s子程序。
③南北为绿灯,东西为红灯,数码管位码确定→BL(两个数码管显示),循环调用18次延时1s子程序。
④南北为黄灯,东西为红灯,调用2次延时1s子程序。
注意①:
延时1s子程序中显示时间的内容每次需改变(如时间20放在AL中,下一秒减1为10),用DAS指令调整。
②:
数码管位码,PCL某位为0则选中对应的数码管。
非工作状态循环子程序内容参考提示如下。
查询“工作/非工作”开关信号,该信号为“0”则继续,为“1”则返回主程序调用工作子程序。
调用延时0.5s子程序,黄灯灭。
调用延时0.5s子程序,黄灯亮。
动态显示子程序参考提示如下。
(1)位码输出→PCL;
(2)取显示数据查表转换成为段码(如时间20先显示2)→B口;
(3)采用软件延时5ms;
如下为延时约5ms程序(设8088主频为6MHz):
LP2:
MOVSI,3AAH
LP1:
PUSHF
POPF
DECSI
JNZLP1;
延时5ms
(4)位码右移1位输出→PCL;
(5)取显示数据查表转换成为段码(如时间20再显示0)→B口;
(6)返回。
源程序如下。
DATASEGMENT
K8255AEQU0F000H;
8255的A口
K8255BEQU0F001H
K8255CEQU0F002H
K8255CTRLEQU0F003H
NBDXDB0EBH,0DBH,0BEH,0BDH;
4种LED发光二极管显示状态
TABLE1DB3FH,06H,5BH,4FH,66H,;
0~9数码显示
6DH,7DH,07H,7FH,6FH
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
;
=============================主程序==================
MAIN:
MOVAX,DATA;
数据段、堆栈段初始化
MOVDS,AC
MOVDX,K8255CTRL
MOVAL,88H
OUTDX,AL;
8255工作方式初始化
MOVAL,0FFH;
8255输出数据初始化
MOVDX,K8255A
OUTDX,AL
MOVDX,K8255C
TEST1:
INAL,DX;
检测工作/非工作开关状态
ANDAL,80H
JZLL
CALLGONGZUO
LL:
CALLFEIGZ
JMPTEST1
;
===========================工作循环子程序=============
GONGZUOPROC
SS1:
INAL,DX
JNZMM
RET;
查询工作/非工作开关状态
MM:
MOVSI,OFFSERNBDX
MOVAL,[SI]
LED显示第①种状态
MOVCX,18;
18次调用1s延时子程序
MOVBL,0FEH;
数码管位码确定
MOVAL,20H;
显示时间内容
NN:
PUSHCX
MOVCX,100;
确定延时1s系数
CALLDELAY;
调用1s延时
POPCX
DECAL;
显示时间内容减1
DAS
LOOPNN
MOVSI,OFFSETNBDX
MOVAL,[SI+1]
LED显示第②种状态
MOVAL,02;
DECAL
MOVAL,[SI+2]
LED显示第③种状态
MOVbL,11111011B;
数码管位码确定111111011B
LOOPPP
MOVAL,[SI+3]
LED显示第④种状态
DECAL
JMPSS1
GONGZUOENDP
==========================非工作子程序===================
FEIGZPROC
RRMOVDX,K8255C
JZTT
TT:
MOVAL,0FFH
黄灯灭
MOVCX,100
PP1:
CALLDELAY5ms
LOOPPP1
MOVBL,0FFH
MOVAL,BL
熄灭数码管
MOVAL,11011101B
黄灯亮
PP2:
LOOPPP2
JMPRR
FEIGZENDP
==========================延时1s子程序==================
DELAYPROC
LP:
CALLDISPLAY1;
调用动态显示子程序
LOOPLP;
10ms周期计数
RET
DELAYENDP
==========================动态显示子程序=================
DISPLAY1PROC
PUSHAX
MOVAL,BL
POPAX
MOVBH,AL
SHRBH,1
SHRBH,1;
截取显示时间的高位
MOVAX,OFFSETTABLE1;
显示缓冲区首地址
ADDAL,BH
MOVSI,AX
MOVDX,K8255B
显示时间的高位
ROLAL,1
位码右移1位输出→PCL
ANDBH,0FH;
截取显示时间的低位
显示时间低位
DISPLAY1ENDP
DISPLAY5msPROC
LP2:
MOVSI,3AAH
LP1;
PUSHF
DELAY
DELAY5msENDP
CODEENDS
ENDMAIN
四、引脚图、接线图、程序运行图
五、心得体会
3月11日至3月15日,我们进行了为期一周的微机课程设计,此次课题设计任务是要设计一个带数码管显示的交通灯模拟控制系统。
这次课程设计对于我来说,是一个巨大的挑战,因为我深知自己微机原理这门课并不是学的很好,有很多薄弱的地方,所以在设计周前,我先认真预习《微机原理及接口技术实验指导书》,也查了很多关于此次课程设计的资料,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲。
在查资料的过程中,我深刻体会到了微机原理及应用是一门理论性和实践性很强的课程,能够培养我们的微机软,硬件设计与应用能力、工程意识和创新能力。
因此,如果我们想真正学会这门课程,必须在重视理论基础知识学习的同时,还要认真重视实验学习,通过课程设计来增强我们的动手解决实际问题的能力。
或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能。
在查询过程中,我发现汇编语言是一种很神奇的语言,每一条指令都值得推敲,例如:
MOVAL,88H中,88H是指,对于8255A的控制字格式,我们选择A组方式选择为方式0,端口A为输出,端口C(上半部)为输入,B组方式选择为方式0,端口B为输出,端口C(下半部)为输出,所以,写入方式控制字为10001000,将其转换为十六进制数即为88H。
经过一周的学习与实践,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,是不行的,过一段时间后,你可能什么都记不起来了,正如我校校训所言“学以致用”,实践是检验真理的唯一标准,或许在学的时候心里有一个概念,但是在把这个知识投入到运用与实践当中时,可能就真的不会用了,在这次课程设计中我深刻感受到了这一点。
以前学过的知识,怎么想都想不起来了,一心想依赖课本。
可是如果我们学以致用,在实践的过程中,这些知识会自然而然的印在我们的脑海里。
通过此次课程设计,我逐渐掌握了8255、8253等可编程接口芯片及实验箱中数码管、LED等电路的应用,学会了汇编语言应用程序的设计和调试方法,最重要的是,我懂得了学以致用的重要性和必要性,在以后的学习和工作中,我会把理论与实践结合起来,做到活学活用!
最后,感谢老师对我们的悉心指导!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 南京 工程学院 电气工程 讲义