北邮,单片机,实验报告,电子琴
北邮 2013年小学期单片机设计实验报告 音乐发生器

2011211118班24号史婧聪单片机设计实验报告2013年小学期单片机设计实验报告题目:电子音乐发生器班级:班内序号:实验组号:学生姓名:指导教师:2011211118班24号史婧聪单片机设计实验报告2011211118班24号史婧聪单片机设计实验报告电子音乐发生器实验摘要我们小组制作的电子音乐发生器涵盖存储音乐播放、键盘演奏、录音三个基本功能。
在功能设计上分为四个模块:液晶屏显示模块、键盘模块、音乐发生模块、录音模块。
四个模块首先独立编程再进行整合连接。
整个系统中,音乐发声部分采用了Microchip公司的PIC16F877芯片实现,采用PORTD 作为控制液晶屏显示的端口,用PORTB和PORTD作为控制键盘操作的端口,用PORTC6作为控制蜂鸣器发声的端口。
录音模块采用的是ISD4002语音芯片,结合单片机中SPI串行通信实现的。
概括来说,本实验采用单片机接受用户指令来控制各个模块,达到音乐播放、键盘演奏、录放音的功能。
A b s t r a c tThe electronic music generator that our group made accomplishes the following three basic functions: music storage, music playing and sound recording. The functional design can be separated into four main modules: the liquid crystal display module, the keyboard module, the music producing module and sound recording module. The four modules were at first programmed independently and integrated later.In this system, the sound production module is based on PIC16F877 produced by MICROCHIP company. We use PORTD as the port to control the LCD display module, PORTB and PORTD as the port to get the input from the keyboard, and PORTC6 to control the sound of the buzzer phone. When it comes to the tape recording module, we use ISD4002 chip, combined with SPI serial communication enbeded in the PIC16F877.In general, the music generator use the mmicrochip to get the user’s instructions and bring them to relevant modules and accomplish the functions of music storage, music playing and sound recording.关键字单片机——microcontroller 液晶屏显示——LCD display2011211118班24号史婧聪单片机设计实验报告键盘——key panel 发声——sound production录音——recording SPI串行通信——SPI serial communication一.实验论证与比较1.液晶屏显示模块在整个程序中,液晶屏用于为用户显示说明及指令,实现交互可视性。
单片机创新实验报告--基于单片机的电子琴电路设计

Liaoning Normal University开放实验室项目研究论文题目:基于单片机的电子琴电路设计学院:物理与电子技术学院专业:电子信息工程班级序号:学号:学生姓名:指导教师:2011年12月基于单片机的电子琴电路设计学生:指导教师:物理与电子技术学院电子信息工程专业2009级摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89c51 单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16 个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:电子琴; AT89C51;编程;可控前言随着大规模集成电路的出现和发展,芯片生产厂家把中央处理器CPU,随机存取内存RAM,只读存储器ROM,定时器/计数器以及I/O接口电路等主要计算机部件,集成在一块集成电路芯片(硅片)上,形成芯片级计算机,称为单片微型计算机,直译为单片机。
单片机虽只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义,又称微型处理部件MCU(Micro Controller Unit),单片机商品名称为微控制器单元。
虽然单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。
目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。
单片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。
简易电子琴实验报告

