搜档网
当前位置:搜档网 › 基于51单片机的音乐游戏

基于51单片机的音乐游戏

基于51单片机的音乐游戏
基于51单片机的音乐游戏

一、课程设计内容

利用89c52单片机设计一款音乐游戏。

游戏说明:游戏基于单片机开发箱实现。游戏开始时,会播放一首音乐,同时每隔一个音符,LED点阵中会从最上方下落一个小点。玩家需要根据音乐的节奏,在小点下降到LED点阵的底部时,按下对应的按键。其中,矩阵键盘第一行从左到右的四个键分别对应LED点阵的1、3、5、7列。根据每个按键按下的时间,会有不同的得分,通过LED模块的D1-D5亮起来代表获得1-5分。如果没有LED灯亮则代表得0分。当整首歌播放完后,会在LED点阵上显示整首歌的得分,得分为0-99分。

二、设计思路和方案选择

在决定制作音乐游戏后,利用开发箱的哪几个模块来制作也是需要考虑的一个问题,最终我们决定利用现在的这个方案。其主要原因是LED点阵和蜂鸣器是游戏中的主体部分,因此无可替代。独立键盘还是矩阵键盘的选择上,经过试验发现独立键盘由于离LED点阵较远,在实际游戏中经常会有反应不过来的情况。而矩阵键盘就在点阵的正下方,因此在操作上较为方便,所以选择了矩阵键盘。而游戏得分的显示,最初是想利用数码管来实现,后来发现数码管和LED点阵都用到了单片机的P0口。在LED点阵无法被取代的情况下,只能退而求其次,选择用LED模块显示得分。

程序的具体设计思路如下:

1.实现音乐的播放效果

2.实现LED点阵的显示下落效果

3.实现音乐的节奏和LED点的下落同步

4.实现按键得分功能

5.实现显示得分效果

三、硬件设计

本游戏的实现基于单片机开发试验仪,其主要用到的硬件电路有89C52CPU模块,LED点阵模块,74HC595模块,LED模块,矩阵键盘模块和蜂鸣器模块。

四、软件框图及设计

程序流程图:

开始 LED 与SOUND 指针指向第一个音在顶部显示音符对应的LED 灯 按键是否按下 计算并显示上个音符的得分 显示时间达到一

个16分音符

LED 灯下降一行

有LED 灯下降到

底部 发下一个音 SOUND 指针指向下个音符 定时器1延时30ms

LED 灯显示时间达到规定长度

LED 指针指向下个音符

计算并显示整首歌的得分

LED 指针指向结

束符号

结束

是 否 否

是 否

C语言程序:

#include

#include

#define COMMONPORTS P0 //定义输出端口

sbit BeepIO=P1^5; //定义输出管脚

sbit SRCLK=P3^6;

sbit RCLK1=P3^5;

sbit SER=P3^4;

sbit k1=P1^3; //定义按键

sbit k2=P1^2;

sbit k3=P1^1;

sbit k4=P1^0;

sbit button=P1^7;

unsigned char code music_tab[]={

33,16,4,33,8,2,34,8,2,39,16,4,26,8,2,29,8,2,33,8,2,33,8,2,33,8,2,34,8,2, 39,16,4,29,8,2,33,8,2,34,16,4,34,8,2,33,8,2,26,16,4,34,8,2,33,8,2,34,16,4, 11,8,2,26,8,2,29,16,4,26,8,2,29,8,2,33,16,4,33,8,2,34,8,2,39,16,4,44,8,2, 49,8,2,104,8,2,104,8,2,33,8,2,34,8,2,39,16,4,29,8,2,33,8,2,34,8,2,33,8,2, 34,8,2,104,8,2,104,16,4,29,8,2,33,8,2,34,8,2,33,8,2,34,8,2,117,8,2,

117,16,4,104,8,2,49,8,2,104,26,4,117,8,2,132,8,2,117,8,2,104,8,2,49,8,2, 104,26,4,104,8,2,49,8,2,39,8,2,39,8,2,26,8,2,44,26,4,44,8,2,39,8,2,26,8,2, 26,8,2,33,8,2,29,26,4,33,4,1,34,4,1,34,8,2,39,8,2,104,8,2,49,8,2,104,26,4, 117,8,2,132,8,2,117,8,2,104,8,2,49,8,2,104,26,4,104,8,2,49,8,2,39,8,2,

39,8,2,26,8,2,44,26,4,44,8,2,39,8,2,39,8,2,104,8,2,49,8,2,104,76,4,44,8,2, 44,8,2,44,8,2,49,8,2,49,8,2,44,8,2,39,8,2,39,16,4,33,8,2,26,5,5,26,8,2, 29,8,2,33,8,2,34,8,2,33,4,1,34,5,0,34,8,2,33,4,1,34,5,0,34,26,4,33,8,2, 34,8,2,33,8,2,34,8,2,117,8,2,117,16,4,104,8,2,49,8,2,104,26,4,117,8,2,

132,8,2,117,8,2,104,8,2,49,8,2,104,26,4,104,4,1,49,5,0,49,8,2,39,8,2,

39,8,2,26,8,2,44,26,4,44,8,2,39,8,2,26,8,2,26,8,2,33,8,2,29,26,4,33,4,1,

34,4,1,34,8,2,39,8,2,104,8,2,49,8,2,104,26,4,117,8,2,132,8,2,117,8,2, 104,8,2,49,8,2,104,26,4,104,8,2,49,8,2,39,8,2,39,8,2,26,8,2,44,26,4, 44,8,2,39,8,2,39,8,2,104,8,2,49,8,2,104,76,4,34,16,4,34,8,2,44,8,2, 39,10,0,26,8,2,26,16,4,34,26,4,29,16,4,33,16,4,26,76,4,0,0,0

}; //歌曲格式为{音调,发音长度,不发音长度,...,0,0,0}

