1、交通灯设计 1 微机课程设计报告 题 目 交通灯设计 专 业班级 姓 名 学 号 指导老师 老师 交通灯设计 2 目录目录 1. 课程设计题目、功能、目的2 2. 系统分析与设计3 2.1 系统所用芯片分析3 2.2 所选用芯片的简要介绍4 2.3 系统框图6 3. 程序设计.7 3.1 十字路口交通灯状态转换表7 3.2 主程序流程图7 3.3 中断子程序流程图8 3.4 数码管码表8 3.5 各芯片初始化说明.9 4. 运行情况.10 5. 具体源代码及注释11 6. 心得体会.16 交通灯设计 3 一、一、 课程设计题目、功能、目的课程设计题目、功能、目的 1. 课程设计题目课程设计题目
2、-交通灯设计 2. 本设计所实现功能本设计所实现功能 1) 实现十字路口交通灯各种状态的转换; 2) 各种状态转换的时间可进行灵活设置; 3) 采用中断的方法对状态转换进行控制,提高处理器效率; 4) 在各个状态转换的同时实现倒计时提醒。 3. 本次课程设计目的本次课程设计目的 1) 通过微机原理与接口课程设计,使学生能够进一步了解 微型计算机工作原理, 微型计算机的硬件结构及微型计算机 软件编程。 2) 要求学生根据接口电路的硬件要求进行计算机的汇编语言 程序设计,使学生的软件编程能力得到加强,对接口电路的 综合应用能力有较大提高。 交通灯设计 4 二、二、 系统分析与设计系统分析与设计 1
3、. 系统所用芯片分析系统所用芯片分析 1) 首先本个系统需要一个中央处理器来负责对整个系统进行控 制管理,因为微机原理与接口技术这门课上介绍了 8086 芯片,所以可以采用 8086 作为本系统的中央处理器。 2) 由于本次的课程设计的题目是交通灯, 而根据十字路口处的交 通灯南北和东西方向各有红、绿、黄三种颜色的灯,因此可 用8255来控制6个LED灯的实现模拟的南北和东西方向上的 交通灯。 3) 而交通灯的状态转换时间要由中断方式来控制, 所以很容易想 到了可以用 8259 作为中断芯片,与 8086 芯片相连。 4) 交通灯的状态转换时间可灵活设置, 于是想到了可以采用一块 8253 或
4、 8254 芯片和一个脉冲源相连,8253 对脉冲源送来的 脉冲进行分频,然后将输出送到 8259 作为中断源,而 8253 采用不用的计数初值其输出脉冲的频率就不一样,因此实现 了交通类状态转换时间的灵活设置。 5) 最后关于交通灯状态转换的倒计时功能, 可由一个七段数码管 来显示倒计时,而本次课程设计的实验箱没有提供单个数码 管,而是提供了一个八位一体七段数码管,所以还需一块 8279 芯片来对数码管进行控制。 交通灯设计 5 2. 所选用芯片的简要介绍所选用芯片的简要介绍 8255 是 Intel 公司生产的可编程并行 I/O 接口芯片,有 3 个 8 位并行 I/O 口。具有 3 个通
5、道 3 种工作方式的可编程并行接口芯片 (40 引脚) 。 其各口功能可由软件选择,使 用灵活,通用性强。8255 可作为单片机与多 种外设连接时的中间接口电路。 8255 作为主机与外设的连接芯片,必须 提供与主机相连的 3 个总线接口, 即数据线、 地址线、控制线接口。同时必须具有与外设 连接的接口 A、B、C 口。由于 8255 可编程, 所以必须具有逻辑控制部分, 因而 8255 内部 结构分为 3 个部分:与 CPU 连接部分、与外 设连接部分、控制部分。 intel8253 是 NMOS 工艺制成的可编程计数器/定时器,有几种芯片型号,外 形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如 8253 (2.6MHz) ,8253-5(5MHz) 8253 内部有三个计数器,分别称为计数器 0、 计数器 1 和计数器 2,他们的机构完全相同。每个 计数器的输入和输出都决定