中国矿业大学硬件课程设计_第1页
中国矿业大学硬件课程设计_第2页
中国矿业大学硬件课程设计_第3页
中国矿业大学硬件课程设计_第4页
中国矿业大学硬件课程设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、硬件课程设计电子琴硬件课程设计报告 设计题目: 硬件电子琴电路设计 设计时间: 2012-09 摘要本次硬件课程设计课程,是配合本学期微型计算机原理与接口技术的教学,也是要让我们能够更深入的认识接口芯片技术以及汇编编程,做到理论和实践相结合。在课程中,我们选择的设计项目是“可存储式电子琴”:一个简易的模拟电子琴。即在汇编语言环境下,编程让I/O口控制8253,利用键盘控制音阶,8253识别发声从而实现按下设定好的不同的键发出不同频率的声音。目录1、选题22、需求分析23、设计任务与要求24、总体方案与说明24.1总体方案24.2电路原理图与说明34.3功能模块图 44.4 实验原理 65、硬件

2、框图与说明 65.1. 8279芯片介绍65.28253芯片介绍96、软件功能107软件主要模块流程图137.1高中低音转换程序流程图138源程序清单与注释128.1高中低音转换程序139问题分析与解决方案 3110结论与体会 2211参考资料 241、选题本实验的课题是可存储式电子琴,这是一个很好的课题,实现这一课题的过程中充满趣味性,并且这一课题具有一定难度,实现起来就有挑战性。2、需求分析本次硬件课程设计实验的任务和要求是通过居于8279和8253芯片上的电路设计和电路连接并通过对它们进行编程实现一个电子琴的基本功能的小器件。该器件具有基本的弹奏功能(就是按下不同的键就会发出不同频率的声

3、音),并且当还能够实现高低音转换,最终能够使音准最好,最好是能够播放一段完整的音乐。3、设计任务与要求利用8279、8253芯片和键盘、喇叭、I/O设备设计硬件电子琴,具备如下功能:当按下琴键时,扬声器发出该琴键相对应的音阶,同时可以通过按键转换高中低音节,可以播放预存音乐。4、总体方案与说明4.1总体方案本次设计是基于Husy16/32位微机接口技术试验系统而进行功能实现与拓展。设计中用到了8279,8253,I/O输入等几种芯片。设计框图如下:键盘输入喇叭发声时钟控制图4.1.1设计框图方案利用8253进行周期性扫描8279是否有键按下,使用8279的按键实现电子琴音节按键、功能的切换。本

4、次设计功能分为:低中高音阶的音频转换(默认状态下是中音)以及播放预曲目两项。4.2电路原理图与说明图4.2.1实物连线图8253CS OUT0 CLK0 TATE08279CS Q0I/O输出 CS /cs CS音响 1M74LS138图4.2.2外部电路图4.2.3说明(1)各芯片及器件地址:8279的控制端地址为:20AH,数据端地址为:208H8253的控制端地址为:213H,数据端地址为:210HI/O输出的地址为:200H(2)按键说明:1dao音789A456B123C0FED2ruai音3mi音4fa音5sao音6la音7xi音A高音转换键B中音转换键C低音转换键D放音键图4.2

5、.3键盘图4.3功能模块图A低音B中音C高音延时高低音转换开始结束图4.3.1 功能模块图芯片初始化4.4 实验原理使用8279芯片的键盘控制器,通过查看码值表,读出分别按下不同的键时,应的键值(这里只给出当按下1-7和A、B、C、D键的寄存器值,如表4.2.1)。表4.4.1.按键1234567ABCD码值表键值02H0AH22H01H09H21H00H07H29H28H2BH当某一时刻按下一个键的时,可以通过和各键值比较来判断按下为哪一个键。又因为每个音阶都有一个确定的频率(如表4.2.2)表4.4.2音阶1234567高音频率(HZ)552587659700784880988中音频率(H

6、Z)262294330349392440494低音频率(HZ)131147165175196220247可以通过各音阶的对应频率值为8253赋初值,然后输出到音响设备,以产生相应音阶的发音。在发音过程中,可分别为8253的GATE0端通过I/O设备输入0和1来控制开始发音和停止发音。5、硬件框图与说明 5.1 8279芯片介绍 如图5.1.1所示为8279的引脚结构,8279有40个引脚。图5.1.1 8279引脚图 _ .-() o( )_- 8279是可编程的键盘、显示接口芯片。具有按键处理功能,又具有自动显示功能。8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64