unsigned char code P0TAB[8] =

{0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //分别为选中点阵1-8列unsigned char code DIG_CODE[10][4]=

{

{0xf8,0x88,0xf8,0x00}, //0

{0x00,0x00,0xf8,0x00}, //1

{0xb8,0xa8,0xe8,0x00}, //2

{0xa8,0xa8,0xf8,0x00}, //3

{0xe0,0x20,0xf8,0x00}, //4

{0xe8,0xa8,0xb8,0x00}, //5

{0xf8,0xa8,0xb8,0x00}, //6

{0x80,0x80,0xf8,0x00}, //7

{0xf8,0xa8,0xf8,0x00}, //8

{0xe8,0xa8,0xf8,0x00}, //9

};

unsigned int Sound_Temp_TH0,Sound_Temp_TL0; //音符定时器初值暂存unsigned int Sound_Temp_TH1,Sound_Temp_TL1; //音长定时器初值暂存

void InitialSound(void);

void Hc595SendByte(unsigned char dat);

void Delay(unsigned int n);

void Play(unsigned char *Sound);

void ShowScore(unsigned int sum);

unsigned int sum;

void InitialSound(void)

{

button = 0;

BeepIO = 0;

TMOD |= 0x11;

Sound_Temp_TH1 = (65535-30000)/256; //计算TL1应装入的初值Sound_Temp_TL1 = (65535-30000)%256; //计算TH1应装入的初值ET0= 1;

ET1= 0;

TR0= 0;

TR1= 0;

EA= 1;

}

void ShowScore(unsigned int sum) //显示得分

{

unsigned int tab,n;

while(1)

{

for(tab=0;tab<8;tab++)

{

Hc595SendByte(0x00); //消隐

COMMONPORTS = P0TAB[tab]; //输出字码

if(tab<4)

{

n=sum/10;

Hc595SendByte(DIG_CODE[n][tab]);

}

else

{

n=sum%10;

Hc595SendByte(DIG_CODE[n][tab-4]);

}

Delay(1);

}

}

}

void Delay(unsigned int n) //延时50us

{

unsigned char a,b;

for(;n>0;n--)

{

for(b=1;b>0;b--)

for(a=22;a>0;a--);

}

}

void BeepTimer0(void) interrupt 1 //音符发生中断

{

BeepIO = !BeepIO;

TH0 = Sound_Temp_TH0;

TL0 = Sound_Temp_TL0;

}

void Hc595SendByte(unsigned char dat) //向74H595发送一个字节的数据{

unsigned char a;

SRCLK=0;

RCLK1=0;

for(a=0;a<8;a++)

{

SER=dat>>7;

dat<<=1;

SRCLK=1;

_nop_();

_nop_();

SRCLK=0;

}

RCLK1=1;

_nop_();

_nop_();

RCLK1=0;

}

void Play(unsigned char *Sound) //演奏子程序

