微机原理与汇编语言综合性实验
微机原理与汇编语言综合性实验报告
实验项目名称:交通灯控制系统设计
专业班级: 软件 101 ;姓名: 蒋树林 ;学号 201012010220
实验起止日期: 2012 年 12 月 14 日起 2012 年 12 月 21 日止
实验目的:掌握典型数字接口电路的应用技术原理,掌握常用接口芯片在应用系统中的硬
件电路连接原理和软件编程方法。
实验要求:包括开发环境要求,技术文档要求两部分。
实验内容:
1 熟悉并行接口、中断控制器、定时器的工作原理及相关芯片。
2 掌握数字接口电路设计应用原理,根据系统功能用汇编语言编写相关程序。
3 在 emu8086 环境中运行编译好的的程序,通过系统模拟,在模拟窗口中观察交通信号
灯的变化,得出相关结论。
一、 实验步骤
1、编写源代码
2、将源代码进行汇编生成目标文件、链接成可执行文件、将可执行文件进行分段调试。
3、将调试好的代码模拟运行
1
交通灯控制系统设计
初始化 8259、8253、8255
且 L1、L2 亮
否
等待 8253 延时 3s 时间是
否到?
L2、L5 亮
等待 8253 延时 45s 时间
是否到?
L2 亮,L5 闪烁
等待 8253 延时 3s 时间是否到?
L2、L3 亮
等待 8253 延时 3s 时间是否到?
L1、L6 亮
等待 8253 延时 40s 时间
是否到?
L1 亮,L6 闪烁
等待 8253 延时 3s 时间是
否到?
L1、L4 亮
等待 8253 延时 3s 时间是否到?
2
否
否
否
否
否
否
微机原理与汇编语言综合性实验
二、 分析灯亮的规律:
1.查看交通灯亮灭功能表
灯
状态
状态 1
状态 2
状态 3
状态 4
状态 5
状态 6
状态 7
南北
红 L1
1
0
0
0
1
1
1
2.查看电路原理图
交通灯亮灭功能表
东 西
红 L2
南北
黄 L3
东西
黄 L4
南北
绿 L5
东西
绿 L6
1
1
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
0
1
L7
无效
0
L8
无效
0
0
0
0
0
0
0
0
0
0
0
0
0
三、收获与总结
社会经济的高速发展,人们生活水平大幅度提高,从而导致了汽车保有量的快速增长,
由此带来了越来越多的交通问题。
在本次硬件实验设计中,我们针对交通灯,运用汇编程序及接口技术来模拟十字路口的
交通灯,对交通灯进行控制,并实现一定的功能:
1、红绿灯的基本的显示功能;
3
交通灯控制系统设计
2、计数,显示灯的剩余时间的 LED 的读取;
3、夜间模式的实现;
4、紧急事件的实现;如消防车、急救车,路障的设立;
5、对流量的测定,实现对下一路口的红绿灯时间的重新赋值
参考文献
微型计算机原理与接口技术(第 3 版)[M]清华大学出版社.
4
微机原理与汇编语言综合性实验
cx, 4Ch
dx, 4B40h
ah, 86h
15h
附录:源程序代码
#start=Traffic_Lights.exe#
name "traffic"
mov ax, all_red
out 4, ax
mov si, offset situation
next:
mov ax, [si]
out 4, ax
; wait 5 seconds (5 million microseconds)
mov
mov
mov
int
add si, 2 ; next situation
cmp si, sit_end
jb next
mov si, offset situation
jmp next;
FEDC_BA98_7654_3210
situation
s1
s2
s3
s4
sit_end = $
all_red
dw
dw
dw
dw
dw
5
;
004C4B40h = 5,000,000
0000_0011_0000_1100b
0000_0110_1001_1010b
0000_1000_0110_0001b
0000_1000_0110_0001b
0000_0100_1101_0011b
equ
0000_0010_0100_1001b