课程设计(论文)-基于at89s51的电子琴设计报告

上传人:aa****6 文档编号:34097196 上传时间:2018-02-20 格式:DOC 页数:18 大小:431KB
返回 下载 相关 举报
课程设计(论文)-基于at89s51的电子琴设计报告_第1页
第1页 / 共18页
课程设计(论文)-基于at89s51的电子琴设计报告_第2页
第2页 / 共18页
课程设计(论文)-基于at89s51的电子琴设计报告_第3页
第3页 / 共18页
课程设计(论文)-基于at89s51的电子琴设计报告_第4页
第4页 / 共18页
课程设计(论文)-基于at89s51的电子琴设计报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《课程设计(论文)-基于at89s51的电子琴设计报告》由会员分享,可在线阅读,更多相关《课程设计(论文)-基于at89s51的电子琴设计报告(18页珍藏版)》请在金锄头文库上搜索。

1、一实训目的通过本课程的实训,旨在使学生在掌握先修课程的基础上,一方面能综合应用这些课程的理论知识,更重要的一方面,是让学生亲自动手,参与到工程实践训练中。使学生在之前掌握的电路.模电.数电等知识,以及单片机知识的基础上,进一步掌握电子产品设计以及开发调试的全过程,尤其包括掌握 PCB 板的设计.印刷,元器件的安装.电路调试 .程序调试.程序下载等实践实训部分,真正培养学生理论联系实际.分析解决一般性技术问题以及实际动手的能力。二设计原理电子琴由以下几个部件组成:单片机 89S51、电源、4*4 的 16 个按钮矩阵、音频放大模块、复位模块,数码管,LED 显示模块、晶振模块。(1)AT89S5

2、1 单片机及其引脚说明AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S511主要特性: 8031 CPU 与 MCS-51 兼容 4K 字节可编程 FLASH 存储器(寿命:1000 写/擦循环) 全静态工作:0Hz-24KH 三

3、级程序存储器保密锁定 128*8 位内部 RAM 32 条可编程 I/O 线 两个 16 位定时器/计数器 6 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路(2)主要管脚说明:P0 口:P0 口为一个 8 位漏级开路准双向 I/O 口,每脚可吸收 8TTL 门电流。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管

4、脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输

5、入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示:P3 口引脚 特殊功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断 0)P3.3 (外部中断 1)P3.4 T0(定时器 0 外部输入)P3.5 T1(定时器 1 外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读先通)P3 口同时为闪烁编程和编程校验接收一些控制信号。1.音乐产生的方法一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即

6、可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器 T0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。若要产生音频脉冲,只要算出某一音频的周期(1/频率) ,再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P0.0 反相,然后重复计时再反相。就可在 P0.0 引脚上得到此频率的脉冲。利用 AT89S51 的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0 及 TL0 以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周期T1/5231912s,因此只要令计

7、数器计时 956s/1s956,每计数 956次时将 I/O 反相,就可得到中音 DO(523Hz) 。计数脉冲值与频率的关系式(如式 2-1 所示)是:Nfi2fr 2-1式中,N 是计数值;fi 是机器频率(晶体振荡器为 12MHz 时,其频率为 1MHz) ;fr 是想要产生的频率。其计数初值 T 的求法如下:T65536N65536fi2fr例如:设 K65536,fi1MHz,求低音 DO(261Hz) 、中音 DO(523Hz) 、高音 DO(1046Hz)的计数值。T65536N65536fi2fr655362fr65536/fr低音 DO 的 T65536/26263627中音

8、 DO 的 T65536/52364580高音 DO 的 T65536/104665059单片机 12MHZ 晶振,高中低音符与计数 T0 相关的计数值如表 2-2 所示表 2-2 音符频率表音符 频率(HZ) 简谱码(T 值) 音符 频率(HZ) 简谱码(T 值)低 1DO 262 63628 # 4 FA# 740 64860#1DO# 277 63731 中 5 SO 784 64898低 2RE 294 63835 # 5 SO# 831 64934#2 RE# 311 63928 中 6 LA 880 64968低 3 M 330 64021 # 6 932 64994低 4 FA

