首页 基于单片机电子门铃设计

基于单片机电子门铃设计

举报
开通vip

基于单片机电子门铃设计 电子门铃的设计 xxxxx 物电与电子工程学院 电子信息工程 0xxxxxxx2 【摘要】本设计介绍了由STC89C52单片机来构成电子音乐门铃系统的工作过程。主要完成的电子门铃不仅具有普通电子门铃的功能,还具有一些扩展功能。该设计主要由单片机、按键、喇叭等组成,它的制作简单,成本低,安装也比较方便。因此,这也给人们生活提供了很大的便利。 【关键词】STC89C52单片机 电子门铃 音乐 前言 随着社会的前进和发展,仪器小型化,功耗微小化,控制智能化得到了很广泛的应用。而在些领域中,单片机起着举足轻...

基于单片机电子门铃设计
电子门铃的设计 xxxxx 物电与电子工程学院 电子信息工程 0xxxxxxx2 【摘要】本设计介绍了由STC89C52单片机来构成电子音乐门铃系统的工作过程。主要完成的电子门铃不仅具有普通电子门铃的功能,还具有一些扩展功能。该设计主要由单片机、按键、喇叭等组成,它的制作简单,成本低,安装也比较方便。因此,这也给人们生活提供了很大的便利。 【关键词】STC89C52单片机 电子门铃 音乐 前言 随着社会的前进和发展,仪器小型化,功耗微小化,控制智能化得到了很广泛的应用。而在些领域中,单片机起着举足轻重的作用,这就把单片机的应用开发到了最高顶点,单片机应用系统的设计也就顺理成章的成为了科技的最热点。 近几年,随着市场智能化的升温,音乐门铃系统正在慢慢取代传统的用钥匙去管理各个门道,并且在市场上社会上生活上已经得到了很好的应用。有了音乐门铃,客人拜访时听到的将不是单调的普通门铃声,而是特殊动听的音乐声。而如果听到的是三种音乐的门铃声,那这一定是一件令人很兴奋的事情。 本设计就是设计一种具有三种音乐的电子门铃。当客人拜访时,按下门铃,听到的不是简单枯燥的一般门铃声,而是优美的音乐声。 1 总体 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 设计 1.1 设计任务 设计一个基于单片机的三音门铃。 1.2 设计要求 1,当按下开关,电子门铃可以自动鸣叫,并能持续一段时间。 2,工作电压有一定的调节范围。 3,不可以购买现成的发声装置。 1.3 总体方案的论证与选择 针对本设计的设计要求,可以知道:本设计是利用单片机实现对喇叭的发声,控制采用按钮操作。当按下开关时,单片机发出的音乐声由喇叭发出。由此,可以给出两种方案。 方案一: 本设计是通过按键输入(其中有两个按键,一个播放上一首,一个播放下一首) ,作用于单片机后使单片机发出声音送入喇叭使喇叭发声。同时也有复位按键,可以使歌曲复位,从头再唱。 音乐的发声主要是通过程序的编写来达到发声要求。其总体框图,如图1.1。 图1.1方案一总体框图 方案二: 本设计是通过按键输入(只有一个按键),作用于单片机后经过人工调频发声后送入蜂鸣器使蜂鸣器发出音乐的声音。 音乐的发声主要靠几个可调电阻调频发声。其总体框图如图1.2 。 图1.2 方案二总体框图 通过比较可以知道,方案二中的调频发声部分相对于方案一比较难以实现,并且蜂鸣器发出的声音相对喇叭来说噪音更重。而方案一可以通过程序的编写来实现音乐的发声,可以发出清晰、无噪的音乐声。故选择方案一来作为本设计的总体 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 。 2 系统软件设计与调试 2.1 STC89C52单片机简介 STC89C52是宏晶科技退出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。其引脚图如图2.1。 图2.1 STC89C52单片机引脚图 2.1.1 SCT89C52的主要特性 1,增强型8051单片机; 2,工作频率范围为0-40MHz; 3,32个双向I/O口; 4,3个16位定时/计数器; 5,外部中断4路,下降沿中断或低电平出发电路 6,低功耗空闲和掉电模式。 2.1.2 STC89C52的引脚功能 P0口:P0口是漏极开路的8位并行双向I/O口,也是地址/数据总线复用口。作为输出端口时,每个引脚能能驱动8 个TTL负载;在访问外部数据存储器或程序存储器时,P0口也可以提供低8位地址和8位数据的复用总线;在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节。校验时,要求外接上拉电阻。 P1口:P1口是具有内部上拉电阻的8位双向并行I/O口。P1口的输出缓冲器可驱动(吸收或输出电流)4 个TTL 输入。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P1口作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 P2口:P2口是具有内部上拉电阻的8位双向并行I/O口。P2 的输出缓冲器可驱动(吸收或输出电流)4 个TTL 输入。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 P3口:P3口是具有内部上拉电阻的8位双向并行I/O口。P3 口输出缓冲器可驱动(吸收或输出电流)4 个TTL 输入。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。 RST:RST是复位信号输入引脚。晶振工作时,如果在此引脚上持续出现至少两个机器(晶振的12个振荡周期为一个机器周期)的高电平就会使单片机复位。 XTAL1和XTAL2:XTAL1和XTAL2是片内振荡器输入/输出引脚。XTAL1是反向振荡放大器的输入及内部时钟工作电路的输入引脚,XTAL2是来自反向振荡器的输出。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 ALE/PROG:ALE/PROG是地址锁存允许/编程引脚。在访问外部程序存储器和数据存储器时,地址锁存允许(ALE)引脚输出用于锁存低8位地址信号的脉冲。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 EA/Vpp:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。 2.2 单片机音乐发声原理 利用单片机产生音乐符,再把音乐符翻译成计算机音乐语言,由单片机进行信息处理,再通过喇叭放出音乐。 2.2.1单片机产生不同频率脉冲信号的原理 1,要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。 2,利用STC89C52的内部定时器使其工作在计数器模式1下,改变计数值TH0及TL0以产生不同频率。方法如下: 例如,若单片机采用12MHz晶振,要产生频率为587Hz的音频脉冲时,其音频信号的脉冲周期 T=1/587=1703.5775μs,半周期的时间为852μs,因此只要令计数器计数=852μs/1μs=852,在每计数852时将P3.7口反相,就可得到C调中音Re。P2.5口和P2.7口分别接S2和S1作为控制门铃的按键。按下S2,由P3.7口的喇叭依次播放三首歌曲。 计数脉冲值与频率的关系如下: N=Fi/2/Fr (N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr:要产生的频率 ) 2.2.2单片机音阶代码的实现 音乐是由音符组成,不同的音符又是由相应的频率振动产生。音调的高低用音阶表示,不同的音阶对应不同的频率。因此,不同频率的方波就可以产生音阶,由于频率的倒数是周期,因此可由单片机中的内部定时器T0,使其工作在计数器模式1,当定时器计数溢出时产生中断,将与喇叭连接的P3.7取反后就可得到方波的周期,从而达到了控制频率,即音阶的目的。 2.2.3 音乐节拍的实现 建立音乐,把音乐的音符找出来,建立各个音符的定时常熟T值表。C调各音符频率与计数值T的对照表如表2.1所示。 表2.1 音符频率与T值对照表 每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表2.2为节拍码的对照。如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表2.3为1/4和1/8节拍的时间设定。 表2.2 节拍码对照表 表2.3 节拍的时间设定表 2.2.4 音乐软件的设计 1,音乐代码库的建立方法 (1)先找出音乐最低音和最高音范围,然后确定音符表T的顺序。 (2)建立T值表,构成发音符的计数值放在其中。 (3)简谱码(音符)为高4位,节拍(节拍数)为低4位,音符的节拍码编程时放在程序unsigned char code SONG[]后面。 (4)音符节拍码0x00为音乐结束标记。 2,选曲 在本设计中,需要播放三首歌曲,分别为《天空之城》、《祝你平安》、《路边的野花不要采》。音乐代码库的建立方法有两种: (1)将每首歌曲建立相互独立的音符表T和发音符计数值表。 (2)也可以建立共用的音符表后,再写每首歌曲的发音计数值表中的代码。 不管采用哪种方法,每首歌曲结束时,在发音计数值表中均需加上音乐结束符0x00。 3 电路设计与仿真 3.1 按键电路 如图3.1。S2为开始暂停按键,S1为播放下一首歌曲的按键。 图3.1 按键电路 3.2 发声电路 如图3.2。P3.7端口接的喇叭。音乐声通过喇叭发声后传到人的耳朵里面。 图3.2 发声电路 3.3 晶振电路 如图3.3。振荡晶体可在1.2MHz到12MHz之间选择,电容值无严格要求,但在电容值取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响。C1和C2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。本设计选取晶振为12MHz,电容为30pF。 图3.3 晶振电路 3.4 复位电路 如图3.4。按下按键S3,歌曲复位,从头再唱。 图3.4 复位电路 3.5 原理图 如图3.5。本设计是基于STC89C52单片机设计的一个三音门铃。按键有三个,S2为开始/暂停按键,S1为下一首按键,S3为复位按键。发声由喇叭接单片机端口P3.7发出。 图3.5 原理图 3.6 仿真电路 仿真采用Proteus软件,Proteus软件能完成原理图布图、代码调试到单片机与外围电路协同仿真。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。 仿真图如图3.6。 图3.6 仿真图 开始仿真后,门铃处于无声状态。当按下开关SP1后,开始响起音乐声。按下SP2,播放下一首歌曲,再次按下开关SP1,暂停播放音乐。按下SP3,歌曲复位。 4系统程序设计 本设计是对STC89C52单片机采用C语言编程。音乐门铃的程序主要是对音符频率的转换。系统初始化后,系统扫描按键(P1.5和P1.7的电平)判断是否有按键按下。根据不同按键的选择,向音频字符码指针赋予不同歌曲的地址,通过定时器T0中断子程序使P3.7口输出相应频率的音频脉冲,以达到发声目的。 程序流图如图4.1。 图4.1 程序流程图 延时子程序如图4.2。 图4.2 延时子程序 5 系统硬件设计和调试 5.1 系统 PCB图 PCB图如图5.1。 图5.1 PCB图 5.2系统硬件制作 1,对设计要求做出分析,列出所需要的硬件有单片机最小系统,按键,蜂鸣器,极性电容,电阻。 2,根据实际情况确定各个元件的实现方式,为各个元件分配好端口,由此来确定系统的大概结构,并确定系统的详细参数。 3,运用protel 99se绘制原理图,PCB图并布线。在绘制过程中注意选择正确元件及封装。布线过程中要仔细认真,避免造成断路或者短路。 4,根据原理图在万通板上排好元件,然后认真把元件焊接好。注意在焊接的过程中,不仅要考虑其美观、以及调试的方便性,更要仔细认真避免造成硬件的断路或者短路。 焊接的实物图如图5.2。 图5.2 实物图 5.3 系统软硬件联调 5.3.1 主要仪器和软件 Keil软件:编译程序; Protel 99se软件:画原理图和PCB图; Proteus软件:仿真原理图。 5.3.2 调试方案和步骤 1,先对电路板进行目测,看电路是否有无断点或短路点。若有就用电烙铁进行焊接。如果怀疑某点是断路点或短路点,就用万用表的蜂鸣器测试电路,电路通则蜂鸣器响,不通则不响。 2,在用万用表的蜂鸣器测试所有电路,特别是电源线和地线,确保电路正常通路。 3,确保无误后,连接电源。 4,对各个模块进行检测。单片机接电后,各个I/O口一般都为高电平,可用万用表检测验证。另外,可以下载程序到单片机,观察喇叭相应情况。如果喇叭没有响起音乐声,有可能是程序问题,也有可能是电路不通。 6 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 毕业设计检测了学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生在校期间实际工作能力的具体训练和考察过程。随着科技的日新月异,单片机在实际生活中已经非常普遍,作为电信专业的学生,掌握单片机的应用和开发技术是十分重要的。 本设计是采用单片机实现了一个电子音乐门铃。这样一个门铃,不仅简单,而且实用。怎样才能结合课堂所学知识与实际应用?对我来说,是一次考验,也是一次经验。在进行了长达两个多月的时间的摸索与实验,使我不仅仅对于单片机入门软件与硬件的常用设计与功能有了进一步的了解,还使我对于一项设计研究的制作过程,所需要的详细步骤和具体的实现方法有一定的掌握。 为了完成所需要设计的作品,我翻阅了许多 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 籍,也重新拿起来从前学过的单片机课本,再一次了解单片机的应用和开发。从一开始的什么都不懂到后来能够完成这次设计,我不仅倾注了大量的心血和时间,更重要的是让我明白了以前所学的知识远远不够,我还需要巩固自己的专业知识。 总之,这次设计从软件编写、调试到软硬件联机调试,我花费了大量的时间和心血。同时,我也发现了自己很多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。所以曾导致我为了程序的编写而到处查找,为了无法找出错误而郁闷苦恼,为了某一功能不能实现而着急彷徨,但是最终在老师和同学的帮助下我成功了,我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。 【参考文献】 [1]吴金戌.沈庆阳.郭庭吉.8051单片机实践与应用[M],北京:北京清华大学出版社,2005 [2]谭浩强.C语言程序设计(第二版)[M],北京:清华大学出版社,1991 [3]李建忠.单片机原理及应用[M],西安电子科技大学出版社,2008 [4]李启炎.Protel 99SE应用教程[M],上海:同济大学出版社,2005 [5]李广弟.朱月秀.王秀山.单片机基础[M],北京:北京航空航天大学出版社,2001 [6]陈小忠.黄宁.单片机接口技术实用子程序[M],北京:北京人民邮电出版社,2005 [7]黄智伟.全国大学生电子设计竞赛系统设计[M],北京:北京航空航天大学出版社,2006 [8]陈明莹.8051单片机课程设计实训教材[M],北京:清华大学出版社,2003 The design of electronic music doorbell 【Abstract】It is introduced by the STC89C51 chip to a system of electronic music doorbell process. This system is mainly to complete the electronic doorbell rang the doorbell not only a common electronic features, but also has some extensions. The design is composed of a sing-chi microcomputer,buttons,buzzer and so on.it has the advantages of simple manufacture,low cost,the installation is more convenient.therefore,this also gives people life provides great convenience. 【Key words】sing chi microcomputer Electronic doorbell music 附录一:程序设计 #include unsigned char Count; sbit bee_Speak = P3^7; //喇叭控制脚 sbit key1 = P1^5; sbit key2 = P1^7; unsigned char kk=0; unsigned int k; bit flag; unsigned char code SONG[] ={ //天空之城 0x1c,0x30,0x19,0x30,0x18,0x40,0x19,0x30,0x18,0x30,0x13,0x30,0x19,0x80, 0x26,0x30,0x26,0x30,0x1c,0x40,0x20,0x30,0x1c,0x30,0x18,0x30,0x20,0x60, 0x26,0x30,0x26,0x30,0x24,0x40,0x26,0x30,0x24,0x30,0x18,0x40,0x26,0x60, 0x18,0x20,0x18,0x20,0x18,0x20,0x19,0x40,0x24,0x30,0x24,0x30,0x19,0x30, 0x19,0x60,0x1c,0x30,0x19,0x30,0x18,0x40,0x19,0x30,0x18,0x30,0x13,0x30, 0x19,0x60,0x26,0x30,0x26,0x30,0x1c,0x40,0x20,0x30,0x1c,0x30,0x18,0x30, 0x20,0x80,0x26,0x30,0x24,0x30,0x24,0x30,0x18,0x30,0x19,0x20,0x19,0x30, 0x18,0x30,0x15,0x20,0x15,0x20,0x13,0x20,0x18,0x40,0x18,0x30,0x19,0x30, 0x1c,0x20,0x1c,0x20,0x19,0x30,0x20,0x30,0x1c,0x60,0x18,0x30,0x15,0x30, 0x13,0x40,0x15,0x30,0x13,0x30,0x10,0x30,0x15,0x60,0x20,0x30,0x20,0x30, 0x18,0x30,0x19,0x30,0x18,0x30,0x13,0x30,0x13,0x60,0x1c,0x20,0x19,0x20, 0x18,0x30,0x19,0x30,0x15,0x20,0x15,0x20,0x18,0x40,0x20,0x30,0x20,0x30, 0x12,0x30,0x13,0x30,0x15,0x30,0x18,0x30,0x13,0xc0,0x13,0x80,0x13,0x30, 0x0e,0x80,0x10,0x30,0x10,0x30,0x13,0x20,0x15,0x20,0x18,0x40,0x18,0x30, 0x15,0x30,0x18,0x20,0x15,0x20,0x15,0x30,0x10,0x30,0x13,0x60,0x13,0x30, 0x0e,0x60,0x10,0x60,0x13,0x20,0x15,0x20,0x18,0x40,0x18,0x30,0x15,0x30, 0x15,0x20,0x18,0x20,0x15,0x30,0x19,0x30,0x1c,0x60,0x1c,0x30,0x19,0x30, 0x1c,0xc0,0x00, //祝你平安 0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20, 0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20, 0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20, 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20, 0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10, 0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20, 0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20, 0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20, 0x20,0x80,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10, 0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80, 0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20, 0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x20, 0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10, 0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00, //路边的野花不要采 0x30,0x1C,0x10,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C, 0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20, 0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20, 0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30, 0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30, 0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26, 0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20, 0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F, 0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20, 0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B, 0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20, 0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,}; void Time0_Init() { TMOD = 0x01; IE = 0x82; TH0 = 0xDC; TL0 = 0x00; } void Time0_Int() interrupt 1 { TH0 = 0xDC; TL0 = 0x00; Count++; //长度加1 } /*------------------------------------------------- 功能:1MS延时子程序 -------------------------------------------------*/ void Delay_xMs(unsigned int x) { unsigned int i,j; for( i =0;i < x;i++ ) { for( j =0;j<2;j++ ); } } /*------------------------------------------------- 功能:歌曲播放子程序i为播放哪一段曲目 -------------------------------------------------*/ void Play_Song(unsigned char i) { unsigned char Temp1,Temp2; unsigned int Addr; Count = 0; //中断计数器清0 Addr = i * 217; while(1) { if(!key1) { Delay_xMs(5); if(!key1) { kk++; if(kk>2)kk=0; } while(!key1); break; } else if(!key2) { Delay_xMs(5); if(!key2) { flag=~flag; } while(!key2); break; } if(flag) { /* k=Addr;k++; if(k>=((i+1) * 217)) { flag=0; Addr = i * 217; } */ Temp1 = SONG[Addr++]; if (Temp1 == 0xFF) //休止符 { TR0 = 0; Delay_xMs(100); } else if (Temp1 == 0x00) //歌曲结束符 { return; flag=0; } else { Temp2 = SONG[Addr++]; TR0 = 1; while(key1) { bee_Speak = ~bee_Speak; Delay_xMs(Temp1); if(Temp2 ==Count) { Count = 0; break; } } } } } } /*------------------------------------------------- 功能:按键切换歌曲 -------------------------------------------------*/ /*unsigned char key1_sacn(void) { unsigned char k; if(key1==0) //菜单键按下 { Delay_xMs(5); //防抖 if(key1==0) { k++; if(k>2) k=0; //k=0,1,2; } while(!key1); //等待按键弹起 } return k; } */ /*------------------------------------------------- 功能:主程序 -------------------------------------------------*/ void main() { Time0_Init(); //定时器0中断初始化 while(1) { P2=kk; Play_Song(kk); //播放//0改作1可播放第二首歌曲 } } 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈 芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈
本文档为【基于单片机电子门铃设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
北溟愚鱼
暂无简介~
格式:doc
大小:390KB
软件:Word
页数:25
分类:工学
上传时间:2018-09-22
浏览量:31