简易电子琴实验报告引言:本实验旨在设计和制作一台基于微控制器的简易电子琴,通过按下不同键盘上的按键产生不同音调,从而实现音乐的演奏。
电子琴采用的主要器件为微控制器、音频发声模块以及按键电路。
一、实验目的1.学习和理解数字音乐技术的基本原理;2.掌握微控制器的编程方法和音频发声的实现技术;3.熟悉电子琴的工作原理和设计过程。
二、实验器材1. 单片机:Arduino Uno;2.音频发声模块;3.面包板;4.按键;5.电阻、电容等元件;6.连线和连接器。
三、实验步骤1. 将Arduino Uno连接至音频发声模块,确保连接正确并稳定。
2.在面包板上连接按键电路,将按键与单片机的引脚相连。
3. 编写Arduino Uno的程序,实现按键按下时的音调发声。
4.上电,并测试按键是否能够产生正确的音调。
四、实验结果经过实验得到的结果如下:1.按下不同按键,电子琴会产生不同的音调。
2.通过改变程序中相应按键的频率值,可以调整音调的高低。
五、实验分析1.通过对单片机的编程,实现了按键按下时的音调发声,成功地实现了电子琴的基本功能。
2.实验中使用了音频发声模块,利用其内置的DAC(数字模拟转换器)实现了数字音频信号的模拟输出。
六、实验总结和心得体会通过本次实验,我对电子琴的工作原理和设计过程有了更深入的了解。
学习和掌握了单片机的编程方法和音频发声的实现技术,提高了我的实验能力和动手能力。
同时,也对数字音乐技术有了初步的认识。
在今后的学习和工作中,我将继续深入研究和应用这些知识,为电子音乐的发展做出自己的贡献。
51单片机激光电子琴焊接实训报告

51单片机激光电子琴焊接实训报告
这次电路板焊接实习就是培养我们的动手能力,电子技术实习就要我们对电子元器件识别,相应工具的操作,相关仪器的使用。
对理论知识有了更深的理解,对平常学习工作的态度和能力培养有一定的认识,打好日后深入学习各种工作能力的基础。
在实习中,我锻炼了自己的动手技巧,提高了自己解决问题的能力。
比如做电路板组装与调试时,芯片触角的间距特别小,稍不留神,就焊在一起了,这就是在考验自己,所以我很认真的对待这些,争取做到一个错误都不出现。
通过十多天的实习,我觉得我在以下几个方面都有很大的提高:对电子工艺的理论有了初步的了解。
我了解到如何焊接普通元件与单片机电路的焊接与组成元件的作用等。
这些在以后的学习中有很大的启发作用,而且我学到了很多课堂上学不到的技巧和知识,了解了理论与实践的重要性,对自己在以后的学习和生活都有很大的意义。
最后,感谢老师给我们这次实习的机会,也感谢老师指导和带领我们参加这次实习,在这里真诚的说—句:老师,您辛苦了。
北邮数电实验报告-钢琴游戏

北京邮电大学数字电路与逻辑设计实验报告实验名称:简易钢琴游戏院系:电子工程学院专业:班级:姓名:学号:班内序号:一、实验任务及要求任务:设计制作一个简易钢琴游戏机。
基本要求:1、用8*8点阵进行游戏显示。
2、BTN1~BTN7七个按键模拟钢琴演奏时的“1 2 3 4 5 6 7”七个音符。
点阵的第一列对应音符“1”,第二列对应音符“2”,依次类推,地中高音自定。
3、光点在点阵第一行随机出现,逐点下落,下落速度为0.2秒/行。
如下图:4、在光点下落到点阵最后一行之前的过程中,如果按下与该列点阵相应的音符键,该光点消失,蜂鸣器演奏相应的音符声音,计分器加1。
如果在光点下落到最后一行依然没有进行相应的按键操作,该光点消失,计分器不加分。
计分器由数码管显示。
5、每隔1秒在点阵的不同列的第一行出现一个光点,如下图:6、游戏时间为30秒,数码管倒计时显示。
二、系统设计1、设计思路:简易钢琴游戏主要分为五个单元模块和一个连接模块:Divf:分频模块。
分出1hz,5hz,440hz,5Mhz等用于控制光点的下落、随机数的产生、30秒倒计时、点阵和数码管的扫描及产生其他频率的信号。
Buzz:蜂鸣器模块。
根据声音的不同频率,细化出对应“1 2 3 4 5 6 7”的七种频率,并与相应的按键对应。
Display:数码管模块。
将6段数码管分为两部分,分别控制倒计时和计分,加以扫描和控制。
LED:点阵模块。
控制光点的出现、随机数的产生、光点的换行,加以扫描和控制。
Main:主控制模块。
将每个主要模块之间的输入输出通过数学关系联系到一起。
比如:复位之后点阵和数码管都要重新启动;倒计时30秒结束后点阵关闭,计分器不再计分等。
Pianogame:用COMPONENT代码将每个模块联系起来的顶层程序。
2、系统结构框图3、点阵模块控制框图4、数码管模块控制框图5、模块间信息传递关系6、系统控制模块流程图7、状态转移图1、分频模块仿真:分析:在源代码中,分频系数高达50~500000,无法在仿真波形中体现出来。
生产实习报告材料 -单片机电子琴

