数字音乐盒的课程设计

数字音乐盒的课程设计
数字音乐盒的课程设计

数字音乐盒的设计

摘要

传统音乐盒,多是机械型的,体积笨重,发音单调,水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。本设计是一个基于AT89C51系列单片机的音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路、显示电路以及蜂鸣器组成。使用四个按键控制音乐盒,其中两个按键用来控制歌曲的播放、暂停,另两个用来控制液晶上歌曲次序的变化,本音乐盒共有三首歌曲。播放歌曲时,相应歌曲对应相应数码管上歌曲次序及歌名的显示。

关键词:AT89C51,蜂鸣器,LCD液晶显示,音乐盒

目录

1 绪论 (1)

1.1课题描述 (1)

1.2基本工作原理及框图 (1)

2 相关芯片及硬件电路设计 (1)

2.1AT89C51芯片 (2)

2.1.1 AT89C51的功能特性 (2)

2.1.2 AT89C51的主要性能参数 (2)

2.2时钟电路 (3)

2.3复位电路 (3)

2.4按键电路 (4)

2.5蜂鸣器电路 (4)

2.6显示电路 (5)

2.6.1 线段的显示 (5)

2.6.2 字符的显示 (5)

2.7总体电路 (6)

3 系统软件设计 (7)

3.1程序主要流程 (7)

3.2程序设计 (8)

4 系统软件仿真 (15)

总结 (18)

致谢 (19)

参考文献 (20)

1 绪论

1.1 课题描述

随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统的音乐盒大多数是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,使用方便,可以批量生产,具有一定的商业价值。本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒[1]。

1.2 基本工作原理及框图

本次设计是一个基于AT89C51单片机的音乐盒,该音乐盒主要由时钟电路、复位电路、按键电路、蜂鸣器以及显示电路组成。使用其中两个按键来控制播放和暂停另外两个按键用来控制换曲。利在液晶上显示曲目的更换,共三首音乐,蜂鸣器每播放一首歌时液晶上显示相对应的歌曲次序。系统组成框图如图1。

图1 基本工作原理框图

2 相关芯片及硬件电路设计

2.1 AT89C51芯片

图2 AT89C51引脚图

2.1.1 AT89C51的功能特性

AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个十六位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

2.1.2 AT89C51的主要性能参数

AT89C51主要性能参数如下:

●与MC-51产品指令系统完全兼容

●K字节可编程闪烁存储器

●寿命:1000写/擦循环

●数据保留时间:10年

●全静态工作:0Hz-24Hz

●三级程序存储器锁定

●128*8位内部RAM

●32可编程I/O线

●两个16位定时器/计数器

●5个中断源

●可编程串行通道

●低功耗的闲置和掉电模式

2.2时钟电路

时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢[2]。为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个22PF的电容,晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。时钟电路如图3。

图3时钟电路

2.3 复位电路

单片机在启动时都需要进行复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。51系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位[3]。单片机系统的复位方式有:手动按钮复位和上电复位。复位电路如图4。

图4复位电路

2.4 按键电路

按键的闭合与否,反映在行线输出电压上就呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。P1.0,P1.1,P1.4,P1.5作为控制按键,其中P1.0-P1.1扫描行,P1.4-P1.5扫描列;可通过功能键选择乐曲、暂停、播放。按键电路如图5。

图5 按键电路

2.5 蜂鸣器电路

电路中蜂鸣器是发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等[4]。

由于蜂鸣器的工作电流一般比较大,单片机的I/O口是无法直接驱动的(但A VR可以驱动小功率蜂鸣器),所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。蜂鸣器由一个三极管,两个电阻和一个二极管组成。蜂鸣器电路如图6。

图6 蜂鸣器电路

2.6 显示电路

2.6.1 线段的显示

点阵图形式液晶由M×N显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理[5]。

2.6.2 字符的显示

用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可[6]。显示电路如图7。

图7 显示电路

2.7 总体电路

总结时钟电路、复位电路、按键电路、蜂鸣器以及显示电路,把其放入一个电路。得到总体的电路。总体电路如图8。

图8 总体电路图

3 系统软件设计

3.1 程序主要流程

流程图如图9所示。

图9流程图

3.2 程序设计

对音乐do re mi fa so la si分别编码为1~7,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位(在本程序中为165ms),一拍即四分音符等于4个十六分音符,编为4,其它的播放时间以此类推。音调作为编码的高4位,而播放时间作为低4位,如此音调和节拍就构成了一个编码。以0xff作为曲谱的结束标志[7]。举例1:音调do,发音长度为两拍,即二分音符,将其编码为0x18。举例2:音调re,发音长度为半拍,即八分音符,将其编码为0x22歌曲播放的设计。先将歌曲的简谱进行编码,储存在一个数据类型为unsigned char的数组中。程序从数组中取出1个数,然后分离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。

程序:

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar m,n;

uchar i,timecount=0,timesec=0,timemin=0,timecheck=0;

char r0=2;

sbit beepIO=P3^0;

typedef unsigned char BYTE;

typedef unsigned int WORD;

typedef bit BOOL ;

sbit rs = P2^0;

sbit rw = P2^1;

sbit ep = P2^2;

sbit pausekey=P1^1;

uchar k,q,f;

uchar code dis1[] ={"1 ji mo sha zhou"};

uchar code dis2[] = {"2 tong hua"};

uchar code dis3[] ={"3 qian nian lian"};

