单片机电子琴的实验报告

合集下载

电子琴的实验报告

电子琴的实验报告

电子琴的实验报告 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】单片机课程设计设计题目电子琴指导老师:苏参与实验者: moxiaoxiao专业:统本电信0801地点:3#楼北楼605电子琴一.设计目的:(1).培养综合运用知识的能力(2).朋友查阅资料,使用工程设计标准及编写设计文档的能力.(3).掌握单片机应用系统的设计方法.(4).提高计算机绘图能力二.设计任务:利用DP51PROC实验系统上的定时器/计数器,按键和蜂鸣器单元。

用单片机I/O口线控制蜂鸣器发出不同的音调,程序检测按键状态,7个按键中某一键按下时,蜂鸣器对应标称音阶.三.设计与调试环境KEIL uVision2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的 MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM ,汇编和 C 语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

1:按下面的步骤建立一个项目:图 1-4 选取芯片图 1-5 新建程序文件(1)点击图1-5 中的 3 保存新建的程序,也可以用菜单 File-Save 或快捷键 Ctrl+S 进行保存。

因是新文件所以保存时会弹出类似图1-3 的文件操作窗口,我们把第一个程序命名为,保存在项目所在的目录中,这时程序单词有了不同的颜色,说明 KEIL 的 C 语法检查生效了。

如图1-6 鼠标在屏幕左边的 Source Group1 文件夹图标上右击弹出菜单,在这里可以做项目中增加减少文件等操作。

我们选“Add File to Group‘SourceGroup 1’”弹出文件窗口,选择刚刚保存的文件,按 ADD 按钮,关闭文件窗,程序文件已加到项目中了。

这时在 Source Group1 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。

北邮,单片机,实验报告,电子琴

北邮,单片机,实验报告,电子琴

北邮,单片机,实验报告,电子琴北邮单片机实验报告简易电子琴2014年小学期单片机设计实验报告题目:基于单片机的电子音乐发生器班级:班内序号:实验组号:学生姓名:指导教师:基于单片机的电子音乐发生器实验摘要此次本组制作的基于PIC单片机的电子音乐发生器是具有LCD显示屏提示的音乐简单演奏、播放、存储等功能的演示作品,拥有以下4种功能:1.按键演奏:即“电子琴”功能,可以用键盘上的“1”到“A”键演奏从低音sol到高音do等11个音;2.点歌功能:即按动“B”“C”键分别演奏两首乐曲(可以表现准确的音高和音长)。

3.存储音乐功能:即按右下角“F存储”键,然后按键演奏并存储,随后按“E”键结束,之后按“D键”就可以播放存储的乐曲了;4.液晶显示功能:即在开始时显示“hello!”,在点播时分别显示“song b”、“song c”,在存储时显示“saving”。

电子音乐发生器采用以Microchip公司的PIC16F877芯片为核心的简单控制系统,外部电路连接有喇叭、键盘、LCD液晶显示屏以及其他必要系统调节元件。

软件设计中涉及PORTB\PORTC\PORTD\PORTE用作普通数字I/O脚功能。

本实验用单片机PORTB\D接收来自键盘输入的指令信息,由此确定LCD液晶屏幕显示以及喇叭播放内容,再通过PORTC\D\E输出声音或字幕信息。

关键字单片机——microcontroller芯片——CMOS chip音乐发生器——music generator 分频——fractional frequency 一、实验论证与比较本设计的核心器件是单片机芯片和音频功放芯片。

单片机采用以Microchip公司的PIC16F87X系列中的PIC16F877芯片为核心构建简单控制系统,它完全可以满足本设计功能的需要。

此音乐发生器设计利用单片机的输入输出功能,当按下播放功能键时,单片机的输出功能使外部电路连接的喇叭和LCD液晶显示屏同时播放声音及显示文字,从而实现各种复杂音乐播放器的功能。

51单片机设计电子琴报告含代码

51单片机设计电子琴报告含代码

电子琴设计报告一、实验目的1.更深刻的了解、学习8051单片机的发声原理,利用定时器可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。

2.其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,所以发出不同频率的脉冲。

3.进一步熟悉定时器的编程方法和定时初值的计算,进一步熟悉键盘扫描电路的工作原理和编程方法,了解单片机芯片的接口技术。

二、实验要求1.能够通过键盘演奏音符。

2.能够保存演奏的音乐,并实现回放。

