武汉理工大学《计算机控制技术》课程设计说明书
4.2 仿真结果
4.3 结果分析
通过不断地对程序进行调试和在proteus下仿真验证,最终利用5个开关组合成多种不同的组合状态来模拟汽车信号灯多种不同的状态,实现了预期任务要求对应的灯亮、灭、闪的不同情况。
武汉理工大学《计算机控制技术》课程设计说明书
5 心得体会
本次课程设计是要设计一个汽车信号灯控制系统,主要通过8255A的A口和B口模拟汽车信号灯的亮灭闪烁情况。通过本次的设计以此来加深对微机接口技术的理解,提高了自己的动手能力。
首先是着手对硬件电路的设计,本次课程设计主要采用了8255A接口电路。通过课本了解到了各个芯片的引脚及功能、工作方式、内部结构和控制字。对各个功能的熟悉便于了硬件电路的设计。然后就是对程序的设计,想要设计出一个实用的控制系统需要了解程序流程,先画出了流程图,然后对代码进行编写,主要采用汇编语言和C语言。最后在proteus下进行调试,由于对proteus软件不太熟悉,在调试过程中遇到了很多问题,有些问题在同学和老师的帮助下得以解决,有些问题通过查找资料解决。
通过两周的微机原理与接口技术的课程设计,我们对这半年来学习的该课程有了一个良好的、整体的认识。同时对微机原理相关知识进行了一次梳理。通过课程设计锻炼了动手能力,运用理论来指导实践的能力。同时也感到知识的不足,要学的东西还有很多,我们学的只是冰山一角而已。在整个课程设计的过程中,查阅了不少资料,通过检索搜寻所需的资料,了解了一些硬件设计的常识对自己的课程设计有很大帮助。
课程设计是培养学生综合运用所学知识发现、提出、分析和解决实际问题,是锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。自己通过辛苦的努力,在老师的指导和同学的帮助下最终实现了该汽车信号灯控制系统,感到特别的欣慰,期间获益颇多。在课程设计过程中,我们将微机接口技术中的理论与实践相结合起来,对芯片的功能也有了进一步认识理解,重温了汇编语言的编程。在实验调试过程中发现问题,分析问题,如何解决问题的能力都有所提高,这对我们不久将来离开学校,投入实际工作都是很有借鉴意义的。同时,这个课程设计让我明白了要想独具一格,必须多动脑、多动手,并且厚积才能薄发,自己前段对单片机的学习就成为了这次课程设计的不小助力,最后非常感谢老师这么多天陪伴我们,并耐心的指导,让我们少走了许多弯路,总之这次课程设计的经历是非常值得我记住和思考的。
通过本次课程设计,我深刻体会到团队协作的重要性。由于我和好几位同学的题目比较相似,在遇到困难的地方时,我们相互帮助,共同解决问题。这也令我明白了一个道理,在我们日常的学习生活中乃至毕业后参加工作了,都要有一份团队意识。
武汉理工大学《计算机控制技术》课程设计说明书
参考文献
[1] 吴秀清, 周荷琴.微型计算机原理及接口技术. 合肥:中国科学技术大学出版社, 2008. [2] 姚君遗, 汇编语言程序设计. 南京:南京大学出版社, 2004
[3] 李继灿, 《微型计算机及接口实验指导书》. 北京: 清华大学出版社, 2005 [4] 谭浩强, 《C语言程序设计》. 北京: 清华大学出版社, 2005
[5] 戴梅萼, 史嘉权. 16-32位微型计算机技术及应用. 北京:清华大学出版社, 2004
武汉理工大学《计算机控制技术》课程设计说明书
附录:设计源程序
DATA SEGMENT
IO8255A EQU 0F0H ;8255的A口地址 IO8255B EQU 0F2H ;8255的B口地址 IO8255C EQU 0F4H ;8255的B口地址 IO8255CON EQU 0F6H ;8255的控制寄存器地址
IO8253_0 EQU 0E8H IO8253_1 EQU 0EAH IO8253_2 EQU 0ECH IO8253CON EQU 0EEH DATA ENDS STACK1 SEGMENT
STA DW 50 DUP(?) STACK1 ENDS CODE SEGMENT
ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACK1
MAIN PROC FAR START: SUB AX,AX
PUSH DS
PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX
MOV DX,IO8253CON MOV AL,00110101B OUT DX,AL
MOV DX,IO8253_0
;8253的0通道 ;8253的0通道 ;8253的0通道 ;8253的控制寄存器地址 ; 初始化8253的通道
;通道0初始化,方式二,BCD计数 武汉理工大学《计算机控制技术》课程设计说明书
MOV AL,00H ;将750KHZ的信号分频,N=5000 OUT DX,AL
MOV AL,50H ;产生30HZ的方波信号 OUT DX,AL
MOV DX,IO8253CON ;初始化1通道 MOV AL,01110111B ;方式三,BCD计数
MOV DX,IO8253_1
S1: CMP AL,01H
MOV DX,IO8255C
;将1KHZ的信号分频,N=1000 ;产生1HZ的方波信号 ;8255控制字,8255初始化,A口
输出,B口输入,C低输入 ,方式0
;读B口开关状态 OUT DX,AL
MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL MOV DX,IO8255CON
MOV AL,8BH OUT DX,AL
S: MOV DX,IO8255B IN AL,DX MOV CX,0020H S0: CMP AL,0 JNZ S1 MOV DX,IO8255A MOV AL,11000000B OUT DX,AL
JNZ S2
IN AX,DX