uchar code T[49][2]={{0,0},

{0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66},{0xF A,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},

{0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33},{0 xFD,0x5B},{0xFD,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},

{0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99},{0x FE,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02},

{0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xFF,0x4C},{0xF F,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81}

};

uchar code music1[][2]={{0,4},

{22,4},{22,4},{17,4},{15,4},{15,4},{17,12},

{15,4},{15,2},{17,2},{15,4},{13,4},{13,4},{15,12},{0,4},

{20,4},{20,4},{20,4},{17,4},{20,4},{20,4},{20,4},{17,4},

{22,4},{17,4},{17,4},{15,4},{15,4},{17,12},

{22,4},{22,4},{17,4},{15,4},{15,4},{17,12},

{15,4},{15,2},{17,2},{15,4},{13,4},{13,4},{15,12},

{20,4},{20,4},{20,2},{17,2},{17,4},{20,4},{20,4},{20,2},{17,2},{17,2},{17,2}, {24,4},{20,4},{20,2},{17,2},{17,4},{20,4},{22,12},

{17,4},{22,4},{25,4},{25,4},{17,4},{22,4},{25,8},

{24,4},{22,2},{24,2},{22,4},{20,4},{15,4},{17,12},

{15,4},{15,4},{15,4},{10,4},{15,4},{17,4},{20,8},

{17,4},{24,4},{24,4},{20,4},{15,4},{17,12},

{17,4},{22,4},{25,4},{25,4},{17,4},{22,4},{25,8},

{29,4},{27,2},{29,2},{27,4},{25,4},{25,4},{27,12},

{29,4},{29,2},{27,4},{25,4},{27,6},{27,2},{25,4},{24,4},

{20,4},{20,2},{17,2},{20,4},{20,2},{22,2},{22,16},

{0xFF,0xFF}};

uchar code music2[][2]={{0,4},

{16,6},{19,2},{19,6},{16,2},{14,6},{0,10},{16,6},{19,2},{19,6},{16,2},{14,8},{0,8}, {26,8},{21,6},{24,2},{23,6},{21,2},{19,8},{21,16},{0,8},

{16,6},{19,2},{19,6},{16,2},{14,8},{0,8},{26,8},{21,6},{23,2},{21,14},

{24,6},{23,2},{21,6},{19,2},{16,6},{14,2},{13,8},{14,16},{0,4},

{19,6},{19,2},{21,6},{21,2},{23,8},{21,4},{0,4},{19,6},{19,2},{16,6},{19,2},{16,8},{1 4,6},{0,4},

{19,6},{19,2},{21,6},{21,2},{23,8},{21,4},{0,4},{19,6},{19,2},{16,6},{19,2},{16,8},{1 4,6},{0,4},

{26,16},{21,4},{26,4},{21,4},{26,16},{21,4},{26,16},{0,4},

{16,8},{16,8},{14,8},{16,8},{21,4},{26,4},{21,4},{26,4},{0,8},{16,8},{16,8},{14,8},{1 6,8},{21,4},{26,4},{21,4},{26,4},{0,8},

{19,8},{19,6},{21,2},{16,8},{0,8},{19,6},{21,2},{19,6},{21,2},{16,8},{0,8},

{21,8},{26,8},{21,4},{24,12},{23,6},{21,2},{19,8},{21,16},

{14,4},{21,4},{14,4},{19,4},{16,6},{14,2},{13,8},{14,16},

{0xFF,0xFF}};

uchar code music3[][2]={{0,4},

{27,4},{19,4},{19,4},{27,4},{26,4},{26,2},{27,2},{24,8},

{22,4},{17,4},{24,4},{22,4},{19,16},

{15,4},{12,4},{12,4},{15,4},{17,8},{19,8},

{26,6},{26,2},{26,4},{24,4},{24,4},{19,4},{19,8},

{27,4},{19,4},{19,4},{27,4},{26,4},{26,2},{27,2},{24,6},{24,2},

{22,4},{17,4},{24,4},{22,4},{19,16},

{15,4},{12,4},{12,4},{15,4},{17,8},{19,8},{19,6},{19,2},{19,4},{17,4},{14,4},{14,4},{ 14,4},{7,4},{12,24},

{0xFF,0xFF}};

uchar timetable[] ="00:00";

void delay(uchar p)

{

uchar i,j;

for(;p>0;p--)

for(i=181;i>0;i--)

for(j=181;j>0;j--);

}

BOOL lcd_bz()

{

BOOL result;

rs = 0;

rw = 1;

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

result = (BOOL)(P0 & 0x80);

ep = 0;

return result;

}

void lcd_wcmd(BYTE cmd)

{

while(lcd_bz());

rs = 0;

rw = 0;

ep = 0;

_nop_();

_nop_();

P0 = cmd;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 0;

}

void lcd_pos(BYTE pos)

{

lcd_wcmd(pos | 0x80);

}

void lcd_wdat(BYTE dat)

{

while(lcd_bz());

rs = 1;

rw = 0;

ep = 0;

P0 = dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 1;

_nop_();

_nop_();

_nop_();

_nop_();

ep = 0;

}

void lcd_init()

{

lcd_wcmd(0x38);

delay(1);

lcd_wcmd(0x0c);

delay(1);

lcd_wcmd(0x06);

delay(1);

lcd_wcmd(0x01);

delay(1);

}

void pause()

{

uchar i,j;

for(i=150;i>0;i--)

for(j=150;j>0;j--);

}

void timecount_init() interrupt 3