3.有音调调整功能(如:C调,G调)。

4.自由发挥其他功能。

5.要求有单片机硬件系统框图,电路原理图,软件流程图。

三、实验基本原理简易电子琴有主控、蜂鸣器、键盘输入、电源四部分组成。

主控部分以AT89S52 为核心,用C 语言编程,充分运用AT89S52 的8k字节闪烁可编程可擦除只读存储器及其丰富的I/O 口,实现了对键盘数据的采集,和对蜂鸣器声音的控制;键盘输入部分采用4×4的键盘键盘输入,可以实现多个音调;供电部分可对整个电路进行供电。

经测试,整机基本实现预计功能,可以实现键盘演奏音符、调整音调、保存并回放的功能。

四、实验设计分析根据实验所要求实现的功能设计实现该项实验设计的软件电路及硬件电路。

五、实验要求实现A.电路设计1. 整体设计计划利用AT89S52 单片机的功能结合C 语言编程,实现电子琴播放音符等的简单功能,然后结合AT89S52 单片机的控制功能,利用蜂鸣器将输入表达出来,结合程序编制过程中,对各个I/O 的利用设置了键盘的扫描读入,结合电子琴需要多键位的现实,加入了4×4 键盘输入,达到了预期的效果。

2.分块设计1.控制模块AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

单片机小制作报告电子琴-5页精选文档

单片机小制作报告电子琴-5页精选文档

单片机电子琴制作报告这是一款采用89S52单片机控制的8键简易电子琴,用到了单片机定时器和键盘的知识。

一、功能说明:由单片机的P1.0口输出音频信号,在P1.0口接三极管以驱动扬声器喇叭。

P2口连接8个一端接地的按键做为输入,可以连接8只10K的电阻至电源做为上拉电阻(也可以不加)。

P2.0至P2.7依次为Do、Re、Mi、Fa、So、La、Si、Do(高音)。

二、软件仿真:1、先用proteus软件做出仿真电路原理图。

(带上拉电阻时原理图)(无上拉电阻,总线结构原理图)(运行中的原理图)2、再用keil软件编辑汇编代码,联机进行仿真功能的检验。

(keil与proteus联机仿真中)三、汇编代码:BUZZ EQU P1.0ORG 0000HLJMP MAINORG 000BHLJMP INT_T0ORG 0100HMOV 30H,#00MOV 31H,#00MOV P1,#0FFHMOV TMOD,#01HSETB ET0SETB EACLR TR0START: MOV R0,P2CJNE R0,#0FFH,KEY1CLR TR0SJMP STARTKEY1: CJNE R0,#0FEH,KEY2MOV 30H,#0FBHMOV 31H,#0E9HLJMP SET_TIMERKEY2: CJNE R0,#0FDH,KEY3MOV 30H,#0FCHMOV 31H,#5CHLJMP SET_TIMERKEY3: CJNE R0,#0FBH,KEY4MOV 30H,#0FCHLJMP SET_TIMERKEY4: CJNE R0,#0F7H,KEY5MOV 30H,#0FCHMOV 31H,#0EFHLJMP SET_TIMERKEY5: CJNE R0,#0EFH,KEY6MOV 30H,#0FDHMOV 31H,#045HLJMP SET_TIMERKEY6: CJNE R0,#0DFH,KEY7MOV 30H,#0FDHMOV 31H,#92HLJMP SET_TIMERKEY7: CJNE R0,#0BFH,KEY8MOV 30H,#0FDHMOV 31H,#0D6HLJMP SET_TIMERKEY8: CJNE R0,#7FH,NOKEY MOV 30H,#0FDHMOV 31H,#0FBHSET_TIMER:SETB TR0SJMP STARTNOKEY: CLR TR0SJMP STARTINT_T0: MOV TH0,30HMOV TL0,31HCPL BUZZRETIEND四、实物图希望以上资料对你有所帮助,附励志名言3条:1、生气,就是拿别人的过错来惩罚自己。

单片机电子琴实训报告

单片机电子琴实训报告

一、实训目的1. 熟悉单片机的基本原理和编程方法。

2. 学习电子琴的原理和结构。

3. 掌握基于单片机的电子琴设计方法。

4. 培养动手实践能力和创新意识。

二、实训内容1. 单片机原理与编程2. 电子琴原理与结构3. 单片机电子琴设计4. 单片机电子琴制作与调试三、实训过程1. 单片机原理与编程在实训初期,我们学习了单片机的基本原理和编程方法。

