PC机电子琴微机原理课程设计报告(完整版)--电信王赫

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

华北科技学院课程设计目录一、设计要求……………………………………………1二、设计目的……………………………………………1三、设计的具体实现…………………………………11.系统概述……………………………………12.硬件设计……………………………………23.软件设计……………………………………74.运行结果……………………………………16四、结论与展望……………………………………16五、心得体会及建议………………………………17六、附录……………………………………………18七、参考文献………………………………………19华北科技学院课程设计2PC扬声器演奏音乐设计报告一、设计要求从课程设计的目的出发,通过设计工作的各个环节,编写一实现电子琴的程序,并实现若干扩展功能,达到以下要求:基本功能:用键盘输入对应的八个音阶,通过蜂鸣器发出声音,并通过七段数码管显示输入音阶。扩展功能:1、在程序中可预设多首曲目,运行后可以进入预设子菜单,对要播放的曲目进行选择,并实现播放该曲目。2、程序运行时有友好的用户介面。3、掌握汇编语言程序设计的基本方法。4、理解各种接口电路的应用。例如8255可编程并行接口,8253定时器等。5、掌握利用PC机扬声器发出不同频率声音的方法。二、设计目的本课程的课程设计是电子信息工程专业学生学习完《微机原理及应用》课程后,进行的一次以汇编语言为主,硬件设计为辅的综合训练。本课程设计的目的在于加深对微机原理基本知识的理解,掌握汇编语言程序设计的基本方法;掌握运用微机原理开发系统的基本方法。三、设计的具体实现1.系统概述1.系统概述1.1系统方案综述从系统实现的功能上来看,简易电子琴的课程设计主要分为手动弹奏乐曲和自动播放音乐两大部分组成。手动弹奏乐曲是根据PC机硬件键盘设置功能键并通过不同频率使其发出不同的声音就,即音阶,自动播放音乐则是通过中断的方法来实现。从系统硬件结构上来看,我们主要使用到PC机、8086单片机、8253定时器芯片、8255可编程并行接口芯片、蜂鸣器等等。华北科技学院课程设计3将这些硬件电路有机地结合起来使之满足电子琴的实现硬件需要。从系统软件设计角度来看,将电子琴的课程设计采用程序模块化设计方法,将程序分为主程序、键盘扫描程序模块、中断发音程序模块等等。此外,采用程序设计思想,将中断定时方式与外部按键查询方式相结合,实现手动弹奏乐曲和自动播放音乐两部分的切换和启动。从音乐产生原理方面来看,通过控制8253芯片定时器的定时时间产生不同频率的音频脉冲,从而驱动蜂鸣器发出不同音乐的声音。用软件延时来控制发音时间的长短,控制节拍。把音乐的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中,由程序查表得到定时常数和延时常数,分别用来控制8253定时器芯片产生的脉冲频率和发出该音频脉冲的持续时间。因此,我们可以综合上述的方案设计原理,从软件和硬件两大部分进行有计划有步骤的系统分析和设计。总设计图参见附件。1.2系统设计思路(1)手动弹奏乐曲和自动播放音乐用PC机键盘来实现。手动弹奏乐曲中PC机键盘的8个键分别设置不同的音符,同时用一个键作为中断控制程序的控制键,通过其可实现手动弹奏乐曲与播放音乐之间的切换。(2)软件的设计主要包括PC机键盘扫描、音乐播放程序和手动弹奏程序。此次程序设计主要分为两大块:手动弹奏乐曲程序和自动播放程序。两者之间用功能转换程序对其进行结合,并实现各功能的控制。2.硬件电路设计硬件电路的设计及实现相对简单。硬件电路PC机、8086单片机、定时器芯片8253、可编程并行接口芯片8255A、扬声器模块组成采用可编程并行接口芯片8255A的PA端口接8086的8个数据输出端口,利用8255A方式0,端口A输入方式,即AL=10010000B,利用中断调用DOS功能来调用并扫描PC机键盘。利用可编程并行接口芯片8255A的PC端口连接七段共阴极数码管,来显示键入的不同音阶。驱动控制扬声器利用8253与8255A共同执行。利用8255A华北科技学院课程设计4的PB0、PB1控制扬声器的开启、关闭。利用定时器8253驱动发声,CPU通过对8253通道2(端口地址42H)进行编程,利用8253方式3以不同的脉冲频率产生不同的输出方波,方波信号通过滤波器、功率放大器使扬声器发声。硬件电路图见附件。(1)单片机选用8086单片机为Intel公司推出的16为微处理器,以后Intel公司生产的微处理器,均与其相同。8086有16根数据线和20根地址线。其可寻的的地址空间达2^20即1M字节单元。其对外的数据线只有8根。其接线相对简化。本次课程设计采用8086单片机。8086单片机的实际接口图如下图所示:图1.8086单片机的实际接口图(2)扬声器模块的设计电磁式蜂鸣器由振荡器、电磁线圈、磁铁振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。本系统设计的蜂鸣器与8255的PB1端口和8253的OUT2输出端口连接,当8255的PBO、PB1端口为11时蜂华北科技学院课程设计5鸣器发出响声。扬声器控制:1)8253计数器2的输出控制扬声器的发声音调;2)8253计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声;3)扬声器还受控于并行接口(8255A芯片);4)必须使8255APB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音;关闭则是利用8255APB0和PB1同时为低电平,关闭与门,扬声器关闭。(3)显示电路的设计本设计所用显示电路七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。(4)8253以及8255A芯片介绍8255A是一个40引脚的双列直插式集成电路芯片.它具有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。数据传送中A口所需的控制信号由C口高位部分(PC7~PC4)提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3~PC0)合在一起称之为B组。华北科技学院课程设计6图2.8255A内部结构图8253是24脚双列直插式芯片,+5V电源供电。每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK,计数输出OUT和门控信号GATE。数据总线D0~D7:为三态输出/输入线。片选信号CS,读信号RD,写信号WR,他们为输入信号,低电平有效。地址线A1、A0,接到系统总线A1、A0上。计数器时钟信号CLK,作用是在8253进行定时或计数工作是,每输入1个时钟脉冲信号CLK,便使计数值减1。计数器门控选通信号GATE,计数器输出信号OUT,作用是计数工作时,每来1个时钟脉冲,计数器减1,当计数器值减为0,就在输出线上输出一OUT信号,以示定时或计数以到。华北科技学院课程设计7D6D7D5D4D3D0D1D2CLK2CLK0CLK1OUT0OUT1OUT2GATE0GATE2GATE1GNDVCCWRRDCSA1A08253图3.8253引脚图8253/8254内部有6个模块:数据总线缓冲器,读/写逻辑,控制命令寄存器,计数器0,计数器1,计数器2。数据总线缓冲器:3态,双向8位寄存器和D0~D7相连。读/写逻辑:由CPU发来的读/写信号和地址信号来选择读出或写入寄存器。控制命令寄存器:接受CPU来控制字。计数器:8253有3个结构完全相同的计数器。其内部由16为初值寄存器、减1计数器和当前计数值锁存器组成。图4.8253内部结构图华北科技学院课程设计83.软件程序设计这里用汇编语言对接口进行编程控制。程序模块主要包括8255A、8253的初始化、开关量的输入、扬声器的开启、关闭及程序的退出。在使8253的初值计数与频率相对应有两种方法,一是利用表的操作,但这种操作不太容易实现,硬件的连接也比较麻烦,易出错;所以我采用的是比较跳转的方式,比较简单明了,容易理解。程序中的模块关系见程序流程图。开始结束显示提示信息菜单选择AL=1?AL=2?AL=3?AL=5?AL=4?AL=6?显示提示信息乐曲1乐曲2乐曲3电子琴显示出错信息乐曲4YNYYYYYNNNNN开始结束8253计数器2初始化打开扬声器延时关闭扬声器图5.主程序工作流程图图6.扬声器工作流程图华北科技学院课程设计9开始结束频率表首地址SI时间表首地址BP持续时间DX调声子程序延迟时间BX修改SI,BP[SI]=-1?YN开始结束回车?1AL8?对应发声频率DI延时调声子程序YNYN图7.音乐演奏工作流程图图8.电子琴工作流程图源程序以及注释:DATASEGMENTINFO1DB0AH,0DH,'Welcometoourmusicprogram!'INFO2DB0AH,0DH,'*********Pleaseselect!*********$'INFO4DB0AH,0DH,'*********Inputerror!***********$'INFO5DB0AH,0DH,'*******Pleaseinputagain!******$'MUSLISTDB0AH,0DH,'======================'DB0AH,0DH,'Press1HuanLeSong'DB0AH,0DH,'Press2KaiXin'DB0AH,0DH,'Press3XiaoBuWuQu'DB0AH,0DH,'Press4Wonderful'DB0AH,0DH,'Press5SCALEPLAY'华北科技学院课程设计10DB0AH,0DH,'Press6EXIT'DB0AH,0DH,'====================='DB0AH,0DH,'$'MUS_FRQ1DW330,330,350,393,393,350,330,294;歌曲1频率DW262,262,294,330,330,294,294DW330,330,350,393,393,350,330,294DW262,262,294,330,294,262,262DW294,294,330,262,294,330,350,330,262DW294,330,350,330,262,262,294,393DW330,330,350,393,393,350,330,294DW262,262,294,330,294,262,262,-1MUS_TIM1DW8DUP(100);歌曲1节拍DW7DUP(100),200DW8DUP(100)DW7DUP(100),200DW5DUP(100),50,50,2DUP(100)DW100,50,50,4DUP(100),200DW8DUP(100)DW7DUP(100),200MUS_FRQ2DW330,294,262,294,3DUP(330)DW3DUP(294),330,392,392DW330,294,262,294,4DUP(330)DW294,294,330,294,262,-1MUS_TIM2DW6DUP(100),200DW2DUP(100,100,200)DW8DUP(100)DW4DUP(100),400MUS_FRQ3DW392,262,294,330,350,392,262,262DW440,350,392,440,494,524,262,262DW350,392,350,330,294,330DW350,330,294,262,294,330,294,262,247,262,-1MUS_TIM3DW200,4DUP(100),200,200,200DW200,4DUP(100),200,200,200DW200,4DUP(100),200DW4DUP(100),200,4DUP(100),400MUS_FRQ4DW330,392,330,294,330,392,3

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功