{

TH1=(65535-45872)/256; TL1=(65535-45872)%256; timecount++;

if(timecount==20)

{

timesec++;

timecount=0;

if(timesec==60)

{timesec=0;

timemin++;

}

}

}

void adfa() interrupt 0

{ timesec=0;

timemin=0;

r0++;

delay(5);

if(r0>11)

r0=11;

}

void adfii() interrupt 2 {

if(pausekey==0)

{

beepIO=0;

while(pausekey==0); while(pausekey==1); while(pausekey==0); delay(8);

}

else

{

timesec=0;

timemin=0;

r0--;

delay(5);

if(r0<=0)

r0=1;

}

}

void T0_int() interrupt 1

{

beepIO=!beepIO;

TH0=T[m][0]; TL0=T[m][1]; }

void zhuanhuan()

{

timetable[3]=timesec/10+'0'; timetable[4]=timesec%10+'0'; timetable[2]=':';

timetable[0]=timemin/10+'0'; timetable[1]=timemin%10+'0'; }

void timedis()

{

if(timecheck!=timesec)

{

timecheck=timesec; zhuanhuan();

lcd_pos(0x49);

lcd_wdat(timetable[0]);

lcd_wdat(timetable[1]);

lcd_wdat(timetable[2]);

lcd_wdat(timetable[3]);

lcd_wdat(timetable[4]);

}

}

void main()

{

uchar i=0,lcd_check=0; TMOD=0x11;

TH1=(65535-45872)/256; TL1=(65535-45872)%256; PX0=1;

PX1=1;

EX0=1;

EX1=1;

EA=1;

ET0=1;

ET1=1;

TR1=1;

pausekey=1;

lcd_init();

while(1)

{

if(r0==0)

{

delay(1);

lcd_pos(0);

i = 0;

while(dis1[i] != '\0')

{

lcd_wdat(dis222[i]);

i++;

}

}

if(r0==1)

{

timedis();

if(lcd_check!=r0)

{ lcd_wcmd(0x01);

delay(1);

lcd_check=r0;

lcd_pos(0);

i = 0;

while(dis1[i] != '\0')

{

lcd_wdat(dis1[i]);

i++;

}

}

m=music1[i][0];n=music1[i][1];

if(m==0x00)

{TR0=0;delay(n);i++;}//

else if(m==0xFF)

{TR0=0;delay(30);i=0;timesec=0;timemin=0;}//

else if(m==music1[i+1][0])

{TR0=1;delay(n);TR0=0;pause();i++;}

else

{TR0=1;delay(n);i++;}

if(r0==2)

{ timedis();

if(lcd_check!=r0)

{ lcd_wcmd(0x01);

delay(1);

lcd_check=r0;

lcd_pos(0);

i = 0;

while(dis2[i] != '\0')

{

lcd_wdat(dis2[i]);

i++;

}

}

m=music2[i][0];n=music2[i][1];

if(m==0x00)

{TR0=0;delay(n);i++;}//

else if(m==0xFF)

{TR0=0;delay(30);i=0;timesec=0;timemin=0;}//

else if(m==music2[i+1][0])

{TR0=1;delay(n);TR0=0;pause();i++;}

else

{TR0=1;delay(n);i++;}

}

}

4 系统软件仿真

在这里系统仿真我们使用实验室常用的Protues仿真软件,把总电路画入ISIS软件,把程序加入Keil软件,然后进行软件和硬件的统一调试[8]。

图10 仿真初始界面

图11 仿真播放第一首

图12 仿真播放第二首

图13 仿真播放第三首

总结

经过这段时间努力,在老师的耐心指导下,从设计、论证、修改到编程、调试,我的设计终于完成了。使我无论在理论基础知识还是在实际的操作能力上都有了较大的提高。论文的完成使我体会到了成功的喜悦,也懂得了一分耕耘一分收获的道理。

学了一学期的单片机,对单片机的硬件设计,软件设计掌握的深度不够,但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,这是第一次编写单片机的大程序,很有成就感。掌握了通过wave6000、KEIL进行程序编译,以及Proteus软件仿真。通过单片机的设计,不断的发现错误,修改错误,在一个设计项目中都是一个团队协作,一个人的能力和知识都是有限的,要有较强的团队协作精神,组员之间互补。

在这个过程中,老师的付出最多,给我们指导,为我们讲解,给我们检查错误,在此表示感谢,这次课程设计非常成功。

音乐盒课程设计报告

音乐盒课程设计报告 XXXXXXXXXXXXX 一、项目概述: 随着社会的发展进步,许多人性化的电子产品被用在人们的日常生活中,而单片机被广泛运用到人们长期接触的事物上,比如银行交易窗口的滚动字幕,还有各种彩灯的控制,手机、计算机、机器人等各行各业中。基于AT89C52单片机的数字音乐盒就是这类产品,它不仅给人们带来了快乐,而且提高了人们的生活质量。 二、项目要求: 基于AT89C52单片机的数字音乐盒的设计要求如下: (1)用AT89C2单片机的I/O端口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 (2)共有10首乐曲,每首乐曲都有相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲的控制键。 (3)LCD液晶显示歌曲的序号、播放时间、开机时显示英文欢迎提示字符。 三、知识要点: (一)、AT89C2芯片资料: 1)功能说明: 1、兼容MCS51指令系统。 2、8k可反复擦写(大于1000次)Flash ROM。 3、2KB的E2PROM程序存储器,可擦写10万次 4、32个双向I/O口。 5、256x8bit内部RAM。 5、3个16位可编程定时/计数器中断。 6、时钟频率12MHz。 7、1个可编程UART串行通道。 8、2个外部中断源,共9个中断源,6个中断矢量。 9、2个读写中断口线,3级加密位。 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 2)引脚说明:

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/VPd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~ P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为 N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 本项目使用到的单片机引脚说明: 1)20、40号引脚分别接地和+5V电源。 2)18、29号引脚分别接振荡器反相放大器的输出端和振荡器反相放大器的及内部时钟发生器的输入端。 3)9号引脚接RST复位电路。 3)单片机使能信号接31号引脚,接+5V。 4)17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动蜂鸣器,发出不同的音调的功能。 5)P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。6)P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小,需外接电源和上拉电阻,此项目中接1K的排阻。 (二)、LCD1602资料: 1)、LCD1602介绍: 1602液晶显示器也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 LCD1602是指显示的内容为16X2,即可以显示2行,每行16个字符液晶模块(显示字符和数字)。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。 2)1602引脚说明:

