《《电子产品设计制作》.doc》由会员分享,可在线阅读,更多相关《《电子产品设计制作》.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实 习 报 告: 电子产品设计制作 : : : : : 实习名称专业班级学生姓名学 号指导教师完成时间成 绩 评 定考核内容实习表现实习报告实习成果或答辩综合评定成绩成绩长 春 工 程 学 院第 5 页纪律要求与成绩考核办法(纪律要求与成绩考核办法打印在封皮背面)1实习过程必须听从教师指导,严格遵守安全操作规程。不准违规操作,未经指导教师允许不准启动任何非自用设备、仪器、工具等;操作项目与内容必须按设计要求进行,特别要注意防止电烙铁烧烫伤、不用时要及时切断电源。2实习期间在教室内不准吸烟、吃食物(含零食),不准带无关人员到实习实验室活动,否则扣平时表现分。3参加本次实习时间不足三分之二或旷课3
2、天以上者,不得参加本次考核,按不及格处理。4病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。5过程考核与综合成绩在教师手册中要有记载。6成绩考核由指导教师根据学生平时表现(出勤、遵守纪律情况、学习态度、工作进展等)、实习报告、实习成果、现场操作、答辩等几个方面,结合考核纲要规定各项成绩权重,综合后给出实习总成绩。7成绩评定采用五级分制,即优、良、中、及格、不及格。8实习结束一周内,指导教师提交实习成绩与实习总结。实 习 日 志姓 名学 号专业班级实习地点时间进程实 习 内 容 概 述第一周周一周二周三周四周五第二周周一周二周三周四周五注:实习日志“实习内容概述”要求手写,防止雷同
3、抄袭,不允许打印。一、设计制作目及意义(小四黑体,顶格写,字体要求打印时删除,下同)正文内容如有雷同抄袭,返工重写,成绩直接降为及格或不及格,下同。(正文内容:5号宋体,1.5倍行间距,下同)电子琴是现代电子科技及音乐结合产物,是一种新型键盘乐器。它在现代音乐扮演重要角色,单片机具有强大控制功能与灵活编程实现特性,它已经溶入现代人们生活中,成为不可替代一部分。本文主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,及键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,与一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴
4、硬件组成。利用单片机产生不同频率来获得我们要求音阶,最终可随意弹奏要表达音符。并且分别从原理图,主要芯片,个模块原理及各莫奎程序调试来详细阐述。 一首音乐是许多不同音阶组成,而每个音阶对应着不同频率,这样我们就可以利用不同频率组合,构成我们想演奏那首曲目。当然对于单片机来产生不同频率非常方便,我们可以利用单片机定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲音阶对应频率关系编写正确就可以达到我们想要曲目。二、设计制作内容(小四黑体,顶格写)(一)八按键简易电子琴设计制作(小四黑体,顶格写,下同)说明及方案论证 (首行缩进2字符,小四黑体,下同)(1)任务功能说明(首行缩进2字符
5、,五号宋体,下同)采用AT89C2051CPU,设计时钟电路与复位电路,手动复位,3V供电(2节电池);PCB尺寸:长宽=10cm6cm,单面板。具有电子琴输入按键8个,包含17与高音1,一排布局,左边为低音。具有手动复位键1个,播放音乐与弹奏切换功能按键1个,在PCB图上标注“复位”、“功能切换”字样。有发光二极管显示程序运行状态(用1个发光二极管指示对应1个按键,实际是8个发光二极管,只用1个代表)。采用扬声器输出声音信号。实现电子琴功能并且至少有一首存储歌曲。(2)方案论证 (首行缩进2字符,五号宋体,1.5倍行间距,下同)电子琴设有10个按键,其中8个作为音符输入,另外一个作为模式转换
6、按键,一个作为手动复位键,实现用户存放自动播放歌曲。8个按键分别代表8个音符,包括中音段全部音符,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。实验中每按下一个琴键,单片机能够检测到键盘按键,并根据按键位置,通过程序来控制,使喇叭发出不同频率(音调)声音,声音延迟一段时间,等到按键放开之后,声音停止。然后再继续扫描,看是否有键按下。如此循环,即可实现基本琴键功能。AT89C2051单片机键盘输入功 能 选 择(弹奏/播放)喇叭发出声音音频放大图1电路组成原理框图AT89C2051单片机是AT89C51系列中结构最紧凑,体积最小单片机,它片内有2k字节闪烁存
7、储器,管脚封装为20引脚,及8751相比只去掉P0口、P2口,片内多一个模拟电压比较器。用它设计产品,外围元器件少,接口技术简单,缩小电路板面积,成本低,开发容易,可广泛应用于小型简单不需很多I/O口控制各种智能产品设计,现已得到开发人员广泛认可。说明电路结构组成,画出电路组成框图(正文五号宋体,1.5倍行间距,下同)。图1 通用半整数分频器电路组成原理框图(正文内容:五号宋体,1.5倍行间距;正文中如果有图,要求图居中,图片下部多余部分裁除,有图号、图名,图号图名字体字号为宋体五号,按顺序排图号;图号、图名之间空一格,下同)。例如:2.电路原理设计与PCB设计(首行缩进2字符,小四黑体,下同
8、)(1)电路原理设计(首行缩进2字符,五号宋体,下同)时钟电路单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTALl与XTAL2跨接石英晶体与两个补偿电容构成自激振荡器,结构图中Y1、C1、C2。时钟电路用于产生AT89C2051单片机工作时所必须控制信号。AT89C2051单片机内部电路正是在时钟信号控制下,严格地按时序执行指令进行工作。图2时钟电路复位电路AT89C2051复位是由外部复位电路实现复位是单片机初始化操作,只需给AT89C2051复位引脚RST加上大于两个机器周期(即24个时钟震荡周期)高电平就可使AT89C2051AT89C2051进行复位时,PC初始化为
9、0000H,使AT89C2051单片机从程序储存器0000H单元开始执行程序。除了进入系统正常初始化之外,当程序运行出错(如程序“跑飞”)或操作错误使系统处于“死锁”状态时,也需按复位键即RST脚为高电平,使AT89C2051摆脱“跑飞”或“死锁”状态而重新启动程序。复位电路通常采用上电复位与按钮复位两种方式。图3复位电路按键输入利用所给键盘1,2,3,4,5,6,7,8,9九个键,能够发出8个不同音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别键则发另外一音调声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机定时器启动,发出一定频率
10、脉冲,该频率脉冲经喇叭驱动电路放大滤波后,就会发出相应音调。如果在前一个按下键发声同时有另一个按键被按下,则启动中断系统。前面发音停止,转到后按键发音程序。发出后按键音调。图4按键输入电路 图5发声器电路发声器电路用PNP管来放大,其中发射极接5V电源,集电极接扬声器,电路中电容是用来隔离直流电用。PNP管放大原理:当PNP管VCVBVE时,使得集电结反偏,发射结正偏时,管子发射极电流流入管子,基极电流与集电极电流流出管子,且集电极电流跟基极电流之间成关系,三极电流满足IE=IB+IC=IB(1+IB)。即,基极电流可以控制集电极电流,这种控制作用就称为管子放大作用。阐述单片机小系统设计过程,
11、分别说明复位电路、晶振电路及外围接口电路设计过程(正文五号宋体,1.5倍行间距,下同)(2)PCB设计(首行缩进2字符,五号宋体,下同)图6带黄框与文字PCB图 图7去掉黄框PCB图绘制程序流程图,说明程序流程图工作过程,软件设计仿真调试方法或过程,程序源代码以附录形式提供。4.硬件调试与存在问题由于电路比较简单,焊接也比较顺利,将硬件做好后,将生成.HEX文件通过烧录器烧录到AT89C2051惊醒测试,效果比较满意。(二)基于AT89C2051智能数字电子钟设计说明及方案论证1实现功能(1)全日历计时。(2)12/24小时转换。(3)大、小月,润年,周,自动追踪。(4)具有时间校准功能开关K
12、,按住开关2秒钟后进入校准时间状态及换档与退出,快速点触用于调整时间数值。2设计要求(1)数字钟基本要求是绘制出电路原理图与PCB板图,并进行Proteus仿真,不要求制作实物,每个人之间不要雷同。(2)设计双面PCB板,PCB尺寸:长宽=10cm8cm,沿长度方向放置数码管,一排布局,时、分、秒均采用2位一体式数码管,数码管尺寸为0.56英寸,数码管物理间距1mm。正文五号宋体,1.5倍行间距,下同2.电路原理图设计与PCB设计(1)电路原理设计(首行缩进2字符,五号宋体,下同)时钟电路AT89C2051单片机内部有一个用于构成振荡器高增益反相放大器,该高增益反向放大器输入端为芯片引脚XTA
13、L1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器与微调电容,就构成一个稳定自激振荡器。复位电路AT89C2051单片机复位是由外部复位电路来实现。上电复位电路是种简单复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂高电平信号,这个复位信号随着VCC对电容充电过程而回落,所以RST引脚复位高电平维持时间取决于电容充电时间。为了保证系统安全可靠复位,RST引脚高电平信号必须维持足够长时间。上电自动复位是通过外部复位电路电容充电来实现。只要VCC上升时间不超过1ms,就可以实现自动上电复位数码管
14、驱动显示电路显示部分主要器件为3只两位一体共阳极数码管,驱动采用 PNP 型三极管驱动,各端口配有限流电阻,驱动方式为动态扫描,占用P3.5 端口,段码由输出。冒号部分采用 4 个 红色发光二极管,驱动方式为独立端口驱动。阐述单片机小系统设计过程,分别说明复位电路、晶振电路及外围接口电路设计过程(正文五号宋体,1.5倍行间距,下同)(2)PCB设计(首行缩进2字符,五号宋体,下同)放置自己设计带黄框与文字PCB图、去掉黄框PCB图。3.Proteus仿真说明注:报告内容要求有系统原理说明,调试过程,主要器件简介等。三、设计制作总结(小四黑体)1实习过程中遇到问题及解决措施、学到了那些知识。 通
15、过这次实训设计,我感觉收获了很多:通过这次单片机实训,我加深了对单片机系列知识及其系统认识。但从中表达到了个系统开发设计过程,让我受益匪浅。在这次实训中,让我更进一步提高了动手能力,也重新复习了一次单片机程序编程能力,在这期间,让我更加深刻了体会到了编程思路,加强了对编程能力理解与对相应资料查阅。本次课程设计是用AT89C2051单片机CPU,遇到了不少困难。通过在前期程序编写与几天上机调试,使我又获得了很多新知识,因为前期编写程序时查了很多资料学到了很多知识,这几天调试更时获得很新知识,因为程序中又很多错误,为了修改错误必须看书或向别人请教,在这个过程中无意识获得了很多知识。同时也使我对单片
16、机更感兴趣了,这点我觉得很重要,因为兴趣是最好教师,相信在以后单片机相关学习中会表现更好。本次设计,通过制作电子琴,对使用单片机设计简易电子琴进行了分析,并接受了基于单片机电子期硬件组成。利用单片机产生不同频率来获得我们要求音阶,最终可随意弹奏想要表达音乐。说明一首音乐是许多不同音阶组成,而每个音阶对应着不同频率,这样我们就可以利用不同频率组合,即可构成我们所想要音乐了,于是我们可以利用单片机定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲音阶对应频率关系弄正确即可,然后我们利用功放电路来将音乐声音放大。并且系统了解了实时时钟设计流程,尤其是硬、软件设计方法,掌握了键盘显示电路
17、基本功能及编程方法,掌握了键盘电路与显示电路一般原理,也进一步掌握了定时器使用与中断处理器程序编程方法。开拓了思路,锻炼了实践动手能力,提高了分析问题,解决问题能力,达到了本次课程设计目。2对本次实习建议。这个设计题目并不怎么新颖,报告内容如有雷同抄袭,返工重写,成绩直接降为及格或不及格。四、主要参考文献(小四黑体)参考文献字体字号要求:宋体,小五期刊顺序:序号 J,(卷号或期号):起始页码(英文标点).书籍顺序:序号M. 出版地: 出版单位, 出版年.(英文标点).示例如下:1 林海波,王秀艳.电子工艺实训基础M.北京:中国电力出版社,.2 林卫星.单片机应用系统软硬件开发J.工业控制计算机
18、.2002,9,5-7.附录1附录2#include #define uint unsigned int#define uchar unsigned charuint code ttable=64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217,65252,65283;uchar code jmszl=0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,0x21,0x31,0x51,0x31,0x21,0x11,0
19、x61,0x21,0x16,0xff;sbit led=P37;sbit beep=P34;sbit b=P32;uchar timeh,timel,i;uchar keynum=90,temp,yj;uint soundT;static int s=1;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=19000;y0;y-);void delay1(uint z)uint x,y;for(x=z;x0;x-)for(y=112;y0;y-);void song()uint temp;uchar jp;/jpi=0;while(jmszli!=0x
20、ff)temp=jmszli;jp=temp/16;if(jp!=0)timeh=ttablejp/256;timel=ttablejp%256;elseTR0=0;beep=1;delay(temp%16);TR0=0;beep=1;delay1(8);TR0=1;i+;TR0=0;void keytest()temp=P1;switch(temp)case 0x7f: keynum=0; break;case 0xbf: keynum=1; break;case 0xdf: keynum=2; break;case 0xef: keynum=3; break;case 0xf7: keyn
21、um=4; break;case 0xfb: keynum=5; break;case 0xfd: keynum=6; break;case 0xfe: keynum=7; break;case 0xff: keynum=9; break;default: break;void intinit()TMOD=0x01;TH0=soundT/256;TL0=soundT%256;ET0=1;TR0=0;EX0=1;IT0=1;EA=1;P1=0xff;keynum=9;/beep=0;void t0serv() interrupt 1TH0=timeh;TL0=timel;beep=beep;le
22、d=led;void duan() interrupt 0if(b=0)delay1(20);if(b=0)s=s;void main()intinit();while(1)if(s=1)keytest();if(keynum!=9)TR0=1;timeh=ttablekeynum/256;timel=ttablekeynum%256;keynum=9;elseTR0=0;beep=1;elsesong();附录3#include#define uchar unsigned charsbit dula=P26;sbit wela=P27;sbit beep=P23;sbit ms=P30;sb
23、it ja=P31;sbit jn=P32;sbit qh=P33;unsigned char s=8,f=30,m=00,msf=1,qhf=1,xz=0;unsigned char a1,a0,b1,b0,c1,c0,j,k;unsigned int pp;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(unsigned char i)for(j=i;j0;j-)for(k=125;k0;k-);void d
24、isplay(uchar shi2,uchar shi1,uchar fen2,uchar fen1,uchar miao2,uchar miao1)dula=0;P0=tableshi2;dula=1;dula=0;wela=0;P0=0xfe;wela=1;wela=0;delay(5);P0=tableshi1;dula=1;dula=0;P0=0xfd;wela=1;wela=0;delay(5);P0=0x40;dula=1;dula=0;P0=0xfb;wela=1;wela=0;delay(5);P0=tablefen2;dula=1;dula=0;P0=0xf7;wela=1;
25、wela=0;delay(5);P0=tablefen1;dula=1;dula=0;P0=0xef;wela=1;wela=0;delay(5);P0=0x40;dula=1;dula=0;P0=0xdf;wela=1;wela=0;delay(5);P0=tablemiao2;dula=1;dula=0;P0=0xbf;wela=1;wela=0;delay(5);P0=tablemiao1;dula=1;dula=0;P0=0x7f;wela=1;wela=0;delay(5);voidjsxs24()if(pp=20)pp=0;m+;if(m=60)m=0;f+;if(f=60)f=0
26、;s+;if(s=24) s=0;a0=s%10;a1=s/10;b0=f%10;b1=f/10;c0=m%10;c1=m/10;display(a1,a0,b1,b0,c1,c0);voidjsxs12()int t;if(pp=20)pp=0;m+;if(m=60)m=0;f+;if(f=60)f=0;s+;if(s=24) s=0;t=s;t=t%12;a0=t%10;a1=t/10;b0=f%10;b1=f/10;c0=m%10;c1=m/10;display(a1,a0,b1,b0,c1,c0);voidjsxs()a0=s%10;a1=s/10;b0=f%10;b1=f/10;c0
27、=m%10;c1=m/10;displays(a1,a0,b1,b0,c1,c0);void main()TMOD=0x01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;ET0=1;EA=1;while(1)if(ms=1)if(msf=1)TR0=1;if(qh=1)if(qhf=1)/24jsxs24();elsejsxs12();/elseqhf=qhf;while(ms!=1);else TR0=0;if(qh=1)if(xz=0)if(ja=1)if(jn=1)jsxs();elseif(m=0)m=59;while(ja!=1);else
28、m-;while(ja!=1);elseif(m=59)m=0;while(ja!=1);elsem+;while(ja!=1);else if(xz=1)if(ja=1)if(jn=1)jsxs();elseif(f=0)f=59;while(ja!=1);elsef-;while(ja!=1);elseif(f=59)f=0;while(ja!=1);elsef+;while(ja!=1);else if(xz=2)if(ja=1)if(jn=1)jsxs();elseif(s=0)f=23;while(ja!=1);elses-;while(ja!=1);elseif(s=23)f=0;while(ja!=1);elses+;while(ja!=1);elsexz=0;elsewhile(qh!=1);if(xz3)xz+;elsexz=0;elsemsf=msf;while(ms!=1);void time0() interrupt 1TH0=(65536-46080)/256;TL0=(65536-46080)%256;pp+;