交通灯汇编语言设计Word下载.docx
《交通灯汇编语言设计Word下载.docx》由会员分享,可在线阅读,更多相关《交通灯汇编语言设计Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
1.1课程设计的目的3
1.1课程设计要求3
第二章方案设计与论证3
2.2方案论证3
2.2方案设计4
2.2.18255控制交通4
2.2.2硬件系统框图5
2.2.3软件部分5
第三章结构框图与设计步骤7
3.1程序结构框图8
3.2设计步骤9
第四章结果及相关分析10
第五章总结与体会10
参考文献11
附录11
1.1课程设计的目的
1.掌握微机系统的开发步骤
2.掌握8086、8255A的用法
3.通过课程设计完成一个微型计算机应用系统的综合设计,从而培养学生独立的微机应用系统的总体分析和设计能力。
1.2课程设计要求
设计简易交通灯,用8255对交通的控制,实现南北方向红灯、东西绿灯亮5s,接着黄灯闪烁5次,再接着东西红灯亮5秒,黄灯闪烁5次,依次循环。
可按任意键可返回到初始状态。
第二章方案设计与论证
2.1方案论证
8255作为并行接口芯片,有3种工作方式:
方式0,方式1,方式2,方式0相当于可作无条件输入/输出方式,方式1和方式2将PC口的一些线作为状态线使用,相当于工作在查询方式或中断方式。
8255的PC口具有位控制功能,可以用指令将某条线单独置1或清0,利用此功能也可串行接收或发送数据。
注意:
8255有2条单元选的地址线,有4个端口地址,要能正确地完成与CPU的地址线、数据线、控制线的连接。
方案一:
用一片8255和一片8253控制交通灯。
即用8253进行时间控制,同时根据8253的定时信号8255对各灯进行相应的控制。
方案二:
用一片8255实现交通灯的控制。
即用8255端口控制各灯的亮灭,定时通过软件延时实现,软件延时节省硬件资源。
我们这一组选择了这一方案。
2.2方案设计
2.2.18255控制交通
8255芯片是一种通用的可编程并行输入/输出接口芯片。
它的功能可通过软件编程来设置。
8255控制字格式如下表所示:
表18255控制字格式
D7
D6
D5
D4
D3
D2
D1
D0
D7:
方式选择控制标志。
1控制字的特征标志,0端口C置位/复位标志。
D6-D5:
端口A工作方式选择。
01方式0----------基本的输入/输出方式;
02方式1----------选通的输入/输出方式;
03方式2----------双向传输方式。
D4:
端口A输入/输出选择。
1输入,0输出。
D3:
端口C上半部(C7—C4)输入/输出选择。
D2:
端口B工作方式选择。
0方式0,1方式1。
D1:
端口B输入/输出选择。
D0:
端口C下半部(C3—C0)输入/输出选择。
2.2.2硬件系统框图
图2—1
2.2.3软件部分
DATASEGMENT
CONADDEQU63H
BADDEQU61H
CADDEQU62H
DATAENDS
STACKSEGMENT
DW64DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDX,AX
ORG2000H
XORCH,CH
XORAH,AH
MOVAL,80H
MOVDX,CONADD
OUTDX,AL;
MOVAL,00001111B
MOVDX,BADD
OUTDX,AL
MOVAL,11110000B
MOVDX,CADD
CALLDELAY1
S:
MOVAL,11001111B
MOVAL,11110011B
CALLDELAY2
MOVCX,0005H
Y1:
MOVAL,11100111B
MOVAL,11100111B
CALLDELAY3
MOVAL,11111111B
MOVAL,11111111B
LOOPY1
MOVAL,00111111B
MOVAL,11111100B
Y2:
LOOPY2
MOVAH,1
INT16H
JZS
MOVAH,4CH
INT21H
DELAY1PROCNEAR
PUSHCX
MOVCX,08000H
T:
LOOPT
POPCX
RET
DELAY1ENDP
DELAY2PROCNEAR
PUSHAX
MOVCX,0010H
K:
LOOPK
POPAX
DELAY2ENDP
DELAY3PROCNEAR
Q:
LOOPQ
DELAY3ENDP
CODEENDS
ENDSTART
第三章结构框图与设计步骤
3.3.1、程序结构框图
本设计以红绿灯交替变化为原则,并以4个状态为一个周期,循环执行:
状态1——s1:
红灯亮,绿灯灭
状态2——s2:
红灯闪烁,绿灯灭
状态3——s3:
绿灯亮,红灯灭
状态4——s4:
绿灯闪烁,红灯灭
依据上述描述,状态图如图1所示
程序流程图如下图所示:
3.3.2设计步骤
用到8255所以必须先对这片芯片进行初始化
8255初始化为控制字为(80H)如下表所示:
表3-1设置B口工作在方式0,为输出;
C口为输出
1
向8255B口发控制字(0FH)如下表所示:
表3-2南北红灯亮,绿灯灭
向8255C口发控制字(F0H)如下表所示:
表3-3东西红灯亮,绿灯灭
第四章结果及相关分析
1.即东西方向的绿灯和南北方向的红灯同时点亮5秒。
2.东西方向的黄灯闪烁5次,此时南北方向仍维持红灯点亮。
3.东西方向的黄灯闪烁5次钟后,转为东西方向的红灯和南北方向的绿灯同时点亮10秒钟。
4.10秒钟后,转为南北方向的黄灯闪烁5次,此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时亮10秒钟。
如此循环重复。
6、当有键按下时,程序退回DOS系统。
第五章总结与会体
经过这几天的课程设计,做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么通过硬件电路来确定端口地址,以及交通有哪些规则。
在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;
也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解。
如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学的时候心里有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;
如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,所以你不容易忘记。
参考文献
[1]尹建华.计算机原理与接口技术[M].北京:
高等教育出版社,2008.
[2]洪永强.微机原理与接口技术[M].北京:
科学出版社,2009.
[3]喻其山.微机原理与接口技术实验指导书[M].安徽:
安徽师范大学,2010.
[4]刘乐善.微型计算机接口技术及应用[M].武汉:
华中科技大学出版社,2000