1基础部分1.1设计任务按照给定电路原理图,进行单片机最小系统的焊接:包括单片机、开关、插排、复位电路和晶振电路,正确焊接后,电路可以进行程序的下载。
设计并焊接简单外围电路,包括:LED 与独立按键、蜂鸣器、双位数码管。
使用汇编或 C 语言编写程序,使本电路完成以下功能:LED 跑马灯、双位数码管对应计数,方式一(始终一个方向)、方式(左右循环),可准确确定周期 T。
每次第一个 LED 亮起的时候蜂鸣器响一声(t 秒)提示。
按键控制:一共三个按键分别实现以下功能暂停:检测该按键有效按下后,LED 和数码管暂停,再次检测按键按下后,继续执行当前循环;复位:检测该按键有效按下后,LED 和数码管归零重新开始以当前模式循环;模式转换:正常运行状态,检测该按键有效按下后,数码管显示不变,LED 显示从当前方式转换成另一方式继续执行。
1.2设计思路先设计好外围电路模块的原理图。
根据自己的板子的实际情况安排布线并依据原理图进行焊接。
再设计程序流程图,分别编写简单程序调试各个外围电路是否可以正常工作。
学习使用单片机程序开发环境,编译下载程序等。
比如:单独的跑马灯;双位数码管按秒计数;蜂鸣器 1s 一响;按键控制LED 点亮(8 个按键对应 8 个 LED)。
设计程序运行的状态图以及程序流程图,编写程序代码并调试。
1.5器件清单表1-1 器件清单(1)器件名称实物图片数量器件名称实物图片数量单片机STCS90C52RC 1 四角按键开关 4单排插针(4针) 1 六角自锁开关130pF瓷片电容2 10KΩ电阻 1晶振11.0592M1 导线若干10uf电解电容1 万能版 1 编程接口板 1 杜邦线 4 40脚IC座 1 LED(红色)8 双位数码管 1 三极管8050 3 1KΩ电阻14 排阻 11.6程序流程图图主程序流程图图数码管子程序1.7程序代码#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar code leds1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //P0口控制8位LEDuchar code leds2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd};sbit le1=P3^5; //左边数码管位选sbit le2=P3^4; //右边数码管位选sbit feng=P3^7; //蜂鸣器控制位sbit key1=P2^0; //模式切换sbit key2=P2^1; //暂停和开始sbit key3=P2^2; //功能复位uint ti,count,shi1,ge1,k;uint flag=1;void delay() //延时固定时间{ int i,j;for(i=500;i>0;i--)for(j=100;j>0;j--);}void delayms(uint ms) //延时ms毫秒{int i,j;for(i=ms;i>0;i--)for(j=110;j>0;j--);}void keyscan(){if(key2==1){delayms(10);if(key2==1){while(key2) ;TR0=!TR0;P2=0x00;}}if(key1==1){delayms(10);if(key1==1){while(key1) ;flag=!flag; //flag=1为默认模式1,为0为模式2P2=0x00;}}if(key3==1){delayms(10);if(key3==1){while(key3);count=0;P0=0xfe;}}}void init(){P0=0xfe; //二极管P2=0x00; //按键le1=0;le2=0;feng=0;TMOD=0x01; //设置定时器1工作模式设置T0/T1 TH0=(65536-45872)/256; //给定时器装入初值TL0=(65536-45872)%256;EA=1; //打开中断ET0=1; //打开定时器中断TR0=0;}void display(uint shi,uint ge) //数码管扫描{ uint i,j;i=shi;j=ge;le1=0;le2=0;P1=table[i];le1=1;delayms(10);le1=0;P1=table[j];le2=1;delayms(10);}int main(){init();while(1){if(feng==1&&TR0==0&&k==0){delay();feng=0;}shi1=count/10;ge1=count%10;keyscan();display(shi1,ge1);}}void timer() interrupt 1{TH0=(65536-45872)/256; //定时时间为1s,公式TL0=(65536-45872)%256;ti++;if(ti==20) //每累加到20的时间为1秒{ti=0; //ti标志置0count++;if(count==100)count=0;if(flag==1){k=count%8;P0=leds1[k];if(k==0)feng=1;elsefeng=0;}else{k=count%14;P0=leds2[k];if(k==0)feng=1;elsefeng=0;}}}2提高部分2.1设计任务在基础项目的前提下设计电子琴,让电子琴可以播放简单的歌曲,可以用按键进行简单的弹奏。
微机实验电子琴实验报告(3篇)