电光调制实验实验报告

电光调制实验实验报告 【实验目的】 1、掌握晶体电光调制的原理和实验方法 2、学会利用实验装置测量晶体的半波电压,计算晶体的电光系数 3、观察晶体电光效应引起的晶体会聚偏振光的干涉现象 【实验仪器】 铌酸锂晶体,电光调制电源,半导体激光器,偏振器,四分之一波片,接收放大器,双踪示波器 【实验内容及步骤】 一、调整光路系统 1、调节三角导轨底角螺丝,使其稳定于调节台上。在导轨上放置好半导体光源部分滑块,将小孔光栏置于导轨上,在整个导轨上拉动滑块,近场远场都保证整个光路基本处于一条直线,即使光束通过小孔。放上起偏振器,使其表面与激光束垂直,且使光束在元件中心穿过。再放上检偏器,使其表面也与激光束垂直,转动检偏器,使其与起偏器正交,即,使检偏器的主截面与起偏器的主截面垂直,这时光点消失,即所谓的消光状态。 2、将铌酸锂晶体置于导轨上,调节晶体使其x轴在铅直方向,使其通光表面垂直于激光束(这时晶体的光轴与入射方向平行,呈正入射),这时观察晶体前后表面查看光束是否在晶体中

心,若没有,则精细调节晶体的二维调整架,保证使光束都通过晶体,且从晶体出来的反射像与半导体的出射光束重合。 3、拿掉四分之一波片,在晶体盒前端插入毛玻璃片,检偏器后放上像屏。光强调到最大,此时晶体偏压为零。这时可观察到晶体的单轴锥光干涉图,即一个清楚的暗字线,它将整个光场分成均匀的四瓣,如果不均匀可调节晶体上的调整架。如图四所示 4、旋转起偏器和检偏器,使其两个相互平行,此时所出现的单轴锥光图与偏振片垂直时是互补的。如图五所示图四图五 6、晶体加上偏压时呈现双轴锥光干涉图,说明单轴晶体在电场作用下变成双轴晶体,即电致双折射。如图六所示 7、改变晶体所加偏压极性,锥光图旋转90度。如图七所示图六图七8 只改变偏压大小时,干涉图形不旋转,只是双曲线分开的距离发生变化。这一现象说明,外加电场只改变感应主轴方向的主折射率的大小、折射率椭球旋转的角度和电场大小无关。 二、依据晶体的透过率曲线(即T-V曲线),选择工作点。测出半波电压,算出电光系数,并和理论值比较。我们用两种测量方法: 1、极值法晶体上只加直流电压,不加交流信号,并把直流偏压从小到大逐渐改变时,示波器上可看到输出光强出现极小值和极大值。

基于51单片机数字音乐盒的设计

单片机实物设计 题目: 单片机音乐盒设计 班级: K0312416-17 姓名:湛俊朱斌杨裕庆 学号:K031241705 K031241632 K031241737

摘要 本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 【关键词】STC89C51RC 按键蜂鸣器 LCD1602液晶

目录 前言 ................................................................................................................................. 第一章工作原理 .............................................................................................................. 1.1设计目标 ............................................................................................................... 第二章软件设计与分析................................................................................................... 2.1 软件设计的组成................................................................................................... 2.2 各部分软件分析 ................................................................................................. 2.2.1 延时165MS,即十六分音符子函数 .......................................................... 2.2.2 延时1MS子函数...................................................................................... 2.2.3 定时器0中断子函数 .............................................................................. 2.2.4 播放音乐子函数...................................................................................... 2.5 定时器1中断子函数.................................................................................. 2.6 按键扫描子函数 ......................................................................................... 2.2.7 主函数..................................................................................................... 2.3 总源程序 ............................................................................................................ 第三章软件仿真 .............................................................................................................. 3.仿真图...................................................................................................................... 3.1 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

单片机电子琴音乐盒课程设计

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来暂停歌曲,另一个用来切换歌曲本音乐盒共有四首歌曲,还有4*4矩阵键盘电子琴弹奏功能,播放歌曲时,蜂鸣器发出音调,矩阵键盘无扫描信号,不动作。当按下暂停歌曲键时,可继续弹奏电子琴。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 设计作者:吴文豪 专业班级/学号:10应电三班 1006020144 合作者1:专业班级/学号: 合作者2:专业班级/学号: 指导教师:王明文 设计时间:2012年5月12日———2012年6月3日

