电子琴设计(微机原理课程设计)24301.pdf
《电子琴设计(微机原理课程设计)24301.pdf》由会员分享,可在线阅读,更多相关《电子琴设计(微机原理课程设计)24301.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-.z.微机原理课程设计 电子琴设计 一、设计内容 编写一实现电子琴的程序,并实现假设干扩展功能。根本功能:用键盘输入对应的七个音阶,通过实验箱的喇叭发出声音,并通过七段数码管显示输入音阶;扩展功能:1、在程序中可预设多首曲目,按一键可以进入预设子菜单,对要播放的曲目进展选择,并实现播放该曲目。2、程序运行时有友好的用户介面。3.当弹奏不同音阶时,双色点阵 LED 显示器显示不同的图案 二、元件与仪器 1计时器 8253 2并行控制器 8255A 3实验台 三、设计原理、思路及流程图 1、设计原理 1对于一个特定的/转换接口电路,CPU 执行一条输出指令将数据送入/,即可在其输出端得到一定的电
2、压输出。给/转换器输入按正弦规律变化的数据,在其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。各音阶标称频率值:2产生一个正弦波的数据可取 32 个小于亦可,不同频率的区别,可通过-.z.调节向转换器输出数据的时间间隔,例如:发频率为 261。1HZ,周期为1/261.1=3.83ms,输出数据的时间间隔为 3.83ms/320.12ms.定时时间可以由8253 配合 8255 来实现。按下*键后发音时间的长短可以由发出的正弦波的个数多少来控制。本程序中设置默认长度为 60 个正弦波。3实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,
3、位码输入端高电平选中。(4)点阵 LED 显示器是将许多 LED 类似矩阵一样排列在一起组成的显示器件,双色点阵 LED 是在每一个点阵的位置上有红绿或红黄或红白两种不同颜色的发光二极管。当微机输出的控制信号使得点阵中有些 LED 发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。车站广场由微机控制的点阵 LED 大屏幕广告宣传牌随处可见。(5)实验仪上设有一个共阳极 88 点阵的红黄两色 LED 显示器,其点阵构造如下图。该点阵对外引出 24 条线,其中 8 条行线,8 条红色列线,8 条黄色列线。假-.z.设使*一种颜色、*一个 LED 发光,只要将与其相连的行线加高电平,列线加低
4、电平即可。例如欲显示汉字年,采用逐列循环发光。首先由年的点阵轮廓,确定点阵代码如下图根据年的点阵代码,确定逐列循环发光的顺序如下:行代码输出 44H;红色列代码输 01H;第一列 2 个红色 LED 发光。行代码输出 54H;红色列代码输 02H;第二列 3 个红色 LED 发光。行代码输出 54H;红色列代码输 04H;第三列 3 个红色 LED 发光。行代码输出 7FH;红色列代码输 08H;第四列 7 个红色 LED 发光。行代码输出 54H;红色列代码输 10H;第五列 3 个红色 LED 发光。行代码输出 DCH;红色列代码输 20 H;第六列 5 个红色 LED 发光。行代码输出
5、44H;红色列代码输 40 H;第七列 2 个红色 LED 发光。行代码输出 24H;红色列代码输 80 H;第八列 2 个红色 LED 发光。2、电路连接图如下:(1)8253 和 8255 连接如下 2.实验仪上的点阵 LED 及驱动电路的行代码、红色列代码、黄色列代码各用一片 74LS273 锁存。行代码输出的数据通过行驱动器 7407 加至点阵的 8 条行线上,红和黄列代码的输出数据通过驱动器 DS75452 反相后分别加至红和黄的列-.z.线上。行锁存器片选信号为 CS1,红色列锁存器片选信号为 CS2,黄色列锁存器片选信号为 CS3。分别接上 298h,2a0h,2a8h.3设计思
6、路 在本次课程设计中,根据复杂程序设计思想模块化程序设计,分析和确定程序总体设计目标:电子琴根本功能及局部扩展功能后,将总体目标划分为假设干模块子程序,具体可见下。程序设计的思路按以下顺序进展:1 分析与确定程序总体设计目标 2 将总体目标划分为假设干模块 3 定义每个模块的具体任务,明确它与其他模块间的通信方式 4 编写源程序,进展调试,包括:简单电子琴主程序 结合实验指导书的两程序,将其分为假设干个子程序,实现简单的播放和显示音阶的功能。发音子程序 本子程序实现放音功能。首先从键盘读出键码,判断,如果键码不是 189 除外即仍然处于音阶输入准备状态,如果是,即求出相应的时间常数的序号,取
7、60 次 32 个正弦波数据,播放 32 个数据,组成一个正弦波。播放 60 次后,然后判断是否有按键,如果有就进入死循环,直到下次按键为止。放歌子程序 本子程序实现播放预置在程序中的歌曲,并加上一个选择子程序段,可通过选择进入不同曲目,进而实现播放不同的歌曲,播放时直接调用放音子程序-.z.Led 显示子程序 本程序实现从键盘输入一位十进制数字09,在七段数码管上显示出来。显示广告版子程序 本子程序实现在广告板上在输入不同音阶时有我们自行设计的图案显示。输入不同图案相关的代码,然后调用图案显示判断程序段。对其进展判断,然后进入图案显示代码,最终显示不同的图案。源程序整体 程序开场,显示提示信
8、息,接着调用发音子程序,实现发音和显示。接着对9 键进展判断、当 9 按下时,调用放音子程序。然后 iujinru 选择,选择喜欢的歌曲并进展播放。当检测到 esc 时,退出。当每一个都检测不到时,退回到调用发音子程序,继续发音显示。从而实现有扩展功能的电子琴。5 模块连接,形成完整的程序 6 编写程序文档 4流程图 以下用主程序与子程序配合流程图其进展说明。1主程序流程图-.z.2发音子程序流程图 3led显示子程序 4显示广告板子程序 5放音子程序 开场 调用发音子程序 使用键盘输入 是否 1 到 8 键 放音子程序 N Y 退出 是 esc 键 是否 9 键 N Y 调用广告版子程序 L
9、ed 子程序 Y-.z.四、源程序 STACK SEGMENT PARA STACKSTACK DB 100 DUP(0)STACK ENDS DATA SEGMENT IOPORT EQU 0C400H-0280H IO8255A EQU IOPORT+288H 开场 调用发音子程序 用键盘输入喜欢歌曲的序号1-3 是否 1 到 3 键 放音子程序 Y N Y 退出 是 esc 键 是否 9 键 Y 调用广告版子程序 Led 子程序 N N-.z.IO8255C EQU IOPORT+28AH IO8255B EQU IOPORT+28BH IO8253A EQU IOPORT+280H I
10、O8253B EQU IOPORT+283H IO0832A EQU IOPORT+290H PROT EQU 0C400H-280H PROTH EQU PROT+298H PROTLR EQU PROT+2A0H PROTLY EQU PROT+2A8H DATA1 DB 80H,96H,0AEH,0C5H,0D8H,0E9H,0F5H,0FDH DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H DB 80H,66H,4EH,38H,25H,15H,09H,04H DB 00H,04H,09H,15H,25H,38H,4EH,66H ;正弦波数据 LED
11、DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH MESG1 DB 0DH,0AH,INPUT A NUM(1-8=PLAY PIANO,9=PLAY MUSIC,ESC=E*IT):,0DH,0AH,$MESG2 DB 0DH,0AH,PLEASE CHOOSE THE MUSIC YOU LIKE(1-AAA,2-BBB):,0DH,0AH,$TIME DB 120,110,100,90,81,72,55,42;发不同音时8253的计数器初值 NUM DB ;NUM为8253计数器初值的序号-MESS DB STRIKE ANY KEY,RETURN T
12、O DOS!,0AH,0DH,$MIN1 DB 00H,01H,02H,03H,04H,05H,06H,07H COUNT DB 0 JNUM DB ;JNUM用来存储输入数字 MUSIC DB 30H,31H,31H,35H,35H,36H,36H,35H,30H,30H,34H,34H,33H,33H,32H,32H,31H,100 DUP(30H);,35H,35H,34H,34H,33H,33H,32H,35H,35H,34H,34H,33H,33H,32H,31H,31H,35H,35H,36H,36H,35H,34H,34H,33H,33H,3;2H,32H,31H,QMUSIC
13、DB DOWN DB 31H,32H,33H,34H,35H,36H,37H,38H,38H,37H,36H,35H,34H,33H,32H,31H,100 DUP(30H)PP DB TT DB LMUSIC EQU 45 BUFF1 DB 00H,00H,18H,3CH,3CH,18H,00H,00H BUFF2 DB 00H,1EH,0AH,46H,62H,50H,78H,00H BUFF3 DB 00H,06H,06H,60H,60H,06H,06H,00H BUFF4 DB 24H,66H,0E7H,00H,00H,0E7H,66H,24H BUFF5 DB 42H,0E7H,42H
14、,18H,18H,42H,0E7H,42H BUFF6 DB 66H,24H,81H,0C3H,0C3H,81H,24H,66H BUFF7 DB 24H,66H,00H,0DBH,0DBH,00H,66H,24H BUFF8 DB 0CBH,99H,10H,0C6H,63H,08H,99H,0D3H DATA ENDS CODE SEGMENT-.z.ASSUME CS:CODE,DS:DATA START:MOV TT,1 MOV A*,DATA MOV DS,A*MOV D*,IO8255B ;使8255的A口为输出方式 MOV A*,92H OUT D*,AL MOV QMUSIC,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子琴 设计 微机 原理 课程设计 24301
限制150内