{

unsigned int HC595TAB[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

unsigned char i;

unsigned int tab,j,k,Point_led,Point_sound,LDiv,LDiv1,LDiv2,LDiv16, LDiv16_temp,CurrentFre,LDiv1_sound,LDiv2_sound,LDiv1_temp,

CurrentFre_sound,Fre_Temp,Temp_T,SoundLength,score,count;

unsigned int temp[4];

SoundLength = 0;

LDiv16=5; //16分音符的长度

while(Sound[SoundLength] != 0x00) //计算歌曲总长度

{

SoundLength+=3;

}

LDiv1_temp=0;

LDiv16_temp=0;

Point_led=0;

Point_sound=0;

TR0=0;

TR1=1;

score=0;

sum=0;

j=1;

while(Point_sound < SoundLength) //一个音符一个音符的来

{

CurrentFre = Sound[Point_led];

LDiv1 = Sound[Point_led+1];

LDiv1_sound = Sound[Point_sound+1]; //发音长度

LDiv2 = Sound[Point_led+2];

if(Sound[Point_led]!=0)

LDiv=LDiv1+LDiv2; //两个LED灯之间的间隔长度

else

LDiv=5;

if (Point_led!=0)

{

if (Fre_Temp>CurrentFre) //频率比上个音符大,LED显示的点右移两行,比

上个音符小则左移两行,移到最左或最右循环{

if(k==0) k=6;

else k=k-2;

}

else if (Fre_Temp

if(k==6) k=0;

else k=k+2;

}

}

Fre_Temp= CurrentFre;

if(Sound[Point_led]!=0)

HC595TAB[k]|=0x80; //显示led灯在最上方

for(i=LDiv;i>0;i--) //间隔规定长度显示下一个led灯{

LDiv16_temp++;

count++;

if(j!=1) //判断得分

{

if(temp[j/2]!=0)

{

if(count==1){ score=5;P2=239;}

else if(count==2){score=4;P2=247;}

else if(count==3){score=3;P2=251;}

else if(count==4){score=2;P2=253;}

else if(count==5){score=1;P2=254;}

else{score=0;P2=255;}

sum=sum+score;

j=1;

}

}

if(LDiv16_temp==LDiv16) //每隔1个16分音符的时间

{

for(tab=0;tab<8;tab++)

HC595TAB[tab]>>=1; //led灯下降1格

if(HC595TAB[tab]&1 == 1) //判断led灯是否下降到底部

{

CurrentFre_sound = Sound[Point_sound];

LDiv1_sound = Sound[Point_sound+1];

LDiv2_sound = Sound[Point_sound+2];

LDiv1_temp=0;

Temp_T = 65536-(5000/CurrentFre_sound)*10; //计算计数器初值Sound_Temp_TH0 = Temp_T/256;

Sound_Temp_TL0 = Temp_T%256;

TH0 = Sound_Temp_TH0;

TL0 = Sound_Temp_TL0 + 12;

TR0=1;

temp[0]=temp[1]=temp[2]=temp[3]=0;

count=0;

P2=255;

j=tab;

Point_sound+=3; //发下一个音

if(Sound[Point_sound]==0)

i=LDiv1_sound+LDiv2_sound;

}

}

LDiv16_temp=0;

}

while(TF1==0)

{

for(tab=0;tab<8;tab++)

{

Hc595SendByte(0x00); //消隐

COMMONPORTS = P0TAB[tab]; //输出字码

Hc595SendByte(HC595TAB[tab]);

Delay(1);

if(k1==0) temp[0]=1; //判断按键是否按下

else if(k2==0) temp[1]=1;

else if(k3==0) temp[2]=1;

else if(k4==0) temp[3]=1;

}

}

TH1 = Sound_Temp_TH1;

TL1 = Sound_Temp_TL1;

TF1=0;

LDiv1_temp++;

if (LDiv1_temp==LDiv1_sound)

TR0=0;

}

if(Sound[Point_led]!=0)

Point_led+=3; //显示下个led灯

}

P2=255; //最后一个音结束熄灭led灯

}

main()

{

InitialSound();

Play(music_tab);

ShowScore(sum/9);

}

五、实物照片及调试结果游戏时照片:

结束显示分数照片:

六、心得体会

这次单片机的课程设计,也是我们第一次自己完成一个由自己构思并实现的作品。在选择方案的时候,我们首先决定的是自己编写一款游戏。在听完老师讲解蜂鸣器播放音乐和LED点阵的原理后,我想到了以前玩过的一款名为节奏大师的音乐游戏,我发现利用LED点阵和蜂鸣器结合,完全可以在单片机上实现它的主要框架。再配合按键的功能,就能用单片机来玩这一简易的音乐游戏了。于是,我们便初步决定了这个题目。

然而,在制作的过程中,我们遇到了许多事先没有料想到的困难。比如LED显示点的出现和对应的音符的不同步,按键的不同得分判定难以实现,用于显示分数的数码管和LED点阵共用了一个端口等等。这些困难都给我们编写程序造成了很大的困扰,甚至令我们一度想要

放弃。但在我们的努力下,最终还是一个个解决了这些困难,实现了我们原本的构想。这也让我体会到实践才是检验问题最好的办法。

通过这次课程设计,我也对单片机的软件、硬件有了进一步的认识。完成这一课程设计,需要能熟练地运用51单片机的C语言编程,以及单片机内部的定时器、中断等功能,也需要对LED、按键、蜂鸣器、数码管等的原理进行一定的了解。更重要的是,能够将这两者结合,才能让各个模块都能受我们控制,达到我们想要的效果。