目录 引言 (1) 1.设计任务及要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 1. 3研究内容 (2) 2.系统总体设计 (3) 2.1系统结构框图设计及说明 (3) 3.软、硬件设计…………………………………………………………….. 3.1 系统硬件设计………………………………………………………… 3.1.1系统硬件原理图及工作原理说明………………………… 3.1.2单元电路设计原理与元件参数选择……………………… 3. 2系统软件设计…………………………………………………….. 3. 2. 1软件系统总流程图及设计思路说明…………………... 3. 2. 2软件各功能模块的流程图设计及思路说明…………... 4.安装与调试………………………………………………………………. 4.1安装调试过程……………………………………………………… 4.2调试中遇到的问题…………………………………………………5.结论………………………………………………………………………. 6.使用仪器设备清单………………………………………………………. 7.收获、体会和建议………………………………………………………. 8.参考文献…………………………………………………………………. 9.附录………………………………………………………………………

数字音乐盒课程设计

基于单片机多功能数字音乐盒 《单片机原理及应用》课程设计任务书 一、目的意义 《单片机原理及应用》是高校工程专业的一门专业基础课,该门课程具有很强的实践性。通过课程的学习,使学生掌握基本概念、基本理论和基本技能,为今后从事相应的生产设计和科研工作打下一定的基础。因此,除课程的理论教学和实验教学外,课程设计也是一个必要和重要的实践教学环节。通过课程设计,进一步培养学生理论联系实际的能力,学会正确地分析工程实际问题,善于查阅参考文献,准确地选择相应的数据、参数,具备全面地解决实际问题的素质,同时课程设计也为今后的毕业设计打下基础。 二、设计时间、地点、班级 时间:第16、17周(二周) 地点:三教433 、426 班级:09电气99人 三、设计内容 (二十)基于单片机的多功能数字音乐盒的设计 1、功能描述 用A T89S52单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 共有4乐曲,每首乐曲都由相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲控制键。 按键输入电路的设计 复位电路的设计;时钟电路的设计 显示电路及驱动电路的设计;扫描模式的选择设计 系统主程序及子程序的设计;元件及元件参数的选择

前言:本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演 奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。 1、 设计原理及相关说明 设计原理:通过按键给单片机的P2口输入低电平,进而利用程序来判断是否执行某一播放功能。而利用单片机的定时器0中断来控制播放乐曲。 2.1芯片AT89C51的介绍 AT89C51是一种带4K 字节闪存可编程可擦除只读存储器(FPEROM )的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2.1 图3.2 AT89C51

电光调制实验实验报告

广东第二师范学院学生实验报告 院(系)名称物理系班 别11物理 本四B 姓名 专业名称物理教育学号 实验课程名称近代物理实验(2) 实验项目名称电光调制实验 实验时间2014年12月 18日实验地点物理楼五楼 实验成绩指导老师签名 内容包含:实验目的、实验使用仪器与材料、实验步骤、实验数据整理与归纳(数据、图表、计算等)、实验 结果与分析、实验心得 【实验目的】 1. 掌握晶体电光调制的原理和实验方法 2. 学会利用实验装置测量晶体的半波电压,计算晶体的电光系数 3. 观察晶体电光效应引起的晶体会聚偏振光的干涉现象 【实验仪器】 铌酸锂晶体,电光调制电源,半导体激光器,偏振器,四分之一波片,接收放大器,双踪示波器 【实验内容及步骤】 一、调整光路系统 1. 调节三角导轨底角螺丝,使其稳定于调节台上。在导轨上放置好半导体光源部分滑块,将小孔光栏置于导轨上,在整个导轨上拉动滑块,近场远场都保证整个光路基 本处于一条直线,即使光束通过小孔。 放上起偏振器,使其表面与激光束垂直,且使光束在元件中心穿过。再放上检偏器,使其表面也与激光束垂直,转动检偏器,使其与起偏器正交,即,使检偏器的主 截面与起偏器的主截面垂直,这时光点消失,即所谓的消光状态。 2. 将铌酸锂晶体置于导轨上,调节晶体使其x轴在铅直方向,使其通光表面垂直于激光束(这时晶体的光轴与入射方向平行,呈正入射),这时观察晶体前后表面查看 光束是否在晶体中心,若没有,则精细调节晶体的二维调整架,保证使光束都通过晶体,且从晶体出来的反射像与半导体的出射光束重合。 3. 拿掉四分之一波片,在晶体盒前端插入毛玻璃片,检偏器后放上像屏。光强调到 最大,此时晶体偏压为零。这时可观察到晶体的单轴锥光干涉图,即一个清楚的暗十字线,它将整个光场分成均匀的四瓣,如果不均匀可调节晶体上的调整架。如图四所示 4. 旋转起偏器和检偏器,使其两个相互平行,此时所出现的单轴锥光图与偏振片垂

数字音乐盒的设计讲解

单片机与接口技术课程设计(论文) 数字音乐盒的设计 院(系)名称电子与信息工程学院专业班级通信121班 学号120405003 学生姓名潘凤麟 指导教师高影讲师起止时间:2015.7.4—2015.7.13

课程设计(论文)任务及评语 院(系):电子与信息工程学院教研室:通信工程

