首页 > 精品范文库 > 5号文库
(语言、微机原理及接口技术)实验交通灯
编辑:尘埃落定 识别码:14-436024 5号文库 发布时间: 2023-04-28 08:44:16 来源:网络

课程设计说明书

课程设计名称:

微机原理与接口技术课程设计

课程设计题目:

微机打印口外接交通灯模拟LED显示器

称:

信息工程学院

专业:

计算机科学与技术

班级:

学号:

姓名:

评分:

教师:

X

X

设计选题及功能说明

设计选题:微机打印口外接交通灯模拟LED显示器。

课题要求及功能说明:

通过微机打印插座(25D)设计,用微机编程可实现对打印口外接12个路口交通灯(红、绿、黄)的控制显示等。

设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;

延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4方向通车;

延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次后,再切换到1、3路口方向,之后重复上述过程。

硬件电路设计

硬件电路采用Protel

Technology公司的CAD工具Protel

99进行设计。

2.1

8255A芯片选择

按照课题设计要求,我们选择通过8255A并口来控制LED发光二极管的亮灭,8255A具有3个通道3种工作方式的可编程并行接口芯片。使用前要写入一个方式控制字选择A、B、C三个端口各自的工作方式,共有三种;

方式0

:基本的输入输出方式,即无须联络就可以直接进行的I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。

方式1

:选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0.方式2:

双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。

8255A引脚信号如右图

2.2电路设计

本设计用DB25

连接8255控制12个LED亮灭

电路原理图如图1:

图1

交通灯原理图

2.3印刷电路图设计

制作pcb印刷电路板,采用的是自动布线的方法。即利用正确的原理图制作网络表,然后新建CAM

output

configuration文件,在设定好印刷板得规格大小后导入刚才生成的网络表,然后再调整各元件的位置,等待其自动布线。经过多次设计修改,本交通灯模拟LED显示器的PCB图如图2所示

图2

交通灯模拟LED显示器

测试程序

用汇编语言编写对交通灯的测试程序要根据交通灯原理图,主机与8255A连接:从交通灯原理图可以看出,低电平有效/CS选择8255A,通过对A0、A1控制选择8255A的PBPC端口,低电平有效/WR控制输入;8255A与交通灯连接:8255A的端口PB高4位分别与交通灯的四个方向的绿灯相连,PC端口的低4位与四个方向的红灯相连,PC端口的高4位与四个方向的黄灯,从交通灯原理图可看出一下特点(1)相对方向的灯保持一致,如1、3,方向,2、4方向。那么在设计程序时,1、3方向的一样,2、4方向的一样(2)四个方向的交通灯可能出现的组合:红绿、红黄,不会出现绿黄。既不能出现端口PB高4位与PC端口的高4位同时有效的情况。根据以上所述程序可以设计为如下

DATAPT

EQU

378H

CTRLPT

EQU

37AH

INTCNT

EQU

GDURA

EQU

YDURA

EQU

RDURA

EQU

GSTATE

EQU

0

Y1STATE

EQU

Y2STATE

EQU

RSTATE

EQU

Y3STATE

EQU

Y4STATE

EQU

DSEG

SEGMENT

OLD1CH

DD

?

LTSTATE

DB

?

YBLKCNT

DB

0

DSEG

ENDS

CSEG

SEGMENT

ASSUME

CS:

CSEG,DS:

DSEG

START:

MOV

DX,CTRLPT

MOV

AL,11101100B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,10000000B

OUT

DX,AL

MOV

AX,351CH

INT

21H

MOV

WORD

PTR

OLD1CH,BX

MOV

WORD

PTR

OLD1CH

+

2,ES

MOV

DX,OFFSET

NEW1CH

MOV

AX,251CH

CALL

GREEN

INT

21H

MOV

AH,0

INT

16H

LDS

DX,OLD1CH

MOV

AX,251CH

INT

21H

MOV

AH,4CH

INT

21H

NEW1CH:

CMP

CX,0

JZ

NEXT

DEC

CX

IRET

NEXT:

CMP

LTSTATE,GSTATE

JZ

GRN

CMP

LTSTATE,Y1STATE

JZ

YLW1

CMP

LTSTATE,Y2STATE

JZ

YLW2

CMP

LTSTATE,RSTATE

JZ

RD

CMP

LTSTATE,Y3STATE

JZ

YLW3

CMP

LTSTATE,Y4STATE

JZ

YLW4

GRN:

CALL

GREEN

IRET

YLW1:

CALL

YELLOW1

IRET

YLW2:

CALL

YELLOW2

IRET

RD:

CALL

RED

RET

YLW3:

CALL

YELLOW3

IRET

YLW4:

CALL

YELLOW4

IRET

GREEN

PROC

;

;绿灯

PUSH

AX

PUSH

DX

MOV

DX,CTRLPT

MOV

AL,11101000B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,11110000B;1、3方向的绿灯,2、4方向的红灯亮30秒

