微机原理及应用 电子琴课程设计_微机电子琴课程设计

2020-02-27 其他范文 下载本文

微机原理及应用 电子琴课程设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“微机电子琴课程设计”。

科技学院 微机原理及应用 课 程 设 计

设计名称: 设计模拟电子琴 模拟 指导老师: 指导老师:-----设计者姓名:-----专业班级:自动化 学 号:----------设计时间: 2012.6

摘 要:本文通过 8255 和 8253 来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。输入部分:主要是由 8255 和 8 个常开型开关来完成。发音部分:CUP 通过对定时器 8253 的通道 2 进行编程,使其 I/O 寄存器接收一 个控制声音频率的 16 位计数值,端口 61H 的最低位控制通道 2 门控的开断,以 产生特殊的音响。本文用到的是 8253 的方式 3——方波发生器。关键词: 关键词:8253 定时器;8255;电子琴

1.引言

引言 :8253 芯片是常用的可编程计数器,在微机中有着极其重要的作用。常用于事件计数器,单稳态触发器,分频器,方波发生器,硬件触发的单脉冲发生器 等。计数器/定时器 8253 包括 3 个独立的 16 位计数器通道,而每个计数器都有 6 种工作方式,可以按二进制或十进制(BCD 码)进行计数。本文用到的是 8253 的方式 3——方波发生器来实现了简易电子琴的设计。

2.1 8253 简介

8253 为可编程定时/计数器,一片 8253 上有 3 个独立的 16 位计数器通道,可以作为定时器或计数器使用,每个计数器都可设定为按照二进制或 BCD 码进行 计数,计数速率可达 2MHZ,每个计数器有 6 种工作方式,可编程设置和改变。

如下图为 8253 的内部结构图。在图中可以清楚地看到,8253 主要是由数据总线 缓冲存储器,读写控制电路,控制字寄存器和 3 个通道 4 部分所组成。

8253 内部结构【1】(如图 1 所示)及外部引脚【1】(如图 2 所示)

图 1:8253 内部结构图

图 2:8253 引脚图

8253 的控制字和编程【1】 如图 3 所示

图 3:8253 控制字 2.8253 的工作方式 3——方波发生器【1】

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

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

(2)写入控制字后,输出将变为高电平,当写入计数初值后,就开始计数,输 出仍为高电平; 当计数到初值的一半时,输出变为低电平,直至计数到 0,输出又变为高电平,重新开始计数。

(3)

若计数值为偶数,则输出对称方波;如果计数值为奇数,则前(N+1)/2 个 CLK 脉冲期间输出为高电平,后(N-1)/2 个 CLK 脉冲期间输出为低电 平。

(4)

GATE 信号能使计数过程重新开始,GATE=1 允许计数,GATE=0 禁止计数。停止后 OUT 将立即变高电平,当 GATE 再次变高以后,计数器将自动装入 计数初值,重新开始计数。

图 4:8253 工作方式 3 波形

3.8255 的简介【2】

8255 是一个 40 引脚的双列直插式集成电路芯片。按功能可把 8255 分为三 个逻辑电路部分,即:口电路、总线接口电路和控制逻辑电路。8255 共有三个 8 位口,其中 A 口和 B 口是单纯的数据口,供数据 I/O 使用。而 C 口则既可以作数 据口,又可以作控制口使用,用于实现 A 口和 B 口的控制功能。总线接口电路用 于实现 8255 和单片微机的信号连接。其中包括:数据总线缓冲器,读/写控制逻 辑,控制逻辑电路。

部的结

图 5:8255 结构图

8255A 的方式控制字如图 6 所示

图 6:8255A 的方式控制字

4.用 8235 和 8255 设计简易电子琴

设计任务与要求 以 K1-K8 接 8255 的 A 口做为电子琴的键盘分别输入静音、do、re、mi、fa、sol、la、si 的音,以 8255 的 B 口作为输出。用 8253 定时器产生频率 控制扬声器发生。1.以 8255 接八个开关 K1-K8,做电子琴按键输入。2.以 8253 控制扬声器,发出相应的音阶。要求: K1—静音 K2—发 si 的音 493Hz K3—发 la 的音 440Hz K4—发 sol 的音 392Hz K5—发 fa 的音 349Hz K6—发 mi 的音 329Hz K7—发 re 的音 293Hz K8—发 do 的音 261Hz