单片机是一种集成了CPU、存储器、输入/输出接口等功能的微型计算机,具有体积小、功耗低、成本低等特点。

我们学习了51系列单片机的结构、指令系统、程序设计方法等。

2. 电子琴原理与结构电子琴是一种通过电子电路发出不同音阶声音的乐器。

我们学习了电子琴的原理和结构,包括音源模块、键盘模块、音量控制模块等。

3. 单片机电子琴设计在设计阶段,我们根据所学知识,设计了基于单片机的电子琴。

具体如下:(1)硬件设计电子琴的硬件主要由单片机、键盘、蜂鸣器、音量控制模块等组成。

我们选择了STC89C51单片机作为核心控制单元,键盘采用矩阵键盘,蜂鸣器用于发出声音,音量控制模块用于调节音量。

(2)软件设计软件设计主要包括以下几个部分:1)初始化:设置单片机的工作模式、初始化定时器、初始化键盘扫描等。

2)键盘扫描:检测键盘是否被按下,并读取按键值。

3)音阶生成:根据按键值计算对应的频率,通过定时器产生PWM信号,驱动蜂鸣器发出声音。

4)音量控制:根据音量控制模块的输入,调节PWM信号的占空比,实现音量控制。

5)音乐播放:存储一首或多首歌曲,通过键盘控制播放、暂停、停止等操作。

4. 单片机电子琴制作与调试在制作阶段,我们根据设计方案,搭建了电子琴的硬件电路,并编写了相应的程序。

在调试过程中,我们遇到了以下问题:(1)键盘扫描不稳定:经过分析,发现是由于按键抖动引起的。

我们通过软件去抖动的方法解决了这个问题。

(2)音阶不准确:经过分析,发现是由于定时器设置不当引起的。

我们调整了定时器的计数值,使音阶更加准确。

电子琴实习报告

电子琴实习报告

电子琴实习报告篇一:电子琴设计实习报告单片机原理与应用技术课程设计报告基于单片机的电子琴控制系统专业班级:* 姓名:*时间:~指导教师:*XX年 1月 10日基于单片机的电子琴控制系统课程设计任务书1.设计目的与要求设计出一个基于单片机的电子琴控制系统。

准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)实现基本的音符1-7的弹奏和数码显示。

(2)自动弹奏播放一首简单的歌曲。

(3)随机弹奏曲子时,可以实时记忆,并可复读(重复播放)。

(扩展功能,可选择设计)2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH 文件生成与打印输出。

3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩在规定时间内,完成叙述并回答问题。

基于单片机的电子琴控制系统班级:* 姓名:*摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,采用半导体集成电路,对乐音信号进行放大,通过扬声器产生音响。

用户可以自己弹奏乐曲,也可以自动伴奏。

单片机具有强大的控制功能和灵活的编程实现特性,便于设计各种以单片机为核心的控制系统。

本课程设计是用AT89S51单片机为核心控制元件,用其他外围电路配合单片机组成一个简单的电子琴控制系统,能实现音乐弹奏,自动播放音乐等功能。

本系统功能由单片机控制实现,具有运行稳定,电路简单,软件功能完善,控制系统可靠等特点。

关键词:电子琴,单片机,外围电路,系统分析,汇编程序,仿真,PCB,调试1 引言本次设计的电子琴控制系统由单片机最小系统加上按键电路,数码显示电路,声音播放电路组成,通过单片机内烧写的汇编程序来输出控制信号控制外围电路的工作。

电子琴设计不同于其他设计,需要输出1到7七个不同音阶的声音,因此信号的输出有其特殊性,可以利用单片机定时计数器产生不同频率的方波信号来形成七个不同的音阶,不同音阶的组合就能输出我们想要的音乐了。

单片机实验报告_电子琴

单片机实验报告_电子琴

随着科技的飞速发展,单片机技术已成为现代电子技术的重要分支。

为了更好地学习和掌握单片机编程及应用,我们设计并实现了一款基于单片机的简易电子琴。

本实验旨在通过设计一个简易电子琴,让学生深入了解单片机的原理和应用,提高动手实践能力。

二、实验目的1. 掌握单片机的基本原理和编程方法。

2. 学会使用定时器、中断、键盘扫描等技术。

3. 了解电子琴的工作原理和制作方法。

