音乐门铃

合集下载

音乐门铃原理

音乐门铃原理

音乐门铃原理音乐门铃是一种常见的家用电子产品,它不仅可以起到传统门铃的作用,还可以通过播放音乐来提升家居氛围。

那么,音乐门铃是如何实现的呢?接下来,我们将深入探讨音乐门铃的原理。

首先,音乐门铃的核心部件是微控制器芯片。

微控制器芯片是一种集成了中央处理器、存储器和输入输出接口的芯片,它可以根据预先设定的程序来控制音乐的播放。

在音乐门铃中,微控制器芯片扮演着至关重要的角色,它接收来自按键或传感器的输入信号,然后根据预设的逻辑进行处理,并控制音乐的播放。

其次,音乐门铃还包括音频解码器和音频放大器。

音频解码器负责将数字音频信号解码成模拟音频信号,而音频放大器则负责放大解码后的音频信号,以驱动喇叭发出声音。

在音乐门铃中,音频解码器和音频放大器的性能直接影响到音乐的音质和音量,因此选用高质量的音频解码器和音频放大器至关重要。

此外,音乐门铃还需要存储器来存储音乐文件。

存储器可以是闪存、SD卡或EEPROM等,它们可以存储多个音乐文件,并且可以通过微控制器芯片进行读取和播放。

在选择存储器时,需要考虑其容量、读写速度和稳定性,以确保音乐门铃的正常使用。

除此之外,音乐门铃还需要电源模块来提供稳定的电压和电流。

电源模块通常包括变压器、整流器、滤波器和稳压器等部件,它们可以将市电或电池提供的电能转换成适合音乐门铃各个部件使用的电能。

综上所述,音乐门铃的原理主要包括微控制器芯片、音频解码器、音频放大器、存储器和电源模块。

微控制器芯片负责控制整个系统的工作流程,音频解码器和音频放大器负责音乐的解码和放大,存储器则存储音乐文件,而电源模块则提供稳定的电能。

通过这些部件的协同工作,音乐门铃可以实现按键触发、音乐播放和音量调节等功能。

总的来说,音乐门铃的原理并不复杂,但是需要各个部件之间的精密配合才能实现。

希望通过本文的介绍,您对音乐门铃的原理有了更深入的了解。

如果您对音乐门铃有更多的疑问,可以继续关注我们的文库,我们将会为您带来更多的相关知识。

中夏牌yyml-08型音乐门铃安装步骤

中夏牌yyml-08型音乐门铃安装步骤

中夏牌yyml-08型音乐门铃安装步骤
中夏牌的音乐门铃最好是安装在不收风吹雨淋的地方,位置点的选择要考虑到门口机和室内机之间尽量减少障碍物,如果有障碍物的话,信号会减弱,打开室内机放置在用户希望室内放置的地方,按照室内机信号强度做调整,不过中夏牌的门铃信号都比较稳定。

推荐安装高度为1.3-1.8米。

如果连接线要越过墙的话,可以先用胶布把插头包装好。

避免泥沙进入。

也就可以从根本上避免一些故障2、无线可视对讲门铃的安装(1)打开门口机底部的螺丝,取出挂壳,将挂壳用胶塞和螺丝固定。

(2)选择断电开锁或通电开锁接上开锁线和开锁电源,用户必须根据电锁的功率选配开锁电源,根据所配的电锁参数设定开锁时间。

无线音乐门铃在工程施工中,免去了布线的麻烦,对于新建小区或者是二次改造家庭来说,是个非常好的选择。

音乐门铃课程设计

音乐门铃课程设计

音乐门铃课程设计一、课程目标知识目标:1. 学生能够理解音乐门铃的基本概念,掌握其构造和原理。

2. 学生能够识别并描述音乐门铃中常用的音符和节奏。

3. 学生能够了解音乐门铃在生活中的应用及其发展历史。

技能目标:1. 学生能够运用所学的音乐知识,创作出简单的音乐门铃旋律。

2. 学生能够通过实践操作,掌握音乐门铃的演奏技巧。

3. 学生能够与他人合作,共同完成音乐门铃的制作和演奏。

情感态度价值观目标:1. 培养学生对音乐的热爱,激发他们学习音乐的兴趣。

2. 培养学生动手实践的能力,增强他们解决问题的自信心。

3. 培养学生团队协作精神,提高他们的人际沟通能力。