这一次的实验作品的完成,让我们充分体会到了学习是一个循序渐进的过程。在课程开始之初,我们对于单片机一无所知,老师给与我们的开发箱也只不过是一个上课依葫芦画瓢,展现一下黑板上程序的工具。然而随着课程的深入,我们可以不断的运用课本上新学到的知识已经实验之中运用过的程序和结构,来实现更多的功能以及想法。直到最后,我们在开发箱上,依靠着这门课程给予我们的知识和技巧,完成了一个简易的音乐游戏。虽然游戏非常的简单,但是能够设计出这样一个游戏是我们在开始完全没有预想到的。

通过这门课程,我们第一次实际感受到了知识是如何运用于实际的。在别的课程之中考核基本都是通过书面的考试,而这一次是让我们自己在开发箱上创造自己的作品,让我们受益匪浅。我们不仅仅需要用这一门课程上的知识,许多之前学过的知识也再一次被我们从课本中找了回来,运用于其中。在这一次的期末作业考核之中,我们真正认识到了之前学过的许多知识的作用,例如微机原理、C语言等等,这些东西不再是课本上的知识,而变成了我们的一种能力,这是我们在开发箱创造作品的过程之中最大的收获。

另外,通过这次的作品,让我感受到了团队协作的真谛。团队成员通过配合来扬长避短,两个人的知识和想法融合在一起,来更好地完成这次考核。我们的作品也从最初的一直空白,变成了一个简易但是很完整的音乐游戏。我们都从这次的创作中受益匪浅。

(完整版)基于51单片机的电子八音盒详细设计步骤

一、设计目的 利用8052单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。 二、设计要求 其基本功能为:1,使用LED显示器来显示目前演奏的歌曲编号;2,具有8个按键操作来选择演奏哪一首歌曲;3,内建8首歌曲旋律,按下单键可以演奏歌曲。 三、设计器材 T89C52单片机、晶振、八个按键、二位一体共阳极数码管、电阻电容若干、导线。 四、设计方案及分析 设计思路: (1)选择8052单片机,通过T0定时中断,并配合P2.0引脚输出音频频率。 (2)P2.0引脚输出接蜂鸣器。 (3)通过P0口接LED。 (4)P1口接键盘,输入歌曲号。 音符产生方法: 不同的音调有不同的频率。频率不同,音调也就不同。 利用定时器,使其工作在模式1,定时中断,然后控制P2.0引脚的输出每次取反,就可以在P2.0的引脚输出相应的方波频率。改变计数初值,就改变了频率。定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P2.0引脚得到一音频的脉冲。 如:中音1的频率=523HZ,周期T=1/523=1912us; 定时器的定时时间为:T/2=1912/2us=956us; 计算得TH0,TL0的计数初值THTL=64580 下面是个音符计数初值

节拍产生方法: 音乐中的节拍用延时时间产生。假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。为方便记谱,将节拍数也进行编码,如下: 建立曲谱编码表: 编谱用8位编码,高4位代表音符,低4位代表节拍。如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H 程序清单: #include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit SPEAK = P2^0;//接蜂鸣器管脚 uchar th0_f; uchar tl0_f;

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

单片机60秒倒计时

目录 1前言 (1) 2工程概况 (2) 3正文 (2) 3.1 设计目的与要求 (2) 3.2 设计方法的目标 (2) 3.3 设计方法和内容 (2) 3.3.1硬件设计方法 (3) 3.3.2软件设计方法 (7) 3.4 软件调试过程 (9) 3.4.1 系统调试工具keil C51 (9) 3.4.2 系统调试工具PROTEUS (9) 3.4.3焊接电路,对各节点测试导通性 (10) 4有关说明 (11) 5设计总结 (11) 6致谢 (11) 7参考文献 (11)

前言 在生活和生产的各领域中,凡是有自动控制要求的地方都会有单片机的身影出现;从简单到复杂,从空中、地面到地下,凡是能想像到的地方几乎都有使用单片的需求。现在尽管单片机的应用已经很普遍了,但仍有许多可以用单片机控制而尚未实现的项目,因此,单片机的应用大有想像和拓展空间。 单片机就是微控制器,它是嵌入式系统中的重要且发展迅速的组成部分。单片机接上震荡元件(或震荡源)、复位电路和接口电路,载入软件后,可以构成单片机应用系统。将它嵌入到形形色色的应用系统中,它就成为众多产品、设备的智能化核心。所以,生产企业称单片机为“微电脑”。 单片机的应用有利于产品的小型化、多功能化和智能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料消耗,保证安全等。但是,单片机应用的意义绝不仅限于它的广阔范围以及所带来的经济效益上,更重要的意义还在于:单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。从前必须有模拟电路或数字电路实现的大部分功能,现在已能使用单片机通过软件(编程序)方法实现了。这种以软件取代硬件并提高系统性能的控制系统“软化”技术,称之为微控制技术。微控制技术是一种全新的概念,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展、日益完善和更加充实。 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。 本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。