9、349 64103 中 7 SI 988 65030# 4 FA# 370 64185 高 1 DO 1046 65058低 5 SO 392 64260 # 1 DO# 1109 65085# 5 SO# 415 64331 高 2 RE 1175 65110低 6 LA 440 64400 # 2 RE# 1245 65134# 6 466 64463 高 3 M 1318 65157低 7 SI 494 64524 高 4 FA 1397 65178中 1 DO 523 64580 # 4 FA# 1480 65198# 1 DO# 554 64633 高 5 SO 1568 65217

10、中 2 RE 587 64684 # 5 SO# 1661 65235# 2 RE# 622 64732 高 6 LA 1760 65252中 3 M 659 64777 # 6 1865 65268中 4 FA 698 64820 高 7 SI 1967 65283我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据低音 019 之间,中音在 2039 之间,高音在 4059 之间TABLE: DW 0, 63628, 63835, 64021, 64103, 64260, 64400, 64524, 0, 0DW 0, 63731, 63928, 0, 64185, 6433

11、1, 64463, 0, 0, 0DW 0, 64580, 64684, 64777, 64820, 64898, 64968, 65030, 0, 0DW 0, 64633, 64732, 0, 64860, 64934, 64994, 0, 0, 0DW 0, 65058, 65110,65157, 65178, 65217, 65252, 65283, 0, 0DW 0, 65085, 65134, 0, 65198, 65235, 65268, 0, 0, 0DW 0 音乐的音拍,一个节拍为单位(C 调) (如表 2-3 所示)表 2-3 曲调值表曲调值 DELAY 曲调值 DELAY

12、调 4/4 125ms 调 4/4 62ms调 3/4 187ms 调 3/4 94ms调 2/4 250ms 调 2/4 125ms对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。琴键处理程序,根据检测到得按键值,查询音律表,给计时器赋值,发出相应频率的声音。对音调的控制:根据不同的按键,对定时器 T1 送入不同的初值,调节 T1 的溢出时间,这样就可以输出不同音调频率的方波。不同音调下各个音阶的定时器。在这个程序中用到了两个定时/计数器来完成的。其中 T0 用来产生音符频率,T1 用来产生音拍。2.4X4 行列式键盘识别及显示组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式

13、多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。编码键盘:键盘本身带有实现接口主要功能所需的硬件电路。不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如 ASCII 码)送往 CPU。所以,编码键盘接口简单、使用方便。但由于硬件电路较复杂,因而价格较贵。非编码键盘:键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。目前微机系统中,一般为了降低成本大多数采用非编码键盘。键盘接口必须具有去抖动、防串键、按键识别和键码产生

14、 4 个基本功能。(1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为 520mm。所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。(2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。常用的方法有双键锁定和 N 键轮回两种方法。双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。N 键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。(3)被按键识别:如何识别被按

15、键是接口解决的主要问题,一般可通过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。(4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。用 AT89S51 的并行口 P0 接 44 矩阵键盘,以 P0.0P0.3 作输入线,以P0.4P0.7 作输出线;在数码管上显示每个按键的“0F”

16、序号。3.LED 数码显示原理:(1)七段 LED 显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。 LED 数码管的 ga 七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码表(如表 2-1 所示) “0” 3FH “8” 7FH“1” 06H “9” 6FH“2” 5BH “A” 77H“3” 4FH “b” 7CH“4” 66H “C” 39H“5” 6DH “d” 5EH“6” 7DH “E” 79H“7” 07H “F” 71H表 2-1 字形码表(2)由于显示的数字 0 9 的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。这样我们按着数字 09 的顺序,把每个数字的笔段代码按顺序排好!建立的

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

当前位置:首页 > 学术论文 > 毕业论文

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