第1篇一、实验目的1. 理解微机原理与接口技术的基本知识,掌握8086CPU的工作流程以及对外设的响应机制。
2. 学习可编程并行接口8255A、译码器74LS138、定时/计数器8253等接口器件的编程方法,以及CPU对外设的读写控制。
3. 理解整个计算机系统的工作方式和流程,提高动手实践能力。
二、实验内容本实验旨在利用8086CPU、8255A并行接口、74LS138译码器、8253定时/计数器等器件,设计并实现一个简易电子琴。
三、实验原理1. 8086CPU:作为电子琴的核心控制单元,负责处理按键输入、控制音调输出等任务。
2. 8255A并行接口:用于连接键盘、数码管等外围设备,实现数据的输入输出。
3. 74LS138译码器:将键盘的编码转换为CPU可识别的信号。
4. 8253定时/计数器:用于产生不同频率的方波信号,驱动蜂鸣器发出不同音调。
四、实验步骤1. 搭建电路:根据实验原理图,连接8086CPU、8255A、74LS138、8253等器件,并确保连接正确。
2. 编程实现:- 编写程序,实现按键扫描功能,读取键盘输入。
- 根据键盘输入,控制8253定时/计数器产生相应频率的方波信号。
- 将方波信号放大后驱动蜂鸣器发声。
- 利用数码管显示当前播放的音调。
3. 调试与测试:运行程序,测试电子琴的功能,确保按键输入与音调输出一致。
五、实验结果与分析1. 实验结果:成功搭建了简易电子琴电路,实现了按键输入与音调输出的功能。
2. 结果分析:- 通过实验,掌握了8086CPU的工作流程以及对外设的响应机制。
- 熟悉了8255A、74LS138、8253等接口器件的编程方法,以及CPU对外设的读写控制。
- 提高了动手实践能力,为以后的学习和工作打下了基础。
六、实验总结1. 实验收获:通过本次实验,加深了对微机原理与接口技术知识的理解,提高了动手实践能力。
2. 实验体会:实验过程中遇到了一些问题,如按键扫描不稳定、音调输出不准确等。
电子琴报告