4. 培养学生关注生活、发现生活中的音乐美,提升他们的审美素养。

课程性质:本课程为音乐制作与演奏的实践课程,旨在让学生通过动手操作,掌握音乐门铃的制作和演奏技巧,提高他们的音乐素养。

学生特点:考虑到学生所在年级的特点,他们对音乐有一定的认识和兴趣,但音乐制作和演奏技巧尚不熟练,需要通过实践操作来提高。

教学要求:课程要求教师以引导为主,关注学生的个体差异,提供充足的实践机会,让学生在动手操作中掌握音乐门铃的制作和演奏技巧。

同时,注重培养学生的团队协作能力和审美素养。

通过本课程的学习,学生能够将所学知识运用到实际生活中,发挥音乐的魅力。

二、教学内容1. 音乐门铃基础知识:- 门铃的发展历史与分类- 音乐门铃的构造与原理- 音乐门铃的音符与节奏识别2. 音乐门铃制作与演奏技巧:- 音乐门铃选材与制作流程- 音乐门铃演奏方法与技巧- 创作简单音乐门铃旋律3. 实践与展示:- 小组合作制作音乐门铃- 演奏练习与指导- 成果展示与评价4. 教学内容的安排与进度:- 第一节课:音乐门铃基础知识学习- 第二节课:音乐门铃制作与演奏技巧学习- 第三节课:小组合作制作音乐门铃- 第四节课:演奏练习与指导- 第五节课:成果展示与评价教材章节:- 《音乐制作与演奏》第五章:音乐门铃的制作与演奏- 内容包括:音乐门铃的构造、原理、制作流程、演奏技巧等。

音乐门铃——精选推荐

音乐门铃——精选推荐

音乐门铃
一、简介:
通过组装音乐门铃,了解三极管在门铃音乐输出中的放大作用。

将三极管E、B、C三极正确焊接在音乐芯片上,才能使喇叭发出美妙音乐。

二、技术参数:
1、工作电压:DC 3V (5号电池二节)
2、工作电流:静态:0. 1mA 动态:0.5mA
3、阻抗输出:8Ω
4、尺寸:100mm*65mm*16mm
三、元件介绍:
音乐集成电路:文字代号IC,图片标号,功能:使将预先编辑好的曲调程序储存于音乐芯片上,再用固化方法固定在印制板上,当触发端输入信号,进入集成电路,进三极管放大再通过喇叭就会发出优美动听的乐曲,音乐集成电路的工作电压一般为1.25V-5V之间。

四、制作工具及材料:
镊子、十字螺丝刀、电烙铁、烙铁支架、焊锡丝、松香、多用表、斜口钳。

五、电原理图:
六:材料清单
三极管脚位排列
七、安全提示:
①本品安装完毕必须仔细校对,防止因短路或错误连接而选成元器件损坏。

②电烙铁使用完毕要及时切断电源,待冷却后收藏以免烫伤。

③长期不用,请把电池取出,以防电池漏液损坏零件。

yaml–08音乐门铃实验步骤

yaml–08音乐门铃实验步骤

yaml–08音乐门铃实验步骤实验目的:1、熟悉音乐门铃的组成、工作原理,提高读整机电路图及电路板图的能力。

2、通过对:YaML-08型音乐门铃的安装、焊接及调试,掌握音乐门铃的生产工艺流程,提高焊接工艺水平。

3、掌握电子元器件的识别及质量检验,学会故障判断及排除。

4、学会利用工艺文件独立进行整机的装焊和调试,并达到产品质量要求。

实验步骤:1、熟悉电路。

十度电路原理图和印刷电路版图,弄清元件的装配位置;2、清点元件。

按照元件清单清点各元件数,却少的补足。

3、检测元件。

按正确的方法检测各元件,如不合格应更换。

4、元件插装与固定。

按先小后大、从左到右的原则或元件的序号进行插装。

5、元器件的焊接与整理。

焊各元器件的时间要短,一次不成功应等元件冷却后再焊,焊完剪除多余元件脚时要注意水平,高度不能超过2mm。

6、在焊接完毕后,先检查元件是否插错,有无虚、假、错焊,在确认无误后,按下按键是否有音乐。

音乐门铃的原理:利用一块时基电路集成块和外围元件组成的。

音质优美,装调简单容易、成本较低,耗电量较低。

图中黑球是电路集成块,它构成无稳态多振荡器。

按下按钮,振荡器振荡,扬声器发出声音。