4. 培养学生的创新意识和团队协作能力。

三、实验原理本实验采用STC12C5A32S2单片机作为核心控制单元,通过定时器产生方波信号,驱动蜂鸣器发出不同频率的声音,实现电子琴的演奏功能。

具体原理如下:1. 单片机原理:STC12C5A32S2单片机是一款高性能、低功耗的单片机,具有丰富的片上资源,如定时器、中断、串口等。

2. 定时器:定时器用于产生固定频率的方波信号,驱动蜂鸣器发出不同频率的声音。

通过调整定时器的计数值,可以改变方波信号的频率,从而改变音调。

3. 中断:中断技术用于实现按键扫描功能。

当按键被按下时,单片机响应中断,读取按键状态,并产生相应的音调。

4. 键盘扫描:键盘扫描技术用于检测按键状态。

通过扫描键盘矩阵,可以判断哪个按键被按下,并产生相应的音调。

四、实验内容1. 硬件设计:主要包括单片机、蜂鸣器、键盘、电阻、电容等元器件。

将元器件按照电路图连接,形成电子琴的硬件电路。

2. 软件设计:主要包括主程序、定时器中断服务程序、按键扫描程序等。

通过Keil C编程,实现电子琴的演奏功能。

3. 调试与测试:对电子琴进行调试和测试,确保其能够正常工作。

1. 搭建电路:按照电路图连接元器件,形成电子琴的硬件电路。

2. 编写程序:使用Keil C编写主程序、定时器中断服务程序、按键扫描程序等。

3. 编译程序:将编写好的程序编译成HEX文件。

4. 烧录程序:将编译好的HEX文件烧录到单片机中。

5. 调试与测试:使用万用表测试电路是否正常工作,并对程序进行调试,确保电子琴能够正常演奏。

实验一 多功能电子琴实验报告

实验一 多功能电子琴实验报告

题目: 多功能电子琴设计课程: 复杂电子线路综合设计专业: 电子信息科学与技术班级: 电子信息学号:姓名:指导老师:完成日期:目录1.引言************************************************************************12.设计要求*************************************************************1 2.1基本功能******************************************************12.2扩展功能******************************************************13.设计方案********************************** *************************13.1多功能电子琴的功能介绍*********************1 3.2 电子琴的主要硬件电路*************************13.2.1 矩阵键盘***********************************************13.2.2复位电路*************************************************23.2.3功放电路**************************************************23.2.3.1 386概述***************************************23.2.3.2 386特性*************************************** 23.3 软件系统设计**********************************************34.设计成本**************************************************************45.方案样品测试***************************************************45.1技术参数*********************************************************46.使用说明**************************************************************47.设计的最终结果***********************************************51.引言由于单片机有丰富的I/O口资源, 每个I/O口除了可以做普通的输出/输入功能外, 还具有第二功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

姓名:班级:学号:小班学号:同组姓名:电子邮件:实验课题:基于AVR单片机电子琴的制作实验日期:2013.09.02—2013.09.15目录:一、实验简介1.1实验目的 (4)1.2实验关键词 (4)1.3基础知识 (4)二、实验器材2.1核心部件:ATmega16单片机 (5)2.2电路元件 (6)2.3管脚说明 (6)三、实验原理3.1实验原理图 (7)3.2实验流程图 (8)3.3实物效果图 (8)四、操作过程与运行结果4.1操作过程示意图 (9)4.2电子琴系统主要部分 (11)4.3具体操作过程 (11)4.4运行结果 (12)五、实验中的排错、体会与建议5.1调试与排错过程 (12)5.2体会与建议 (14)5.3小组分工 (15)5.4参考文献 (15)六、附录6.1流水灯实验 (16)6.2蜂鸣器实验 (17)6.3秒表实验 (18)6.4简易交通灯实验 (25)6.5电子琴源代码 (30)一、实验简介1.1实验目的通过设计一个模拟电子琴系统熟悉ATmega16单片机的使用及其基本功能。

使其能够通过键盘控制实现播放预存音乐,弹奏、储存弹奏音乐,变速播放,暂停及继续播放,停止播放功能。

1.2实验关键词按键检测预存播放弹奏储存变速暂停停止1.3基础知识声波是振动产生的。

