安徽省巢湖学院计算机与信息工程学院
课程设计报告
课程名称:微型计算机系统原理及应用课程设计课题名称:交通灯控制系统
专业:计算机科学与技术
班级:计本 < 2 > 班
同组姓名:刘杨,梁伟,刘炳杨,李章
学号:11011117
联系方式:189********
完成时间:2014年1月10日
目录
1 设计目的 (1)
2 设计内容 (1)
3 设计要求 (1)
4 设计原理与硬件电路 (2)
5 程序流程图 (4)
6 程序代码 (4)
7 程序及硬件系统调试情况 (8)
8 设计总结与体会 (9)
9 参考文献 (9)
1 设计目的
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。
2 设计内容
交通灯控制系统
利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。
3 设计要求
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路
软件设计
1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
2、画出程序流程图。
3、根据流程图,编写源程序。
4、在Proteus环境下,仿真调试程序
4 设计原理与硬件电路
5 程序流程图
6 程序代码
A_PORT EQU 200H B_PORT EQU 202H C_PORT EQU 204H CTRL_PORT EQU 206H
CLK0 EQU 100H
CLK1 EQU 102H
CTRL EQU 106H
DATA SEGMENT
BUF1 DB 09H,11H,21H,12H,0CH,4AH,89H,49H
BUF2 DB 0C5H,0A3H,95H,93H,95H,13H,15H,23H,0H DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV AL,10010000B
MOV DX,CTRL_PORT
OUT DX,AL
MOV AL,0
MOV DX,B_PORT
OUT DX,AL
MOV DX,C_PORT
OUT DX,AL
CALL PLAY
LEA SI,BUF1
LEA BX,BUF2
AAA1: MOV CH,[BX]
MOV CL,CH
AND CL,00001111B
CALL SHOW1
CALL DELAY
CALL SHOW2
CALL DELAY
JMP AAA6
AAA4: MOV DX,A_PORT
IN AL,DX
AND AL,00000001B CMP AL,00000000B JNZ AAA7
MOV AL,00001001B MOV DX,B_PORT
OUT DX,AL
MOV AL,10010000B MOV DX,C_PORT
OUT DX,AL
JMP AAA4
AAA7: MOV DX,A_PORT
IN AL,DX
AND AL,00000010B CMP AL,00000000B JNZ AAA4
CMP CL,0
JNZ AAA5
INC SI
INC BX
MOV AL,[BX]
CMP AL,0
JNZ AAA1
JMP START
AAA5: DEC CL
DEC CH
CALL SHOW2
CALL DELAY
AAA6: MOV DX,A_PORT
IN AL,DX
AND AL,00000010B CMP AL,00000010B JNZ AAA6
JMP AAA4
SHOW1 PROC
MOV AL,[SI]
MOV DX,B_PORT
OUT DX,AL
RET
SHOW1 ENDP
SHOW2 PROC
MOV AL,CH
MOV DX,C_PORT
OUT DX,AL
RET
SHOW2 ENDP
PLAY PROC
MOV AL,00110111B MOV DX,CTRL
OUT DX,AL
MOV AX,1000
MOV DX,CLK0
OUT DX,AL
MOV AL,AH
OUT DX,AL
RET
PLAY ENDP
DELAY PROC
PUSH CX
MOV CX,0F5FH
LOOP1: LOOP LOOP1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
7 程序及硬件系统调试情况
程序运行结果:
1.东西路右拐和南北路左拐绿灯点亮5秒,直通到均为红灯2.5秒后,黄灯亮3秒钟,。此时南北方向仍维持红灯点亮。
3.东西方向直通,为绿灯,南北方向红灯
4.黄灯再亮三秒之后,东西路左拐和南北路右拐绿灯点亮
5.南北方向的黄灯亮3秒钟后,南北方向直通,延时5秒
6.闭合A口开关,四个路口全红灯,表明紧急状态。
8 设计总结与体会
经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.
而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。
9 参考文献
[1] 彭虎、周佩玲、傅忠谦.《微机原理里与接口技术》(第2版) [M] 北京:电子工业出版社 2008,149-187
[2] 周明德.《微型计算机系统原理及应用》[M] 北京:清华大学出版社,1998;