1、 微机原理与接口技术 课程设计 20102011 学年第一学期 课 程 设 计 科 目课 程 设 计 科 目 投币电话投币电话 学生姓名学生姓名 学号学号 班级班级 指导教师指导教师 2011 年 1 月 1 1 1 1、题意分析及解决方案、题意分析及解决方案 1.1 1.1 题义需求分析题义需求分析 1.1.1 1.1.1 设计内容设计内容 基本内容: 1.当 p3.7 有信号,即投币后 2.绿灯亮,过了几秒钟后,红灯亮,数码管显示最后 20 秒倒计时 3.当数码管的数为 0 前 p3.7 有信号,即有投币,重新绿灯亮,过了几秒钟后, 红灯亮,数码管显示最后 20 秒倒计时。 4.最后一次投
2、币的倒数 20 秒开始一次蜂鸣报警。 5.若没有投币数码管到 00 时红灯绿灯一起灭,数码管也一起灭。 扩展内容: 最后一次倒计时蜂鸣器报警, 若有挂机信号, 则显示剩余时间以及已投币数 并灭掉红绿灯。 1.2 1.2 解决问题方法及思路解决问题方法及思路 1.2.11.2.1 硬件部分硬件部分 元件的选择: 8255A 芯片与 8251A 芯片比较(表 1-1) LED 和 LCD 比较(表 1-2) 芯片的功能: (1) 接受投币(中断)芯片 8259A 当有一次投币时,由 8259A 向 CPU 发出一次中断;完成一次投币过程。并由 变量 Count 记录总的投币数目,也就是总共接收的中
3、断数。在实验设计当中,将 一次脉冲作为一次投币动作。 (2) 输入输出接口芯片 8255A 在本次实验设计中,由 8255A 芯片作为控制结果输出的元件,8086 接口存 在着不足的问题, 比如对 LED 数码管进行位选需要 2 位, 对 LED 数码管每一位进 行段选需要 8 位,所以必须要用 8255 进行 I/O 的扩展,通过 8255A,CPU 可以直 接同外设相连接,将数字量从 CPU 输出到 LED 显示器上。同时由于每次位选只能 选择一个,所以要想保证 20 秒倒计时时数字不是一位一位显示,所以在程序的 设计当中加入的循环程序,不停的刷新显示,从而保证不会影响到观察时间。 表 1
4、-1 8255A 芯片与 8251A 芯片比较 8255A芯片 8255A芯片是可编程并行接口芯片,不需要附加外部电路便可 和大多数并行传输的外设相连,数据可多为同时传输,使用广 泛方便。 8251A芯片 8251A是可编程的串行接口芯片,数据一位一位地顺序传送, 电路简单,传输距离远。 2 2 表 1-2 LED 和 LCD 比较 LED 与LCD相比,LED在亮度,功耗可视角度和刷新速率等方面更具 有优势,其最显著的特点是使用寿命长,光电转换效能高。 LCD LCD占用空间小,功耗低,低辐射,能降低视觉疲劳,但会出现 闪烁现象。 1.2.21.2.2 软件部分软件部分 该程序主要的初始化设置分为两个部分: (1)对 8259A 进行设置 8259A 的初始化设置其为单片级联、只接受 IR0 引脚引起的中断。 (2)对 8255 的初始化 对方式选择控制字的赋值问题,也就是解决 8255A 的 A 口、B 口分别工作在 方式几,A 口、B 口、C 口高位、C 口低位分别是作为输出口还是输入口的问题。 在本实验中,A、B 口工作为输出方式,