频率即表示每秒钟振动的次数,采用CTC方式时avr 单片机通过特定的端口(PD4及PD5)输出一定频率的方波,TCCR1A设为比较匹配时OC1A/OC1B电平取反,TCCR1B的计数上限为OC1A,根据公式OCnA=f/2N(1+OCRnA)计算出7个频率音阶所需的OCR1A,则只需将喇叭接在PD4或PD5,通过程序控制端口输出特定频率的方波波形(发声使用正弦波最好,方波效果稍次但影响不大),喇叭就会发出七种不同的声音,依照人听觉分辨7个音阶分为三组,分别为高,中,低音阶频率,经计算可得,当OCR1A=(8000000/musicmem[i]-1)时,{131,147,165,175,196,220,247}存放低音阶频率,{262,294,330,349,392,440,494}存放中音阶频率,{524,588,660,698,784,880,988}则存放高音阶频率,所以需要定义三个数组存放各音阶的频率值。

除了音符频率以外还需要音长,所以定义两个数组表示一段音乐,第一个表示频率,第二个表示音长,播放时先访问频率数组,使喇叭发声,之后访问音长数组,确定喇叭发声时间。

而有了音符频率数组,只要再得到任意一首歌的简谱,就可以将其转化为两个数组的形式,由音符对应的频率得出频率数组,然后再根据每个音符的音长,将其通过乐曲的节拍和音符的拍数计算出音符持续时间即可得出音长数组。

下面我们举例来看《两只老虎》的简谱:图一《两只老虎》简谱图①音符数组为:uint sound[32] = {262,294,330,262,262,294,330,262,330,349,392,330,349,392,392,440,392, 349,330,262,392,440,392,349,330,262,294,196,262,294,196,262};②音长数组为:uint time[32] = {500,500,500,500,500,500,500,500,500,500,1000,500,500,1000,375,125,375,125,500,500,375,125,375,125,500,500,500,500,1000,500,500, 1000};二、实验器材2.1核心部件:ATmega16单片机图二 ATmega16单片机外观图图三 ATmega16单片机引脚图2.2电路元件2.3管脚说明(1)4*4键盘:接PA0~PA7端口。

(2)LED灯:黄灯(接PC1端口),绿灯(接PC0端口),红灯(接PD7端口)。

(3)数码管:接PB0~PB3端口,PB5~PB7端口。

(4)扬声器:“+”接PD5端口,“—”接AGND。

三、实验原理3.1实验原理图红绿黄3.1.1原理简单说明单片机输出频率CTC不同的信号来产生各种音符,将歌曲各个音符转化成相应的数字信号,存放在单片机程序寄存器中,当播放音乐时,程序从该寄存器里读取数据,然后以CTC信号的模式实现放音乐的功能。

3.2实验流程图3.3实物效果图int main()程序入口init()初始化 8段数码管发声、播放速度、按键PORTB = 0b11111111;数码管初始化为8 PORTD |=(1<<7); 红灯亮player(&sound,&time,15); 播放《一千年以后》Keyscan();C:play()弹奏和储存B:播放《倔强》四、操作过程与运行结果4.1操作过程示意图4.1.1子程序操作过程分别演示(1)按键操作原理(2)弹奏模式(3)播放模式4.2电子琴系统主要部分共分为五大部分:(1)ATmega16单片机(2)4*4键盘(3)LED显示灯(4)数码管(5)扬声器4.3具体操作过程(1)键盘区:数字1~7代表7个音符,8代表曲子加速播放,9代表曲子减速播放,0代表曲子恢复原速播放。

另外,B、F可以进入演奏模式:按B可以播放我们预存的曲子一,按F可以播放预存曲子二。

C、D、E分别代表L大调、C大调、H大调。

按键C还有另一个功能:按下它可以进入弹奏模式,可以自己弹奏一曲(音符默认为L大调),弹奏完后按F可以播放自己先前弹奏的音符,有存储的功能。

除此之外,2键有暂停的功能,3键有继续的功能,实现曲子的暂停与继续播放。

1键有停止的功能,实现模式之间的转换,如从演奏模式转入弹奏模式。

最后,在我们按1~7七个音符时,数码管会给予相应的数字显示,按下A键有清屏的功能。

(2)LED灯显示区:共有红、黄、绿三个灯。

红:电子琴整个开启的过程中,红灯一直保持亮的状态,代表电子琴处于工作状态。

红、绿:代表电子琴进入演奏模式,可以播放预存曲子。

红、黄:代表电子琴进入弹奏模式,可以任意弹奏音符。

