微机原理课设.docx
《微机原理课设.docx》由会员分享,可在线阅读,更多相关《微机原理课设.docx(10页珍藏版)》请在冰豆网上搜索。
![微机原理课设.docx](https://file1.bdocx.com/fileroot1/2023-4/16/5d77162a-731f-4514-8b2a-5c1c6817181e/5d77162a-731f-4514-8b2a-5c1c6817181e1.gif)
微机原理课设
1设计内容及目标
1.1设计内容及要求:
内容:
利用微机原理实验箱,采用一组发光二极管模拟热水器面板。
要求:
所需执行的操作由相应的开关状态反映,所需控制的信号灯有仪表板左/右转弯绿色指示灯,车前部左/右黄色头灯、车后部左/右黄色尾灯和车后部左右红色刹车尾灯。
各种灯在闪烁时其频率为30Hz。
驾驶操作与灯光信号对应关系如下:
(1)左/右转弯开关闭合时,对应的仪表板左/右转弯指示灯、左/右转弯头灯和左/右转弯尾灯闪烁。
(2)紧急开关闭合时,所有仪表板左右转弯灯、左右转弯头灯和左右转弯尾灯闪烁。
(3)踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮。
(4)停靠时(合上停靠开关),所有灯闪烁。
1.2设计目的
通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
2设计原理
2.1设计思路
本控制系统采用8086微处理器作为处理器和可编程的8255芯片来模拟汽车信号灯控制系统。
使8255A的端口B工作在方式0并作为输入口,并与开关相连,读取K1-K4个开关量,汽车的不同操作控制不同的开关。
使8255端口B工作在方式0作为输出口,并与发光二极管相连,让发光二极管按设定的思路亮灭
2.2工作原理
通过在实验箱上分别按K1,K2,K3和K4键来显示汽车左转、右转、刹车、停车等状态。
左/右转弯开关K1,K2闭合时,左/右转弯头灯和左/右转弯尾灯亮;当用户按K3时,也即踩刹车时,刹车开关闭合,刹车灯(左右红色尾灯)亮;停靠时(合上停靠开关),即按K4键时,所有的灯亮。
所需执行的操作由相应的开关状态反映,所需控制的信号灯有左/右转弯灯、刹车灯、共三类灯.
3设计步骤
3.1连线设计
图3.1连线设计图
3.2电路连线图
图3.2电路连线图
3.3程序流程图
图3.3流程图
3.4源程序设计和相关注释
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
mainprocfar
ASSUMECS:
CODE,SS:
SSTACK
IOCONPTEQU0646H;控制字寄存器
IOAPTEQU0640H;A端口地址
IOBPTEQU0642H;B端口地址
START:
PUSHDS
SUBAX,AX;AX清零
PUSHAX
MOVDS,AX
MOVDX,IOCONPT
MOVAL,10000010B;8255初始化
OUTDX,AL;选择控制字,A方式O
MOVDX,IOBPT
INAL,DX
NEXT:
MOVDX,IOBPT
XORAX,AX
INAL,DX
CMPAL,0FH;判断是否有键按下
JNZCHECK
JMPNEXT
CHECK:
CMPAL,01H;判断左转向并调用子程序
JZLEFT
CMPAL,02H;判断右转向并调用子程序
JZRIGHT
CMPAL,04H;判断紧急刹车并调用子程序
JZBREAK
CMPAL,00H;判断其他情况
JZCLOSE
CMPAL,08H;判断汽车停靠并调用处理程序
JZSTOP
JMPNEXT
LEFT:
MOVAL,3FH
MOVDX,IOAPT
OUTDX,AL;指示灯显示
CALLDELAY
MOVDX,IOBPT
INAL,DX
CMPAL,01H
JNZCLOSE
JMPLEFT
RIGHT:
MOVAL,0FCH
MOVDX,IOAPT
OUTDX,AL
CALLDELAY
MOVDX,IOBPT
INAL,DX
CMPAL,02H
JNPCLOSE
JMPRIGHT
BREAK:
MOVAL,0C3H
MOVDX,IOAPT
OUTDX,AL
CALLDELAY
MOVDX,IOBPT
INAL,DX
CMPAL,04H
JNZCLOSE
JMPBREAK
STOP:
MOVAL,00H
MOVDX,IOAPT
OUTDX,AL
CALLDELAY
MOVDX,IOBPT
INAL,DX
CMPAL,08H
JNPCLOSE
JMPSTOP
CLOSE:
MOVAL,0FFH
MOVDX,IOAPT
OUTDX,AL
CALLDELAY
MOVDX,IOBPT
INAL,DX
CMPAL,00H
MAINENDP
DELAYPROCNEAR
PUSHCX
MOVCX,53B4H
WAIT1:
LOOPWAIT1
POPCX
RET
DELAYENDP
CODEENDS
ENDSTART
4.系统调试与实现
4.1实验步骤
(1)准备好PC机、实验箱和导线若干。
(2)用导线按照事先画好的实验电路图将以上各个实验电路模块连接起来,就是硬件控制的汽车信号灯控制系统。
(3)在Wmd86下编写汇编程序代码。
(4)汇编调试、运行。
(5)记录运行结果,以及调试中遇到的问题。
4.2调试结果与分析
结果:
通过不断地对程序进行调试和上机验证,最终利用4个开关来模拟汽车信号灯5种不同的状态,初步实现了预期任务要求对应的灭、闪的不同情况。
分析:
虽然实现了原本预期的各种控制状态,不过程序还有待优化、改进,比如该系统的使用者得去记住某些个开关组合所表示的汽车状态,不够人性化,应该进一步改进成更纯粹的用单个开关对应一种汽车状态的情况。
这些系统目前存在的各种不足我们将在以后的学习和生活中不断总结、修改和改进。
总结
课程设计小结
本次课程设计是我们小组是要设计一个汽车信号灯控制系统,主要通过8255的A口和B口模拟汽车信号灯的亮灭情况。
通过本次的设计以此来加深对微机原理技术的理解,提高了自己的动手能力。
首先我们小组是着手对硬件电路的设计,本次课程设计主要采用了8255接口电路。
我们通过课本了解到了各个芯片的引脚及功能、工作方式、内部结构和控制字。
对各个功能的熟悉便于了硬件电路的设计。
然后就是对程序的设计,想要设计出一个实用的控制系统需要了解程序流程,先画出了流程图,然后对代码进行编写,主要采用汇编语言。
最后在实验箱上对程序,硬件电路进行调试。
在调试过程中遇到了很多问题,有些问题在同学和老师的帮助下得以解决,有些我们小组讨论找出并解决问题。
课程设计体会
经过这段时间的课程设计,我们最终实现了该汽车信号灯控制系统,感到特别的欣慰,期间获益颇多。
将微机原理的理论与实践相结合起来,对芯片的功能也有了进一步认识理解,重温了汇编语言的编程。
在实验调试过程中发现问题,分析问题,如何解决问题的能力都有所提高,这对我们不久将来离开学校,投入实际工作都是很有借鉴意义的。
希望通过以后的学习,不断提升自身各方面的能力,如对专业知识的掌握程度,动手实践能力等。
经过此次的课程设计,我们学会了合作。
我们要形成自己的设计思想,以便在今后的专业课形成自己的风格。
同时在多多锻炼自己的动手能力,以便在以后的工作能独立完成一些设计项目。
致谢
在本次微机课程设计完成之际,首先要特别感谢我的指导老师曲老师和踪老师。
是她耐心、细心地指导以及积极地配合、帮助,才使我们组得以最终完成本次汽车信号灯控制系统,在此致以深深的感谢!
这学期,我感谢学校对我的栽培,老师用心良苦的教学,使我慢慢成长。
我会不断鞭策自己,继续努力,不会辜负学校老师和同学们对我期望,谢谢!
参考文献
[1]王惠中.微机原理及应用.武汉:
武汉大学出版社,2011
[2]邹逢兴.微型计算机原理与接口技术实验指导.北京:
清华大学出版社,2009
[3]赵全利、吕建平.邹雪艳.微型计算机原理及接口技术.北京:
机械工业出版社,2009
[4]何宏.微型计算机原理与接口技术.陕西:
西安电子科技大学出版社,2009
[5]王庆利.微型计算机原理及应用.西安电子科技大学出版社,2006
[6]李兰友等.微型计算机原理与接口技术.清华大学出版社,2003
[7]郑学坚等.微型计算机原理及应用实验指导.清华大学出版社,2002
[8]朱玉春等.微机原理与接口技术.大连理工大学出版社,2004