与此同时,电源给电容充电。

放开按钮时,电容便通过电阻放电,维持振荡。

但由于开关的断开,电阻被串入电路,使振荡频率有所改变,扬声器发出声音。

直到电容上电压放到不能维持芯片振荡为止。

声音的余音的长短可通过改变电容的数值来改变KD-9300系列音乐集成电路是一种大规模CMOS集成电路,典型工作电压为,触发一次内存曲循环一次。

注意事项:1、焊接音乐芯片时请尽量以最快的速度一次焊成,如果一次焊不成,请稍等一至两分钟,继续焊第二次,否则,将会烫伤芯片。

2、安装时请将电容剪下来的引出脚一端焊在音乐芯片上平,另一端焊在喇叭上,即可固定音乐芯片,其他元件焊在芯片上,发光二极管焊接在喇叭的两端,安装时请仔细的检查有无短路和开路现象;电容C起防止干扰和自激的作用。

音乐门铃的设计PPT课件

音乐门铃的设计PPT课件

T1控制
T0控制
GATE —— 门控位。
GATE = 0 启动由TR0(或TR1)一位控制;
GATE = 1 启动受 TR0和/INT0 (或TR1和 /INT1 )两位控制。 C/T —— 外部计数器 / 定时器方式选择位
C/T = 0 定时方式;
C /T = 1 计数方式。
M20211/M3/120—— 工作模式选择位(编程可决定四种工作模式)。
振荡器 1/12 C/T=0
T0 TR0
GATE 1
INT0
C/T=1
&
≥1
TL0 TH0
TF0
中 断
8位 8位
16位计数器
定时时间:t=(216-定时器初值)×12/fosc (μs)
2021/3/12
11
简易电子琴的分析与仿真 (3) 方式2—8位自动装入时间常数方式
振荡器
T0 TR0 GATE 1 INT0
2. 计数功能----计数脉冲信号:来自外部输入引脚-(T0为 P3.4,T1为P3.5)的负跳变信号进行加1计数— fc=1/24*fosc 。
由TMOD中的控制位(C/T)来决定T0和T1是工 作在定时器方式还是计数器方式。
2021/3/12
5
简易电子琴的分析与仿真
(3)定时/计数器的方式寄存器和控制寄存器 1)定时/计数器控制寄存器TCON(88H)
简易电子琴的分析与仿真
任务导入
声音是由物体振动产生的,振动的频率不同,发出的声音 也就不同,有规律的振动发出的声音叫“乐音”。如何用单 片机技术来实现音乐门铃呢?
2021/3/12
1
简易电子琴的分析与仿真
任务分析
➢门铃按键从P1.0端口输入,声音信号从P1.7端口输出到放 大电路,经过放大后送入扬声器发声; ➢首先实现“滴 、滴”报警声,要求产生频率为500Hz,扬 声器响0.25s,停0.25s,反复循环;实现“滴 、滴”报警门 铃; ➢再实现“叮咚”门铃,产生“叮咚” 声; ➢最后实现音乐门铃,要求由单片机演奏任意一首乐曲。

音乐门铃的制作

音乐门铃的制作

音乐门铃的制作音乐门铃是一个简单有趣的小制作,同时它又是一个实用的小制作。

通过这个小制作,我们既可以掌握一些基本的电子知识和制作技巧,又可以为家里提供一个与众不同的门铃,由于是自己动手制作的,声音与外形当然不会像已有的产品那样千篇一律。

一、电路简要工作原理音乐门铃电路如下图所示,由音乐集成电路IC、功放晶体管VT、扬声器BL和触发按钮SB等组成。

当按下SB(即门铃按钮)时,音乐集成电路IC被触发,其产生的音乐信号经晶体管VT放大后,驱动扬声器BL发出悦耳的音乐声。

选用不同的音乐集成电路,门铃即具有不同的音乐声。

电容C的作用是防止误触发。

电源采用两节5号电池。

由于门铃的工作特点是需要长期待机,因此本电路不设电源开关。

长期不用时,取出电池即可。

二、元器件选择IC选用KD9300系列音乐集成电路,内储一首乐曲,触发一次播放一遍。

9300系列音乐集成电路具有多个品种,分别储存不同的世界名曲或中国名曲,可根据自己的喜好选用。

如果希望制作“叮咚”门铃,IC可选用KDl53,内储“叮咚”门铃模拟声,触发一次可发出3遍“叮咚”声。