7、BRAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。(1) 数据线DB0DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。(2) 地址线Cs=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。(3) 控制线CLK:8279的时钟输入线。IRQ:中断请求输入线,高电平有效。/RD,/WR:读、写输入控制线。SL0-SL3:扫描输出线,用来作为扫描键盘和显示的代码输出和直接输出线。RL0-RL7:回复输出线,是键盘或传感器的矩

8、阵信号输入线。SHIFT:来自外部键盘或传感器矩阵的输入信号,是8279的键盘数据的次高位的状态,控制键盘上下档功能。在传感器方式和选通方式中,该引脚无用。CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该 信号到上升沿时,把RL0-RL7的数据存入FIFO RAM中。OUTA0-OUTA3:通常作为显示信号的高4位输出线。OUTB-OUTB3:通常作为显示信号的低4位输出线。/BD:显示熄灭输出线,低电平有效。当/;BD=0时将全部熄灭。8279的工作方式:8279有三种工作方式:键盘方式、显示方式、传感器方式。(

9、1) 键盘工作方式:8279在键盘工作方式时,可设置为双键互锁方式和N键循环方式。双肩互锁方式:若有两个或者多个键同时按下时,不管按键先后顺序如何,只能识别最后一个人被释放的键,并把键值输入FIFO RAM中。N键循环方式:一次按下任意个键均可被识别,按键值按扫描次序被送入FIFO RAM中。(2) 显示方式:8279的显示方式又可分为左端入口和右端入口方式。显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的顺序,决定了显示的次序。左端入口方式即显示位置从显示器最左端1位(最高位)开始,优厚显示的字符逐个向右顺序排列;右端入口方式即显示位置从显示器最右端1位即最低位

10、开始,以显示的字符逐个向左移位。但无论左右入口,后输入的总是显示在最右端。(3) 传感器方式:传感器方式是把传感器的开关状态送入传感器RAM中。当CPU对传感器阵列扫描时,一旦发现传感器状态发生变化就发出中断请求(IRQ置1),中断响应后转入中断处理程序。8279的命令字及其格式:8279的各种工作方式都要通过对命令寄存器的设置来实现。8279共有8种命令,通过这些命令设置工作寄存器,来选择各种方式。命令寄存器共8种,格式为:表5.1.2:D7D6D5D4D3D2D1D0如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,有命令寄存器高3位D7-D5决定。D7-D5三位

11、的状态可组合出8种形式,对应8类命令。另一部分为命令的具体内容,由D4-D0决定。每种特征代表的命令如表图3所示:表5.1.3 8279命令特征表D7 D6 D5代表的命令类型 0 0 0键盘/显示命令0 0 1时钟编程命令0 1 0读FIFO/传感器RAM命令0 1 1读显示器RAM命令1 0 0写显示命令1 0 1显示禁止/熄灭命令1 1 0消除命令1 1 1结束中断/出错方式结束命令5.2 8253芯片介绍图5.2.1 8253芯片引脚图8253是可编程计数器/定时器,内部有三个计数器,分别为计数器0、计数器1和计数器2,一个时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端

12、OUT。每个计数器内部有一个8位的控制寄存器。8253的通道:8253有3个通道,分别为通道0、通道1和通道2。8253的工作方式:8253中各通道有6种工作方式,以完成定时、计数或脉冲发生器等多种功能。分别为方式0(技术结束则中断)、方式1(单脉冲发生器)、方式2(速率波发生器)、方式3(方波发生器)、方式4(软件触发方式计数)、方式5(硬件触发方式计数)8253的控制字:图5.2.2 8253控制字D7 D6 D5 D4 D3 D2 D1 D0SC1SC0RL1RL0M2M1M0BCD00 选择通道0 00 计数器锁存,供CPU读 000 方式0 1 BCD码计数01 选择通道0 01只读

