微机原理课设电子琴.docx
- 文档编号:3713674
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:13
- 大小:174.24KB
微机原理课设电子琴.docx
《微机原理课设电子琴.docx》由会员分享,可在线阅读,更多相关《微机原理课设电子琴.docx(13页珍藏版)》请在冰豆网上搜索。
微机原理课设电子琴
目录
一、内容摘要1
二、课程设计的目的和意义1
三、课程设计的要点和内容1
四、硬件电路设计2
1、单元电路设计:
2
2、电路工作原理:
2
2.1可编程8253计数器2
2.274LS3933
五、软件开发4
1、系统程序模块图及说明4
六、联机调试4
七、收获和体会5
八、程序清单5
一、内容摘要
设计一个电子琴。
利用数字键1、2、3、4、5、6、7作为电子琴键,按下数字键发出相应的音调。
二、课程设计的目的和意义
1、进一步掌握定时器编程和应用。
2、了解微机利用定时器产生音乐的基本方法。
三、课程设计的要点和内容
1、根据音阶频率表,利用定时器可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。
2、对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值:
本次课设要求设计一个电子琴,作为一个乐器,其最基本的功能就是能够发出一个音阶的所有声音,即:
do,re,mi,fa,so,la,xi,dou,8个音符,不同的声音的本质就是不同频率的波,每个音符都对应着固定的频率;而声音的长短即是波的个数。
所以得出的一条思路是:
用汇编语言来产生一系列频率不同的方波信号,找到各个音符的频率,然后用汇编语言产生同频信号,并将该信号输入到扬声器,如果驱动功率不够则可以加放大电路。
四、硬件电路设计
1、单元电路设计:
硬件结构应结合软件方案一并考虑,做到软件、硬件功能相匹配。
在DJ-598K三合一单片机微机试验仪平台上,硬件设计参考方案如下:
2、电路工作原理:
2.1可编程8253计数器
(1)在计算机的引用中,常常要对外设的某些信号进行计数,希望计算机既能控制技术的过程,还有能读取计数的结果,进而作为控制或管理的决策依据。
如果被计数的信号有了准确的固定的周期,就形成了定时器。
(2)图为8253的内部组成和引脚。
如图所示,与外部的连接线主要分布在右侧的三个部分,即:
三个计数器。
其中CLK为计数通道的输入脉冲信号,对于8253来说的频率范围是0—2MHz。
GATE为门控信号,用来启动或禁止计数工作,高电平有效,不同的工作方式,作用也不同。
Out为输出信号,用来输出波形,不同的工作方式,不同的工作方式,输出的波形也不同;而与CPU的的内部接线主要分布在左侧的三个部分。
其中,D0—D7为8位三态数据线,可直接连接到CPU的数据总线上,主要作用有:
是实现与CPU的数据传输通道,接受控制字或计数初值,读取计数通道中的当前计数值。
CS—A1部分为读/写控制逻辑,主要用于接受CPU的控制信息,译码后产生整个器件内部的工作的控制信息——RD为读信号线,低电平有效;WR写信号线,低电平有效;CS为片选信号,低电平有效,只有CS有效的前提下,才会执行读或写操作;A1,A0为端口选择地址线,用于对右侧三个技术通道和控制寄存器进行寻址。
(3)8253的主要工作原理是:
8253其本质为减一计数器,其工作过程为:
首先需要设置工作方式,然后将工作方式处置置入计数初值锁存器;启动计数后,CPU向8253的计数初值锁存器赋初值,每来一个CLK信号,减一计数器减1,直到减到0或1时,就发出输出信号OUT输出。
2.274LS393
(1)74LS393为一个双4位二进制计数器,主要用于二进制计数。
(2)1CPVCC
1RD2CP
1QA2RD
1QB2QA
1QC2QB
1QD2QC
GND2QD
五、软件开发
1、系统程序模块图及说明
Y
六、联机调试
1、硬件调试:
PB0作为定时器门控信号,OUT1发出音频信号,驱动喇叭。
2、软件调试及调试数据:
将在硬件调试设计满足预期要求以后,把软件加载到硬件中,并对该系统进行功能测试。
七、收获和体会
../../REC0529_092310.wav
参考文献
[1]《80x86/Pentiun微机原理与接口技术》余春暄,机械工业出版社,2008.9;
[2]《微机原理与接口技术》吉海彦主编,机械工业出版社,2007.7;
八、程序清单
CODESEGMENT;DZQ.ASM
ASSUMECS:
CODE,ds:
code
CONTROLequ43h//CONTROL为43h
COUNT0equ40h//COUNT0为40h
COUNT1equ41h//同上
COUNT2equ42h//同上
IOCONPTEQU0FF2BH
IOBPTEQU0FF29H
IOAPTEQU0FF28H
PAEQU0FF20H;字位口
PBEQU0FF21H;字形口
PCEQU0FF22H;键入口
ORG18F0H//下一条偏移语句的偏移地址
START:
JMPSTART0//跳到STARTO
BUFDB?
?
?
?
?
?
//在DB中存?
KZDB?
ltimedb?
lkeydb?
ZPDW?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F1H
data3:
dw2273,2024,1805,1704
dw1517,1353,1205,1136
START0:
movax,cs//cs貌似是什么断点
movds,ax
CALLBUF1//调用子程序,BUF1为其地址
MOVAL,88H//设置控制字,使用工作方法4
MOVDX,IOCONPT//DX为控制字口地址
OUTDX,AL//送控制字
movdx,IOBPT//设置计数器0口地址
moval,00//数值锁存。
。
。
outdx,al
movzp,offsetbuf
redikey:
calldispkey//调用dispkey
cmpKZ,09h//kz-09h,设置条件标志位
JNCredikey//跳转到redikey
cmpkz,01h//kz-01h,设置条件标志位
jcredikey//跳到redikey
movbx,zp//
moval,kz
mov[bx],al
cmpbx,offsetbuf+5
jzzp1
incbx
movzp,bx
jmpouttone
zp1:
movzp,offsetbuf
outtone:
movdx,IOBPT
moval,0ffh
outdx,al
moval,kz
movah,00h
decax
shlax,1
movbx,offsetdata3
addbx,ax
movax,[bx]
callt8253
movcx,20h
con1:
pushcx
calldisp
popcx
loopcon1
movdx,IOBPT
moval,00
outdx,al
jmpredikey
t8253:
pushax
moval,76h;计数器1,16位二进制,方式3。
movdx,CONTROL//
outdx,al//送控制字
popax//ax出栈
movdx,COUNT1//
outdx,al
moval,ah
outdx,al
ret
;-------------------------
dispkey:
calldisp
callkey
movah,al;newkey
movbl,ltime;ltime
movbh,lkey;lkey
moval,01h
movdx,PA;0ff21h
outdx,al
cmpah,bh
movbh,ah;bh=newkey
movah,bl;al=time
jzdisk4
movbl,88h
movah,88h
disk4:
decah
cmpah,82h
jzdisk6
cmpah,0eh
jzdisk6
cmpah,00h
jzdisk5
movah,20h
decbl
jmpdisk7
disk5:
movah,0fh
disk6:
movbl,ah
movah,bh
disk7:
movltime,bl
movlkey,bh
movKZ,bh
moval,ah
ret
key:
moval,0ffh
movdx,PB
outdx,al
movbl,00h
movah,0feh
movcx,08h
key1:
moval,ah
movdx,PA
outdx,al
rolal,01h
movah,al
nop
nop
nop
nop
nop
nop
movdx,PC
inal,dx
notal
nop
nop
andal,0fh
jnzkey2
incbl
loopkey1
jmpnkey
key2:
testal,01h
jekey3
moval,00h
jmpkey6
key3:
testal,02h
jekey4
moval,08h
jmpkey6
key4:
testal,04h
jekey5
moval,10h
jmpkey6
key5:
testal,08h
jenkey
moval,18h
key6:
addal,bl
cmpal,10h
jncfkey
movbl,al
movbh,0h
movsi,offsetdata2
moval,[bx+si]
ret
nkey:
moval,20h
fkey:
ret
data2:
db07h,04h,08h,05h,09h,06h,0ah,0bh
DB01h,00h,02h,0fh,03h,0eh,0ch,0dh
DISP:
MOVAL,0FFH;00H
MOVDX,PA
OUTDX,AL
MOVCL,0DFH;20H;显示子程序,5ms
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
MOVAH,00H
PUSHBX
MOVBX,OFFSETDATA1
ADDBX,AX
MOVAL,[BX]
POPBX
MOVDX,PB
OUTDX,AL
MOVAL,CL
MOVDX,PA
OUTDX,AL
PUSHCX
DIS2:
MOVCX,0a0H
LOOP$
POPCX
CMPCL,0FEH
JZLX1
INCBX
RORCL,1
JMPDIS1
LX1:
MOVAL,0FFH
MOVDX,PB
OUTDX,AL
RET
BUF1:
MOVBUF,11H
MOVBUF+1,10H
MOVBUF+2,10H
MOVBUF+3,10H
MOVBUF+4,10H
MOVBUF+5,10H
RET
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 电子琴