微机原理课设-带数码管显示的交通灯模拟控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。