版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、硬件课程设计题目:可存储式电子琴 班级:网络工程10-2班姓名:孙其法,罗平学号:08103629,08103625指导教师: 王凯目录1、设计任务与要求22、总体方案与说明23、硬件框图与说明44、电路原理图与说明85、软件功能流程图86、源程序清单及注释107、问题分析及解决方案308、结论与体会319、参考资料311、设计任务与要求:利用8279、8253芯片和键盘、喇叭等器件设计硬件电子琴,具备如下功能:当按下琴键时,扬声器发出该琴键相对应的音阶,同时可以通过按键转换高中低音节,可以播放预存音乐。2、总体方案与说明:(1)、音阶的1-7音利用8253芯片控制时钟频率来实现,并用8253
2、芯片进行周期性的扫描是否有键按下,进而实现发音的功能。(2)、本次设计有两种功能:高中低音的转换(默认状态为中音)和播放预制的曲目。(3)、本次设计中用到了8253,8279,I/O输入等芯片。(4)、各个芯片地址:8279的控制端地址为:20AH,数据端地址为:208H。8253的控制端地址为:213H,数据端地址为:210H。I/O输出的地址为:200H。(5)、按键说明:1-do音2-re音3-mi音4-fa音5-sol音6-la音7-si音A-高音转换键B-中音转换键C-低音转换键D-放音键(6)、功能模块图:开始功能选择低音中音高音播放音乐低音子程序中音子程序高音子程序播放音乐子程序
3、结束(7)按键及对应的寄存器键值:按键1234567ABCD寄存器键值02H0AH22H01H09H21H00H07H29H28H2BH(8)音阶及对应的频率:音阶1234567高音频率(HZ)552587659700784880988中音频率(HZ)262294330349392440494低音频率(HZ)1311471651751962202473、硬件框图与说明:3.1 8279芯片介绍:8279引脚图;8279是可编程的键盘、显示接口芯片。具有按键处理功能,又具有自动显示功能。8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64BRAM,键盘控制部分可控制8*8=
4、64个按键或8*8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。(1) 数据线DB0DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。(2) 地址线Cs=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。(3) 控制线CLK:8279的时钟输入线。IRQ:中断请求输入线,高电平有效。/RD,/WR:读、写输入控制线。SL0-SL3:扫描输出线,用来作为扫描键盘和显示的代码输出和直接输出线。RL0-RL7
5、:回复输出线,是键盘或传感器的矩阵信号输入线。SHIFT:来自外部键盘或传感器矩阵的输入信号,是8279的键盘数据的次高位的状态,控制键盘上下档功能。在传感器方式和选通方式中,该引脚无用。CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该信号到上升沿时,把RL0-RL7的数据存入FIFO RAM中。OUTA0-OUTA3:通常作为显示信号的高4位输出线。OUTB-OUTB3:通常作为显示信号的低4位输出线。/BD:显示熄灭输出线,低电平有效。当/;BD=0时将全部熄灭。8279的工作方式:8279有三种工作方式:键盘
6、方式、显示方式、传感器方式。(1) 键盘工作方式:8279在键盘工作方式时,可设置为双键互锁方式和N键循环方式。双肩互锁方式:若有两个或者多个键同时按下时,不管按键先后顺序如何,只能识别最后一个人被释放的键,并把键值输入FIFO RAM中。N键循环方式:一次按下任意个键均可被识别,按键值按扫描次序被送入FIFO RAM中。(2) 显示方式:8279的显示方式又可分为左端入口和右端入口方式。显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的顺序,决定了显示的次序。左端入口方式即显示位置从显示器最左端1位(最高位)开始,优厚显示的字符逐个向右顺序排列;右端入口方式即显示
7、位置从显示器最右端1位即最低位开始,以显示的字符逐个向左移位。但无论左右入口,后输入的总是显示在最右端。(3) 传感器方式:传感器方式是把传感器的开关状态送入传感器RAM中。当CPU对传感器阵列扫描时,一旦发现传感器状态发生变化就发出中断请求(IRQ置1),中断响应后转入中断处理程序。8279的命令字及其格式:8279的各种工作方式都要通过对命令寄存器的设置来实现。8279共有8种命令,通过这些命令设置工作寄存器,来选择各种方式。命令寄存器共8种,格式为:表:D7D6D5D4D3D2D1D0如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,有命令寄存器高3位D7-D5
8、决定。D7-D5三位的状态可组合出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结束中断/出错方式结束命令3.2 8253芯片介绍:8253芯片引脚图8253是可编程计数器/定时器,内部有三个计数器,分别为计数器0、计数器1和计数器2,一个时钟输入端CLK,一个为门控信号输入端GATE,另一个
9、为输出端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
10、01只读/写计数器低字节 001方式1 0 二进制计数10 选择通道0 10只读/写计数器高字节 X10方式211 无效 11先读/写计数器低字节, X11方式3后读/写高字节 100方式4 101方式54、电路原理图与说明:1M Hz的频率接CLK0,I/O输出的Q0接GATE0,8253的OUT0端接音响。I/O输出芯片的地址为200H,8279的地址为210H,8253的地址为210H。5、软件功能流程图:开始8259初始化8253初始化置空寄存器有键按下? N是A?转入高音区YY是B?转入中音区YN转入低音区是C?Y是1?N Y是2? N YNY是3?是4? NY是5?Y是6? N Y
11、是7? N 给8253赋对应初值NY 音响发音延时8259初始化开始8253初始化置空寄存器有键按下? N Y是D? N给8253赋对应初值Y音响发音延时6、源程序清单及注释:6.1 高中低音转换程序:Z8279 EQU 20AHD8279 EQU 208HLEDMOD EQU 00H ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率ASSUME CS:CODE, DS:CODECODE SEGMENTSTART:MOV DX,Z8279 ;8279初始化MOV AL, 00HOUT DX, ALMOV AL, 38HOUT DX,AL MOV DX, 213H ;
12、8253初始化 MOV AL, 00110111B OUT DX, ALPUSH CSPOP DSMOV DX, Z8279MOV AL, LEDMODOUT DX, ALMOV AL, LEDFEQOUT DX, ALMOV DX, D8279MOV AL, 7FHOUT DX, ALMOV DX, D8279 MOV AL, 7FHOUT DX, ALMOV DX, D8279 MOV AL, 7DHOUT DX, ALMOV DX, D8279 MOV AL, 7FHOUT DX, ALMOV DX, D8279 MOV AL, 70HOUT DX, ALMOV DX, D8279 MO
13、V AL, 5bHOUT DX, ALMOV DX, D8279MOV AL, 70HOUT DX,AL MOV DX,D8279MOV AL,76HOUT DX,AL ;以上为写(AEDK8688)NOPPD: MOV DX, 200H MOV AL, 00H OUT DX, AL MOV AL, 00H MOV DX, Z8279 MOV AL, 0C2H OUT DX, AL ;置空FIFO寄存器 WAIIT: NOP IN AL, DX MOV BL, AL AND AL, 80H CMP AL, 80H JE WAIIT ;FIFO正在清除期间则跳转等待 MOV AL, BL AND
14、 AL, 0FH CMP AL, 00H JE WAIIT ;无键按下则等待 NOP ;查表,将键码放入AL中 LEA BX, LED XLAT MOV DX, D8279 ;将AL中内容写到数码管上 OUT DX, AL MOV AL, 00H MOV DX, D8279 ;判断是哪个键 IN AL, DX ;判断是在哪一个音区 CMP AL, 28H JE D;中音区跳低音 CMP AL, 07H 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,0
15、9H JE B5 CMP AL, 21H JE B6 CMP AL, 00H ;中音区 JE B7 B1: JMP S1 B2: JMP S2 B3: JMP S3 B4: JMP S4 B5: JMP S5 B6: JMP S6 B7: JMP S7 GH: JMP GD: MOV 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正在清除期间则跳转等
16、待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 OUT DX, AL MOV AL, 00H MOV DX, D8279 ;判断是哪个键 IN AL, DX ;判断是在哪一个音区 CMP AL, 29H JE MM ;跳转到中音区 CMP AL,07H JE GE ;跳转到高音区 CMP AL, 02H JE A1 CMP AL, 0AH JE A2 CMP AL
17、, 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 D1 A2: JMP D2 A3: JMP D3 A4: JMP D4 A5: JMP D5 A6: JMP D6 A7: JMP D7 MM: JMP PD ;跳转到中音区GE: JMP G ;跳转到高音区S1: MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY JMP PDS2: MOV DX, 210H MOV
18、 AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY JMP PDS3: MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY JMP PDS4: MOV DX, 210H MOV AL, 65H OUT DX, AL MOV AL, 28H OUT DX, AL CALL DELAY JMP PDS5: MOV DX, 210H MOV AL, 51H OUT DX, AL MOV AL, 25H OUT DX, AL CALL DELAY JMP PD
19、S6: MOV DX, 210H MOV AL, 72H 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 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, 03H OUT DX, AL MOV AL, 68H OUT DX
20、, AL CALL DELAY JMP D D3: MOV DX, 210H MOV AL, 61H OUT DX, AL MOV AL, 60H OUT DX, AL CALL DELAY JMP D D4: MOV DX, 210H MOV AL, 14H OUT DX, AL MOV 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, A
21、L MOV AL, 45H OUT DX, AL CALL DELAY JMP D D7: MOV DX, 210H MOV AL, 49H OUT DX, AL MOV AL, 40H OUT DX, AL CALL DELAY JMP D G: MOV DX, 200H MOV AL, 00H OUT DX, AL MOV DX, Z8279 MOV AL, 0C2H OUT DX, AL ;置空FIFO寄存器Q: NOP IN AL, DX MOV BL, AL AND AL, 80H CMP AL, 80H JE Q ;FIFO正在清除期间则跳转等待 MOV AL, BL AND AL
22、, 0FH CMP AL, 00H JE Q ;无键按下则等待 NOP ;查表,将键码放入AL中 LEA BX, LED XLAT MOV DX, D8279 ;将AL中内容写到数码管上 OUT DX, AL MOV AL, 00H MOV DX, D8279 ;判断是哪个键 IN AL, DX CMP AL, 28H 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
23、CMP AL, 00H JE C7 C1: JMP G1 C2: JMP G2 C3: JMP G3 C4: JMP G4 C5: JMP G5 C6: JMP G6 C7: JMP G7 ;高音区 DE: JMP D ME: JMP PD ;跳转到中音区 LED DB 07H,66H,06H,3FH,7FH,6DH,5BH,71H,7FH,6DH,5BH,71H, 6FH,6FH,6FH,5EH DB 07H,66H,06H,3FH,7FH,6DH,77H,7CH,7FH,6DH,77H,7CH, 6FH,6FH,6FH,6FH,7DH,4FH,79H DB 06H,3FH,7FH,77H,
24、7CH,39H,5EHG1: MOV DX, 210H MOV AL, 88H OUT DX, AL MOV AL, 18H OUT DX, AL CALL DELAY JMP GG2: MOV DX, 210H MOV AL, 04H OUT DX, AL MOV AL, 17H OUT DX, AL CALL DELAY JMP GG3: MOV DX, 210H MOV AL, 17H OUT DX, AL MOV AL, 15H OUT DX, AL CALL DELAY JMP G G4: MOV DX, 210H MOV AL, 29H OUT DX, AL MOV AL, 14H
25、 OUT DX, AL CALL DELAY JMP G G5: MOV DX, 210H MOV AL, 76H OUT DX, AL MOV AL, 12H OUT DX, AL CALL DELAY JMP G G6: MOV DX, 210H MOV AL, 36H 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
26、 AL, 00H OUT DX, ALGOON ENDPDELAY PROC NEAR MOV DX, 200H MOV AL, 01HOUT DX, AL PUSH CXMOV CX, 60000DLOOP $MOV DX, 200H MOV AL, 00H OUT DX, ALPOP CXRETDELAY ENDPCODE ENDS END START6.2预存音乐程序:欢乐颂Z8279 EQU 20AHD8279 EQU 208HLEDMOD EQU 00H ;左边输入,八位显示外部译码八位显示LEDFEQ EQU 38H ;扫描频率CODE SEGMENTASSUME CS: CODE
27、START: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, ALPD: MOV DX, 200H MOV AL, 00H OUT DX, AL MOV AL, 00H MOV DX, Z8279 MOV AL, 0C2H OUT DX, AL ;置空FIFO寄存器WAIIT: NOP IN AL, DX MOV BL, AL AND AL, 80H CMP AL, 80H JE WAIIT ;FIFO正在清除期
28、间则跳转等待 MOV AL, BL AND AL, 0FH CMP AL, 00H JE WAIIT ;无键按下则等待 MOV AL, 00H MOV DX, D8279 ;判断是哪个键 CMP AL, 2BH JE MUMU: JMP MUSICMUSIC: WW1: MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 6
29、5H OUT DX, AL MOV AL, 28H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 51H OUT DX, AL MOV AL, 25H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 51H OUT DX, AL MOV AL, 25H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 65H OUT DX, AL MOV AL, 28H OUT DX, AL CALL DELAY2 mOV DX, 210H MOV AL, 34H OUT DX, AL MO
30、V AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY2 MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY2 MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX
31、, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY3 MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY4
32、;3345 5432 1123 322-WW2:MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 65H OUT DX, AL MOV AL, 28H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 51H OUT DX, AL MOV AL, 25H OUT DX, AL CALL
33、 DELAY2 MOV DX, 210H MOV AL, 51H OUT DX, AL MOV AL, 25H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 65H OUT DX, AL MOV AL, 28H OUT DX, AL CALL DELAY2 mOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY2 MOV DX,
34、210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY2 MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY2 MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 07H
35、 OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY3 MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY4 ;简谱3345 5432 1123 211-WW3:MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY2 MOV DX, 210H MO
36、V AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY2 MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX
37、, AL MOV AL, 30H OUT DX, AL CALL DELAY3 MOV DX, 210H MOV AL, 65H OUT DX, AL MOV AL, 28H OUT DX, AL CALL DELAY3 MOV DX, 210H MOV AL, 34H OUT DX, AL MOV AL, 30H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 24H OUT DX, AL MOV AL, 38H OUT DX ,AL CALL DELAY2 MOV DX, 210H MOV AL, 07H OUT DX, AL MOV AL, 34H OUT DX, AL CALL DELAY2 MOV DX, 210H MOV AL, 34H OUT DX, AL M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病酮症酸中毒护理
- 二零二四年度城市供水合同:自来水公司与居民关于住宅供水的协议3篇
- 酒店2024年终工作总结
- 艾滋病的国际治理
- 认识昆虫中班
- 二零二四年度智能教育平台开发合同3篇
- 矿泉水促销活动方案
- 玉林师范学院《酶工程实验》2022-2023学年第一学期期末试卷
- 玉林师范学院《户外拓展与定向运动》2023-2024学年第一学期期末试卷
- 二手房交易2024年度税费代理服务合同2篇
- 冻酸奶市场洞察报告
- 胎儿肛门闭锁个案护理
- 成都YC公司创业计划书
- 2022年全国统一高考化学试卷和答案解析(全国甲卷)
- 个人宣传片拍摄方案
- 企业退税申请报告范文
- 第四章电学综合练习-浙教版八年级上册科学
- 平行结转分步法
- 高考英语单词3500记忆短文40篇
- 口腔咨询师年总结
- 重大危险源(主要负责人、技术负责人、操作负责人)检查表
评论
0/150
提交评论