OUT

DX,AL

MOV

DX,MOV

AL,11100100B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,10100101B

OUT

DX,AL

MOV

CX,GDURA

*

INTCNT

MOV

LTSTATE,Y1STATE

POP

DX

POP

AX

RET

GREEN

ENDP

YELLOW1

PROC

;黄灯

PUSH

AX

PUSH

DX

MOV

DX,CTRLPT

MOV

AL,11100100B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,11110101B

;

1、3方向的黄灯亮0.5秒(黄灯一共闪烁3次,即亮灭各3次)

OUT

DX,AL

MOV

DX,CTRLPT

MOV

AL,11101000B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,10100000B

OUT

DX,AL

MOV

CX,INTCNT

/

MOV

LTSTATE,Y2STATE

POP

DX

POP

AX

RET

YELLOW1

ENDP

YELLOW2

PROC

PUSH

AX

PUSH

DX

MOV

DX,CTRLPT

MOV

AL,11101000B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,11110000B;

1、3方向的黄灯灭0.5秒(黄灯一共闪烁3次,即亮灭各3次)

OUT

DX,AL

MOV

CX,INTCNT

/

INC

YBLKCNT

CMP

YBLKCNT,YDURA

JZ

CHGRED

MOV

LTSTATE,Y1STATE

JMP

Y2RET

CHGRED:

MOV

LTSTATE,RSTATE

MOV

YBLKCNT,0

Y2RET:

POP

DX

POP

AX

RET

YELLOW2

ENDP

RED

PROC

;红灯

PUSH

AX

PUSH

DX

MOV

DX,CTRLPT

MOV

AL,11100100B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,01011010B;

1、3方向的红灯,2、4方向的绿灯亮30秒

OUT

DX,AL

MOV

CX,RDURA

*

INTCNT

MOV

LTSTATE,Y3STATE

POP

DX

POP

AX

RET

RED

ENDP

YELLOW3

PROC;

PUSH

AX

PUSH

DX

MOV

DX,CTRLPT

MOV

AL,11100100B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,11111010B

;

2、4方向的黄灯亮0.5秒(黄灯一共闪烁3次,即亮灭各3次)

OUT

DX,AL

MOV

DX,CTRLPT

MOV

AL,11101000B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,01010000B

OUT

DX,AL

MOV

CX,INTCNT

/

MOV

LTSTATE,Y4STATE

POP

DX

POP

AX

RET

YELLOW3

ENDP

YELLOW4

PROC

PUSH

AX

PUSH

DX

MOV

DX,CTRLPT

MOV

AL,11101000B

OUT

DX,AL

MOV

DX,DATAPT

MOV

AL,11110000B

;

2、4方向的黄灯灭0.5秒(黄灯一共闪烁3次,即亮灭各3次)

OUT

DX,AL

MOV

CX,INTCNT

/

INC

YBLKCNT

CMP

YBLKCNT,YDURA

JZ

CHGGRN

MOV

LTSTATE,Y3STATE

JMP

Y4RET

CHGGRN:

MOV

LTSTATE,GSTATE

MOV

YBLKCNT,0

Y4RET:

POP

DX

POP

AX

RET

YELLOW4

ENDP

CSEG

ENDS

END

START

小结

通过本次关于微机打印口外接交通灯模拟LED显示器的课程设计,我了解了交通灯的工作原理,而在此基础上设计原理图和硬件电路板,则让我对课本上的知识进行了实际的应用,例如DB25

25帧的打印机接口,8255A芯片,对他们的功能及作用都有了较深的理解。完成本次实验的工具软件是protel99,这是一款电子工程师设计电路原理图和PCB的行业软件。不过值得注意的是,本软件的汉化版经常出现问题,特别是对制作pcb图的影响很大。所以建议使用protel99的英文版。通过主机打印口和8255A接口的连接,对db25各个针脚功能有了更深入得了解,拓展了课本上的知识。因为在整个小组中我主要负责制作pcb这一块,所以觉得确定印刷电路板的尺寸大小,定印刷电路层次和元器件布局很重要。实验的最后一部分是编写程序,增强了我的汇编语言能力。

参考文献

戴梅萼

史嘉权

微型计算机技术及应用(第4版)

清华大学出版社

2008年2月

Protel

99SE电路设计基础与工程范例

赵景波

王臣业编著

清华大学出版社2008年5月

Protel

99SE

电路设计与制板

朱云芳

江桦

翟旭等编著

机械工业出版社

2007年11月

汇编语言程序设计教程

(第二版)

卜艳萍编著

清华大学出版社

2007

胡景春

实践优秀作品选编

东南大学出版社

2010年2月

胡景春

刘洪

微机原理\单片机应用实验指导(第二版)

南昌航院计算机系

2004

附录一

电路原理图

附录二

PCB图

附录三

25针并行口打印机口的针脚功能表

南chang航空大学

(语言、微机原理及接口技术)实验交通灯
TOP