以上音乐集成电路均为小印板软封装,封装结构相同,如左图所示。

扬声器BL选用8Ω微型扬声器。

晶体管VT型号为9014,也可用符合要求的其他晶体管代用。

晶体管的代用原则是:1.代用管必须与电路规定的晶体管导电类型一致。

即NPN型的晶体管只能用NPN型的代用管,PNP型的晶体管只能用PNP型的代用管,否则电路将不能工作。

2.代用管的各项极限参数指标不得低于电路规定的晶体管指标。

晶体管主要的极限参数有三项:集电极一发射极间反向击穿电压BV。

Eo或集电极一发射极间最高耐压VcE。

,集电极最大允许电流lcM,集电极最大允许耗散功率PCM。

代用管的这三项极限参数必须都等于或高于原管,否则代用管将有可能被击穿或烧毁。

在低压小制作电路中,代用管的BVceo(或Vceo)只要高于电路的电源电压2倍以上即可,并非一定要达到原管的BV=Bo(或Vceo)指标。

音乐门铃文献综述

音乐门铃文献综述

文献综述——音乐门铃门铃”这玩意在中国古代较少听说,有钱的大户人家是在大门上装有装饰性的门环,叫门的人可用门环拍击环下的门钉发出较大的响声,有现代“门铃”的作用。

门铃”在外国电影的古代片中常有出现,也多是有钱的人户在门前吊着一只硕大的青铜手柄。

马车夫将客人送到门前的时候,会顺便拉拉它牵动里面的铃当以示来人。

在古代门铃一般的人家由于房子小,家境贫寒是不需要用到门铃的。

只有那些大户人家的大房子才需要用门铃,从某种程度上说,古代的门铃也反映了主人家的身份和地位。

在近代“门铃”不再是有钱人家的专项,“门铃”已在平民百姓人家广泛普遍应用,几乎每一家都会有门铃,门铃不再是身份和地位的象征。

各式各样的“门铃”比比皆是,在古代门铃的作用仅仅是给客人叫门使用,而现在“门铃”的作用也不仅仅是局限于给客人叫门用。

近代市民最常见的“门铃”是电子类的占多数:最常见的是前几年流行的“电子门铃”;一般安放两节5号电池在内,门外的触发电钮被人按动后,门内的“门铃”就“嘀嘟”地响几声。

也有的是由IC片播放一段电子音乐的。

后来演变到客人可以在门口与楼上家里的主人讲话,验明真声后主人再给客人开门。

它们的缺点就是要消耗电源,特别是用电池的毛病较多,但用交流电的又怕临时停电。

高级公寓里的“门铃”算是这类中造价最昂贵的,不但可以叫门对话,还可以通过摄像头让家中的主人在屏幕上看到远在门外楼下的来客,用这样的“门铃”顺便监看放在楼下的车辆倒也不错。

随着时代的前进和发展,控制智能化、仪器小型化、功耗微小化得到广泛关注。

在这些领域中,单片机起到了举足轻重的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的技术热点.现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

时间:周四上午 3,4,5,6节组号:2创新性实验报告题目音乐门铃设计学院电子信息学院专业电子信息工程班级08041816,08041818学号08041406,08041430学生姓名钟婷,吴登榜指导教师刘公致完成日期2010年12月摘要AT89C2051是由ATMEL公司推出的一种小型单片机。

95年出现在中国市场。

其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被广大用户接受,其程序的电可擦写特性,使得开发与试验比较容易。

我们采用51单片机开发板来完成制作,软硬件相互结合,实现播放音乐功能的电子门铃,并且外加显示屏显示欢迎信息,目的是让在等待在门口的人感受音乐和享有愉悦的心情,减少等待的焦躁。

选择AT89C2051单片机,通过T0定时中断,并配合P1.5引脚输出音频频率;P1.5接扬声器;通过P3.7引脚接入“播放音乐”按键,以中断方式接入。

P0口接LCD显示文字。

关键词:单片机,电子门铃,定时器,蜂鸣器, LCD液晶显示器(1602)目录1.引言 (4)2.系统总体设计 (5)3.硬件电路设计 (6)3.1 LCD显示模块电路 (6)3.2 蜂鸣器电路模块 (7)4. 程序流程图 (8)5.制作与调试 (10)5.1硬件电路的布线 (10)5.2程序调试中遇到的问题及解决方法 (10)6.结论与建议 (11)7.参考文献 (12)8附录 (13)附录1: 实物照片 (13)附录2:软件编译和proteus仿真图................................14-15 附录3: 原理图 (16)附录4: 源程序 (16)1 引言随着时代的前进和发展,控制智能化、仪器小型化、功耗微小化得到广泛关注。