(3)数码管:在播放预存曲子时,显示为数字8。

起到预先测定电子琴工作状态是否正常的作用。

既不是演奏模式又不是弹奏模式时,显示为数字0,等待下一步按键。

进入弹奏模式后,显示按下音符所代表的数字。

(4)整体操作过程(如视频中):通电后,红灯亮,代表电子琴进入工作模式;同时自动播放储存音乐,数码管显示为8,代表工作正常。

按下B键进入演奏模式,此时红绿灯亮;电子琴播放预存曲子一,按下2键曲子暂停,再按下3键曲子继续播放;按下1键就跳出了演奏模式,等待下一步指示。

然后我们再次按下B键播放曲子,以测试8、9、0键的作用。

如视频中所示,8键曲子播放速度加快,9键速度变慢,0键回到正常速度。

紧接着我们按下C键进入弹奏模式,此时红黄灯亮;在弹奏了一串音符后,按下F键可以播放我们刚才弹的音乐,同时数码管显示相应音符。

在弹奏音符时,按下A键有数码管清屏的作用。

在键盘未接收到任何指示时,数码管显示为0。

以上为电子琴的整个工作过程。

4.4运行结果图四电子琴工作状态图如视频中所示,一切运行正常。

五、实验中的排错、体会与建议5.1调试与排错过程(1)在此次实验过程中,我尝试过采用ICC AVR 7作为编译软件。

同样在AVRStudio 4软件(GCC环境)中编译成功的代码在ICC环境下却不能编译成功。

出现了cannot include source file”avr/io.h”;file not found的error。

在问过老师后,将头文件中的<avr/io.h>换成<iom16v.h>后编译成功。

原来<avr/io.h>是GCC环境下的头文件,<iom16v.h>是ICC环境下的头文件,二者发挥同等作用。

(2)实验开始前期有点无从下手,在设计好了大的框架后开始着手分块写程序。

最初的问题是4*4键盘的使用,首先通过资料等学习了4*4键盘的原理和内部结构,接下来写了单段的键盘测试代码。

如下:switch(key){case 0XEE : key=0; break;case 0XDE : key=1; break;case 0XBE : key=2; break;case 0X7E : key=3; break;case 0XED : key=4; break;case 0XDD : key=5; break;case 0XBD : key=6; break;case 0X7D : key=7; break;case 0XEB : key=8; break;case 0XDB : key=9; break;case 0XBB : key=10; break;case 0X7B : key=11; break;case 0XE7 : key=12; break;case 0XD7 : key=13; break;case 0XB7 : key=14; break;case 0X77 : key=15; break;default : key=16; break;}(3)在用8段数码管做秒表和交通灯实验时,我们首先对数码管各段控制显示的部分进行了测试,依此完成了0~9数字的代码表示。

在组内成员分别进行代码的编写时,我们统一了数字表示代码和端口的使用,这样在实验板交替下载时,保证不用更改端口设置,节省了时间。

(4)在进行代码的编写时,我们注意了除循环变量i、j外,其他变量都尽量不重名,以防调用的函数里面的局部变量和主函数的局部变量名相同下载后有时会有BUG。

同时,编写单个功能时是直接调用主函数的,但是多功能共同实现时需要将单个功能的部分封装起来,使主函数简短,执行过程明确,同时减少可能的逻辑错误。

通过观看老师给我们的视频资料,决定采用CTC模式产生方波作为音频信号输出。

(5)在基本完成代码的整个部分时,编译没有错误,下载到实验板上出现了扬声器一直无规律振动不停止,发声不正常的现象,发出了类似于蜜蜂“嗡嗡”的声音,而非预存的音乐。

开始我们认为是代码中频率设置不合理,在把L、C、H 大调都提高频率设置后,依然出现上述现象。

之后我们怀疑是硬件的问题,我们借来其他组的实验板重新进行下载,结果扬声器发音正常了,播放出了预存的音乐,而且还能进行弹奏。

于是我们跟老师反映了情况,换了一个实验板,这才运行正常。

5.2体会与建议在之前的实验中,我们从来没有接触过AVR单片机。

通过老师给我们的学习资料,我了解了单片机的原理及应用,其中比较重要的部分包括AVR单片机IO口的配置、延时函数、扫描频率、键盘的作用和检测原理以及如何消抖、中断与定时器的原理和应用等等。

相关文档
最新文档