设计原理【3】:通过 8255 和 8253 来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。

输入部分:主要是由 8255 和 8 个常开型开关来完成。

发音部分:CUP 通过对定时器的通道 2 进行编程,使其 I/O 寄存器接收一个 控制声音频率的 16 位计数值,端口 61H 的最低位控制通道 2 门控的开断,以产 生特殊的音响。当定时器接收的计数值为 533H 时,能产生 896Hz 的声音,因此产生其他频率的计数值就可由下式计算

计数值=533H*896/f=1234DCH/f

当通道 2 用于发声时,采用的是模式 3,在模式 3 下,输出线为“1”和为“0” 的时间各占计数时间的一半,因而产生一系列间隔均匀的脉冲。从定时器输出的方波信号,经功率放大和滤波后驱动扬声器。送到扬声器的信号 还受到了从并行接口芯片 8255(端口地址为 61H)来的双重控制,端口 61H 的最 低位控制通道 2 的门控开断,以产生特殊的音频信号,端口 61H 的 PB1 位和定时 器的输出信号同时作为与门的输入,PB0 和 PB1 位可由程序决定为 0 还是为 1。显然只有 PB0 和 PB1 都是 1 时,才能使扬声器发出声音。控制音长的时间可以简 单地通过反复执行指令来得到。执行 2801 次 LOOP 指令约需要 10MS 的时间。因 此用 10MS 的倍数值来控制扬声器开关的时间间隔,就可控制发声的音长了。(1)程序流程图(2)程序流

图 7:流程图

(2)程序清单

发音部分程序源代码如下

把计数值送 8253 前,必须先把 8253 进行初始化,使其选用通道 2,工作在 方式 3 下。MOV AL,0B6H

OUT 43H,AL

;43H 为 8253 的控制字端口

计算计数初值,计数值送到 8253,用以产生需要的发音频率利用定时器发 声。这里是通过硬件即 8253 定时器产生声音。CUP 通过对定时器的通道 2 进行 编程,使其 I/O 寄存器接收一个控制声音频率的 16 位计数值,端口 61H 的最低 位控制通道 2 门控的开断,以产生特殊的音响。当定时器接收的计数值为 533H 时,能产生 896Hz 的声音,因此产生其他频率的计数值就可由下式计算: 计数值=533H*896/f=1234DCH/f MOV DX,12H MOV AX,348CH

DIV DI

;(DI)=频率

OUT 42H,AL

;42H为8253的通道2端口 MOV AL,AH OUT 42H,AL

送到扬声器的信号还受到了从并行接口芯片 8255(端口地址为 61H)来的双 重控制,端口 61H 的最低位控制通道 2 的门控开断,以产生特殊的音频信号,端 口 61H 的 PB1 位和定时器的输出信号同时作为与门的输入,PB0 和 PB1 位可由程 序决定为 0 还是为 1。显然只有 PB0 和 PB1 都是 1 时,才能使扬声器发出声音。

IN AL,61H MOV AH,AL OR AL,3

OUT 61H,AL ;开扬声器 ;

控制音长的时间可以简单地通过反复执行指令来得到。我们知道执行 2801 次

LOOP 指令约需要 10MS 的时间。因此用 10MS 的倍数值来控制扬声器开关的时间 间隔,就可控制发声的音长了。LOOP1: MOV CX,2801

;发音时间 10ms JMP LOOP2 LOOP2: PUSH AX LOOP3: IN AL,61H AND AL,10H CMP AL,AH JE LOOP3 MOV AH,AL LOOP LOOP3 POP AX

DELAY: LOOP DELAY

;延时 DEC BX JNZ LOOP1 输出 61 端口的值

MOV AL,AH OUT 61H,AL

5.结论

结论:

达到题目要求内容,以 K1-K8 接 8255 的 A 口做为电子琴的键盘分别输入静 音、do、re、mi、fa、sol、la、si 的音,以 8255 的 B 口作为输出。用 8253 定 时器产生所需音阶频率控制扬声器发音。

《微机原理及应用 电子琴课程设计.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
微机原理及应用 电子琴课程设计
点击下载文档
相关专题 微机电子琴课程设计 电子琴 微机 课程设计 微机电子琴课程设计 电子琴 微机 课程设计
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文