电子琴课程设计

上传人:kms****20 文档编号:51384633 上传时间:2018-08-13 格式:PPT 页数:70 大小:503.50KB
返回 下载 相关 举报
电子琴课程设计_第1页
第1页 / 共70页
电子琴课程设计_第2页
第2页 / 共70页
电子琴课程设计_第3页
第3页 / 共70页
电子琴课程设计_第4页
第4页 / 共70页
电子琴课程设计_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《电子琴课程设计》由会员分享,可在线阅读,更多相关《电子琴课程设计(70页珍藏版)》请在金锄头文库上搜索。

1、课程设计题目:基于PC机的电子琴设计 目的:1.掌握PC机扬声器发声原理2.掌握PC机键盘工作原理3.掌握中断技术4.掌握8253,8255,8259等芯片在 PC机使用。5.加强汇编语言编程能力,中断程 序编写方法 要求:当按下PC机键盘数字键1-8时,发 低音1,2,3,4,5,6,7,i八个音调。当按下 Q,W,E,R,T,Y,U,I时发中音1,2,3,4,5,6,7,i八 个音调 ,当按下A,S,D,F,G,H,J时发高音 1,2,3,4,5,6,7,i八个音调。按键由中断的方 式直接从并行口8255读取, 由软件实现转 化,从而确定键值,根据键值使8253发不 同频率的音,完成电子琴

2、设计。PC机中硬件介绍可编程的定时/计数器 内部有3个16位功能相同独立计数器通道 每个计数器可工作在6种方式 计数频率8253(2MHZ),8254(5MHZ )一、8253在PC/XT机中的应用GATE0 GATE1 GATE2CLK0 CLK1 CLK2OUT0OUT1OUT2D7D0D CQSCLRDCQ+5VQ+5VDRQ08237-5IRQ0 8259T/C2 OUT扬声器接口RD WR CS A1 A0 D7D0PCLK 2.38636MHzRESETDRVA1 A0IOR IOW T/C CSPB0 8255- 5DACK0 BRD8253PC机中8253的地址 为40H43H

3、通道0:用来做系统一般定时器用,其门控 信号接至高电平,使得计数器0一直工作。 通道0的输出接至系统中断控制器8259的 IRQ0输入,BIOS设定为方式3方波产生器, 初值栽入为0,因此正常情况下每秒产生 18.2的中断,BIOS即利用此周期性的中断来 维持电脑的时间计数通道1:用来做系统存储器刷新,门控信号输入 接高电平,计数器工作一直有效,PC的BIOS在 启动时设定此通道工作于方式2做比率产生器 用,计数器每15US产生一次存储器刷新信号, 此通道的计数器不允许被使用者加以利用通道2:用做喇叭驱动,门控输入可以由输出口 (I/O地址61H)的位0加以控制启动或关闭。若 启动,设定为工作

4、方式3做方波产生器可以持续 地由此通道送出固定频率的方波信号至喇叭,驱 动喇叭发出声音8253的初始化编程步骤: *写入控制字 *写入计数初值定时时间=时钟脉冲周期*预置计数初值N写控制字写计数值低8位写计数值高8位*非必须控制字寄存器:是一种只写寄存器,由CPU向它 写入控制字,规定各计数器通道工作方式,读写 格式、计数进制。SC1 SC0 RL1 RL0 M2 M1 M0 BCD 1 BCD码计数 0 2进制计数 000 方式0 001 方式1 X10 方式2 X11 方式3 100 方式4 101 方式500 通道0 01 通道1 10 通道2 00 计数器锁存,供CPU读取 01 只读

5、/写计数器低字节 10 只读/写计数器高字节 11 先读/写低字节, 再读/写高字节MOV AL,10110110B ; 8253计数器2方式3OUT 43H,AL MOV BX,FRED ;所要分频技术值MOV AL,BL ;先写低字节OUT 42H,ALMOV AL,BH ;再写高字节OUT 42H,AL二、PC微机键盘及接口 1、PC微机键盘特点 PC微机常用的键盘有101键的增强型键盘和102键的 扩展键盘。不论键数的多少均具有如下特点: 键盘由单片机、译码器和16行X 8列的键开关矩阵 三大部分组成。 按键采用电容开关,即按键时的上下动作使电容 量发生变化,从而实现开关接通或断开的目

6、的。它是一种由单片机扫描、编码的智能化键盘。但 是,它不能直接提供与键功能对应的键值或键码, 必须由主机在键处理程序中将键盘提供的扫描码 转换为 反映键功能的ASCII码。它是一个与主机箱分开的独立部件,通过一根五 芯电缆与主机相连接。2.PC微机键盘的功能 串行接受键盘送来的扫描码,完成串并转换 后保存 收妥一个键盘扫描码后,立即产生一个中断 请求信号 保存的扫描码可供CPU读取,并通过软件进 行相应转换处理 接受CPU的命令,输出到键盘,并接受键盘 回送的响应信号SE DS S/P D0 D1 OE CLRCLK GD CLR RD CLR RQPCLK RESETCLK DATA RES

7、ET GND +5VPB7PB6D CLK CLR PRQQQ1+5VIRQ1OA OBOHOHPA7 PA6PA0+5V微机键盘接口电路LS332LS 332 串并转换电路 D1 串行输入,和接口中DATA连接 OAOH 并行输出,和8255的PA0PA7连接,供 CPU读取 OH是中断源,通过中断请求触发器连8259的 IRQ1,作为向CPU提出申请的中断源 PB7 允许读取扫描码(为0),清除中断请求信号 (高到低跳变) PB6 为1该接口电路能工作接口中的CLK经过两级同步和LS322的CLK相连。工作原理: 当PB7和IRQ1为0时,LS322接受串行数 据(DATA),实现串并转换

