模拟电子琴设计Word格式文档下载.docx

上传人:b****5 文档编号:19137616 上传时间:2023-01-04 格式:DOCX 页数:15 大小:121.09KB
下载 相关 举报
模拟电子琴设计Word格式文档下载.docx_第1页
第1页 / 共15页
模拟电子琴设计Word格式文档下载.docx_第2页
第2页 / 共15页
模拟电子琴设计Word格式文档下载.docx_第3页
第3页 / 共15页
模拟电子琴设计Word格式文档下载.docx_第4页
第4页 / 共15页
模拟电子琴设计Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

模拟电子琴设计Word格式文档下载.docx

《模拟电子琴设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《模拟电子琴设计Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

模拟电子琴设计Word格式文档下载.docx

(1)题目要求涉及的硬件电路图及摘要说明。

(2)题目的工作原理及相应描述。

(3)程序流程框图。

(4)程序文本输入及实验完成。

指导教师:

冯永政教研室负责人:

课程设计评阅

评语:

指导教师签名:

年月日

摘要

本次设计的主要内容是用AT89S51单片机为核心控制元件,利用定时器,发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调,利用不同的频率的组合,可构成我们想要的音乐,从而设计成一个与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器的简易电子琴。

本系统运行稳定,硬件电路简单,软件功能完善,控制系统可靠,所开发的程序通过调试运行、仿真验证,实现了设计目标,具有一定的实用和参考价值。

关键词:

单片机;

按键、扬声器、音阶

1课题描述

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们所想要的音乐了,对于单片机,可以利用定时器,发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调,利用不同的频率的组合,从而设计成一个与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器的简易电子琴。

本次设计主要应用AT89C51单片机为核心控制元件,与键盘、扬声器等模块组成核心主控制模块,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴,通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口,实现用户自编歌曲。

2问题分析和任务定义

本次设计主要通过对AT89C51的基本认识,利用定时器,发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调,利用不同的频率的组合,从而设计成一个与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器的简易电子琴。

在操作过程中应满足以下要求:

(1)电子琴设有16个按键,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴;

(2)利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,可以发出不同的音调;

(3)使数字键1、2、3、4、5、6、7作为电子琴键,按下数字键发出相应的音调,PB0作为定时器门控信号,OUT1发出音频信号,驱动喇叭。

(4)通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序人口,实现用户自编歌曲;

该系统在使用过程中,应该实现以下基本功能:

(1)按要求连接电路图,当按下数字键1、2、3、4、5、6、7时可以发出相应的音调;

(2)通过不同的数字键组合,可以自编曲目;

(3)利用protues仿真软件,装载程序,实现对电子琴的仿真。

3硬件电路设计

电子琴设计硬件电路图,如图3.1所示:

图3.1电子琴设计硬件电路图

4程序设计

4.1程序流程图

(1)主程序流程图

本次课程设计实现了一个以AT89C51单片机为核心控制元件,与键盘、扬声器等模块组成核心主控制模块,通过按键,实现用户自编曲目的简易电子琴。

主程序流程图如图4.1所示:

图4.1电子琴设计主程序流程图

(2)音频脉冲产生程序流程图

要产生音频脉冲,只要算出某一音频半周期的时间然后利用T0定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相,就可在P1.0引脚上得到此频率的脉冲。

音频脉冲产生程序流程图如图4.2所示:

图4.2音频脉冲产生程序流程图

4.2程序代码

CODE 

SEGMENT;

DZQ.ASM

ASSUMECS:

CODE,DS:

CODE

CONTROL 

EQU43h

COUNT0 

EQU40h

COUNT1 

EQU41h

COUNT2 

EQU42h

IOCONPT 

EQU0FF2BH

IOBPT 

EQU0FF29H

IOAPT 

EQU0FF28H

PA 

EQU0FF21H;

字位口

PB 

EQU0FF22H;

字形口

PC 

EQU0FF23H;

键入口

ORG18F0H

START:

JMPSTART0

BUF 

DB?

?

KZ 

LTIME 

DB?

LKEY 

DB?

ZP 

DW?

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

MOVDS,AX

CALLBUF1

MOVAL,88H

MOVDX,IOCONPT

OUTDX,AL

MOVDX,IOBPT

MOVAL,00

MOVZP,OFFSETBUF

REDIKEY:

CALLDISPKEY

CMPKZ,09h

JNCREDIKEY

CMPKZ,01h

JCREDIKEY

MOVBX,ZP

MOVAL,KZ

MOV[BX],AL

CMPBX,OFFSETBUF+5

JZZP1

INCBX

MOVZP,BX

JMPOUTTONE

ZP1:

OUTTONE:

MOVDX,IOBPT

MOVAL,0FFH

MOVAH,00h

DECAX

SHLAX,1

MOVBX,OFFSETDATA3

ADDBX,AX

MOVAX,[BX]

CALLT8253

MOVCX,20h

CON1:

PUSHCX

CALLDISP

POPCX

LOOPCON1

JMPREDIKEY

T8253:

PUSHAX

MOVAL,76h;

计数器1,16位二进制,方式3。

MOVDX,CONTROL

OUTDX,AL

POPAX

MOVDX,COUNT1

MOVAL,AH

RET

;

-------------------------

