微机原理及接口技术课程设计交通灯

序言
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。 目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。

目录

一、实验目的………………………………………………………………………………………3
二、实验内容………………………………………………………………………………………3
三、交通信号灯实时控制和管理的总体设计……………………………………………………4
(一) 芯片选择及端口选择……………………………………………………………4
(二) 实验连接线路图及相关说明……………………………………………………5
(三) 设计思想…………………………………………………………………………6
(四) 设计流程图………………………………………………………………………7
四、实验环境及条件………………………………………………………………………………9
五、源程序清单……………………………………………………………………………………9
(一) 初始化主程序……………………………………………………………………9
(二) 中断服务程序……………………………………………………………………11
六、程序运行结果………………………………………………………………………………13
七、课程设计总结…………………………………………………………………………………13
八、参考文献………………………………………………………………………………………15

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

一、实验目的
⒈ 了解交通灯管理的基本工作原理
⒉ 熟悉8259A中断控制器的工作原理和应用编程
⒊ 熟悉8255A并行接口的各种工作方式和应用
⒋ 熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法
⒌ 掌握多位LED显示问题的解决

二、实验内容
本次课程设计的内容为交通信号灯的实时控制和管理。
某交通干线车行道和人行横道的交通信号灯设置如图所示:

车行道

车行道 车行道

车行道

其中: 表示红灯、 表示黄灯、 表示绿灯
具体要求如下:
1.东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从65减为0。
3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;
4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。

三、交通信号灯实时控制和管理的总体设计
㈠ 芯片选择及端口选择
1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。
2. 用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要
求的1分钟、5秒钟和20秒的定时。
实验系统8235的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接 +5V;
定时采用软硬件相结合的方式实现。
⒊ 用实验系统的发光二极管模拟红绿灯。
注:8259A的端口地址为:218H、219H
8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口-203H
8253的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器0-20bH。

㈡ 实验连接线路图及相关说明
(1)线路图

+5v
8259A

IRQ0 ○ ○

INTR INTR
INTA INTA


2.5MHZ
◎表示发光二极管

○ ○
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
○ ○

○ 试验箱交通灯组

片选信号引脚连接
8259A的片选信号引脚连接:218-21F
8255A的片选信号引脚连接:200-207
8253 的片选信号引脚连接:208-20F

(三)设计思想

设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每10ms中断一次。利用CX对不同的状态时间计数,用来实现计数器0对1分钟,20秒钟,5秒钟的定时。中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。每进入中断即刷新LED显示。用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。

(四)设计流程图
主程序流程图:

中断服务程序流程图:

四、实验环境及条件
⒈超想—3000TB综合实验/仿真系统
⒉导线
3.微机原理及接口技术试验箱

五、源程序清单
⒈本次设计中,选用8235的计数器0定时向实验系统主片8259A的IRQ0请求中断。设置8253的计数器0每10ms请求一次中断,工作于模式3;8255的A端口控制交通灯;数码管驱动程序采用指导老师提供的程序。

初始化程序:
DATA SEGMENT
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;存放七段代码表
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
D1 EQU 10H
D2 EQU 200H ;8255A端口A
EA EQU 200H ;8259端口地址
EE EQU 203H
CONTROL EQU 20bH ;8253端口地址
COUNT0 EQU 208H
COUNT1 EQU 209H
COUNT2 EQU 20aH
Z8279 EQU 222H
D8279 EQU 220H
LEDMOD EQU 00 ;左边输入,八位显示外部译码八位显示
LEDFEQ EQU 38H ;扫描频率
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
CODE SEGMENT
ASSUME CS:CODE
CONT DB 0
CONT1 DB 0
CONT2 DB 0
BKSD DB 0
BKAD DB 0
BKDA DB 0
TEMP DB 0
;*******************************************
START:
MOV AX,0
MOV DS,AX
MOV AX,OFFSET IRQ0
ADD AX,2000H
MOV SI,0FH*4
MOV [SI],AX
MOV AX,0
MOV [SI+2],AX
IN AL,218H
AND AL,7FH
OUT 219H,AL
CLI