13、/写计数器低字节 001方式1 0 二进制计数10 选择通道0 10只读/写计数器高字节 X10方式211 无效 11先读/写计数器低字节, X11方式3后读/写高字节 100方式4 101方式56、软件功能(1)存储预置音乐(2)播放预置音乐(3)键盘控制发声(4)高、中、低音转换7软件主要模块流程图7.1高中低音转换程序流程图8259初始化开始8253初始化置空寄存器有键按下? N是A?转入高音区YY是B?转入中音区 YN是C?转入低音区 YY是1? NN 是2? N Y是3? N Y Y是4? NY 是5? 是6? N Y是7? N 给8253赋对应初值 N Y 音响发音图7.1.1高低

14、音转换程序流程图延时8、源程序清单与注释8.1高中低音转换程序Z8279 EQU 20AHD8279 EQU 208HLEDMOD EQU 00H ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率ASSUME CS:CODE, DS:CODECODE SEGMENTSTART:MOV DX,Z8279 ;8279初始化 MOV AL, 00H OUT DX, AL MOV AL, 38H OUT DX,AL MOV DX, 213H ;8253初始化 MOV AL, 00110111B OUT DX, AL PUSH CS POP DSPD: MOV DX, 200

15、H MOV AL, 00H OUT DX, AL MOV AL, 00H MOV DX, Z8279MOV AL, 0C2HOUT DX, AL ;置空FIFO寄存器WAIIT: NOPIN AL, DXMOV BL, ALAND AL, 80HCMP AL, 80HJE WAIIT ;FIFO正在清除期间则跳转等待MOV AL, BLAND AL, 0FHCMP AL, 00HJE WAIIT ;无键按下则等待NOP ;查表,将键码放入AL中LEA BX, LEDXLATMOV DX, D8279 ;将AL中内容写到数码管上OUT DX, AL MOV AL, 00H MOV DX, D82

16、79 ;判断是哪个键 IN AL, DX ;判断是在哪一个音区 CMP AL, 28H JE D;中音区跳低音 CMP AL, 2AH JE GH ;中音区跳高音 M: CMP AL, 02H JE B1 CMP AL, 0AH JE B2 CMP AL, 22H JE B3 CMP AL, 01H JE B4 CMP AL,09H JE B5 CMP AL, 21H JE B6 CMP AL, 00H ;中音区 JE B7 B1: JMP S1B2: JMP S2B3: JMP S3B4: JMP S4B5: JMP S5B6: JMP S6B7: JMP S7 GH: JMP GD: MO

17、V DX, 200H MOV AL, 00H OUT DX, AL MOV AL, 00H MOV DX, Z8279MOV AL, 0C2HOUT DX, AL ;置空FIFO寄存器H: NOPIN AL, DXMOV BL, ALAND AL, 80HCMP AL, 80HJE H ;FIFO正在清除期间则跳转等待MOV AL, BLAND AL, 0FH CMP AL, 00HJE H ;无键按下则等待 NOP ;查表,将键码放入AL中LEA BX, LEDXLATMOV DX, D8279 ;将AL中内容写到数码管上OUT DX, ALMOV DX, 200H MOV AL, 01H

18、OUT DX, AL MOV AL, 00H MOV DX, D8279 ;判断是哪个键 IN AL, DX ;判断是在哪一个音区 CMP AL, 29H JE MM ;跳转到中音区 CMP AL,2AH JE GE ;跳转到高音区 CMP AL, 02H JE A1 CMP AL, 0AH JE A2 CMP AL, 22H JE A3 CMP AL, 01H JE A4 CMP AL, 09H JE A5 CMP AL, 21H JE A6 CMP AL, 00H JE A7 ;低音区 A1: JMP D1A2: JMP D2A3: JMP D3A4: JMP D4A5: JMP D5A6

19、: JMP D6A7: JMP D7 MM: JMP PD ;跳转到中音区GE: JMP G ;跳转到高音区 S1: MOV DX, 210H MOV AL, 17H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY JMP PDS2: MOV DX, 210H MOV AL, 01H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY JMP PDS3: MOV DX, 210H MOV AL, 30H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY JMP PDS4: M