基于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 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

基于51单片机简易电子琴的课程设计

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

单片机系统设计-基于proteus的百天倒计时

单片机系统 课程设计 课程设计名称:基于89C51的倒计时牌设计专业班级: 学生姓名: 学号: 指导教师: 课程设计地点: 课程设计时间:2013-12-16~2013-12-27 单片机系统课程设计任务书

目录 1 概述 (1) 1.1 研究背景 (1) 1.2 设计思想及基本功能 (1) 2 总体方案设计 (2) 2.1 方案选取 (2) 2.2 系统框图 (3) 2.3 总体方案设计 (3) 3 硬件电路设计 (4) 3.1 电源电路设计 (4) 3.2 晶振电路 (5) 3.3 复位电路 (6) 3.4 键盘电路 (7) 3.5 显示电路 (7) 3.6 蜂鸣器及LED电路 (12) 4 系统软件设计 (12) 4.1 主程序软件设计 (12) 4.2 键盘程序设计 (13) 4.3 定时程序设计 (13) 4.4 报警程序设计 (15) 5 Proteus仿真 (15) 6 总结 (18) 参考文献 (19) 附录A系统原理图 (19) 附录B程序清单 (181) 附录C机器码清单 (23)

1概述 1.1研究背景 随着2014年新年钟声的临近,一年一度的全球华人文化盛宴春节联欢晚会也正式进入了紧张的倒计时。诚如你所发现的那样,各式各样的倒计时牌开始逐渐的走进人们的视野。我们现实的工作学习中也不可避免的接触到形形色色的倒计时牌,作为学生的我们记忆犹新的恐怕非高考百天倒计时牌莫属了,而最让国人觉得自豪的就是1997年香港回归的倒计时了,当倒计时牌归零的那一刻,冉冉升起的中国国旗再一次点燃国人沸腾的热血。诸如此类的倒计时牌不胜枚举:2008北京奥运会倒计时、2010上海世博会倒计时牌等等。 日常生活中,我们不可避免的接触到各式各样的倒计时牌,当你开车时红路灯的短暂倒计时,当你玩游戏时游戏时间结束的倒计时…..,而这些不同功能不同含义的倒计时牌引起了我极大的兴趣,学完单片机后,让做出一个属于自己的倒计时牌成为可能。 在智能化产品中,单片机的应用已经越来越广泛,单片机以它体积小、质量轻、耗电省、可靠性高、价格低等优点,开始不断发展,AT89C51单片机是一款非常典型且实用的51单片机,网上资源和参考书比较多,所以我此次采用此型号的单片机作为倒计时牌的控制器件。 1.2设计思想及基本功能 该倒计时牌采用廉价可靠的LED数码管显示,能够根据使用者的要求,结合实际情况设置不同时间长度的倒计时,在设定的倒计时时间结束时能够自动启动报警装置,并且显示恢复到初始状态。利用专业的单片机仿真软件Proteus7.8来进行仿真,以验证设计的正确性同时达到降低设计周期的目的。 可设设置倒计时时间的倒计时牌系统具有以下几个基本功能: (1)利用8位数码管能够显示日、时、分、秒倒计时。 (2)通过按键来实现倒计时时间的设定。 (3)倒计时时间到时,蜂鸣器报警并使LED点亮。

基于51单片机音乐盒程序设计

基于51单片机音乐盒程序设计基于51单片机音乐盒程序设计一、功能设计说明 1、电路设计 实物图 矩阵键盘部分电路图 2、运行流程图 程序开始 播放小苹果歌曲

否 判断任意按键是否按下继续播放小苹果歌曲是 否播放完成 进入电子琴模式 判断K16按键是否按下 是 3、电子琴模式按键对应发音设计 按键发音按键发音 低 1 中 2 K1 K9 低 2 中 3 K2 K10 低 3 中 4 K3 K11 低 4 中 5 K4 K12 低 5 中 6 K5 K13 按键发音按键发音 低 6 中 7 K6 K14 低 7 高 1 K7 K15 中 1 重新播放小苹果 K8 K16 二、硬件电路说明

1、程序下载电路 音乐盒电路图 ISP下载接口 本设计采用的单片机为AT89S52单片机,需使用ISP下载器进行下载程序,程序下载电路图如图中ISP1接口. 2、音乐发音电路 IO口P10发出不同频率的脉冲,则BUZZER产生各种不同的声音,本设计采用12MHZ 晶振,系统频率1MHZ,定时器计数一个1us,其对应关系如下表所示: 频率简谱码(T音符音符频率(HZ) 简谱码(T值) (HZ) 值) 低 1 DO 262 63628 # 4 FA# 740 64860 # 1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63853 # 5 SO# 831 64934 # 2 RE# 311 63928 中 6 LA 880

