硬件课程设计报告 - 电子琴 - 图文 下载本文

中国矿业大学计算机学院信息安全10-4班硬件课程设计——电子琴

开始 8259初始化 8253初始化 置空寄存器 N 有键按下? Y 转入高音区 是A Y Y 是B 转入中音区 N 是1 Y N Y 是2 N Y 是3 N 是4 N Y Y 是5 N Y 是6 N N Y 是7 给8253赋对应初值 音响发音 延时 - 9 - 中国矿业大学计算机学院信息安全10-4班硬件课程设计——电子琴

预置音乐程序流程图:

开始 8259初始化 8253初始化 置空寄存器 N 有键按下? N 是D? Y 是A? 是B? 是C? 高音 中音 低音 给8253赋对应初值 音响发音 延时

2.4可编程计数器/定时器8253

- 10 -

中国矿业大学计算机学院信息安全10-4班硬件课程设计——电子琴

2.4.1 8253内部结构和引脚

8253的内部结构

从上图可见,8253内部包含数据总线缓冲器、读/写控制逻辑、控制字寄存器和3个结构完全相同的计数器,这3个计数器分别称为计数器0、计数器1和计数器2。

8253的引脚

A1、A0:地址输入线,用来址8253内部的4个端口,即3个计数器和1个

控制字寄存器与CPU系统地址线相连。

CLK0-2:时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。CLK可以是

- 11 -

中国矿业大学计算机学院信息安全10-4班硬件课程设计——电子琴

系统的时钟脉冲,也可以由系统时钟分频或者其他脉冲源提供。当用于定时时,这个脉冲必须是均匀的、连续的、周期精确的,而用于计数时,这个脉冲可以是不均匀的、断续的、周期不定的。

GATE0-3:门控输入端,用于外部控制计数器的启动计数和停止计数的操作。

两个或两个以上计数器连用时,可用此信号同步,也可用于与外部某信号的同步。

OUT0-2:计数输出,当计数器从初值开始完成计数操作进,OUT引脚输出相

应的信号。

2.4.2 8253方式控制字格式

D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD 00计数器锁存操作 01只读/写LSB 10只读/写MSB 11读/写LSB、MSB 00 选择计数器0 01 选择计数器1 10 选择计数器2 11 无效 0 二进制数 1 BCD 000模式0 001模式1 x10模式2 x11模式3 100模式4 101模式5

图2-3 8253的方式控制字

2.4.3 8253的工作方式3——方波发生器

方式3的波形如下图所示,它的特点是:

(1) 输出为周期性的方波。若计数值为N,则输出方波的周期是N个CLK脉冲

的宽度。

(2) 写入控制字后,输出将变为高电平,当写入计数初值后,就开始计数,输

出仍为高电平;当计数到初值的一半时,输出变为低电平,直至计数到0,

- 12 -