接口课设七段数码管数码时钟

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.设计方案
(1)在主程序中要分别对 8253、8259、8255 进行初始化编程,8253 的计数器 2 可在方式 0 下工作。 (2)8255 的 A 口、B 口都设为方式 0,为基本的输入输出方式。 (3)在中断服务程序中对中断次数进行统计,当满 10 次时就进行一 次时、分、秒的处理。时、分、秒分别对应 6 个存储单元,分别存放 时、分、秒的十位和个位。当中断次数满 10 次时,将秒的个位加 1, 判断是否到 10,如到了则十位加 1,个位清零;再判十位是否到 6, 如到了 6 则十位清零,分的个位加 1,同理对分、时作相应处理。 (4)七段数码管作为子程序,将时、分、秒对应存储单元的内容分 别取出并转换成相应的段码,从 8255B 口输出,A 口输出对应位的位 选信号,延时后进行下一位的显示。
图3、8255A的方式控制字格式
1
D6
特征位
0 0 方式0 0 1 方式1 1 ×方式2
A组方式
1 输入 0 输出
A口选择
D5
D4
D3
D2
D1
D0
C口下半部
1 输入
B口选择
0 输出 1 输入
B组方式
0 输出 0 方式0
C口上半部
1 方式1 1 输入
0 输出
[5]可编程中断控制器 8259A (1)工作原理
首先,一个外部中断请求信号通过中断请求线 IRQ,传输到 IMR
(中断屏蔽寄存器),IMR 根据所设定的中断屏蔽字(OCW1),决定 是将其丢弃还是接受。如果可以接受,则 8259A 将 IRR(中断请求暂 存寄存器)中代表此 IRQ 的位置位,以表示此 IRQ 有中断请求信号, 并同时向 CPU 的 INTR(中断请求)管脚发送一个信号,但 CPU 这时 可能正在执行一条指令,因此 CPU 不会立即响应,而当这 CPU 正忙着 执行某条指令时,还有可能有其余的 IRQ 线送来中断请求,这些请求 都会接受 IMR 的挑选,如果没有被屏蔽,那么这些请求也会被放到 IRR 中,也即 IRR 中代表它们的 IRQ 的相应位会被置 1。
表 1. 段数码管的字型代码表
实验箱提供了 4 位段数码 LED 显示电路,只要按地址输出相应数据, 就可以实现对显示器的控制. [2] 键盘扫描显示
图 3.键盘扫描电路
实验箱提供了一个 6×4 的小键盘,将 KEY/LED CS 信号接到 CS0 上,则列扫描地址为 08002H,行码地址为 08001H。向列扫描码地址 逐列输入低电平,然后从行码地址读回。如果有键按下,则相应行的 值应为低,如果无键按下,由于上拉的作用,行码为高。这样就可以
2、设计方案………………………………………………………………6 四、实现方法(包括实验电路测试、软件调试等)
1、硬件连接图……………………………………………………………7 2、主程序流程图…………………………………………………………7 3、定时中断服务子程序框图……………………………………………9 4、 中断处理过程………………………………………………………10 5、 源程序代码…………………………………………………………10 五、实施结果………………………………………………………………………13 1、操作步骤……………………………………………………………13 2、运行结果……………………………………………………………13 六、改进意见及建议………………………………………………………………13 七、设计体会………………………………………………………………………13
四、 实现方法(包括实验电路测试、软件调试等)
1. 硬件连接图
GATE2 CLK2
8253
OUT2
+5V 1.19MHZ
8259A
IRQ7 INT
CPU
(1)在主程序中要分别对 8253、8259、8255 进行初始化编程,8253 的计数器 2 可在方式 0 下工作。 (2)8255 的 A 口、B 口都设为方式 0,为基本的输入输出方式。 (3)在中断服务程序中对中断次数进行统计,当满 10 次时就进行一 次时、分、秒的处理。时、分、秒分别对应 6 个存储单元,分别存放 时、分、秒的十位和个位。当中断次数满 10 次时,将秒的个位加 1, 判断是否到 10,如到了则十位加 1,个位清零;再判十位是否到 6, 如到了 6 则十位清零,分的个位加 1,同理对分、时作相应处理。 (4)七段数码管作为子程序,将时、分、秒对应存储单元的内容分 别取出并转换成相应的段码,从 8255B 口输出,A 口输出对应位的位 选信号,延时后进行下一位的显示。
INTR
D0-D7
PB0
8255A
PB7 PA0—PA3
a DP
........ X0---X3 ........
2. 主程序流程图
开始 设置中断服务程序地址 设置 8253 工作方式及定时常数
设置 8255 工作方式 清显示缓冲区
清时、分、秒及中断计次单元 开中断
将时、分、秒单元中数据转换 为 BCD 码并存入显示缓冲区
程序设计:优秀□ 良好□ 中等□ 及格□ 需努力□
实验结果:优秀□ 良好□ 中等□ 及格□ 需努力□
验 课程设计个人验收结果:
收 操作能力:优秀□ 良好□ 中等□ 及格□ 需努力□
内 软件理解:优秀□ 良好□ 中等□ 及格□ 需努力□
容 硬件理解:优秀□ 良好□ 中等□ 及格□ 需努力□
指导教师: 年月日
8253 的功能用途是:
(1)延时中断 (2)可编程频率发生器 (3)事件计数器 (4)二进倍频器 (5)实时时钟 (6)数字单稳 (7)复杂的电机控制器 8253 有六种工作方式: (1)方式 0:计数结束中断 (2)方式 1:可编程频率发生器 (3)方式 2:频率发生器 (4)方式 3:方波频率发生器 (5)方式 4:软件触发的选通信号
当 CPU 执行完一条指令时后,会检查一下 INTR 管脚是否有信号, 如果发现有信号,就会转到中断服务,此时,CPU 会立即向 8259A 芯 片的 INTA(中断应答)管脚发送一个信号。当芯片收到此信号后, 判优部件开始工作,它在 IRR 中,挑选优先级最高的中断,将中断请 求送到 ISR(中断服务寄存器),也即将 ISR 中代表此 IRQ 的位置位, 并将 IRR 中相应位置零,表明此中断正在接受 CPU 的处理。同时,将 它的编号写入中断向量寄存器 IVR 的低三位这时,CPU 还会送来第二 个 INTA 信号,当收到此信号后,芯片将 IVR 中的内容,也就是此中 断的中断号送上通向 CPU 的数据线。
图 2 8253 引脚图
(6)方式 5:硬件触发的选通信号
8253 引脚图如图 3.3 示,各引脚功能如下。
D7~D0——八条双向数据线;
WR(低电平有效)——写输入信号;
RD(低电平有效)——读输入信号;
CS(低电平有效)——片选输入信号;
A0、A1——片内寄存器地址输入信号;
CLK——计数输入,用于输入定时基准脉冲或计数脉冲;
7
0 0 0 0 1 1 1 07h
8Hale Waihona Puke Baidu
1 1 1 1 1 1 1 7fh
9
1 1 0 1 1 1 1 6fh
A
1 1 1 0 1 1 1 77h
B
1 1 1 1 1 0 0 7ch
C
0 1 1 1 0 0 1 39h
D
1 0 1 1 1 1 0 5eh
E
1 1 1 1 0 0 1 79h
F
1 1 1 0 0 0 1 71h
一、 设计题目:
LED 七段数码管数字时钟
二、 设计目的:
1.设计并完成 LED 七段数码管数字钟电路。 2.数字钟显示格式为:HH:MM:SS。 3.具有通过键盘能够调整时、分、秒的功能。 4.设计电路并在实验台上连接线路。
三、 设计原理及方案:
1. 设计原理 [1] 七段数码管显
图 1. 七段数码管
河北科技大学
《接口技术》课程设计报告
学生姓名: 学 号: 专业班级: 计算机科学与技术 132 班 课程名称: LED 七段数码管数字时钟 学年学期:
指导教师: 2 016 年 6 月
学生姓名 专业班级
课程设计成绩评定表
学号
成绩
起止时间
设计题目 LED 七段数码管数字时钟
课程设计小组验收结果:
硬件设计:优秀□ 良好□ 中等□ 及格□ 需努力□
目录
一、设计题目…………………………………………………………………………1 二、设计目的…………………………………………………………………………1 三、设计原理及方案
1、设计原理………………………………………………………………1 [1]七段数码管显示……………………………………………1 [2]键盘扫描显示………………………………………………2 [3] 8253 芯片的内部结构及引脚…………………………… 3 [4]可编程并行接口 8255A……………………………………4 [5]可编程中断控制器 8259A …………………………………5
七段数码管的字型代码表如下表:
显示字形 g f e d c b a 段码
0
0 1 1 1 1 1 1 3fh
1
0 0 0 0 1 1 0 06h
2
1 0 1 1 0 1 1 5bh
3
1 0 0 1 1 1 1 4fh
4
1 1 0 0 1 1 0 66h
5
1 1 0 1 1 0 1 6dh
6
1 1 1 1 1 0 1 7dh
通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按 下后,要有一定的时延,防止键盘抖动。
[3] 8253 芯片的内部结构及引脚
8253 可编程定时/计数器是 Intel 公司生产的通用外围芯片之一, 有 3 个独立的十六位计数器,技术频率范围为 0~2MHZ,它所有的技 术方式和操作方式都通过编程控制。
在默认情况下,IRQ0 的优先级最高,IRQ7 最低。当然我们可以更 改这个设定,这样在下面有详细描述。
当芯片把中断号送上通往 CPU 的数据线后,就会检测 ICW4 中的 EOI 是否被置位。如果 EOI 被置位表示需要自动清除中断请求信号, 则芯片会自动将 ISR 中的相应位清零。如果 EOI 没有被置位,则需要 中断处理程序向芯片发送 EOI 消息,芯片收到 EOI 消息后才会将 ISR 中的相应位清零。
OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;
GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以
使计数器和计测对象同步。
8253 端口地址
表 2 8253 端口地址表
信号线 IOY2
寄存器 0#计数器 1#计数器 2#计数器 控制寄存器
编址 40H 41H 42H 43H
如果 EOI 被设为自动的,那么 ISR 中的位总是被清零的(在 EOI 被置位的情况下,8259A 只要向 CPU 发送了中断号就会将 ISR 中的相 应位清零),也就是如果有中断来,芯片就会马上再向 CPU 发出中断 请求,即使 CPU 正在处理 IRQ0 的中断,CPU 并不知道谁的优先级高, 它只会简单的响应 8259A 送来的中断,因此,这种情况下低优先级的 中断就可能会中断高优先级的中断服务程序。所以在 PC 中,我们总 是将 EOI 位清零,而在中断服务程序结束的时候才发送 EOI 消息。
调用显示子程序
3、定时中断服务子程序框图如下:
4、中断处理过程: ❖ 中断请求 ❖ 中断判优 ❖ 中断响应 ❖ 中断处理 ❖ 中断返回
图示如下:
中断请求 中断判优
中断响应
中断处理 中断返回
中断源提出中断请求
判优逻辑进行优先排队
CPU执行完当前指令
中断请求信号有效? 是
CPU允许中断否? 是
CPU关闭中断 保护程序断点
找出中断源,形成中断服务程序 入口地址,并转向中断服务程序
保护现场 执行中断服务程序
[4]可编程并行接口 8255A
方式 0 (1)、方式 0 的工作特点
方式 0 也叫做基本输入/输出方式。在这种方式下,端口 A 和端 口 B 可以通过方式选择字规定为输入口或者输出口,端口 C 分别为 2 个 4 位端口,高 4 位为一个端口,低 4 位为一个端口。这两个 4 位端 口也可由方式选择字规定为输入口或输出口。 概括地说,方式 0 的基本特点如下: ①任何一个端口可作为输入口,也可作为输出口,各端口之间没有规 定必然的关系。 ②各个端口的输入或输出,可以有 16 种不同的组合,所以可以使用 于多种使用场合。 (1)、8255A 的方式控制字格式如下图:
相关文档
最新文档