微机原理课设 电子琴

上传人:飞****9 文档编号:143132674 上传时间:2020-08-26 格式:DOC 页数:10 大小:117.50KB
返回 下载 相关 举报
微机原理课设 电子琴_第1页
第1页 / 共10页
微机原理课设 电子琴_第2页
第2页 / 共10页
微机原理课设 电子琴_第3页
第3页 / 共10页
微机原理课设 电子琴_第4页
第4页 / 共10页
微机原理课设 电子琴_第5页
第5页 / 共10页
点击查看更多>>
资源描述

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

1、一、内容摘要设计一个电子琴。利用数字键1、2、3、4、5、6、7作为电子琴键,按下数字键发出相应的音调。二、课程设计的目的和意义1、进一步掌握定时器编程和应用。2、了解微机利用定时器产生音乐的基本方法。 三、课程设计的要点和内容1、根据音阶频率表,利用定时器可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。2、对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值: 本次课设要求设计一个电子琴,作为一个乐器,其最基本的功能就是能够发出一个音阶的所有声音,即:do,re,mi,fa,so,la,xi,dou,8个音符,不同的声音的本

2、质就是不同频率的波,每个音符都对应着固定的频率;而声音的长短即是波的个数。所以得出的一条思路是:用汇编语言来产生一系列频率不同的方波信号,找到各个音符的频率,然后用汇编语言产生同频信号,并将该信号输入到扬声器,如果驱动功率不够则可以加放大电路。四、硬件电路设计1、单元电路设计: 硬件结构应结合软件方案一并考虑,做到软件、硬件功能相匹配。在DJ-598K三合一单片机微机试验仪平台上,硬件设计参考方案如下:2、电路工作原理:2.1可编程8253计数器(1) 在计算机的引用中,常常要对外设的某些信号进行计数,希望计算机既能控制技术的过程,还有能读取计数的结果,进而作为控制或管理的决策依据。如果被计数

3、的信号有了准确的固定的周期,就形成了定时器。(2)图为8253的内部组成和引脚。如图所示,与外部的连接线主要分布在右侧的三个部分,即:三个计数器。其中CLK为计数通道的输入脉冲信号,对于8253来说的频率范围是02MHz。GATE为门控信号,用来启动或禁止计数工作,高电平有效,不同的工作方式,作用也不同。Out为输出信号,用来输出波形,不同的工作方式,不同的工作方式,输出的波形也不同;而与CPU的的内部接线主要分布在左侧的三个部分。其中,D0D7为8位三态数据线,可直接连接到CPU的数据总线上,主要作用有:是实现与CPU的数据传输通道,接受控制字或计数初值,读取计数通道中的当前计数值。CSA1

4、部分为读/写控制逻辑,主要用于接受CPU的控制信息,译码后产生整个器件内部的工作的控制信息RD为读信号线,低电平有效;WR写信号线,低电平有效;CS为片选信号,低电平有效,只有CS有效的前提下,才会执行读或写操作;A1,A0为端口选择地址线,用于对右侧三个技术通道和控制寄存器进行寻址。(3)8253的主要工作原理是:8253其本质为减一计数器,其工作过程为:首先需要设置工作方式,然后将工作方式处置置入计数初值锁存器;启动计数后,CPU向8253的计数初值锁存器赋初值,每来一个CLK信号,减一计数器减1,直到减到0或1时,就发出输出信号OUT输出。2.2 74LS393(1)74LS393为一个

5、双4位二进制计数器,主要用于二进制计数。(2) 1CP VCC1RD 2CP1QA 2RD1QB 2QA1QC 2QB1QD 2QCGND 2QD五、软件开发1、系统程序模块图及说明开始调键扫显示子程序Y是数字键17吗?根据键值查表得音频先关数据由音频数据置定时器初值启动定时器开始发声延时关闭定时停止发声六、联机调试1、 硬件调试:PB0作为定时器门控信号,OUT1发出音频信号,驱动喇叭。2、 软件调试及调试数据:将在硬件调试设计满足预期要求以后,把软件加载到硬件中,并对该系统进行功能测试。七、程序清单CODE SEGMENT ;DZQ.ASMASSUME CS:CODE,ds:codeCON

6、TROL equ 43h/CONTROL为43hCOUNT0 equ 40h/COUNT0为40hCOUNT1 equ 41h/同上COUNT2 equ 42h/同上IOCONPT EQU 0FF2BHIOBPT EQU 0FF29HIOAPT EQU 0FF28HPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 18F0H/下一条偏移语句的偏移地址START: JMP START0/跳到STARTOBUF DB ?,?,?,?,?,?/在DB中存?KZ DB ?ltime db ?lkey db ?ZP DW ?data1:

7、db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1Hdata3: dw 2273, 2024, 1805, 1704 dw 1517, 1353, 1205, 1136START0: mov ax,cs/cs貌似是什么断点 mov ds,ax CALL BUF1/调用子程序,BUF1为其地址 MOV AL,88H/设置控制字,使用工作方法4 MOV DX,IOCONPT/DX为控制字口地址 OUT DX,A

8、L/送控制字 mov dx,IOBPT/设置计数器0口地址 mov al,00/数值锁存。 out dx,al mov zp,offset buf redikey:call dispkey/调用dispkey cmp KZ,09h/kz-09h,设置条件标志位 JNC redikey/ 跳转到redikey cmp kz,01h/kz-01h,设置条件标志位 jc redikey/跳到redikey mov bx,zp/ mov al,kz mov bx,al cmp bx,offset buf+5 jz zp1 inc bx mov zp,bx jmp outtonezp1:mov zp,o

9、ffset bufouttone:mov dx,IOBPT mov al,0ffh out dx,al mov al,kz mov ah,00h dec ax shl ax,1 mov bx,offset data3 add bx,ax mov ax,bx call t8253 mov cx,20hcon1: push cx call disp pop cx loop con1 mov dx,IOBPT mov al,00 out dx,al jmp redikeyt8253: push ax mov al, 76h ; 计数器1, 16位二进制,方式3。 mov dx, CONTROL/ o

10、ut dx, al/送控制字 pop ax/ax出栈 mov dx, COUNT1/ out dx, al mov al, ah out dx, al ret;- dispkey:call dispcall keymov ah,al ;newkeymov bl,ltime ;ltimemov bh,lkey ;lkeymov al,01hmov dx,PA ;0ff21hout dx,alcmp ah,bhmov bh,ah ;bh=new keymov ah,bl ;al=timejz disk4mov bl,88hmov ah,88hdisk4:dec ahcmp ah,82hjz dis

11、k6cmp ah,0ehjz disk6cmp ah,00hjz disk5mov ah,20hdec bljmp disk7disk5:mov ah,0fhdisk6:mov bl,ahmov ah,bhdisk7:mov ltime,blmov lkey,bhmov KZ,bhmov al,ahretkey:mov al,0ffhmov dx,PB out dx,almov bl,00hmov ah,0fehmov cx,08hkey1:mov al,ahmov dx,PA out dx,alrol al,01hmov ah,alnopnopnopnopnopnopmov dx,PC in

12、 al,dxnot alnopnopand al,0fhjnz key2inc blloop key1jmp nkeykey2:test al,01hje key3mov al,00hjmp key6key3:test al,02hje key4mov al,08hjmp key6key4:test al,04hje key5mov al,10hjmp key6key5:test al,08hje nkeymov al,18hkey6:add al,blcmp al,10hjnc fkeymov bl,almov bh,0h mov si,offset data2mov al,bx+siretnkey:mov al,20hfkey:retdata2:db 07h,04h,

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

当前位置:首页 > IT计算机/网络 > 其它相关文档

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