DISPKEY:

CALLDISP

CALLKEY

MOVAH,AL;

NEWKEY

MOVBL,LTIME;

LTIME

MOVBH,lKEY;

lKEY

MOVAL,01h

MOVDX,0FF21H

CMPAH,BH

MOVBH,AH;

BH=NEWKEY

MOVAH,BL;

AL=TIME

JZDISK4

MOVBL,88h

MOVAH,88h

DISK4:

DECAH

CMPAH,82h

JZDISK6

CMPAH,0eh

CMPAH,00h

MOVAH,20h

DECBL

JMPDISK7

MOVAH,0fh

DISK6:

MOVBL,AH

MOVAH,BH

DISK7:

MOVLTIME 

BL

MOVlKEY,BH

MOVKZ,BH

MOVAL,AH

KEY:

MOVAL,0FFH

MOVDX,0ff22h

MOVBL,00h

MOVAH,0feh

MOVCX,08h

KEY1:

MOVAL,AH

ROLAL,01h

MOVAH,AL

NOP

MOVDX,0ff23h

INAL,DX

NOTAL

ANDAL,0fh

JNZKEY2

INCBL

LOOPKEY1

JMPNKEY

KEY2:

TESTAL,01h

JEKEY3

MOVAL,00h

JMPKEY6

KEY3:

TESTAL,02h

JEKEY4

MOVAL,08h

KEY4:

TESTAL,04h

JEKEY5

MOVAL,10h

KEY5:

TESTAL,08h

JENKEY

MOVAL,18h

KEY6:

ADDAL,BL

CMPAL,10h

JNCFKEY

MOVBL,AL

MOVBH,0h

MOVSI,OFFSETDATA2

MOVAL,[BX+SI]

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

MOVCL,0DFH;

20H;

显示子程序,5ms

MOVBX,OFFSETBUF

DIS1:

MOVAL,[BX]

MOVAH,00H

PUSHBX

MOVBX,OFFSETDATA1

POPBX

MOVDX,PB

MOVAL,CL

PUSHCX

DIS2:

MOVCX,0a0H

LOOP$

CMPCL,0FEH

JZLX1

RORCL,1

JMPDIS1

LX1:

BUF1:

MOVBUF,11H

MOVBUF+1,10H

MOVBUF+2,10H

MOVBUF+3,10H

MOVBUF+4,10H

MOVBUF+5,10H

ENDS

ENDSTART

5电路仿真与分析

5.1仿真软件

电路仿真中采用

仿真软件。

该软件简单易用,容易上手,元器件较为齐全,仿真稳定,功能强大,故采用了此仿真软件。

5.2仿真过程

仿真电路图如图5.1所示:

图5.1电子琴设计仿真电路图

6调试、测试与结果分析

6.1调试与测试

根据电子琴设计原理,可以按照以下步骤来完成:

(1)根据所设计电路图按照以下步骤连接电路:

①8253的CLK1接分频输出端T2;

②GATE1接PB0;

③OUT1接VIN;

④8M→T;

⑤JP→+5V(ON);

⑥在P.态,按SCAL键,输入18F0,按EXEC键,显P.,按1、2……7键,依次发出1、2……7音调声。

(2)装载程序,编译并运行。

6.2结果分析

通过按照设计的电路图连接电路,装载、编译并运行程序,可以实现通过键盘,选择不同的按键组合,实现电子琴的基本功能,用户可自编曲目。

7总结

微型计算机的出现和大量使用将人类社会带入一个新的时代,单片微型计算机(简称单片机)在其中扮演着十分重要的角色。

虽然它没有常见的PC那样大的体积和重量,不会在办公桌或控制台上占据一个显要的位置,但它就像小小的螺丝钉一样,镶嵌在人们工作、生活中需要计算、控制、测量等智能活动的各个角落。

单片机以其体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点,在智能仪表、机电一体化、实时控制、分布式多机系统、家用电器等各个领域得到了广泛应用,对各个行业的技术改造和产品的更新换代起着重要的推动作用,对人们生活质量的提高产生了深刻的影响。

这次课程设计主要通过对AT89C51的基本认识,利用定时器发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调,利用不同的频率的组合,从而设计成一个与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器的简易电子琴。

在这次课程设计过程中,不仅将以前学习到的微机原理和单片机相关知识得到了巩固和进一步的提高,而且对汇编语言有了更好的理解和掌握,虽然过程中碰到了很多的问题,但是通过查阅相关书籍、资料,特别是老师的细心教导,不仅给了我思路上的开阔,而且使我认识到自己的不足之处,最终完成了本次课程设计。

通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习过程中,我会不断的完善自我,勤动手,多思考,不断进取,为自己在专业上的深入发展构筑一个好的平台。

参考文献

[1]李群芳.单片微型计算机与接口技术.电子工业出版社,2005.1

[2]何立民.MCS-51单片机应用系统设计.北京航空航天大学出版社,2000.3

[3]戴梅鄂.微型计算机技术及应用.清华大学出版社,2008.2

[4]李建忠.单片机原理及应用.西安电子科技出版社,2008.2

[5]沈美明.汇编语言程序设计.清华大学出版社,2008.10

[6]路而红.电子设计自动化应用技术.北京希望电子出版社,2000.1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1