课设IV模拟电子琴设计李雄伟.docx

上传人:b****5 文档编号:29043511 上传时间:2023-07-20 格式:DOCX 页数:16 大小:125.31KB
下载 相关 举报
课设IV模拟电子琴设计李雄伟.docx_第1页
第1页 / 共16页
课设IV模拟电子琴设计李雄伟.docx_第2页
第2页 / 共16页
课设IV模拟电子琴设计李雄伟.docx_第3页
第3页 / 共16页
课设IV模拟电子琴设计李雄伟.docx_第4页
第4页 / 共16页
课设IV模拟电子琴设计李雄伟.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

课设IV模拟电子琴设计李雄伟.docx

《课设IV模拟电子琴设计李雄伟.docx》由会员分享,可在线阅读,更多相关《课设IV模拟电子琴设计李雄伟.docx(16页珍藏版)》请在冰豆网上搜索。

课设IV模拟电子琴设计李雄伟.docx

课设IV模拟电子琴设计李雄伟

2016课程设计IV

设计说明书

 

模拟电子琴设计

 

学生姓名

李雄伟

学号

1318014025

班级

计本1301

成绩

指导教师

冯永政

 

数学与计算机科学学院

2016年9月9日

课程设计任务书

2016—2017学年第一学期

专业:

计算机科学与技术学号:

1318014025姓名:

李雄伟

课程设计名称:

课程设计IV﹙10171010﹚

设计题目:

模拟电子琴设计

完成期限:

自2016年8月29日至2016年9月9日共2周

设计依据要求及主要内容

一、目的任务:

依据实验器材提供的功能,利用定时器产生的不同音阶频率的基本方法,使数字键1、2、3、4、5、6、7作为电子琴键驱动喇叭发声。

二、设计内容:

1.复习相关课程内容:

微机原理及应用课程相关内容;汇编语言程序设计的相关内容;熟悉模拟电路、数字电路的相关知识;

2.熟悉实验相关器材的主要功能。

3.在上述基础上,根据课程设计的基本要求,完成以下各项任务(反映在设计说明书中):

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

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

(3)程序流程框图。

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

三、时间安排:

1周一~1周三完成相关知识点的复习与软硬件设计;

1周四~2周三完成实验调试和编写设计说明书;

2周四~2周五进行课程设计验收、答辩。

四、设计要求:

1.软件程序文档;2.硬件电路图(用专用软件);3.完成实验;4.完成设计说明书。

指导教师(签字):

教研室主任(签字):

批准日期:

年月日

学科基础课硬件课程设计评阅书

题目

模拟电子琴设计

学生姓名

李雄伟

学号

1318014025

指导教师评语及成绩

 

指导教师签名:

年月日

答辩评语及成绩

 

答辩教师签名:

年月日

教研室意见

 

总成绩

室主任签名:

年月日

摘要

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

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

关键词:

单片机;控制;键盘;扬声器

目录

1课题描述1

2问题分析和任务定义2

3硬件电路设计3

4程序设计4

4.1程序流程图4

4.1.1主程序流程图4

4.1.2音频脉冲产生程序流程图4

4.2程序代码5

5电路仿真与分析10

5.1仿真软件10

5.2仿真过程10

6调试、测试与结果分析11

6.1调试与测试11

6.2结果分析11

7总结12

参考文献13

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程序流程图

4.1.1主程序流程图

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

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

图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                  DB?

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

                    OUTDX,AL

                    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:

            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

                   MOVDX,COUNT1

                   OUTDX,AL

                    MOVAL,AH

                    OUTDX,AL

                    RET

;-------------------------

DISPKEY:

    CALLDISP

                   CALLKEY

                   MOVAH,AL;NEWKEY

                   MOVBL,LTIME;LTIME

                   MOVBH,lKEY;lKEY

                   MOVAL,01h

                   MOVDX,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

                  JZDISK4

                  MOVAH,20h

                 DECBL

                  JMPDISK7

DISK4:

        MOVAH,0fh

DISK6:

        MOVBL,AH

                  MOVAH,BH

DISK7:

        MOVLTIME  ,BL

                  MOVlKEY,BH

                  MOVKZ,BH

                 MOVAL,AH

                  RET

KEY:

           MOVAL,0FFH

                  MOVDX,0ff22h

                 OUTDX,AL

                 MOVBL,00h

                  MOVAH,0feh

                  MOVCX,08h

 KEY1:

        MOVAL,AH

                  MOVDX,0FF21H

                  OUTDX,AL

                  ROLAL,01h

                 MOVAH,AL

                 NOP

                 NOP

                 NOP

                 NOP

                 NOP

                 NOP

                 MOVDX,0ff23h

                 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

CODE     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]李群芳.单片微型计算机与接口技术[M].电子工业出版社,2005.1

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

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

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

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

当前位置:首页 > 自然科学 > 物理

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

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