摘要 单片机是把CPU、存储器和I/O接口集成在一片半导体硅片上的微型计算机。本次课程设计所设计出的数字音乐盒就是基于单片机的一个系统。它的的硬件电路部分采用Proteus软件进行设计,以AT89C51单片机作为主芯片,用其I/O口产生不同频率的方波来驱动蜂鸣器发出不同的音调,再配以LCD显示屏和4*4键盘实现必要的显示和控制。软件部分采用Keil与Proteus进行联合仿真,并用汇编语言来设计程序,把用Keil生成的HEX文件写入到单片机中即可实现设计所要求的功能。 通过Proteus与Keil的联合仿真,该数字音乐盒可播放3首不同的歌曲,并可通过LCD显示屏显示歌曲名称或序号;可通过4*4键盘实现对歌曲的选择,暂停,与播放功能,故仿真结果符合设计要求。 关键词:数字音乐盒;LCD显示屏;键盘

目录 第1章绪论 (1) 1.1 AT89C51简介 (1) 1.2 仿真环境简介 (2) 1.3本文研究内容 (3) 第2章数字音乐盒硬件电路图的设计与分析 (4) 2.1 总体设计方案分析 (4) 2.2 数字音乐盒部分电路原理说明 (4) 2.2.1 蜂鸣器驱动部分电路图与原理说明 (4) 2.2.2 LCD显示部分电路图与原理说明 (5) 2.2.3 键盘控制部分电路图与原理说明 (6) 第3章数字音乐盒的软件设计 (7) 3.1 数字音乐盒总体软件程序流程图与分析 (8) 3.2 数字音乐盒各子程序的设计与分析 (8) 3.2.1 系统初始化子程序设计与分析 (9) 3.2.2 LCD显示子程序设计与分析 (10) 3.2.3 蜂鸣器频率控制子程序设计与分析 (11) 3.2.4 键盘控制子程序设计与分析 (11) 第4章仿真结果与分析 (12) 4.1 仿真结果 (12) 4.2 仿真步骤与结果分析 (13) 第5章总结 (16) 参考文献 (17) 附录Ⅰ (18) 附录Ⅱ (19) 附录Ⅲ (20)

课程设计-数字音乐盒

