微机原理课设-带数码管显示的交通灯模拟控制系统设计

  • 格式:doc
  • 大小:1.60 MB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩

南京工程学院

课程设计说明书(论文)

题目带数码管显示的交通灯模拟控制系统设计

课程名称微机原理及应用

院系

专业

班级

学生姓名

学号

设计地点

指导教师

设计起止时间:2013年12月23日至2017年12月27日

目录

一、方案说明 (2)

1、硬件设计 (2)

1.1、硬件接线图 (2)

1.2、主机接线说明 (3)

2、软件设计 (3)

2.1、程序流程图 (4)

二.源程序清单 (5)

三、调试现象 (10)

四、心得体会 (12)

1.课程设计应达到的目的

通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际。

2.课程设计题目及要求

题目:交通信号灯模拟控制系统的设计利用STAR ES598PCI实验仪的硬件资源设计一个“带时间显示的交通信号灯模拟控制系统”。所有输入该装置信号采用STAR ES598PCI实验仪上的状态输入开关,东西、南北方向的红绿黄灯采用实验仪上的LED发光二极管模拟,东西、南北方向的信号灯变化,

通行倒计时时间用数码管显示。

1、功能要求:

1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。当A道和B道均有车辆要求通过时,A道和B道轮流放行。A道放行10秒钟,B道再放行10秒钟,依次轮流。绿灯转换红灯前黄灯亮4秒钟。

2)夜间工作时A道(东西方向)和B道(南北方向)的黄灯闪烁,绿灯和红灯不亮(实

验时用开关K8控制)。

3)开关K8=0,则工作在以上功能(1);开关K8=1,则工作在以上功能(2)。

2、难度要求:

1)基本要求:采用8255 PA口输出控制信号灯,8255 PC0输入K8控制开关信号,用循环程序软件定时实现功能要求;(60分)

2)中级要求:采用8255 PA口输出控制信号灯,8255 PC0输入K8控制开关信号,用8253硬件定时,软件查询方式实现功能要求;(80分)3)高级要求:在中级要求的基础上,增加用8255 PB口动LED数码显示器显示绿灯倒计时秒数,从9倒计数到0,倒计数到4时黄灯亮。(100分)

一、设计说明

硬件方面:8253产生1HZ的方波,脉冲到8259的IR1端,产生中断,调中断服务子程序。在加入紧急车道后,单脉冲()连到8259的IRO端,产生一个高级的中断请求信

号。

软件方面:主程序先对各个硬件初始化,在开CPU中断,然后空操作,等待中断。执行低级中断(IR1)时,8255的PA口负责选数码管,PB口负责显示数字,用查表法可

查到0~9的数码管编码。

采用循环扫描方法,人眼即可看到连续的二位数。当倒计时减到零时,对红绿灯取反。若手动上下拨动单脉冲()一次,则产生一个高级中断(IR0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(IR1)。

1、硬件设计

1.1、硬件接线图

1.2连线说明:

C5区:CS、A0、A1 ————A3区:CS3、A0、A1

C5区:OUT0 ————C5区:CLK1 C5区:GATE0、GATE1 ————C1区:VCC

C5区:CLK0 ————B2区:2M

C5区:OUT1 ————B3区:IR1

B3区:CS、A0 ————A3区:CS2、A0 B3区:INT、INTA ————ES8688:INTR、INTA

B3区:IR0 ————B2区:单脉冲() B4区:CS、A0、A1 ————A3区:CS1、A0、A1

B4区:PA口、PB口————G5区:C口、B口

B4区:PC口———— G6区:JP65(LED灯)

1.3实物连线图

2、软件设计

1、程序流程图

8255初始化

红灯亮

延时1秒

红灯灭

CX=0?

8253初始化

给8253赋初值

调8259初始化程序

调写中断向量表子程序

红绿灯初始化(东西方向通

行)

写入计数值(十六进制)

CPU 开中断

是否有中断?(IR 1,低级中断)

计数值减1

调整

循环值入栈保护

选高位数码管

查表并显示高位数值

调1ms 延时

高位管熄灭

选低位数码管

查表并显示低位数值

调1ms 延时

低位管熄灭

SCAN=0?

计数值是否到零?

红绿灯取反并输出

中断服务子程序

循环值出栈

返回

Y

Y

Y

Y

N

N

N

N

循环4次

循环385次

2.设计思路

①8255

交通信号灯的灯光变化和数码显示通过8255实现控制。

8255是一种具有多种功能的可编程并行通信接口电路芯片。芯片包括A、B、C三个数据端口、A 组控制部件、B组控制部件、读写逻辑控制电路、数据总线缓冲器。8255有三种工作方式,其中方式0是基本输入/输出方式,适用于无条件传送和查询方式的接口电路。

本设计中,PA口用于输出信号控制灯光的变化(D6D5=00,D4=0),PB口用于输出信号控制数码管的显示(D2=0,D1=0),PC0用于输入K8的控制开关信号,PC1用于输入用于硬件延时的方波信号(D0=1)。

PC7用于输出控制数码管工作/不工作的信号(D3=0)。故写入方式控制字为10000001B=81H。

8255A输入/输出信号接线方案如下表所示:

8255-PB输出方式PCH输出方式8255-PA输出方式PCL输入方式

引脚输出信号引脚输出信号引脚输出信号引脚输入信号

PB7 PB7—DP段

PB6—G段PB5—F段PB4—E段PB3—D段PB2—C段PB1—B段PB0—A段PC7

数码管的

位码选择

PC7=0,则

该位选中

PA7 不用(灭)

PB6 PA6 南北红灯

PB5 PA5 南北黄灯

PB4 PA4 南北绿灯

PB3 PA3 不用(灭)PC3

PB2 PA2 东西红灯PC2

PB1 PA1 东西黄灯PC1 8253-OUT0

PB0 PA0 东西绿灯PC0 开关K8输入

a.灯光显示:送低电平则灯亮,送高电平则灯灭。

东西绿灯,南北红灯:PA0~PA7应输出01111101B=7DH

东西闪灯,南北红灯:黄灯亮,红灯亮PA0~PA7应输出10111101B=0BDH

黄灯灭,红灯亮PA0~PA7应输出11111101B=0FDH

东西红灯,南北绿灯:PA0~PA7应输出11010111B=0D7H

东西红灯,南北黄闪:红灯亮,黄灯亮PA0~PA7应输出11011011B=0DBH

红灯亮,黄灯灭PA0~PA7应输出11011111B=0DFH

②8253

交通信号灯亮、灭的时间及数码管的倒计时间隔都通过8253控制。

8253可编程定时/计数器是Intel公司生产的通用外围接口芯片,它有三个独立的16位计数器,计数范围为0~2MHz。8253有6种工作方式,其中方式三是方波发生器方式。

本设计中选用通道0,CLK0接1953HZ的时钟信号,GATE0接高电平VCC,OUT0接8255的PC1。因为需要产生周期为0.5s的方波,即产生2Hz的方波而固有频率为1953Hz,故分频系数N=1953/2=976。由于选用了通道0(SC1 SC0=00),工作在方式3(M2 M1 M0=011),对计数器进行读写/操作时,先送低8位,再送高8位(RW1 RW0=11),计数器的数值采用10进制(BCD=1),故初始化时命令字为00110111B=37H。