64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 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 中 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 65282 计算方法: 例如产生262HZ频率(发音DO), 周期T=1/262=3816 us,由于定时器中断使IO不停取反,故周期 T=3816/2=1908 us 定时器初值N=65536-1908=63628 TH0=63628/256 TL0=65536%256 三、程序代码说明 1 、脉冲产生 采用定时器0溢出中断产生脉冲,定时器初始化如下: TMOD = 0x01; //定时器0工作方式1 ,即十六位计数器计数 TR0 = 1; //启动定时器 ET0 = 1; //定时器0溢出中断使能

基于51单片机的电子琴设计课程设计

目录 前言 (2) 第1章基于51单片机的电子琴设计 (3) 1.1 电子琴的设计要求 (3) 1.2 电子琴设计所用设备及软件 (3) 1.3 总体设计方案 (3) 第2章系统硬件设计 (5) 2.1 琴键控制电路 (5) 2.2 音频功放电路 (6) 2.3 时钟-复位电路 (6) 2.4 LED显示电路 (6) 2.5 整体电路 (6) 第3章电子琴系统软件设计 (7) 3.1 系统硬件接口定义 (7) 3.2 主函数 (8) 3.2.1 主函数程序 (8) 3.3 按键扫描及LED显示函数 (9) 3.3.1 键盘去抖及LED显示子程序 (10) 3.4 中断函数 (11) 3.4.1 中断程序 (12) 第4章电子琴和调试 (12) 4.1 调试工具 (12) 4.2 调试结果 (13) 4.3 电子琴设计中的问题及解决方法 (14) 第5章电子琴设计总结 (15) 参考文献 (16) 附录 (17)

前言 音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。电子琴所包含的巨量的音乐信息和强大的音乐表现力可以帮助音乐教学更好地贯彻和落实素质教育,更有效地提高人们的音乐素质和能力。目前,市场上的电子琴可谓琳琅满目,功能也是越来越完备。以单片机作为主控核心,设计并制作的电子琴系统运行稳定,其优点是硬件电路简单、软件功能完善、控制系统可靠、性价比较高等,具有一定的实用与参考价值。这就为电子琴的普及提供了方便。 二、电子琴设计要求本设计主要是用AT89C51单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成2大功能:音乐自动播放、电子琴弹奏。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计 摘要 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以AT89C51单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏音乐,功能多,外观效果多彩,配有彩灯,使用方便,本音乐盒有三个按键,key1控制彩灯,key2控制音乐,key3为总开关,可同时关闭音乐与彩灯。具有一定的商业价值。 关键字:AT89C51;音乐盒;按键;彩灯

Abstract Along with the development of human society, people of vision, hearing things put forward higher request. Small music box can bring good memories and improve people's spiritual culture. Traditional music box is heavy mechanical type, size, pronunciation and drab, cannot achieve batch production. Music box designed in this paper based on AT89C51 microcontroller as the core element of electronic music box, small size, light weight, can play music, multi-function, appearance and colorful, with a lantern,easy to use. The music box with three buttons , The key1 control Lantern, key2 control music, key3 total switch can turn off the music and lanterns. Have some commercial value. Keywords: AT89C51, music boxes, buttons, Lantern

基于51单片机的蓝牙音乐盒

项目编号 西南交通大学峨眉校区大学生 科技创新基金项目 申请书 A、科技发展基金√ 项目类别(划√)B、基础科学研究基金 C、社会科学专项基金 项目名称:基于51单片机的蓝牙音乐盒 申请者:崔志斌 指导老师:王恪铭 起止年限:2014年5 月至2015年5月 申请日期:2014年4月7日

一、简表 项目名称基于51单片机的蓝牙音乐盒 申请经费0.1(万元)申请类别科技发 展基金 申请滚动资助 (划√) 是 否√ 申请者崔志斌性别男出生日期1993.7.3 学号20128403 班级测控一班所在系 (部) 计算机与通信工 程系 起止年限2014.05 项目组成员(不含申请者) 姓名学号所在系(部)项目分工本人签字 崔志斌20128403 计算机与通信工 程系 技术支持 计算机与通信工 程系 技术支持 计算机与通信工 程系 技术支持 项目研究内容提要(200字以内) 现如今随着科技的发展,人们生活水平的提高,越来越多的人们将注意力转移到了丰富自己的精神生活上。因而现在市场上出现了一些多媒体电子设备,例如MP3、MP4以及平板电脑等等。但是我们发现,这些多媒体设备大都在设备上面仅仅设计了物理按键而没有给出无线控制的解决方案,因此本小组想到了将现有的成熟无线通信技术——蓝牙技术作为我们的多媒体电子音乐盒的控制技术。它打破了传统的以物理按键控制多媒体设备的框架,转而使用现如今迅猛发展并且普及率极高的蓝牙无线通信技术,这样做既可以利用蓝牙将我们的传统多媒体设备上面的物理按键解放,又可以将消费者对于多媒体电子设备的操控体验提高一个层面,可以说是一举两得。用户容易接

