文档库 最新最全的文档下载
当前位置:文档库 › 刘杨 微机原理课程设计——交通灯控制系统

刘杨 微机原理课程设计——交通灯控制系统

安徽省巢湖学院计算机与信息工程学院

课程设计报告

课程名称:微型计算机系统原理及应用课程设计课题名称:交通灯控制系统

专业:计算机科学与技术

班级:计本 < 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;

相关文档
相关文档 最新文档