MOV AL,80H ;初始化8255
OUT EE,AL
MOV AL,00
OUT EA,AL
MOV AL,0f0H
OUT EA,AL

MOV DX,218H ;8259初始化
MOV AL,00010010b
OUT DX,AL
MOV AL,08H
MOV DX,219H
OUT DX,AL

MOV DX,203H ;设置为全输出
MOV AL,80H
OUT DX,AL
MOV DX,200H
MOV AL,0ffh
OUT DX,AL ;清LED
MOV DX,200H ;全红
MOV AL,0F0H
OUT DX,AL

MOV AL,00110110b ;初始化 8253
OUT CONTROL,AL
MOV AX,2500
MOV DX,COUNT0
OUT DX,AL
MOV AL,AH
OUT COUNT0 ,AL
MOV AX,DATA
MOV DS,AX

中断服务程序:
A1: STI
HLT
JMP A1
IRQ0: ;写数码管程序,暂缺
JMP COMPARE
COMPARE:CMP DL,0
JZ STATE0
CMP DL,1
JZ STATE1
CMP DL,2
JZ STATE2
CMP DL,3
JZ STATE3

STATE0: ;状态0:东西红南北绿
mov al,01011010b
out D2,al
DEC SI
JNZ CHANGE1
DEC DH
MOV SI,100
CHANGE1:DEC CX
CMP CX,0
JNZ M0
MOV CX,500
STATE1: DEC DI ;状态1:东西方向黄灯闪烁,南北绿灯
CMP DI,0
JNZ SHINE1
MOV AL, 00001010b ;东西灭,南北绿
OUT D2,AL
MOV DI,50
JMP CHANGE
SHINE1: MOV AL,11111010B ;东西黄,南北绿
OUT D2,AL
CHANGE: DEC SI
JNZ CHANGE2
DEC DI
MOV SI,100
CHANGE2:DEC CX
CMP CX,0
JNZ M1
MOV CX,2000
MOV DH,25
STATE2: MOV AL,10100101b ;状态2:东西绿灯,南北红灯
OUT D2,AL
DEC SI
JNZ CHANGE3
DEC DH
MOV SI,100
CHANGE3:DEC CX
CMP CX,0
JNZ M2
MOV CX,500
STATE3: DEC DI ;状态3:东西绿灯,南北黄灯闪烁
CMP DI,0
JNZ SHINE2
MOV AL,10100000B ;东西绿灯,南北灭
OUT D2,AL
MOV DI,50
JMP SOURCE
SHINE2: MOV AL,10101111B ;东西绿,南北黄
OUT D2,AL
SOURCE: DEC SI
JNZ CHANGE4
DEC DH
MOV SI,100
CHANGE4:DEC CX
CMP CX,0
JNZ M3
MOV CX,6000
MOV DH,65
M0: MOV DL,0 ;下次进入状态0
JMP EXIT
M1: MOV DL,1 ;下次进入状态1
JMP EXIT
M2: MOV DL,2 ;下次进入状态2
JMP EXIT
M3: MOV DL,3 ;下次进入状态3
EXIT: MOV AL,20H
OUT 218H,AL
IRET
CODE ENDS
END START

六、程序运行结果

1.即东西方向的绿灯和南北方向的红灯同时点亮1分钟;
2.1分钟后,东西方向的黄灯闪烁5秒钟,。此时南北方向仍维持红灯点亮。
3.东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮20秒钟;
4. 20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮1分钟。如此循环重复。
6. 由于数码显示模块没有完成,数码管没有倒计时显示。

七、课程设计总结
1、软件延时与定时器计时
软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示

2、使用中断的好处
使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行效率。
在本设计中程序每10MS请求一次中断,实现精确定时与数码管显示刷新。

3、团队合作
在产品或项目开发中,团队合作是非常重要的,在对设计进行模块划分、统一变量之后,分别设计不同设计然后进行整合,这样进行开发是非常快速简单的。