单片机课程设计-数字音乐盒 课程设计要求:1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)2.采用LCD显示信息 3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停,播放。 5.选作内容:显示乐曲播放时间或剩余时间 硬件电路:本设计中用到了89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段 显示数码管LED。 原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。 (1)硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。 (2)用P0.0~P0.7,P2.0~P2.7控制LED,其中P0.0~P0.7控制七段码a,b,c,d,e,f,g,用P2.0~P2.7为数码管位选信号。 (3)用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。用P0.0~P0.7作为LCD的D0~D7的控制信号。 (4)用P3.7口控制蜂鸣器。 (5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

电路图: 【试验时请仔细阅读后文说明!此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。】实验控制流程图如下:

S BIT P2.0 ;定义液晶显示端口标号 RW BIT P2.1 E BIT P2.2 ;******************************************** L50MS EQU 60H L1MS EQU 61H L250MS EQU 62H SEC EQU 65H MIN EQU 64H HOU EQU 63H ;******************************************* org 0000h ljmp main ORG 000BH LJMP TT0 ORG 001BH LJMP T1INT org 1000h main: ;-----------------------;液晶初始化 MOV SP,#70H MOV P0,#01H ;清屏 CALL ENABLE MOV P0,#38H ;8位,2行显示

电子电工实习实验报告

目录 一、实验室安全常识 (2) 二、常用仪表和工具 (3) 1、电烙铁 (3) 2、拆装工具 (4) 3、万用表 (4) 三、常用元器件 (5) 1、电阻器 (5) 2、二极管 (7) 3、三极管 (7) 4、发光二极管 (8) 5、电容器 (8) 6、蜂鸣器 (9) 7、印制电路板 (10) 8、555芯片 (10) 四、焊接与装配 (11) 1、焊接原理 (11) 2、焊接工具 (12) 3、焊接方法 (13) 4、焊接中常见错误与解决方案 (14) 5、焊接后的检查 (14) 6、焊接注意事项 (14) 7、焊点质量标准 (15) 8、拆除焊点的方法 (16) 9、电子元件焊接装配 (16) 五、直流稳压电源的制作 (17) 1、直流稳压电源的原理图 (17) 2、直流稳压电源的原理分析 (17) 3、直流稳压电源的制作 (18) 4、直流稳压电源的调试 (19) 六、流水彩灯音乐盒的制作 (19) 1、实习目的 (19) 2、实习内容 (19) 3、流水灯电路原理 (19) 4、音乐播放电路 (20) 5、电路板焊接与装配图 (20) 6、音乐盒制作的实物 (21) 6、焊接与调试中遇到的问题及解决方法 (21) 七、实验建议与小结 (22)

电工电子实习报告书 一、实验室安全常识 安全用电知识是关于如何预防用电事故及保障人身、设备安全的知识。 在电子装焊调试中,要使用各种工具、电子仪器等设备,同时还要接触危险的高电压,如果不掌握必要的安全知识,操作中缺乏足够的警惕,就可能发生人身、设备事故。触电甚至可直接导致人员伤残、死亡。 所以必须在了解触电对人体的危害和造成触电原因的基础上,掌握一些安全用电知识,做到防患未然。 ⑴36V为人体安全电压;交流电10mA和直流电50mA为人体安全电流。 ⑵用电安全的基本要素有:电气绝缘良好、保证安全距离、线路和插座容量与设备功率相适宜、不使用三无产品。 ⑶实验室内电气设备及线路设施必须严格按照安全用电规程和设备的要求实施,不许乱接、乱拉电线,墙上电源未经允许不得拆装、改线。 ⑷在实验室同时使用多种电气设备时,其总用电量和分线用电量均应小于设计容量;连接在接线板上的用电总负荷不得超过接线板的最大容量。 ⑸实验室应使用空气开关并配备必要的漏电保护器;电气设备和大型仪器需接地良好,对线路老化等隐患要定期检查并及时排除。 ⑹不得使用闸刀开关、木质配电板和画线。 ⑺接线板不能直接放在地上,不得多个接线板串联。 ⑻电源插座需固定;不使用损坏的电源插座;空调应有专门的插座。 ⑼实验前先检查用电设备,再接通电源;试验结束后,先关仪器设备,再关闭电源。 ⑽工作人员离开实验室或遇突然断电,应关闭电源,尤其要关闭加热电器的电源开关。 ⑾不得将供电线任意放在通道上,以免因绝缘破损造成短路。

电子音乐盒(单片机课程设计)说明书

课程设计工作内容与基本要求(设计要求、设计任务、工作计划1.设计要求 查阅资料,了解单片机控制单音喇叭发声原理;设计基于单片机的电子音乐盒;通过按钮可选择不同的音乐。 创新设计: 1、安装复位键,暂停、播放键; 2、有6首不同的音乐用程序编出可供选择。 2. 设计任务与要求 2.1系统硬件电路设计 根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。 2.2软件设计 根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。 2.3 Proteus仿真 用Proteus对系统进行仿真并进行软硬件调试。 2.4 编写设计说明书 内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前加程序功能注释。

电子音乐盒 1设计任务和要求 (1) 2总体方案设计 (1) 3硬件设计 (2) 3.1 硬件电路 (2) 3.2 系统总框图 (2) 3.3器件选择 (2) 3.4 原理图设计 (3) 3.5 原理说明 (6) 4软件设计 (7) 5仿真、安装和调试 (8) 收获与体会 (10) 参考文献 (11) 附件1:元件清单 (12) 附件2: 总电路图 (13) 附件3:音乐程序 (14)

1设计任务和要求 1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演 乐曲(内存六首乐曲)。 2.采用七段数码管显示当前播放的歌曲序号。 3.可通过功能键选择乐曲,包括暂停和播放,上一曲,下一曲,复位。 2 总体方案设计 1. 要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 2. 利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 3. 起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 低音D0的T=65536-500000/1047=65059

数字音乐盒地设计与实现

课程设计报告 课程设计名称:微机系统综合课程设计课程设计题目:数字音乐盒的设计与实现

1 总体设计方案 1.1 题目介绍与要求 本次课程设计的任务是运用伟福Lab8000试验箱和keil软件设计并实现一个数字音乐盒,要求采用I/O产生一定频率的方波,从而驱动蜂鸣器发出不同的音调,演奏乐曲;并且需要采用七段数码管显示当前播放的歌曲序号和播放时间;还得通过数字键盘直接选择乐曲,控制选择上一曲和下一曲音乐,具有暂停和播放控制功能。 1.2设计思路 1.2.1音调的产生 频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。在两个八度音之间又分为十二个半音。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。 要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 利用51单片机的部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下:

电工电子实验报告

目录 1.实习目的 (2) 2.实习报告主要内容 (2) 2.1常用仪器仪表的结构和用法 (2) 2.2 手工焊接工艺 (4) 2.2.1焊接原理 (4) 2.2.2焊接工具及材料 (4) 2.2.3焊接的基本操作和操作步骤 (4) 2.3几种常见电子元器件介绍及运用 (6) 2.3.1电阻器 (7) 2.3.2二极管 (8) 2.3.3三极管 (9) 2.3.4电容 (10) 2.电容器的分类 (10) 3.电容器的标注方法 (11) 4.电容器的主要特性参数 (11) 2.3.5蜂鸣器 (11) 2.3.6 555芯片 (12) 2.3.7 排针 (13) 2.3.8印刷板电路 (13) 2.3.9音乐芯片 (13) 2.4元件的装配顺序和要求 (14) 2.5 555声光报警器 (14) 2.5.1原理方框图 (14) 2.5.2产品原理 (15) 2.5.3 元件参数及检测 (16) 2.5.4实验检测结果及分析 (16) 2.5.5电路图 (17) 2.5.6实物图 (17) 2.6 流水灯音乐盒的制作 (18) 2.6.1流水灯的原理及方框图 (18) 2.6.2 音乐播放 (19) 2.6.3 元件参数及测量 (19) 2.6.4 实验检测结果及分析 (19) 2.6.5 电路图 (20) 2.6.6 实物图 (20) 3.印制电路板与计算机Protel99SE PCB图设计 (22) 4.三相电机正反转原理图 (23) 4.1原理图 (23)

手工图见附录4.2 原理分析 (23) 4.3三相电机正反转控制电路排线表 (25) 4.4 电机实验实物图 (25) 5.安全常识 (26) 5.1人身安全: (26) 5.2人体触电 (26) 5.4设备安全 (28) 5.5供电线路安全: (28) 6.实习总结 (30) 附录 (31)

STC89C51单片机的数字音乐盒设计(含代码)

HEFEI UNIVERSITY FPGA综述报告 系别电子信息与电气工程系任课教师汪济洲 班级 姓名 成绩 日期

数字音乐盒设计 摘要:本设计是一个基于STC89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计4种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 关键字:音乐盒 STC89C51单片机 KEIL PROTEUS 音调

目录 1概述 (3) 1.1设计方案 (3) 1.2研究内容 (3) 1.3音乐盒的功能结构图 (3) 2硬件设计 (4) 2.1总体设计框图 (4) 2.2各部分硬件设计及其原理 (4) 2.2.1 STC89C51简介 (4) 2.2.2 LED显示电路设计与原理 (5) 2.2.3 时钟振荡电路 (5) 2.3硬件电路图及功能 (6) 3软件设计 (7) 3.1音调、节拍以及编码的确定方法 (7) 4.1.1 音调的确定 (7) 4.1.2 节拍的确定 (8) 4.1.3 编码 (9) 4.2软件程序设计 (10) 4.2.1 程序流程图及相应代码块 (10) 4.2.2 程序源代码(见附录A) (14) 5调试 (14) 5.1检查硬件连接 (14) 5.2检查软件系统 (14) 5.3测试结果 (14) 5.3.1.总体运行图 (14) 5.3.2.花样灯4种花样图 (15) 参考文献 (16) 附录A 程序源代码及注释 (16)

数字音乐盒实验报告

《单片机与接口设计》课程设计报告 题目数字音乐盒 学号130803023 130803088 130803100 姓名胡杰张宏朱子龙 年级专业13级通信工程 指导教师黄云飞 完成日期2016 年 3 月 4 日 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University

物理与电子信息学院课程设计评定意见 注:本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订

课程设计划任务书 通信工程系通信工程专业 学生姓名朱子龙班级13级学号:130803100 学生姓名胡杰班级13级学号:130803023 学生姓名张宏班级13级学号:120803088 课程名称:单片机原理与接口技术 设计题目:数字音乐盒 课程设计内容与要求: 课程设计开始日期2016 年1 月14 日指导教师黄云飞课程设计结束日期2016 年 3 月 4 日

数字音乐盒 摘要:本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LCD显示器为 核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲(最少三首乐曲,每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。 本设计采用4*4键盘,用Protel99来画系统硬件图,采用汇编语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。该音乐盒的设计可以通过按键选择不同的曲目,播放和暂停,并通过LCD显示歌曲号及播放时间。 本设计键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态值,判断有没有键按下。若有键按下,根据读入口的值选择显示值并送至显示值寄存单元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音。同时启动定时器T1,计算音乐的播放的时间。 关键词:数字音乐盒;AT89C51;KEIL;PROTEUS;数码管

单片机课程设计实验报告

单片机课程设计实验报告 课程设计题目:数字音乐盒 课程设计要求:.利用口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于秒) .采用显示信息 .开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) .可通过功能键选择乐曲,暂停,播放。 .选作内容:显示乐曲播放时间或剩余时间 硬件电路:本设计中用到了单片机,*键盘,蜂鸣器,* ,七段 显示数码管。 原理说明:当键盘有键按下时,判断键值,启动计数器,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器,显示乐曲播放的时间,并驱动,显示歌曲号及播放时间。也可在显示歌曲号。 ()硬件电路中用控制按键,其中扫描行,扫描列。 ()用,控制,其中控制七段码,用为数码管位选信号。 ()用,作为的的控制信号。用作为的的控制信号。 ()用口控制蜂鸣器。 ()电路为晶振频率工作,起振电路中均为。 电路图:

【实验时请仔细阅读后文说明!此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。】 实验控制流程图如下:

键盘如下:

实验程序如下: ;定义液晶显示端口标号 ;******************************************** ;******************************************* : ;液晶初始化 ;清屏 位,行显示 ;屏显,光标,闪烁 ;计数地址加,显示幕 内存初始化 :

键盘扫描 : ;有按键转到 : : : ;读键盘 : ;为跳转,第一行无按键 : : : : : ;若同时有其他按键,则等待

电子音乐盒(单片机课程设计)

^ 电子音乐盒 1、设计任务和要求 (1) 2、总体设计 (1) 3、硬件设计 (2) 硬件电路 (2) 原理说明 (2) 4、软件设计 (3) 5、仿真、安装和调试 (3) 【 6、收获与体会 (4) 参考文献 (5) 附件1:元件清单 (6) 附件2: 总电路图 (7) 附件3:音乐程序 (8) ,

音乐盒设计 1、设计任务和要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而 演乐曲(内存两首乐曲)。 (2)采用七段数码管显示当前播放的歌曲序号。 (3)可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr

单片机音乐盒课程设计报告

机电高等专科学校课程设计报告书 课程名称:单片机 课题名称:电子音乐盒 专业:自动控制系 班级:计控111 学号:111413144 姓名:思璐

2013 年01月01日

目录 1.设计目的…………………………………………..错误!未定义书签。 2.设计要求和设计指标错误!未定义书签。 3.设计容错误!未定义书签。 3.1硬件部分错误!未定义书签。 3.1.1 …错误!未定义书签。 3.2 软件部分错误!未定义书签。 4.本设计改进建议错误!未定义书签。 5.总结(感想和心得等)错误!未定义书签。 6.主要参考文献错误!未定义书签。 附录错误!未定义书签。

1.设计目的 通过学习单片机课程,对单片机的硬件设计,软件设计掌握有了不少了解,学习了protel 99 SE 和keil软件,锻炼了自己的编程能力,对单片机硬件和软件的设计都有了进一步的认识和提高。为以后的学习也打下了很好的基础。 2.设计要求和设计指标 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(存 两首乐曲)。 (2) 可通过功能键选择乐曲,播放不同音乐。 (3)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (4)利用8051的部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (5):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 低音D0的T=65536-500000/1047=65059

相关文档
最新文档