在这些领域中,单片机起到了举足轻重的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的技术热点。

近几年来,随着市场上智能化楼宇的不断升温,门铃系统已作为智能化办公室和智能化住宅小区的一个重要组成部分,被各商家和用户所接受。

人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门,这使门铃系统得到了飞跃性的发展。

随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益成为今后的一个重要发展的方向。

2系统总体设计音乐门铃的硬件电路由6个部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器,扬声器。

音乐门铃的硬件电路设计框图如下。

图1 系统框图时钟与复位电路选择按键输入电路单 片 机扬声器音频发生器液晶显示屏3 硬件电路设计3.1 LCD显示模块电路这里VCC=3.3V,因为我们用的是自己的52单片机,在其内部通过P2.6与LCD(1602)的RS连接,P2.5与RW,P2.7与E相连接。

不需要我们通过杜邦线再连接了。

P0[0:7]需要加上拉电阻Ri=10K拉高。

我们只需要通过调节VO来控制LCD的亮度即调节与VO相连接的滑动变阻器来实现。

3.2 蜂鸣器电路模块我们的AT89S52单片机内部由P1.5与蜂鸣器相连接,只需要将P1.5拉高,即可使蜂鸣器发出声音。

为了保护蜂鸣器,再与VCC相连使加上一个上拉电阻去报蜂鸣器不会被烧坏。

4.程序流程图图3 主程序流程图通过液晶显示屏上电显示“HELLO! WELCOME TO MY HOME ”,如果有门铃按键的信号输入,启动定时器,产生一定频率的脉冲,驱动蜂鸣器发音,放出乐曲。

对按键的次数计数,根据按键的次数选择播放的音乐,程序里预设了6首音乐可供循环播放。

开始液晶屏示欢迎语是播放音乐否是否有门铃 按键信号?初始化LCD 接口初始化定时器否第一首歌曲地址取节拍(低四位)取音频(高四位)简谱码是否结束?是否是否有门按键?开定时器蜂鸣器发音取下一个简码地址关定时器是否音频是否为零?是执行中断程序,产生脉冲图4:音乐播放程序流程图5 制作与调试一、硬件电路的布线由于我们是二人一组,硬件上的设计相对简单。

本来打算使用LM386组成音频放大电路,提高音乐的播放质量,后简化为直接由蜂鸣器输出。

硬件电路由单片机,键盘, lcd1602液晶显示屏,蜂鸣器组成,用杜邦线连接相应的接口。

二、程序调试中遇到的问题及解决方法1.有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的2.程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。

如果指令的跳转范围比较少,这时要用一个标号中转。

不然编译通不过。

3.编程时要注意,在程序开始时,要写入各定时器中断的入口地址。

编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。

4.程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。

5.在实现LCD显示功能时遇到很多问题,比如完全没显示或者显示不完全,这是因为程序中有时使用相同的寄存器,而寄存器中的数据没有得到好的清零处理。

另外就是显示太模糊,要很费劲才看得清楚。

6 结论及建议作为电子信息工程专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的。

在已度过的大学时间里,我们大多数接触的是专业课。

我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力呢,如何把我们所学的专业基础课理论知识运用到实践中去呢,创新性实验的开设就提供了这样一个平台,希望学校能为我们这些大学生提供更多的能让我们自己动手与理论结合的实践平台。

在做本次课程设计的过程中,我们感触最深的当属查阅大量的设计资料了。

一开始我们只想设计一个简单的音乐门铃的方案。

但是后来发现简单的功能实现起来也不是那么容易的。

同时为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。

我们不是艺术家,不可以抛开实际尽情在幻想的世界里翱翔,一切都要有据可依,有理可寻。

软硬件的结合相当重要。

另一方面,团队合作相当的重要,假如组员相互不沟通不讨论,制作就没有办法完成。

每个人都有自己的长处和短处,学会扬长避短,相互宽容,理解才能合作愉快。

最后,通过我们不懈的努力与老师的指导,终于完成了我们的设计及制作。

当然,我们的功能还不是很完善,有待改进。

希望通过以后的学习能够制作出更好的作品。