受,而且美观大方。整个音乐盒看起来相当美观新颖,故还可作为室内装饰用。 二、项目设计论证 项目名称:基于51单片机的蓝牙音乐盒 1、项目意义、国内外研究概况、水平及发展趋势 现如今随着科技的发展,人们生活水平的提高,越来越多的人们将注意力转移到了丰富自己的精神生活上。因而现在市场上出现了一些多媒体电子设备,例如MP3、MP4以及平板电脑等等。但是我们发现,这些多媒体设备大都在设备上面仅仅设计了物理按键而没有给出无线控制的解决方案,因此本小组想到了将现有的成熟无线通信技术——蓝牙技术作为我们的多媒体电子音乐盒的控制技术。它打破了传统的以物理按键控制多媒体设备的框架,转而使用现如今迅猛发展并且普及率极高的蓝牙无线通信技术,这样做既可以利用蓝牙将我们的传统多媒体设备上面的物理按键解放,又可以将消费者对于多媒体电子设备的操控体验提高一个层面,可以说是一举两得。用户容易接受,而且美观大方。整个音乐盒看起来相当美观新颖,故还可作为室内装饰用。 国外已经有非常多的“创客”在科技小制作上面取得了非常多的成果,比如高仿真机器人、四轴飞行器等等。但是国内的科创发展之

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

单片机60秒倒计时

摘要 近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具应用对象特点的软件结合,以作完善。模拟多通道压力系统是利用压力传感器采集当前压力并反映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。 本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使用专门的硬件译码器,而采用软件程序进行译码。 关键词:单片机,软件,倒计时器,LED数码显示器。

目录 1.设计任务 (1) 2.设计的主要内容和要求 (1) 3.整体设计方案 (1) 4. 软件电路设计 (2) 4.1定时计数器初值运算 (2) 4.2程序框图设计 (2) 4.3程序代码 (3) 5. 硬件设计 (4) 6. 基于Proteus的电路仿真 (6) 6.1 系统调试工具PROTEUS (6) 6.2 总线路图 (6) 6.3运行结果 (7) 总结 (7) 参考文献 (8)

单片机系统课程设计 1.设计任务 设计一个基于单片机MCS-51的显示系统,要求实现以下功能: 1.在单片机系统与硬件开发过程中,与数码管和液晶屏显示器等显示仪器,本课程设采用的采用的显示仪器为数码管。 2.用keil 软件编写一个60秒倒计时时钟程序,且用两位数码管显示时间。 3.用单片机的定时器产生一秒的定时时间,作为秒倒计时间,当一秒产生时,秒计数自动减一,当秒计数到00时,自动又从59开始倒计数。 2.设计的主要内容和要求 1.基于单片机实现对数码管的控制。 2.在开始,数码管是关闭的,什么也不显示,当所编写的源程序下载到单片机中并 开始运行时,两位数码管会显示相应的变化时间。 3.整体设计方案 AT89C51单片机的内部16的内部16位定时器是一个可编程计时器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。只要通过设置特殊功能寄存器TMOD ,即可完成方式的选择。计数器何时工作也是通过软件来设定TCON 特殊功能寄存器来完成的。整体设计方框图如图1。 图1 60秒倒计时整体方框图 电源 单片机 复位电路 数码管 时钟电路

基于51单片机的音乐盒的设计毕业论文

基于51单片机的音乐盒的 设计毕业论文 目次 目次 (3) 1 引言 (4) 1.1 音乐盒的意义 (4) 1.2 研究容 (5) 2.1系统总体框架图 (6) 2.2音乐盒的设计原理 (6) 2.3 单片机芯片概述 (7) 3 硬件电路设计 (8) 3.1 单片机最小系统原理图 (8) 3.1.1 复位电路 (8) 3.1.2 晶振电路 (9) 3.1.3时钟电路 (9) 3.2 LCD显示模块 (9) 3.3 继电器模块 (11) 3.3.1电磁继电器的工作原理和特性 (12)

3.3.2 固态继电器的工作原理和特性 (12) 3.3.3 继电器主要产品技术参数 (12) 3.4 按键模块 (13) 3.5 其它 (13) 4 软件设计 (14) 4.1 软件总体流程图 (14) 4.2播放/暂停子程序 (15) 4.3 LCD显示模块软件设计 (17) 4.3.1 LCD的初始化函数 (17) 4.3.2 LCD与继电器的函数 (18) 5 系统实现 (19) 5.1 硬件调试 (20) 5.1.1 按键控制的实现 (20) 5.1.2 LCD显示 (21) 5.1.3 其他 (21) 总结 (22) 致谢 (23) 参考文献 (24) 附录A 元器件清单 (25) 附录B 源程序 (26)

