1、微机系统与接口课程设计微机系统与接口课程设计 一、课程设计目的: 掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法; 掌握实时处理程序的编制和调试方法 二、课程设计要求和内容: 用实验仪器上的并行接口控制七段数码管显示, 设计一个定时显示装置, 用六个数 码管显示时间(左边两位显示小时值,中间两位显示分值,右边两位显示秒值) 。 用开关(模块 A5)控制计时和显示: K1 键(清除) :显示 00-00-00; K2 键(启动) :显示 XX-XX-XX 变化的时间值; K3 键(停止) :显示 XX-XX-XX 不变; K4 键(设置) :设置 XX-XX-XX 时间值,时间值
2、由模块 B2 开关输入。 三、实验提示实验提示 (1)硬件连线)硬件连线 本实验主要用到开关和数码管两个设备,开关值需要 4 个输入端口控制。模块 A5 开关由 74LS244 控制,模块 B2 开关输入由 8255(模块 E3)的三个端口控制。数码管 的显示由 E4 模块 8255 的 A 口、B口控制。用 8253 计时,并向 8259 发中断信号。 (2)端口地址)端口地址 E3 模块 8255 端口地址固定为:0FF28H 0FF2BH;E4 模块 8255 端口地址固定为: 0FF20H 0FF23H(A 口为位控制端口,B 口为段控制端口);8253 的通道地 址固定为 0040H
3、0043H;74LS244 和 8259 的端口地址由用户任意选择译码输出接线 而定。 (3)程序主要模块)程序主要模块设计提示设计提示: (注:实验台存储空间分配用户数据程序区为(注:实验台存储空间分配用户数据程序区为 01000H 0FFFFH 。 )。 ) 主程序模块:对 8253、8259、8255 进行初始化,设置中断向量,读取 A5 开关值 作相应的处理。 8253 中断服务程序:计时时间到一秒,修改当前时间。8253 可设定成每一秒产生 一次中断。 数码管显示控制子程序:通过段、位控制控制端口控制数码管相应显示对应值。 四、硬件电路设计: 1 1)设计思路:设计思路: (1)在主
4、程序中要分别对 8253、8259、8255 进行初始化编程,8253 的计数器 2 可在方 式 0 下工作。 第 2 页 共 10 页 (2)8255 的 A 口、B 口都设为方式 0,为基本的输入输出方式。 (3) 在中断服务程序中对中断次数进行统计, 当满 10 次时就进行一次时、 分、 秒的处理。 时、分、秒分别对应 6 个存储单元,分别存放时、分、秒的十位和个位。当中断次 数满 10 次时,将秒的个位加 1,同理对分,时亻相应处理。 (4)七段数码管显示作为子程序,鹇时、分、秒对应存储单元的内容分别取出并转换成 相应的段码,从 8255 的 B 口输出,A 口输出对应位的位选信号,延
5、时后进行下一位 的显示。 脉冲产生电路8253定时器 8259中断七段数码管8255 图 4 硬件连接的 整体思想图 K1 K2 K3 K4 k1k16 第 3 页 共 10 页 1/64 1/32 分频电路 4M cs D0D7 8253 GATE0 CLK0 OUT0 cs GATE1 CLK1 OUT1 +5V 8259 IR0 IR1 IR2 IR3 IR4 8255 两个两个 cs PA0PA7 PB0PB7 PC0PC7 8255 两个两个 cs7 cs5 cs3 cs1 cs6 cs4 cs2 cs0 cs PA0PA7 PB0PB7 PC0PC7 6 个八段译码管个八段译码管
6、图 5 具体硬件连接图 K1 K2 K3 K4 k1 . . . . . k16 第 4 页 共 10 页 五、软件程序设计 开始 设置中断服务程序地址 设置8253工作方式及定 时常数 设置8255工作方式 清显示缓冲区 清时、分、秒及中断计 数单元 开中断 将时、分、秒单元中数 据转换为BCD码并存入 显示缓冲区 调用显示子程序 中 断 计 数 值 加 1 中 断 计 数 值 减 10? 中 断 计 数 单 元 清 零 秒 计 时 值 加 1 秒 值 = 60? 秒 计 数 单 元 清 零 分 计 时 值 加 1 分 值 -60? 分 计 数 单 元 清 零 小 时 计 时 值 加 1 小 时 值 =-24? 小 时 计 时 单 元 清 零 输 出 中 断 结 束 命 令 中 断 返 回 N Y N Y N Y N Y 图 6 主程序流程图 图 7 中断服务程序流程图 第 5 页 共 10 页 六、课程设计结果分析及心得体会 结果分析: 最后,我们得到了预期的结果,电路能完成准确的硬件定时和显示。在一开始的连线 中,因为粗心,没有把片