4、关于本次设计
在本次设计中,使用了8259A中断控制器、8253计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数码显示模块空缺,我们会尽快将程序补全,使其具有完整的交通灯功能,程序电子文档:http://kyhut.com/download/weiji.rar。与其他设计相比,并非复制并修改老师的代码,做到了自主设计,在设计中掌握的计算机接口设计的基本方法、锻炼了团队合作的能力。
在此次设计中体也会到了交流与保护知识专利的重要性,在千篇一律的设计中,显示自己的特色,在实用性和执行效率间取得平衡,是设计的关键所在,本次设计由于不熟悉试验箱8段代码管的线路,未能进行数码倒计时显示,这是设计的遗憾,未能很好的借鉴老师提供的代码,是本次设计不能完美的原因。

2005.12.22

参考文献:
1、16/32位微机原理、汇编语言及接口技术(第二版) 机械工业出版社 钱晓捷、陈涛
2、微机原理与接口技术课程设计 机械工业出版社 宋杰等
3、微型计算机接口技术及应用 华中科技大学出版社 刘乐善

下载

Similar Posts

18 Comments

  1. 木木渊 says
    01 五月 07 at 9:48上午

    怎么设计图都没有?怎么也不加有特种车通过的设计电路?我就是中断那里不怎么清楚

    (reply)
  2. 建军节即将 says
    09 五月 07 at 1:13上午

    。。

    (reply)
  3. iuiuyi says
    09 五月 07 at 1:15上午

    jhgj

    (reply)
  4. 你好 says
    09 五月 07 at 1:17上午

    你好`能把你的设计报告发给我吗``我做课程设计
    QQ349780627
    邮箱 kill7231543@163.com
    谢谢联系

    (reply)
  5. 匿名 says
    11 十二月 07 at 10:18下午

    你好 能不能把完整课程设计报告发给我(最好有电路图)参考一下 先谢谢了 邮箱:sky993616@yahoo.com.cn

    (reply)
  6. helpme says
    24 十二月 07 at 2:30下午

    你好!能不能把接线的图弄到网上啊?

    (reply)
  7. 匿名 says
    30 十二月 07 at 11:25下午

    能不能把流程图和硬件接线图给我啊
    我的邮箱是guona_ _ _@126.com
    谢谢啦

    (reply)
  8. 陈艳 says
    18 十二月 08 at 9:22下午

    能把电路图发给我吗?我 太需要了。谢谢,感激楼主

    (reply)
  9. jason says
    02 一月 09 at 6:13下午

    楼主能把硬件连接图发给我吗 不胜感激
    jasonjasonfu@gmail.com

    (reply)
  10. fish.scorpio says
    03 一月 09 at 10:59上午

    能不能给我发这个完整的课程设计?真的非常感谢!我挺不明白这个东西的。。。

    (reply)
  11. ygg says
    04 一月 09 at 1:58下午

    457603891@qq.com
    能不能给我发这个完整的课程设计?真的非常感谢!

    (reply)
  12. z574158870 says
    12 一月 09 at 3:11下午

    麻烦一下了,发到我的邮箱846791004@qq.com

    (reply)
  13. w5225696 says
    13 一月 09 at 12:10下午

    你好,麻烦能不能把电路图发一下,实在是很需要~谢谢邮箱是:w5225696@yahoo.cn

    (reply)
  14. 戴 says
    18 五月 09 at 5:33下午

    你好,请发一份交通灯完整的课程设计报告给我好吗?谢谢!

    (reply)
  15. 高数小杰 says
    02 六月 09 at 10:11上午

    能不能把电子档原版给我发一份,谢谢了

    (reply)
  16. lkw says
    18 六月 09 at 8:41上午

    能不能把电子档原版给我发一份,实在是很需要~谢谢邮箱是:156892020@qq.com

    (reply)
  17. zb says
    07 一月 10 at 5:13下午

    你好,我刚好有这个课程设计,能把电子版的原版发给我一份吗,不胜感激:178949273@qq.com

    (reply)
  18. 04 七月 10 at 3:22下午

    有没有 频率计系统的啊?

    (reply)

Leave a Comment