8、。 收到8位扫描码,LS322的OH为1,使得 IRQ1有效,向CPU提出中断申请,同时 中断请求触发器的Q端输出0,使DI 为0 ,通知接口暂时不送扫描码。 CPU接受到中断请求信号,通过8255的 A口读取数据,并使PB7产生1到0跳变, 清除LS322和中断请求触发器。3.PC机键值的获取按下一个键时,开关接通,该芯片就产生一 个扫描码(通码), 该扫描码说明了按下的键在 键盘上的位置松开按下的键时,也产生一个扫描码(断码 ),该扫描码说明了松开的键在键盘上的位置。扫描码长度为一个字节(16位),通码的第 7位为0,断码的地7位为1。 即:断码通码80h(80h相当于二进制1000 00

9、00)三、PC机中的82551.8255有3个8位并行口2. 方式0:基本I/O方式1:选通I/O方式2:双向I/O8255PA口 PB6 PB7键盘PB0 PB1扬声器8255在PC机中的地址为60H63H8255的控制字 1. 方式选择控制字 2. 置位/复位控制字 方式选择控制字D7 D6 D5 D4 D3 D2 D1 D0C口低4位I/O1=输入 0=输出B口I/O1=输入 0=输出B口方式0=方式0 1=方式1C口高4位I/O1=输入 0=输出A口I/O1=输入 0=输出A口 方式00=方式001=方式11X=方式2D7=1 标志位 置位/复位控制字D7 D6 D5 D4 D3 D2

10、 D1 D0 1 置位 0 复位 000 选中PC0 001 选中PC1111 选中PC7位选择任意值D7=0 标志位 8255初始化MOV AL,99H;模式0,A口、C口输入OUT 63H,AL ;B口输出MOV AL,80H ;PB7=1OUT 61H,ALMOV AL,40H ;PB7=0,PB6=1OUT 61H,AL启动扬声器工作IN AL,61H ;读PB口当前状态OR AL,03H ;使PB1、PB0均为1OUT 61H,AL ;使扬声器发声(开始发音)当然扬声器发声还要控制8253芯片IN AL,61H ;读PB口当前状态AND AL,0FCH ;使PB1、PB0均为0OUT

11、 61H,AL ;8253计数器2,扬声器停止工作停止扬声器工作四、PC机中8259优先级排队管理优先级排队管理 接受和扩充外部设备的中断请求接受和扩充外部设备的中断请求 提供中断类型号提供中断类型号 进行中断请求的屏蔽和开放进行中断请求的屏蔽和开放PC机中有2块中断管理芯片:主片、从片T/C0计时中断 键盘控制器中断 级联中断 串行口2 串行口1 并行口2 软盘控制器 并行口108 09 0A 0B 0C 0D 0E 0FIR0 IR1 IR2 IR3 IR4 IR5 IR6 IR770 71 72 73 74 75 76 77 INTAINTAINTAINTAINTINTINTRINTR主

12、片主片从片从片口地址:口地址: 20H 21H20H 21H口地址:口地址: A0H A1HA0H A1H双片IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7SP/ENSP/EN+5VGND共15级向量中断,采用两片级连,故CAS2CAS0 作互连线,从片的INT直接连到主片的IR2上。 端口地址,主片在020H03F范围内,实际使用 020H和021H。从片在0A00BFH范围,实际使用 0A0H,0A1H两个端口。 主、从片的中断请求信号均采用边沿触发。 采用完全嵌套方式,优先级的排列次序为0级最高, 依次为1级,

13、8-15级,然后是3-7级。 采用非缓冲方式,主片的SPEN端接+5V,从片SP EN端接地。 设定0级-7级对应主片的中断号为8HOFH,8级 15级对应从片的中断号为70H77H。五、 8259A的编程方法1.如何对8259进行初始化?8259的命令字分为初始化命令字和操 作方式命令字两种 (1)4个初始化命令字ICW1、ICW2、 ICW3和ICW4 (2)3个操作方式命令字OCW1、OCW2 和OCW3对8259的初始化是通过CPU对8259A 送控制命令字实现的。对于只占两个 I/O地址的8259A,CPU对8259A各寄存 器的读写是I/O地址和数据配合完成的ICW1ICW2级联方

14、式ICW3需要ICW4ICW4N SNGL=1 Y(SNGL=0)Y(IC4=1)N (IC4=0)注意:初始化命令字只发一次, 操作命令字可以重置,以动 态改变8259A的操作与控制方式2、PC机对主片8259A各寄存器的选定:(PC机上的8259A的 I/O地址为20H和21H) (1)对于4个初始化命令字的选定: ICW1:0020H A0=0,D4=1 ICW2:0021H A0=1 ICW3:0021H A0=1,ICW1中SNGL(D1)位=0 ICW4:0021H A0=1,ICW1中IC4(D0)位=1 按照ICW1-ICW4的顺序写入 (2)对于操作方式命令字的选定 OCW1:0021H A0=1 OCW2:0020H A0=0,D3D4=0 0 OCW3:0020H A0=0,D3D4=1 03、初始化命令字初始化命令字ICW1写入后,8259A内部完成初始化过程: A、使8259A对中断请求信号边沿检测电路复位,以使它在 中断请求信号由低变高时,才能产生中断。 B、清除中断屏蔽寄存器,设置中断优先级排队。ICW1IC4SNGL00*1LTIM*A0D7 D6 D5 D4 D3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号