1、 计算机科学与技术系 微机原理与接口技术 课程设计报告 20082009 学年第 1 学期 课程课程 微机原理与接口技术 课 程 设 计 名 称课 程 设 计 名 称 随机抽奖器 学生姓名学生姓名 学号学号 专业班级专业班级 计算机科学与技术系 06 网络工程 2 班 指导教师指导教师 2009 年 1 月 微机原理课程设计 1 一、题义分析与解决方案一、题义分析与解决方案 1.1.题义需求分析题义需求分析 本课题需要设计一个应用接口芯片作为四个七段 LED 数码管输出口, 编一个程 序,使用四个 LED 数码管循环快速闪烁数字(显示 0100),15 秒后停滞,此号 码即为随机中奖号码。 根
2、据课题的设计要求,作如下的分析: 抽奖器需要显示抽奖数字,初始值为 000,可以控制抽奖开始,抽奖开始后要不 停的显示随机数直到 15 秒后停滞。 根据以上分析可知,我们需要解决以下几个问题: 随机数怎么样产生? 怎么样存储产生的随机数? 使用什么样的接口电路来实现? 如何显示随机数? 2 2. .解决问题方法与思路解决问题方法与思路 根据以上的题义需求分析,现在对上述四个问题进行逐一解决。下面我们可 用列表比较的方法来选择器件,具体器件的名称和特点如表 1-1 所示。由表 1-1 可以得到以下分析结果: 随机数通过软件的方法来实现。1 秒设置问题用软件实现:因为成本低,而 且是验证型实验,无
3、需精确。接口电路采用 8255 芯片:因为在抽奖器设计时, 距离很近,而且要求数据各位同时传送,这些都符合 8255 可编程并行接口的特 点。显示问题选用 LED:因为 OLED 效果佳,但价格高,LCD 不稳定,容易出现闪 烁问题,驱动器选择 74LS244:因为本课程设计只需单向传送,74LS245 显得浪 费。 综上所述,本课程设计需要一块 8086CPU,一片 8255A 可编程并行接口芯 片,七段 LED 显示器,74LS244 驱动器。 表 1-1 器件对比表 器件器件 对对 比比 1 8253 计数 器 当到一秒时,产生一个负脉冲,定时准确,成本高 软件实现 在程序中用一初始值近
4、似代替 1 秒时间,成本低 2 8255A 芯片 8255 芯片是可编程的并行接口,数据的各位同时进行传送, ,速 度快,但传输距离不远,不需要附加外部电路便可和大多数并行 传输数据的外部设备直接相连。 8251A 芯片 8251 芯片是可编程的串行接口,数据一位一位地顺序传送,电路 简单,只需一对传输线就可实现双向通信,速度慢,只能在固定 方式下工作,不灵活。 L E D 光效率高,品质高,能耗小,寿命长,可靠耐用,应用灵活,回 应时间短。 微机原理课程设计 2 3 L C D 稳定性不是很好,容易出现闪烁,接触不良问题。 O L E D 单个元素反应速度是 LCD 液晶屏的 1000 倍,
5、 在强光下也可以照看 不误,利用 LED 技术,更薄,更亮,更清晰。 4 74LS244 单向传送,一般用于总线电平匹配,提供比较大的输出电流 74LS245 具备选通输入输出的功能,双向传送。 1)1) 硬件部分硬件部分 8255A 工作于方式 0,将 PC 口作为输入端,将 PB 口和 PA 口作为输出端,PB 口用来输出位选码,PA 口用来输出段选码。显示器初始状态显示为 000。 2)2)软件部分软件部分 通过观察和实际检测可以知道程序的每条指令的硬件时间执行时时非常快 的,每秒 8086 可以执行 8 万次以上的操作。所以我们可以如下设置随即函数: 开始抽奖时显示 000,随机数产生
6、函数中产生的数字从 0 开始,第一个数时 0, 第二个数便在第一个数基础上加一,如循环往复执行,到 100 时再从一开始重新 进行加一运算。 这样我们可以保证在一秒的时间内随机数可以从 0 变化到 100 已满足随机抽奖器的需要。 二、二、硬件设计硬件设计 1. 1. 82558255芯片芯片 1 1) 8255A8255A在本设计中的作用在本设计中的作用 从 PC 口输入开关量,从 PA 口和 PB 口进行输出显示。 2 2) 8255A8255A的功能分析的功能分析 下面主要介绍方式 0 的工作特点,8255A 工作方式 0 又称为基本输入/输出 (同步传送)方式,该方式下可将三个数据端口划分为四个独立的部分,A 口和 B 口作为两个 8 位端口,C 口高四位和低四位可用作两个 4 位端口。方式 0 使用 在无条件传送和查询式传送两种场合。无条件传送一般用于简单的外部设备,例 如:键盘、开关量的输入,状态指示灯等等,此时不使用联络信号。而查询传送 时,A 口和 B 口作为数据的输出,C 口的若干位作为联络信号。其具体功能如表 2-