20、OV DX, 210H MOV AL, 65H OUT DX, AL MOV AL, 28H OUT DX, AL CALL DELAY JMP PD S5: MOV DX, 210H MOV AL, 51H OUT DX, AL MOV AL, 25H OUT DX, AL CALL DELAY JMP PD S6: MOV DX, 210H MOV AL, 73H OUT DX, AL MOV AL, 22H OUT DX, AL CALL DELAY JMP PD S7: MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 20H OUT DX, AL

21、 CALL DELAY JMP PD D1: MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 76H OUT DX, AL CALL DELAY JMP D D2: MOV DX, 210H MOV AL, 02H OUT DX, AL MOV AL, 68H OUT DX, AL CALL DELAY JMP D D3: MOV DX, 210H MOV AL, 60H OUT DX, AL MOV AL, 60H OUT DX, AL CALL DELAY JMP D D4: MOV DX, 210H MOV AL, 30H OUT DX, AL M

22、OV AL, 57H OUT DX, AL CALL DELAY JMP D D5: MOV DX, 210H MOV AL, 02H OUT DX, AL MOV AL, 51H OUT DX, AL CALL DELAY JMP D D6: MOV DX, 210H MOV AL, 46H OUT DX, AL MOV AL, 45H OUT DX, AL CALL DELAY JMP D D7: MOV DX, 210H MOV AL, 48H OUT DX, AL MOV AL, 40H OUT DX, AL CALL DELAY JMP D G: MOV DX, 200H MOV A

23、L, 00H OUT DX, AL MOV DX, Z8279MOV AL, 0C2HOUT DX, AL ;置空FIFO寄存器Q: NOPIN AL, DXMOV BL, ALAND AL, 80HCMP AL, 80HJE Q ;FIFO正在清除期间则跳转等待MOV AL, BLAND AL, 0FHCMP AL, 00HJE Q ;无键按下则等待 NOP ;查表,将键码放入AL中LEA BX, LEDXLATMOV DX, D8279 ;将AL中内容写到数码管上OUT DX, AL MOV AL, 00H MOV DX, D8279 ;判断是哪个键 IN AL, DX CMP AL, 2

24、8H JE DE ;跳转到低音区 CMP AL, 29H JE ME CMP AL, 02H JE C1 CMP AL, 0AH JE C2 CMP AL, 22H JE C3 CMP AL, 01H JE C4 CMP AL,09H JE C5 CMP AL, 21H JE C6 CMP AL, 00H JE C7 C1: JMP G1C2: JMP G2C3: JMP G3C4: JMP G4C5: JMP G5C6: JMP G6C7: JMP G7 ;高音区DE: JMP D ME: JMP PD ;跳转到中音区 LED:DB 07H,66H,06H,3FH,00H,00H,00H,0

25、0H,7FH,6DH,5BH,71H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 6FH,7DH,4FH,79H,00H,00H,00H,00H,77H,7CH,39H,5EH,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H G1: MOV DX, 210H MOV AL, 09H OUT DX, AL MOV AL, 19H OUT DX, AL C

26、ALL DELAY JMP GG2: MOV DX, 210H MOV AL, 01H OUT DX, AL MOV AL, 17H OUT DX, AL CALL DELAY JMP G G3: MOV DX, 210H MOV AL, 15H OUT DX, AL MOV AL, 15H OUT DX, AL CALL DELAY JMP G G4: MOV DX, 210H MOV AL, 33H OUT DX, AL MOV AL, 14H OUT DX, AL CALL DELAY JMP G G5: MOV DX, 210H MOV AL, 76H OUT DX, AL MOV A

27、L, 12H OUT DX, AL CALL DELAY JMP G G6: MOV DX, 210H MOV AL, 37H OUT DX, AL MOV AL, 11H OUT DX, AL CALL DELAY JMP G G7: MOV DX, 210H MOV AL, 12H OUT DX, AL MOV AL, 10H OUT DX, AL CALL DELAY JMP G GOON PROC NEAR MOV DX, 200H MOV AL, 00H OUT DX, ALGOON ENDP DELAY PROC NEAR MOV DX, 200H MOV AL, 01H OUT DX, AL PUSH CXMOV CX, 60000DLOOP $MOV DX, 200H MOV AL, 00H OUT DX, ALPO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论