1 引言 在进入21世纪后,单片机产品的发展正朝着高性能和多品种方向,并且发展趋势是进一步朝着CMOS化、小体积、低功耗、大容量、高性能、低价格以及外围的电路装化等几个方面去发展。单片机的应用的重要意义还是在于它是从根本上改变了传统的控制系统设计思想和设计方法。过去必须要由模拟电路或者数字电路才可以实现的大部分的功能,现在已能完全可以用单片机通过软件的方法来实现了。这种由软件去代替硬件的控制技术也称之为微控制技术,这是传统控制技术的一次革命。单片机可以说渗透到了我们生活的各个方面,几乎难以找到哪个领域里没有单片机的踪迹。导弹中的导航装置,飞机里安装的各种仪表的控制,计算机里的网络通讯与数据传输方面,工业自动化过程中实时控制和数据处理方面,生活中被广泛使用的各种智能IC卡,民用的高档轿车的安全保障系统,摄像机、录像机、全自动洗衣机所涉及的控制方面,以及远程控制的玩具、电子宠物等等,这些全都是离不开单片机的。 而伴随着科学技术的不断进步和社会的持续发展,人类所接触的更种信息也在不断增加并且信息变得越来越复杂。面对着浩如烟海的繁杂信息,人们目前已经能利用计算机等工具快速、精准地对其进行快速处理,但要想将其处理完毕的信息及时、清晰地传递给其他人,还必须要寻找更加卓越的显示技术去实现它。而单片机技术与液晶显示技术的结合,恰恰使得信息的传输交流向着智能化可视化方向进行快速发展。

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

基于单片机的电子倒计时牌设计与实现

基于单片机的电子倒计时牌的设计与实现 摘要 近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以做完善。生活中单片机的应用很广,如电子倒计时牌就能够帮你记住一些重要的日子叫你不会忘记。它可以用于奥运会的倒计时、世界博览会的倒计时、高考的倒计时等重要的日子的计时,使你的生活变的简单而有规律。制作一些大的电子倒计时牌也能方便大众,如2008年奥运会在中国举办,在北京的那个大的奥运会倒计时牌就很好的给大众一个提醒的作用。 现在日常生活中时间对人们的重要性,越来越高了。时间伴随我们的每一天,每一时刻,所以我们由于各种原因会忘记各种重要的日子,这就是我们做这个电子倒计时牌的原因,它能够很好提醒人们重要的日子,保重我们不能忘记,也减少了人们不必要的损失。计时的方法也得到了发展,由最初人们用看系扣来记录重要的事情和天数,到看太阳的影子,来看时间的变化,再到出了发条表,人们用翻纸来看时间和天数,到现在人们有使用电子表,人们的生活再不断的提高和发展,电子倒计时牌是时代的发展的产物,也是人们智慧的产物。 本篇论文讨论了倒计时的设计和制作,单片机与外部温度采集芯片、液晶屏显示的电路连接,和使用Protel99进行原理图的绘制和PCB的制作,使用汇编和C语言进行软件的设计,并对系统硬件和软件进行了验证。 关键词:单片机;汇编;电子倒计时牌;Protel99

Electronic countdown board based on single chip design and implementation Abstract In recent years, with the penetration of computers in the social sphere, SCM applications are continually deepening, while the traditional control and test drive the rapidly growing update. In real-time detection and control of the microcomputer application system, the microcontroller is often used as a core component, only the SCM knowledge is inadequate and should be based on specific hardware architecture, and application-specific features of the software objects are combined to make perfect . Life of a very wide application of SCM, such as electronic countdown board will be able to help you remember some important call you will not forget the day. It can be used for the Olympic Games countdown, countdown to the Expo, and other important college entrance examination in the countdown to the days of the time, make your life more simple and regular. Produce large electronic countdown board and make it easier public, such as the 2008 Olympic Games held in China, in Beijing Olympics countdown board that big on a good reminder to the public a role. Now in daily life, the importance of time for people increasingly high. Time with us every day, every minute, so we can forget all due to various reasons, this is an important day we do this electronic countdown card, it is important to remind people of the day, we cannot forget yourself, also reduced the people to avoid unnecessary loss. Timing method is developed by using buttons at first people to record important things to see the sun, and the number of shadow, the change of time and again to the wind, people use double perspective, time and number of paper to use electronic, people are the life of people more continuous improvement and development, electronic countdown card is the product of the development of The Times, the wisdom of people. This paper discusses the design and manufacture, the countdown MCU and external temperature gathering chip, LCD display, and use of the circuit principle diagram Protel99 draw and PCB manufacture, assembly and C language used in the design of software and hardware and software is validated. Key words: Single-Chip computer, Compilation, Electronic countdown board, Protel99

相关主题