单片机原理及应用实验报告实验名称:电子琴设计组员:实验成绩:实验日期: 2013年6月17日实验地点: 3#北604实验报告一、实验目的以51单片机最小系统为核心,通过键盘获取按键信息,运用单片机定时器等部件实现蜂鸣器发声同时用数码管同步显示,同时该系统具有播放歌曲及选取按键输入高、中、低音的功能。
二、实验原理1、利用蜂鸣器作为发声部件。
2、两个数码管作为显示部件。
3、设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。
4、大部分功能通过软件实现。
软件的结构图如下单片机键盘电路显示电路蜂鸣器电路复位电路程序流程图如下:三、系统仿真图整体仿真图:开始初始化检测中断按键音乐播放程序按键扫描程序结束Y 发声程序是否有按键按下键值判断Y动态显示放声部分按键四、心得体会看似简单的题目,实际操作中,仍旧存在很多问题,尤其是在程序中的数码管显示的模块中,和键值的计算容易出问题。
五、源码附录//*******初始化数据*****//void init(void){speaker=0;//关蜂鸣器LED1=1;//LED2=0;EA=1;//开总中断TCON=0x01;//外部中断0设置为边沿触发EX0=1;//开外部中断0ET0=1;//开定时器0中断ET1=1;//开定时器1中断TMOD=0x11;//定时器0,1工作在定时状态,均为方式1 }#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit P1_0=P1^0;sbit P1_1=P1^1;sbit P1_2=P1^2;sbit P1_3=P1^3;sbit P1_4=P1^4;sbit P1_5=P1^5;sbit P1_6=P1^6;sbit P1_7=P1^7;sbit LED1=P2^6;sbit LED2=P2^7;sbit change=P3^2;sbit high=P3^5;sbit normal=P3^4;sbit low=P3^3;sbit P2_0=P2^0;sbit P2_1=P2^1;sbit speaker=P2^2;unsigned char i;unsigned char key,yin=0;uchar m,n;bit a=0;//a为change键的键值uchar seg[]={ 0x3F,/*0*/0x06,/*1*/0x5B,/*2*/0x4F,/*3*/0x66,/*4*/0x6D,/*5*/0x7D,/*6*/0x07,/*7*/0x7F,/*8*/0x6F,/*9*/0x37,/*N*///中音0x38,/*L*///低音0x76,/*H*///高音0x79 /*E*/};//共阴极数码管code unsigned char FH[]={ 0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,//中音0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,//低音的高8位0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,};// 音阶频率表低八位code unsigned char FL[]={ 0x8E,0xED,0x44,0x6B,0xB4,0xF4,0x2D,//中音0x21,0xDB,0x87,0xD7,0x68,0xE8,0x5B,//低音的低8位0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,};code uchar star[]={1,2,3,1, 1,2,3,1, 3,4,5, 3,4,5, 5,6,5,4,3,1, 5,6,5,4,3,1, 1,12/*低音5*/,1, 1,12,1};code uchar shijian[]={4,4,4,4, 4,4,4, 4, 4,4,8, 4,4,8, 2,1,2,1,4,4, 2,1,2,1,4,4, 4,4,6, 4,4,6};void init(void);void music();void play();void seg1();void yinjie();/*********主程序*****////void main(){init();while(1){if(a==0)music();elseplay();}}//*******1ms延迟********//void delay(uint x){uint i,j;for(i=x;i>0;i--)for(j=340;j>0;j--);}//*******初始化数据*****//void init(void){speaker=0;LED1=1;LED2=0;EA=1;//开总中断TCON=0x01;//外部中断0设置为边沿触发EX0=1;//开外部中断0ET0=1;ET1=1;TMOD=0x11;//定时器0,1工作在定时状态,均为方式1}///******数码管动态显示*******/////void seg1(){P2_0=1;//关数码管1P2_1=0;//开数码管2P0=seg[n+1];//送数码管2的数据delay(15);//延时15msP2_1=1;//关数码管2P2_0=0;//开数码管1P0=seg[yin];//yin为high,normal,low的判断结果送数码管1的数据delay(15);//延时15ms}//********高低音的选择*******//////void yinjie(){if(normal==0){delay(5);if(normal==0){ yin=10;m=0;//返回10为seg[10]显示C}}if(low==0){delay(5);if(low==0){ yin=11;m=1;//返回11为seg[11]显示L}}if(high==0){delay(5);if(high==0){ yin=12;m=2;//返回12为seg[12]显示H}}if(yin==0){yin=13;}}//********外部中断0********//void inter0() interrupt 0{if(change==0){delay(5);while(change==0);a=~a;LED1=~LED1;LED2=~LED2;}}/////*******播放音乐程序*****//// void music(){TH0=FH[star[i]-1];TL0=FL[star[i]-1];while(a==0){if(i<32){TR0=1;delay(57*shijian[i]);i++;}if(i==32){i=0;}}}////*******演奏模式*****//////void play(){TR0=0;TR1=0;yinjie();P2_1=1;//关数码管2P2_0=0;//开数码管1P0=seg[yin];if(yin!=13&&a==1){if(P1_0==0){TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_0==0){ n=0;seg1();}}if(P1_1==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_1==0){ n=1;seg1();}}if(P1_2==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_2==0){ n=2;seg1();}}if(P1_3==0){TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_3==0){ n=3;seg1();}}if(P1_4==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_4==0){ n=4;seg1();}}if(P1_5==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_5==0){ n=5;seg1();}}if(P1_6==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_6==0){ n=6;seg1();}}}}//******定时器0中断******//////void timer0() interrupt 1{ TR0=0;TH0=FH[star[i]-1];TL0=FL[star[i]-1];speaker=~speaker;TR0=1;}//******定时器1中断******//////void timer1() interrupt 3{ TR1=0;TH1=FH[7*m+n];TL1=FL[7*m+n];speaker=~speaker;TR1=1;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北邮,单片机,实验报告,电子琴北邮单片机实验报告简易电子琴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液晶显示屏同时播放声音及显示文字,从而实现各种复杂音乐播放器的功能。
在嵌入式系统设计中,扬声器等是常用的输出设备,它具有使用方便、价格便宜、电路接口简单等优点,因此,在嵌入式系统中被广泛使用。
同时随着单片机的发展,其功能越来越强大,技术也越来越成熟,由此生产的音乐播放器越来越受到人们的喜爱。
因此,在技术性操作、社会因素和经济方面都具有良好的可行性。
我在实验中负责了全部软件设计,代码的编写,电路图的设计,以及部分硬件焊接。
其中,困难的部分在于,理论上认为电子音乐发生器模拟真正乐器的仿真实现方法,与现实电路实现起来有着一定的差别,在长音、乐谱存储播放上,以及存储功能的代码编写都有一定的难度。
二、系统总体设计1、系统模块总体框图2、系统整体流程图3、发音原理播放一段音乐需要的是两个元素,一个是音调,另一个是音符。
首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。
对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。
另外,音符的频率有所不同。
基于上面的内容,这样就对发音的原理有了一些初步的了解。
将相应音高的分频值存储在寄存器里,并将其与对应的按键进行关联,通过键盘扫描子程序将对应的分频值送入单音播放子程序即可产生相应频率的电压方波,再将其输出到喇叭即可产生对应的音高实现电子琴功能。
将音符按音高和音长直接存储在数据存储器里并与按键相关联,调用自动演奏子程序产生相应频率和时长的方波电压输出到喇叭即可。
三、硬件连接1、键盘和单片机的连接选择用4*4行列式键盘完成输入。
4*4行列式键盘又称为矩阵键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。
在行线和列线的每一个交叉点上,设置一个按键。
这样键盘中按键的个数是4×4个。
这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。
2、LCD和单片机的连接采用型号为RT1602C的液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形,显示多样,清晰可见, 与传统的阴极射线管相比,液晶显示屏具有占用空间小、低功耗、低辐射、无闪烁、降低视觉疲劳等优点。
字符型液晶屏是一种用5*7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等,最常用的为2篇二:北邮小学期AVR单片机电子琴实验报告小学期AVR单片机实验报告实验题目:基于ATmega16L单片机的电子琴设计学生姓名:学渣班级:2012XXXXXX班内序号:XX学号:2012XXXXXX日期:2014年9月30日同组同学:学渣目录:一、实验介绍 (3)1.1实验课题名称 (3)1.2实验平台 (3)1.3实验课题关键字..............................31.4实验摘要 (3)二、小组分工 (3)三、基本题目训练——流水灯与数码管秒表计时器 (3)3.1实现功能 (3)3.2程序代码分析 (4)3.3实验结果图片 (7)四、有关发声的基础知识 (7)五、电子琴的设计与测试 (9)5.1设计过程 (9)5.2实验所需元器件 (9)5.3实验程序主要流程图 (10)5.4实验原理及原理图 (10)5.4.1实验原理 (10)5.4.2原理图 (11)5.5各个模块的设计与讲解 (11)5.6程序源代码及程序分析 (14)5.7实验结果..................................... ..24六、排错过程............................ . (26)七、心得体会 (29)八、参考文献 (32)九、意见与建议 (33)一、实验介绍:1.1实验课题名称:基于ATmega16L单片机的电子琴设计1.2实验平台:本实验所用平台为AVR Studio 41.3实验课题关键字:ATmega16L型单片机电子琴键盘按键LCD液晶显示屏1.4实验摘要:本实验设计的电子琴拥有可视化操作界面,能实现即时弹奏音乐、音乐播放、音乐变速、音乐变调,并可以进行任意长度录音(通过按键记录音阶)等功能二、小组分工:? XXX负责电路硬件的连接和报告的撰写? XXX负责程序代码的编写? XXX负责资料的收集整理和查阅三、基本题目训练——流水灯与数码管秒表计时器3.1功能:八盏LED二极管按顺序依次循环点亮,实现流水灯的效果,同时两只数码管分别代表秒和十分之一秒,进行秒表计时,配有两个按键,实现计时过程中的暂停和继续,同时在按下暂停键的时候蜂鸣器会响一声。
利用ATmega16的寄存器中断功能,实现流水灯和数码管秒表计时器在实验板上同时工作,并且互相独立不影响。
3.2程序代码分析:#includeavr/io.h#include avr/interrupt.h char b[10] = {0b11111010,//00b00110000,//10b11011001,//20b01111001,//30b00110011,//40b01101011,//50b11101011,//60b00111000,//70b11111011,//80b01111011,//9};char a[10] = {0b11111010,//00b00110000,//10b11011001,//20b01111001,//30b00110011,//40b01101011,//50b11101011,//60b00111000,//70b11111011,//80b01111011,//9};volatile char temp;int main(void){DDRA = 0xff;PORTA = 0b10000000;DDRC = 0xff;DDRD = 0b11111011; DDRB = 0b11111011; TCNT0 = 55; PORTB = b[0]; PORTD = a[0]; PORTC |= (1 0); TCCR0 |= (1 CS01);int count1 = 0,count2 = 0,i;MCUCR |= (1 ISC00)|(1 ISC01);//INT0上升沿触发GICR |= (1 INT0);//使能INT0,INT1sei();//使能全局中断while(1){for(i = 0;i9000;i++){while(!(TIFR & (1TOV0)));TCNT0=55;}count1++;if(count1!=10)PORTD = a[count1];else{count2++;count1 = 0;if (count2 == 10)count2 = 0;temp = PORTA;PORTA = PORTA 1;if(temp & 0b00000001) {PORTA = PORTA | 0b10000000; }PORTB = b[count2];PORTD = a[0];}}}SIGNAL(SIG_INTERRUPT0)//INT0中断服务程序{int count3 = 0,count4=0;篇三:北邮小学期PIC单片机-蓝牙电子琴-实验报告2013年小学期PIC单片机实验报告题目:蓝牙电子琴组号:班级:学号:姓名:老师:目录一摘要二论证与比较三原理1 蓝牙控制原理 (2)发音原理……………………………………………………… 3 中断控制………………………………………………………四硬件1 框图…………………………………………………………………………………2 原理图…………………………………………………………………………………五软件1 流程图………………………………………………………………………………2 程序…………………………………………………………………………………六实验总结七参考文献一摘要Microcontroller is known as the single chip microcomputer and single chip microcomputer. It is the central processing unit (CPU), random access memory (RAM), read-only memory (ROM), input/output port (I/O), etc. The main function of computer components are integrated on a chip microcomputer. Experiments using PIC16F877 single-chip microcomputer with a serial communication port (USART port), through the USART port with bluetooth module connection, you can through the mobile phone bluetooth bluetooth device to control the single-chip computer, also can realize the serial communication with other modules. PIC16F877 single chip microcomputer to control the corresponding port produce a certain frequency of square wave, amplification and thensent to the speakers can emit a certain frequency of sound. Interrupt to use bluetooth to real-time control MCU, thus realize the electric .单片机被称为单片微电脑或单片微型计算机。