参考文献[1] 曹建树,夏云生,曾林春.51单片机实用教程. 中国石化出版社[2] 白延敏.51单片机典型系统开发实例精讲电子工业出版社[3] 高惠芳单片机原理与应用技术科学出版社[4] 韩志军单片机系统设计与应用实例第二版机械工业出版社[5] 楼顺天周佳社微机原理与接口技术科学出版社附录附录1: 实物照片附录2:软件编译和proteus仿真图keil编译图proteus仿真图附录3: 原理图附录4: 源程序;*************接口定义*************** BUZZER EQU P1.5KEY EQU P3.7RS EQU P2.6 ;液晶接口的定义RW EQU P2.5E EQU P2.7;**************************************ORG 0000H ;主程序起始地址JMP MAIN ;跳动主程序ORG 000BH ;TIMER0中断起始地址JMP TIM0 ;跳至TIMER0在MODE1 ;************显示主程序****************ORG 1000HMAIN: ;液晶初始化MOV SP,#70H ;设置堆栈MOV P0,#01H ;清屏LCALL ENABLEMOV P0,#38H ;8位,2行显示LCALL ENABLEMOV P0,#0FH ;显示开关控制(屏显on,光标on,闪烁on)LCALL ENABLEMOV P0,#06H ;计数地址加1,显示幕onLCALL ENABLEMOV P0,#80H ;第一行的开始位置LCALL ENABLEMOV DPTR,#TABLE1 ;显示LCALL WRITE1 ;到TABLE1取码?MOV P0,#0C0H ;第二行的位置LCALL ENABLEMOV DPTR,#TABLE2 ;显示LCALL WRITE1 ;到TABLE2 取码MOV P0,#0C2H ;光标定位0C0HCALL ENABLE;*******************音乐主程序******************START0:MOV TMOD,#01H ;定时器0,工作方式1MOV IE,#82H ;中断使能JB KEY,$ ;第一次按KEY?CALL DELAY1 ;消除抖动JNB KEY,$ ;KEY放开?MOV 31H,#00H ;按KEY次数计数指针初值为00HMOV DPTR,#0000HSTART1: MOV 30H,#LOW SONG ;取简谱码指针(第1首)NEXT: MOV A,30HMOV DPTR,#TABLEMOVC A,@A+DPTR ;至相关页码,高4位为音符的高低MOV R2,A ;低4位为音符的节拍JZ END0 ;检查简谱码是否已结束(有无00?)ANL A,#0FH ;取节拍(低4位)MOV R5,A ;存入R5,节拍的时间MOV A,R2SW AP AANL A,#0FH ;取音频值(高4位)JNZ SING ;是否为0,是0则不发音CLR TR0JMP D1SING: DEC AMOV 22H,A ;存入(22H)RL A ;乘2MOV DPTR,#TABLEMOVC A,@A+DPTR ;至TABLE取码,取T的值MOV TH0,A ;取到的高位字节存入TH0MOV 21H,A ;取到的高位字节存入(21H)MOV A,22H ;再载入取到的音符码RL AINC AMOVC A,@A+DPTR ;至TABLE取相对的低位字节计数值MOV TL0,A ;取到的低位字节存入TL0MOV 20H,A ;取到的低位字节存入(20H)SETB TR0 ;启动TIMER0D1: CALL DELAYINC 30H ;取简谱码指针加1JMP NEXTEND0: CLR TR0 ;停止计数器MOV A,31H ;载入计次指针XRL A,#00H ;是否按第1次?JNZ END1 ;不是则跳至END1JB KEY,$ ;按第2次?CALL DELAY1 ;消除抖动JNB KEY,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG1 ;第2首歌指针JMP NEXTEND1:MOV A,31H ;载入计次指针XRL A,#01H ;是否按第2次?JNZ END2 ;不是则跳至END2JB KEY,$ ;按第3次?CALL DELAY1 ;消除抖动JNB KEY,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG2 ;第3首歌指针JMP NEXTEND2:MOV A,31H ;载入计次指针XRL A,#02H ;是否按第3次?JNZ END3 ;不是则跳至END3JB KEY,$ ;按第4次?CALL DELAY1 ;消除抖动JNB KEY,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG3 ;第4首歌指针JMP NEXTEND3:MOV A,31H ;载入计次指针XRL A,#03H ;是否按第4次?JNZ END4 ;不是则跳至END4JB KEY,$ ;按第5次?CALL DELAY1 ;消除抖动JNB KEY,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG4 ;第5首歌指针JMP NEXTEND4:MOV A,31H ;载入计次指针XRL A,#01H ;是否按第5次?JNZ END5 ;不是则跳至END2JB KEY,$ ;按第6次?CALL DELAY1 ;消除抖动JNB KEY,$ ;放开否?INC 31H ;计次地址(31H)加1MOV 30H,#LOW SONG5 ;第6首歌指针JMP NEXTEND5:JMP START0 ;回到第1次位置TIM0: PUSH ACC ;暂存A的值PUSH PSW ; 暂存P SW的值SETB RS0 ;设工作寄存器库1,RS0=1,RS1=0CLR RS1MOV TL0,20H ;重设计数值MOV TH0,21HCPL BUZZER ;将P10位反相CLR RS0POP PSW ;至堆栈取回PSW的值POP ACC ;至堆栈取回A的值RETI ;返回主程序DELAY: MOV R7,#02 ;125秒D2: MOV R4,#125D3: MOV R3,#248DJNZ R3,$DJNZ R4,D3DJNZ R7,D2DJNZ R5,DELAY ;决定节拍RETDELAY1: MOV R4,#20D4: MOV R3,#248DJNZ R3,$DJNZ R4,D4RETORG 300HTABLE: DW 64260,64400,64524,64580DW 64684,64777,64820,64898DW 64968,65030,65058,65110DW 65157,65178,65217SONG: ;第一首歌哈巴狗;1DB 42H,42H,42H,52H,62H,04HDB 62H,62H,62H,72H,84H,04HDB 92H,92H,82H,72H,64H,04HDB 82H,82H,52H,62H,44H,04H;2DB 42H,42H,42H,52H,62H,04HDB 62H,62H,62H,72H,84H,04HDB 92H,92H,82H,72H,64H,04HDB 82H,82H,52H,62H,44H,04HDB 00HSONG1: ;第2首歌生日快乐;1DB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,94H,84HDB 0C4H,0B4H,04H;2DB 82H,01H,81H,0F4H,0D4HDB 0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4HDB 0C4H,0B4H,04HDB 00HSONG2: ;第3首歌不倒翁;1DB 84H,94H,88HDB 64H,54H,68HDB 84H,64H,54H,44HDB 52H,42H,52H,62H,48H;2DB 84H,94H,88HDB 64H,54H,68HDB 84H,64H,54H,44HDB 52H,42H,52H,62H,48HDB 00HSONG3: ;第4首歌妹妹背着洋娃娃;1DB 84H,02H,82H,64H,54HDB 64H,54H,48HDB 64H,02H,52H,44H,24HDB 14H,24H,18H;2DB 24H,02H,22H,42H,24HDB 44H,54H,68HDB 54H,02H,52H,84H,84HDB 54H,64H,48HDB 00HSONG4: ;第5首歌两只老虎;1DB 44H,54H,64H,44HDB 44H,54H,64H,44HDB 64H,74H,88HDB 64H,74H,88H;2DB 82H,92H,82H,72H,64H,44HDB 82H,92H,82H,72H,64H,44HDB 44H,84H,48HDB 44H,14H,48H,00HSONG5: ;第6首歌三只小猫;1DB 62H,82H,82H,62H,98HDB 92H,0B2H,0B2H,82H,98HDB 62H,82H,82H,52H,68HDB 92H,0B2H,0B2H,82H,98H;2DB 62H,82H,82H,62H,92H,92H,94HDB 92H,0B2H,0B2H,92H,84H,94HDB 0B8H,0B4H,04H21DB 00H;*****************显示子程序************* ENABLE:CLR RS ;送命令CLR RWCLR ECALL DELAY0SETB ERETWRITE1: MOV R1,#00H ;显示TABLE1,2中的值A1: MOV A,R1;到TABLE1,2取码MOVC A,@A+DPTRCALL WRITE2 ;显示到LCDINC R1CJNE A,#00H,A1 ;是否到00HRETWRITE2: MOV P0,A ;显示SETB RSCLR RWCLR ECALL DELAY0SETB ERETDELAY0: MOV R6,#05D0:MOV R7,#0FFHDJNZ R7,$DJNZ R6,D0RETTABLE1: DB"WELCOME TO ",00HTABLE2: DB"MY HOME ",00HEND22。

相关文档
最新文档