单片机控制的音乐门铃芯片方案 / 单片机门铃IC资料
单片机控制的音乐门铃芯片方案介绍 :
1,带单片机控制的音乐门铃芯片选择 是指基于单片机的音乐门铃芯片,这里面又根据效果的不同分为语音的和音乐的电子门铃芯片,音乐的叮咚电子门铃芯片又可以分为,单音 叮咚电子门铃芯片 ,双音 叮咚电子门铃芯片 ,和弦 叮咚电子门铃芯片 (4和弦或者8和弦 ,16和弦,这里根据音色或者芯片硬件通道来进行分类),这里前面部分主要讲带单片机控制功能的音乐门铃芯片,后面部分会讲一下通过单片机输出频率产生音效的门铃方案。
随着市场上智能化楼宇对讲的普及,门铃系统已作为智能化办公室和 智能化住宅小区的一个重要组成部分,被各商家和用户所接受喜欢。人们已开始习惯用门铃系统代替传统的铁钥匙去管理各通道门,这使门铃系统得到了飞跃性的发展。 随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将会日益 成为今后的一个重要发展的方向。 1.绪论 1.1 单片机门铃发展概述 随着微型计算机的出现和大量使用,人类社会已经进入了一个崭新的时代,单片微型计算机(简称单片机)占据了这个时代里举足轻重的地位,它渗透在人们工 作生活中需要控制和计算等智能活动的各个角落。由于单片机的控制功能强大、体积小、可靠性高、价格低廉等特点,近年来在工业生产和产品设计的各个领域都得 到了广泛的应用,对各种产品的技术改造和升级换代起了重要的推动作用,深刻的 影响了人们的生活质量。 目前在家庭住宅中使用的电子门铃大多数是没用音乐,只有简单的叮咚叮当的声音,比较单调。其中绝大多数没有按钮提示以及其他功能,要不就是造价昂贵, 诸多缺点。社会在飞速的发展,而传统的门铃都是简简单单的叮咚声,功能较少, 而且结构相对复杂,这已无法满足人们的需求水平。
经市场了解得知,现在销售的门铃主要有以下几种: 1、按键式电子音乐门铃,采用按键触发电路和音乐集成电路组成,通过一个可调电阻来控制喇叭的灵敏度,一个电容快速充电来维持后续工作; 2、不用按钮的音乐门铃,采用声控 或者红外线发射接收电路构成, 当发出的红外线被人遮挡住的一瞬间,扬声器就发出有没动听的音乐; 3、带们演示电路的音乐门铃,采用低功耗交流继电器和高频小功率管 组成。只要按下门铃按钮就会同时打开门灯,使主人可以通过门镜来识别来客身份。 门灯经一段时间的延时后自动熄灭; 4、无线遥控门铃,采用脉冲调制发射,及石英晶振稳频技术,实现远距离遥控。 在控制智能化、仪器小型化、功耗微小化这些领域中,单片机起到了举足轻重 的作用,这就把单片机的应用提升到重要的地位,单片机应用系统设计就成为新的 技术热点。[1]由于电子音乐门铃具有铃声悦耳动听,价格低廉、耗电少等优点,在 现代家具中的应用越来越流行。
单片机和弦音乐门铃28首具有悦耳动听,价格低廉,耗电少等优点,在现代家居中的 应用越来越流行。运用单片机技术,无需外加音频功放,输出到扬声器的基本硬件设计思路,在利用画图工具完成基本电路 设计后,再焊接电路,最后再进入组装部分。用汇编语言编写音乐门铃的程序,然 后将编好的语言用 keil 软件生成 hex 文件下载到 单片机集成芯片中。
单片机门铃芯片28首芯片资料 /AC8FM28原理图下载 右键点击可以另存为
和弦音乐芯片比起利用单片机送出的不同的频率发出不同的音调,在利用延时产生不同的节拍,通过功率放大器传送到喇叭发出的音乐旋律更动听。
了电子音乐门铃,在有客人在拜访时,听到的将 不再是单调的提示等候音,而是不同凡响的流行音乐旋律、特效音等个性化的电子 声乐 1.2 单片机的简单介绍 一台能够工作的计算机要有这样几个部分构成: CPU(进行运算、控制)、RAM (数据存储)、输入/输出设备(串行口、并行输出口等)。在个人计算机上这些部 分被分成若干块芯片,安装在一个被称为主板的印刷线路板上。而在单片机中,这 些部分,全部被做到一块集成电路芯片中了,所以就称为单片机,而且有一些单片 机中除了上述部分外,还集成了其它部分如 A/D、D/A 等。 单片机的体积也不大,一般用 40 脚封装,当然功能多一些的单片机也有引脚比 较多的,如 68 脚,功能少的只有 10 多个或 20 多个引脚,有的甚至只有 8 只引脚。 MCS-51 是指由美国 INTEL 公司生产的一系列单片机的总称,这一系列单片机包括了 如 8031、8051、8751、8032、8052、8752 等品种,其中 8051 是最早最典型的产 品。该系列其他产品都是在 8051 的基础上进行功能增减,改变而来的,所以人们习 惯于用 8051 来称呼 MCS-51 系列单片机,而 8031 是前些年在我国最流行的单片机, 所以很多公司在做以 8051 为核心的单片机,当然功能或多或少有些改变,以满足不 同的需求,其中 89C51 就是这几年在我国非常流行的单片机,它是由美国 ATMEL 公 司开发生产的。[2]本设计就是用 89C51 来完成的。 2.电子音乐门铃系统简介 2 重庆大学本科毕业论文(设计) 2.1 分析功能要求 本设计意在完成低成本音乐门铃设计,芯片可采用 51 芯片,89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能 CMOS 8 位微处理器,俗称单片 机。AT89C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的 可擦除只读存储器可以反复擦除 100 次。 该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指 令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。 AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主要特 性:与 MCS-51 兼容,4K 字节可编程闪烁存储器,寿命:1000 写/擦循环,数据保留 时间:10 年,全静态工作:0Hz-24MHz,三级程序存储器锁定,128×8 位内部 RAM, 2 可编程 I/O 线,两个 16 位定时器/计数器,5 个中断源,可编程串行通道,低功耗 的闲置和掉电模式,片内振荡器和时钟电路。[3] 因为需要用到播放音乐功能,所以需要用到功放电路,其中采用 LM386 芯片, LM386 是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、 外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。 LM386 是美国国家半导体公司生产的音频功率放大器, 主要应用于低电压消费类 产品。为使外围元件最少,电压增益内置为 20。但在 1 脚和 8 脚之间增加一只外接 电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输 出端被自动偏置到电源电压的一半,在 6V 电源电压下,它的静态功耗仅为 24mW,使 得 LM386 特别适用于电池供电的场合。 2.2 系统原理与控制方法 2.2.1 设计原理 音乐是由音符组成,不同的音符是由相应频率的振动产生。通过控制定时器的 定时时间来产生不同频率的方波,驱动喇叭发出不同音阶的声音,再利用延迟来控 制发音时间的长短,即可控制音调中的节拍。产生不同的音频需要有不同固定周期 的脉冲信号。[4]要产生音频脉冲,只要算出某一音频的周期 T(1/f) ,然后将此周 期 T 除以 2,即为半周期的时间。把乐谱中的音符和相应的节拍变换为定常数和延迟 常数,作为数据表格存放在存储器中。由程序查表得到定时常数和延迟常数,分别 用以控制定时分别代表某一频率的声音。 3 重庆大学本科毕业论文(设计) 我们利用单片机的内部定时器 TO,使其工作在计数器模式 MODEl 下.初始化适 当的计数值 THO 及 TLO 以计时这个半周期时间。每当计时时间到后就将输出脉冲的 P1.0 口反相。然后重复计时此半周期时间,再对 P1.0 口反相,就可在单片机 Pl.0 引脚上得到此频率的脉冲。P1.0 引脚脉冲接 LM386 作音频功放,然后辅出到扬声器, 从而发出美妙的乐音。 例如设单片机晶振为 12MHz,每计数一次用时 1?s。我们要产生 f 低音 DO,其频 率为 392Hz,周期 T=1/392=2551?s,半周期时间为 1276?s。因此计数器应每计数 1276 次时将 P1.0 口反相,即计数初值应设定为(THxTLx)=错误!未找到引用源。一 1276=64260,就可得到低音 D0。[5]P3.5 口作为控制门铃的按钮,每按一次,产生 的电子音乐就改变一次,按完 3 次,再重复循环。3 首歌曲分别为《两只老虎》 、 《三 只小猫》 、 《哈巴狗》 。 2.3 单片机发音概述 一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相 应幅度的谐振频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比 较简单,只需能清楚“音调”和“节拍”两个概念即可。 音调表示一个音符唱多高的频率,知道了一个音符的频率后,便可以让单片机 发出相应频率的振荡信号,从而产生相应的音符声音。通过单片机的定时器进行定 时中断,在中断服务程序中将单片机上完结 LM386 的 I/O 口来回置高电平或者是低 电平的,从而让扬声器发出声音。节拍表示一个音符唱多长的时间,通过节拍计算 出每个音符所需要的时间,采用循环延时的方法来实现控制一个音符唱多长的时间, 从而构成一首完整的音乐。 2.3.1 音调控制 音调主要由声音的频率决定。对一定强度的纯音,音调随频率的升降而升降; 对一定频率的纯音、低频纯音的音调随响度增加而下降,高频纯音的音调却随响度 增加而上升。 音调的高低还与发声体的结构有关,因为发声体的结构影响了声音的频率。大 体上,2000 赫兹以下的低频纯音的音调随响度的增加而下降, 3000 赫兹以上高频 纯音的音调随响度的增加而上升。[6] 例如,在音乐中常常把中音 C 上方的 A 音定位标准高音,其频率 F=440HZ,其余 音均与其进行比较。F1 和 F2 为两个音符,如果这两个音符的频率相差一倍时,也即 4 重庆大学本科毕业论文(设计) F2=2*F1 时,则称 F2 比 F1 高一个频程。 在音乐中音符 1 与音符 2,音符 2 与音符 3??等等之间正好相差一个倍频程, 在音乐学中称它相差一个八度音。在一个八度内,有 12 个半音。由于人耳的听觉效 果,这 12 个音阶的分度基本上是以对数的关系来划分的。只要知道 12 个音符的音 高,也就是其基本频率,就可以根据音符之间的倍频关系得到其他音符的基本音调 频率。 以标准高音 A 的频率 F=440HZ,其对应的周期为: T=1/F=1/440=2272us 因 此 需 要 在 单 片 机 I/O 端 口 输 出 周 期 为 T=2272us 的 方 波 脉 冲 , 也 就 是 t=T/2=2272/2=1136us 也就是说,单片机上定时器的中断出发时间为 1136us。如果单片机采用定时器为工 作方式 1,它以振荡器的十二分频信号为计数脉冲。[7] 定时器初始值的求法如下: T=65536-N=65536-Fi÷2÷Fr 例如: 设 K=65536, F=1000000=Fi=1MHz, 求低音 DO(261Hz)、 中音 DO (523Hz) 、 高音的 DO(1046Hz)的定时器初始值。 T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr 低音 DO:T=65536-500000/262=63627 中音 DO:T=65536-500000/523=64580 高音 DO:T=65536-500000/1047=65059 表 1 音符 低 SO 低 LA 低 TI 中 DO 中 RE 中 MI 中 FA 中 SO 中 LA 中 TI 高 DO 高 RE 高 MI 简谱码 1 2 3 4 5 6 7 8 9 A B C D 音符对应的简谱码、频率、定时常数 频率(HZ) 392 440 494 523 587 659 698 784 880 988 1046 1175 1318 5 定时常数(T) 64260 64400 64524 64580 64684 64777 64820 64898 64968 65030 65058 65110 65157 重庆大学本科毕业论文(设计) 高 FA 高 SO 不发音 E F 0 1397 1568 65178 65217 2.3.2 节拍控制 在音乐中,时间被分成均等的基本单位,每个单位叫做一个“拍子”或 称一拍。 拍子的时值是以音符的时值来表示的,一拍的时值可以是四分音符(即以四分音符 为一拍) , 也可以是二分音符 (以二分音符为一拍) 或八分音符 (以八分音符为一拍) 。 拍子的时值是一个相对的时间概念,比如当乐 曲的规定速度为每分钟 60 拍时, 每拍占用的时间是一秒,半拍是二分之一秒;当规定速度为每分钟 120 拍时,每拍 的时间是半秒,半拍就是四分之一秒,依此类推。拍子的基本时值确定之后,各种 时值的音符就与拍子联系在一起。[8]例如,当以四分音符为一拍时,一个全音符相 当于四拍,一个二分音符相当于两拍,八分音符相当于半拍,十六分音符相当于四 分之一拍;如果以八分音符做为 一拍,则全音符相当于八拍,二分音符是四拍,四 分音符是两拍,十六分音符是半拍。 对于一拍的发音时间,如果乐曲没有特殊说明,一般来说,一拍大约为 400~ 450ms。对于计算机编程 节拍码及节拍数如表 2 所示: 表 2 节拍码及节拍数 节拍数 1 2 3 4 5 6 8 A C F 节码数 1/4 拍 2/4 拍 3/4 拍 1拍 1 又 1/4 拍 1 又 1/2 拍 2拍 2 又 1/2 拍 3拍 3 又 3/4 拍 3.系统的硬件设计 系统以AT89C51单片机为核心,加上外围电源时钟电路、LM386功放电路及扬 6 重庆大学本科毕业论文(设计) 声器电路组成。 AT89C51单片机是一种低功耗、低电压、高性能的8位单片机,内部除CPU外, 还包括128字节RAM,4个8位并行I/O口,5个中断优先级,2层中断嵌套中断,2个 16位可编程定时计数器,片内集成4K字节可改变程序Flash存储器,具有低功耗,速 度快,程序擦写方便等优点,完全满足本系统设计需要。 系统通过P3连接功放电路从而驱动扬声器产生电子声乐,P1口连接门铃按键。 3.1 芯片简介 AT89C51 单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有 限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器、数 据存储器、程序存储器、并行 I/O 口、串行口、定时器/计数器、中断系统及特殊功 能寄存器。他们都是通过片内单一总线连接而成,其基本结构依旧是 CPU 加上外围 芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制 方式。[9] 1)微处理器 该单片机中有一个 8 位的微处理器,与通用的微处理器基本相同,同样包括了运 算器和控制器两部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以 进行位变量的处理。 2)数据存储器 片内为 18 个字节,2 片外最多可外扩至 64k 字节,用来存储程序在运行期间的 工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。 3)程序存储器 由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的 容量不够,则需要扩展片外的只读存储器,片外最多可外扩至 64k 字节。 4)中断系统,具有 5 个中断源,2 个中断优先权 5)定时器/计数器 芯片内有 2 个 16 位的定时器/计数器,具有四种工作方式 6)串行口 1 个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并行 I/O 口,甚至与多个单片机相连接构成多机系统,从而使单片机的功能更强且应用更广。 7)I/O 口,4 个并行 8 位 I/O 口 8)特殊功能寄存器 共有 21 个,用于对片内的各功能的部件进行管理、控制、监视。实际上是一些 7 重庆大学本科毕业论文(设计) 控制寄存器和状态寄存器,是一个具有特殊功能的 RAM 区。 由上可见,AT89C51 单片机的硬件结构具有功能部件种类全,功能强等特点。特 别值得一提的是该单片机 CPU 中的微处理器实际上是一个完整的 1 位微计算机。这 个 1 位微计算机有自己的 CPU、位寄存器、I/O 口和指令集。其在开关决策、逻辑电 路仿真、过程控制方面非常有效;而 8 位机在数据采集、运算处理方面有明显的长 处。MCS-51 单片机中 8 位机和 1 位机的硬件资源复合在一起,二者相辅相成,它是 单片机技术上的一个突破,也是 MCS-51 单片机在设计上的精美之处。 3.2 原理简介 总体设计方案本系统采用 STC89C51 作为系统核心,音乐是由音符组成.不同的 音符是由相应频率的振动产生.产生不同的音频需要有不同固定周期的脉冲信号。 要产生音频林冲, 只要算出某一音颉的周期 T, 将此周期 T 除 2. 即为毕周期的时间。 我们利用单片机的内部定时器 TO,使其工作在计数器模式 MODEl 下.韧始化 适当的计数值 THO 及 TLO 以计时这个半周期时间.每当计时时间到后就将输出脉 冲的 P1.0 口反相.然后重复计时此半周期时间。 再对 P1.0 口反相.就可在单片机 Pl.0 引脚上得到此频率的脉冲。P1.0 引脚脉冲 接 LM386 作音频功放,然后辅出到扬声器.从而发出美妙的乐音。 通过音频功放电路,把信号输出到扬声器,播出美妙的音乐。只要一按下按钮, 就会有音乐播出,等一首歌播放完毕后,当再次按下按钮,就会播放下一首音乐, 如此循环,知道再次出现第一首音乐为止。本系统可以奏出三首不同旋律的歌曲。 此电子音乐门铃的电路设计方案如图 3.1 所示 8 重庆大学本科毕业论文(设计) 图 3.1 PCB 绘制电路图 3.3 单片机引脚说明 AT89C51 单片机是标准的 40 引脚双列直插式集成电路芯片, 引脚分布可如下图 3.2 所示: 9 重庆大学本科毕业论文(设计) 图 3.2 P0.0~P0.7 P1.0~P1.7 P2.0~P2.7 P3.0~P3.7 AT89C51 单片机引脚分布图 P0 口 8 位双向线(在引脚的 32~39 号端子) ; P1 口 8 位双向线(在引脚的 1~8 号端子) ; P2 口 8 位双向线(在引脚的 21~28 号端子) ; P3 口 8 位双向线(在引脚的 10~17 号端子) 。 1)P0 口有三个功能:外部扩展存储器时,当作数据总线(如图中的 D0~D7 为 数据总线接口) ;外部扩展存储器时,当作地址总线(如图中的 A0~A7 为地址总线 接口) ;不扩展时,可作一般的 I/O 口使用,但内部无上拉电阻,作为输入输出时应 在外部接上拉电阻。 2)P1 口功能:P1 口只作 I/O 口使用,其内部有上拉电阻。 3)P2 口功能:扩展外部存储器时,当作地址总线使用;作一般 I/O 口使用,其 内部有上拉电阻。 4)P3 口功能:除了作为 I/O 口使用外(其内部有上拉电阻) ,还有一些特殊功 能,由特殊寄存器来设置。 当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源,所 10 重庆大学本科毕业论文(设计) 以如果 P0 口作为输入时,或处在高阻抗状态,只有外接一个上拉电阻才能有效。 5)ALE/PROG 地址锁存控制信号 在系统扩展时,ALE 用于控制把 P0 口的输出低 8 位地址送锁存器锁存起来,以 实现低位地址和数据的隔离。 PROG 为编程脉冲的输入端,在 AT89C51 单片机内部有一个 4kB 的程序存储器 (ROM) ,ROM 的作用就是用来存放用户需要执行的程序。我们如何把编写好的程 序存入这个 ROM 中的呢?实际上是通过编程脉冲输入采能写进去, 而这个脉冲的输 入端口就是 PROG。[10] 6)PSEN 外部程序存储器读选通信号 在读外部 ROM 时 PSEN 低电平有效,以实现外部 ROM 单元的读操作:内部 ROM 读取时,PSEN 不动作;外部 ROM 读取时,在每个机器周期会动作两次;外 部 RAM 读取时,两个 PSEN 脉冲被跳过不会输出;外接 ROM 时,与 ROM 的 OE 脚相接。 7)EA/VPP 访问程序存储器控制信号:接高电平时,CPU 读取内部程序存储器 (ROM) ;接低电平时,CPU 读取外部程序存储器(ROM) 。8031 单片机内部是没 有 ROM 的,因此在应用 8031 单片机时,这个脚时一直接低电平的。 8)RST 复位信号:当输入的信号连续 2 个机器周期以上高电平时即为有效,用 以完成单片机的复位初始化操作,当复位后程序计数器 PC=0000H,即复位后将从程 序存储器的 0000H 单元读取第一条指令码。 9)XTAL1 和 XTAL2:外接晶振引脚。当使用芯片内部时钟时,此二引脚用于 外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 10)VCC:电源+5V 输入 11)GND:接地 3.4 主电路设计 AT89C51 是片内有 ROM/EPROM 的单片机,因此,这种芯片构成的系统简单、 可靠。本设计利用单片机芯片构成应用系统时,主要是将单片机街上时钟电路和复 位电路。其应用特点: 1)有可供用户使用的大量 I/O 线 2)内部存储器容量有限 3)应用系统开发具有特殊性 11 重庆大学本科毕业论文(设计) ATMEL89 系列单片机具有下列优点:内部含 Flsah 存储器,在系统开发过程中, 可以十分容易进行程序的修改,大大缩短了系统的开发周期。 同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也 不影响到信息的保存;静态时钟方式,89 系列单片机采用静态时钟方式,所以可以 节省电能,这对降低产品的功耗十分有利;错误编程亦无废品产生错误编程之后仍 可以重新编程,直到正确为止,故不存在废品;可进行反复系统试验到最优。[11] 而且随用户的需要和发展,还可以修改,使系统不断适应用户的最新要求。 AT89C51 其最小系统实物电路如图 3.3 所示: 图 3.3 最小系统实物电路图 AT89C51 其仿真系统电路如图 3.4 所示: 图 3.4 仿真系统电路 12 重庆大学本科毕业论文(设计) 3.5 时钟电路 AT89C51 虽然有内部振荡电路,但要形成时钟,必须外部附加电路。AT89C51 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。 本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。 震荡晶体可在 1.2MHZ 到 12MHZ 之间选择。电容值无严格要求,单电容取值对振荡 频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2 可在 20pF 到 100pF 之间取值,但在 60pF 到 70pF 时振荡器有较高的频率稳定性。所以本设计中, 震荡晶体频率选择 12MHZ,电容选择 20pF。 在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生 电容,更好的保证振荡器稳定和可靠工作。 3.6 复位电路 AT89C51 的复位是由外部的复位电路来实现的。 复位引脚 RST 通过一个施密特触 发器来抑制噪声。在每个机器周期的 S5P2,施密特触发器的输出电平由复位电路采 样一次,然后才能得到内部复位操作所需要的信号。 复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位 电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要 VCC 的上升时 间不超过 1ms,就可以实现自动上电复位。时钟频率采用 12MHZ 时 C 取 10μ F,R 取 1kΩ 。[12] 除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。 按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过 RST 端经电阻与电 源 VCC 接通而实现的。 3.7 功放电路设计 3.7.1 硬件简介 LM386 是音频功率放大器。输入端以地位参考,同时输出端以地位参考,被自 动偏置到电源电压的一半, 在 5V 电源电压下, 它的静态功耗仅为 24mW, 使得 LM386 特别适用于电池供电的场合。 本实验采用 LM386 的封装形式 8 引线双列直插式。 其 封装图如 3.5 所示: 13 重庆大学本科毕业论文(设计) 图 3.5 LM386 引脚图 3.7.2 特性 静态功耗低,约为 4mA,可用于电池供电,工作电压范围宽,4-12V or 5-18V, 外围元件少,电压增益可调,20-200,低失真度。 LM386 电源电压 4--12V,音频功率 0.5w。LM386 音响功放是由 NSC 制造的, 它的电源电压范围非常宽,最高可使用到 15V,消耗静态电流为 4mA,当电源电压 为 12V 时,在 8 欧姆的负载情况下,可提供几百 mW 的功率。它的典型输入阻抗为 50K。 3.7.3 应用电路 如图 3.6 所示 图 3.6 功放电路图 焊接功放电路实物图如 3.7 所示 14 重庆大学本科毕业论文(设计) 图 3.7 功放电路实物图 喇叭实物图如 3.8 所示 图 3.8 喇叭实物图 4.软件设计 4.1 程序设计 本系统采用 MCS-51 汇编语言编程。软件程序由主程序、定时器 TO 中断服务程 序和延时子程序组成。系统初始化后,系统扫描按键(P3.5 口的电平)判断是否有键按 下,有键按下时,根据按下键的次数,向音频字符码指针赋以不同歌曲的地址,通 过定时器 TO 中断子程序使 P1.0 口输出相应频率的音频脉冲,以达到发声目的。主 程序流程图如图 3 所示。 15 重庆大学本科毕业论文(设计) 4.1.1 程序流程图 主程序开始 初始化变量 初始化定时器 等待按键, 是否有按键 N Y 演奏乐曲 图3 程序流程图 4.1.2 编程编写 MAIN: ORG JMP ORG LJMP 00H START 0BH TIM0 ;主程序的起始地址 ;跳至主程序 ;TIMER0中断起始地址 ;跳至TIMER0中断子程序 16 重庆大学本科毕业论文(设计) START:MOV MOV JB CALL JNB MOV START0: MOV NEXT: MOV MOV MOVC MOV JZ ANL MOV MOV SWAP ANL JNZ CLR JMP SING: DEC MOV RL MOV MOVC MOV MOV MOV RL INC MOVC MOV MOV SETB D1: CALL INC JMP END0: CLR MOV XRL JNZ JB CALL TMOD,#00000001B IE,#10000010B P3.4, $ DELAY1 P3.4, $ 31H,#00 30H,#LOW SONG A,30H DPTR,# TABLE A,@A+DPTR R2,A END0 A,#0FH R5,A A,R2 A A,#0FH SING TR0 D1 A 22H,A A DPTR,#TABLE A,@A+DPTR TH0,A 21H,A A,22H A A A,@A+DPTR TL0,A 20H,A TR0 DELAY 30H NEXT TR0 A,31H A,#00H END1 P3.4,$ DELAY1 ;设TIMER0在MODE1 ;中断使能 ;第一次按T0? ;消除抖动 ;T0放开? ;按T0计数指针初始值为00H ;取简谱码指针(第1首) ;至相关页取码 ;低4位为音符的节拍 ;检查简谱码是否已结束(有无00?) ;取节拍(低4位) ;存入R5节拍的时间 ;取音频值(高4位) ;是否为0,是0则不发音 ;因0不列入 ;存入(22H ) ;乘2 ;至TABLE取码,取T的值 ;取到的高位字节才存入TH0 ;取到的高位字节存入(21H) ;在载入取到的音符码 ;乘2 ;加1 ;至TABLE取相对的低位字节计数值 ;取到的低位字节存入TL0 ;取到的低位字节存入(21H) ;启动TIMER0 ;取简谱码指针加1 ;停止计数器 ;载入计数器指针 ;是否按第1次 ;不是则跳至END1 ;按第2次? ;消除抖动 17 重庆大学本科毕业论文(设计) JNB INC MOV JMP END1: MOV XRL JNZ JB CALL JNB INC MOV JMP END2: JMP TIM0: PUSH PUSH SETB CLR MOV MOV CPL POP POP RETI DELAY:MOV D2: MOV D3: MOV DJNZ DJNZ DJNZ DJNZ RET DELAY1:MOV D4: MOV DJNZ DJNZ RET ORG TABLE: DW START ACC PSW RS0 RS1 TL0,20H TH0,21H P1.0 PSW ACC R7,#02 R4,#125 R3,#248 R3,$ R4,D3 R7,D2 R5,DELAY R4,#20 R3,#248 R3,$ R4,D4 300H ;定时常数T值表 64260,64400,64524,64580 ;回到第1次位置 ;将A的值暂存于堆栈 ;将PSW的值暂存于堆栈 ;设工作寄存器库1,RS0=1,RS1=0 ;重设计数值 ;将P1.0位反相 ;至堆栈取回PSW的值 ;至堆栈取回A的值 ;返回主程序 ;延时125毫秒 A,31H A,#01H END2 P3.4,$ DELAY1 P3.4,$ 31H 30H,#LOW SONG2 NEXT ;载入计数器指针 ;是否按第2次 ;不是则跳至END2 ;按第3次? ;消除抖动 ;放开否? ;计次地址(31H)加1 ;第3首歌指针 P3.4,$ 31H 30H,#LOW SONG1 NEXT ;放开否? ;计次地址(31H)加1 ;第2首歌指针 ;决定节拍 18 重庆大学本科毕业论文(设计) DW DW DW 64684,64777,64820,64898 64968,65030,65058,65110 65157,65178,65217 ;音符节拍码数据表 SONG: ;两只老虎 ;1 DB 44H,54H,64H,44H DB 44H,54H,64H,44H DB 64H,74H,88H DB 64H,74H,88H ;2 DB 82H,92H,82H,72H,64H,44H DB 82H,92H,82H,72H,64H,44H DB 44H,84H,48H DB 44H,14H,48H DB 00H SONG1: ;三只小猫 ;1 DB 62H,82H,82H,62H,98H DB 92H,0B2H,0B2H,82H,98H DB 62H,82H,82H,52H,68H DB 92H,0B2H,0B2H,82H,98H ;2 DB 62H,82H,82H,62H,92H,92H,94H DB 92H,0B2H,0B2H,92H,84H,94H DB 0B8H,0B4H,04H DB 00H SONG2: ;哈巴狗 ;1 DB 42H,42H,42H,52H,64H,04H DB 62H,62H,62H,72H,84H,04H DB 92H,92H,82H,72H,64H,04H DB 82H,82H,52H,62H,44H,04H ;2 DB 42H,42H,42H,52H,64H,04H DB 62H,62H,62H,72H,84H,04H DB 92H,92H,82H,72H,64H,04H DB 82H,82H,52H,62H,44H,04H DB 00H 19 重庆大学本科毕业论文(设计) 结论 毕业设计还是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这 次比较完整单片机设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻 炼了我的综合运用所学的专业基础知识,解决实际工程问题的能力,同时也提高我 查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过 对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼, 经验得到了丰富,并且意志品质力,抗压能力及耐力也都得到了不同程度的提升。 这是我们都希望看到的也正是我们进行毕业设计的目的所在。 在这次设计过程中遇到很多问题,通过老师的指导和帮助,我们克服了这些困难 解决了问题,提高了解决问题的能力。在这次设计中,我们要学会亲自去尝试,不 要害怕失败 20 重庆大学本科毕业论文(设计) 参考文献 [1] 孙函芳.MCS-51/96 单片机原理及应用[M] .北京: 北京航空航天大学出版社 , 1994 年. [2] 朱光中,黄云龙,范一鸣.AT89C51 单片机在可视对讲门铃中的应用[J]. 机 电一体化,2002,第 6 期:66-68. [3] [4] 用单片机实现电子音乐门铃[J].无线.电,2007,第 534 期:38-39. 张靖武 .单片机原理、 应用与 PROTEUS 仿真 [M] .北京: 电子工业出版社 2007 年. , [5] [6] [7] [8] [9] [10] 苏成富. 多功能音乐门铃[J].
单片机又称“单片机微型计算机”、“微控制器”、“嵌入式微控制器”。单片机适用于控制领域,是由CPU、RAM、ROM以及I/O接口电路集成在一起的芯片。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各种单片机中最为典型和最有代表性的一种。通过这次课程设计对它的进一步了解、学习与应用,从而达到设计、开发软硬件的能力。本文设计了一种基于单片机的“叮咚”门铃,主要有键盘,音频功率放大器LM386, AT89C51单片机,扬声器等构成,通过单片机定时/计数器t0来产生700Hz和500Hz的频率来使扬声器发出“叮咚”声音。
基于 AT89C51 单片机的门铃电路课程设计 一、 设计任务与要求 利用 AT89S51 的基本功能,实现对门铃电路的控制,实现呼叫,应答,响应 等功能。 二、 元器件清单及简介 元器件型号 AT89S51 排阻 四位 LED 数码管 压电式蜂鸣器 面包板 电容 4*4 矩阵键盘 晶振 导线 元器件说明 1. AT89S51 单片机引脚图 个数 1 2 1 1 2 2 1 1 若干 引脚功能: T/O 口引脚—P0、P1、P2、P3,为 4 个 8 位 I/O 口的外部引脚。 P0 口有三个功能: 1) 外部扩展存储器时, 当做数据总线 (如图 1 中的 D0~D7 为数据总线接口) 2) 外部扩展存储器时, 当作地址总线 (如图 1 中的 A0~A7 为地址总线接口) 3) 不扩展时, 可做一般的 I/O 使用, 但内部无上拉电阻, 作为输入或输出 , 1 时应在外部接上拉电阻。 4)VCC:电源+5V 输入 5)VSS:GND 接地。 在此试验中使用了 P0 口,P1 口,P2.1—P2.4 引脚,P3.7 引脚及外部程序存储 器访问允许控制端。 2.四位 LED 数码管 内部的 4 个数码管共用 a~dp 这 8 根数据线,为人们的使用提供了方便,因为里 面有 4 个数码管,所以它有 4 个公共端,加上 a~dp,共有 12 个引脚。 三、 设计原理及分析 3.1 主要设计要求 1.该电路要实现当用户按下数字键时,按下确认键,喇叭响。 2.通过 4 乘四矩阵键盘的使用,在四位数码管上会显示数字。 3.在数字键按下以后,按下键盘确认键,蜂鸣器会发出响声。 3.2 完成形式 1.首先利用软件实现仿真,然后连接实物图 2.设计思路 本系统采用 AT89S51 单片机来设计门铃电路,实现了门铃的基本功能,可 以通过键盘控制实现数码管显示以及蜂鸣器工作,除此之外,数码管显示数字 的功能使门铃使用较为清晰。 本设计通过单片机输入输出各控制键盘, 蜂鸣器, 数码管,如此完成基本的门铃功能。将键盘接与单片机 p1 口上,数码管接与 P0 口及 P2.1—P2.4 上,蜂鸣器接与单片机的 P3.7 上,通过键盘输入信号至 P0 口,用单片机的 p0 口控制门铃数码管的数字显示,用单片机的 P3.7 口控 制蜂鸣器。在二极管和数码管接电源时需要加上排阻。 3.3 各模块功能显示 1.四位数码管电路 内部的 4 个数码管共用 a~dp 这 8 根数据线,为人们的使用提供了方便, 因为里面有 4 个数码管,所以它有 4 个公共端,加上 a~dp,共有 12 个引脚。 2 图 4 四位数码管显示 2.4*4 矩阵键盘 由行线和列线组成,一组为行线,另一组为列线,按键位于行,列的交叉 点上。矩阵键盘中无按键按下时,行线处于高电平状态;当有按键按下时,行 线电平状态将由与此行线相连的列线的电平决定。 总原理图: 图 2 实验总图 3 流程图 开始 系统初始 化 扫描键盘 清零 # 判断按下的是哪个 键 调用显示子程序 * 蜂鸣器 延时 图 3 流程图 四、 功能调试 1. 门铃电路仿真图 输入 2 时的四位数码管显示: 4 再输入 0 时四位数码管显示: 最后输入 1 时四位数码管显示: 五、 设计中的问题及改进 首先是数码管的接线问题, 我用的是四位七段数码管,这个数码管上下各有 6 个接口,一开始我按顺序接了 6 个口,但显示出来的是乱码,最后找了一些书 才知道是按一定顺序接的。 还有就是蜂鸣器的使用, 一开始我们设计程序的时候,没有注意对中断的使 用,导致只要点击运行时蜂鸣器就会响,后来通过对程序中中断的控制,实现了 当按下数字键,点击确认后,蜂鸣器会发出声音。 在设计实物图时,我们按照仿真图的连线接线,发现电路不工作,四位数码 管不显示,喇叭也不响,一开始我们以为是接线问题,在对线路多次检查以后, 发现不是接线问题,我们首先怀疑的是 CPU 问题,但对 CPU 检查以后,发现 CPU 是正常的,后来又怀疑是面包板铜丝松动,对面包板更换后,电路还是不工作, 5 最后经过检查,是晶振出现问题,在对晶振进行更换后,电路的四位数码管正常 显示,但是我们的喇叭还是不响,最后通过对程序的检查,对程序中喇叭部分进 行了修改,电路实现了正常工作。 当然其中还有不少的小问题,刚开始并不能解决,经过查阅资料,询问老师 最终得到解决,并在努力的过程中学到了很多东西。 在这次实习中,经历了多次失败,我明白在以后学习和实践中,我要努力掌 握知识,多动手,多思考,以免在以后的学习工作中犯同样的错误。 实验心得: 经过此次的单片机课程设计,我们收获很多。对我们来说,这是我们第一次 自己完整的做一套东西,经历了 构思,方案比较,仿真,硬件连接,软件调试 等一整套完整的过程,看到最终的成品,心里很高兴。
单片机介绍 1绪 论 随着时代的前进和发展,控制智能化、仪器小型化、功耗微小化得到广泛关 注。在这些领域中,单片机起到了举足轻重的作用,这就把单片机的应用提升到 重要的地位,单片机应用系统设计就成为新的技术热点。 近几年来,随着市场上智能化的不断升温,门铃系统已作为智能化办公室和 智能化住宅小区的一个重要组成部分,被各商家和用户所接受。人们已开始习惯 用门铃系统代替传统的铁钥匙去管理各通道门, 这使门铃系统得到了飞跃性的发 展。随着单片机技术的飞速发展,通过单片机实现人们对物质生活的满足,这将 会日益成为今后的一个重要发展的方向。 由于电子音乐门铃具有铃声动听,价格低廉,耗电少等特点,在现代家居中 的应用越来越流行。有了电子音乐门铃,在客人拜访时,听到的将不再是单调的 提示等候音,而是不同凡响的流行音乐旋律,特效音等个性化的电子音乐。音乐 是由音符组成。声音的频率范围约在几十到几千赫兹,若能利用程序来控制单片 机某个口线的高电平和低电平,则在该线口就能产生一定频率的矩形波,接上扬 声器就能发出一定频率的声音,若再利用延时控制“高” “低”电平的持续时间, 就能改变输出频率,从而改变音调。要奏出准确地控制乐曲节奏,常用节拍来表 示。 2 重庆科技学院本科生毕业设计 2 51 单片机介绍 2 51 单片机介绍 2.1 51 单片机概述 单片微型计算机,简称单片机,是近代计算机技术发展的一个分支—嵌入式 计算机系统。它是将计算机的主要部件(CPU、RAM、ROM、定时器/计数器、输入 /输出接口电路等)集成在一块大规模的集成电路中,形成的芯片级的微型计算 机。自从单片机问世以来,就在控制领域得到广泛应用,特别是近年来,许多功 能电路都被集成在单片机内部,如 A/D、D/A、PWM、WDF、IC 总线接口等,极大 提高了单片机的测试和控制能力, 我们现在所说的单片机已突破微型计算机的传 统内容,更准确的名称应为微控制器,虽然我们仍称其为单片机,但是把它认为 是一个单片形态的微控制器。 单片机的体积也不大,一般用 40 脚封装,当然功能多一些的单片机也有引 脚比较多的,如 68 脚,功能少的只有 10 多个或 20 多个引脚,有的甚至只有 8 只引脚。 MCS-51 是指由美国 INTEL 公司生产的一系列单片机的总称,这一系列单片 机包括了如 8031、8051、8751、8032、8052、8752 等品种,其中 8051 是最早最 典型的产品。该系列其他产品都是在 8051 的基础上进行功能增减,改变而来的, 所以人们习惯于用 8051 来称呼 MCS-51 系列单片机,而 8031 是前些年在我国最 流行的单片机,所以很多公司在做以 8051 为核心的单片机,当然功能或多或少 有些改变, 以满足不同的需求, 其中 89S51 就是这几年在我国非常流行的单片机, 它是由美国 ATMEL 公司开发生产的。本设计就是用 89S51 来完成的。 系统以 AT89S51 单片机为核心加上外围电源时钟电路、LM386 功放电路及扬 声器电路组成。ATMEL 公司生产的 AT89S51 单片机是一种低功耗且电压性能高的 8 位单片机,内部除 CPU 外,还包括 128 字节 RAM,4 个 8 位并行 I/O 口,5 个中 断优先级,2 层中断嵌套,2 个 16 位可编程计数器,片内集成 4k 字节可改变程 序 FLASH,具有低功耗、速度快、程序擦写方便等优点,完全满足本系统设计需 要,系统通过 P1.0 连接功放电路从而驱动扬声器产生电子乐声,P3.5 口接门铃 按键 4 重庆科技学院本科生毕业设计 2 51 单片机介绍 2.2 芯片简介 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机,片内含 4k Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器, 器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令 系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单 元, 功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价 比的解决方案。 AT89S51 具有如下特点:40 个引脚,4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器(RAM),32 个外部双向输入/输出(I/O) 口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个 全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电 模式。空闲模式下,CPU 暂停工作,而 RAM 定时计数器,串行口,外中断系 统可继续工作,掉电模式冻结振荡器而保存 RAM 的数据,停止芯片其它功 能直至外中断激活或硬件复位。同时该芯片还具有 PDIP、TQFP 和 PLCC 等 三种封装形式,以适应不同产品的需求。 主要特性: (1) 8031 CPU 与 MCS-51 兼容 (2)4K 字节可编程 FLASH 存储器(寿命:1000 写/擦循环) (3) 全静态工作:0Hz-33MHz (4) 三级程序存储器保密锁定 (5) 128*8 位内部 RAM (6) 32 条可编程 I/O 线 (7) 两个 16 位定时器/计数器 (8) 6 个中断源 (9) 可编程串行通道 (10) 低功耗的闲置和掉电模式 (11)片内振荡器和时钟电路 3 重庆科技学院本科生毕业设计 2 51 单片机介绍 2.3 引脚说明 AT89S51 单片机有 40 个引脚,与其它 51 系列单片机引脚是兼容的,其 DIP 封装形式如图 2-1 所示: VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电 流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须 被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器 能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输 入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接 收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出 电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址 外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时, 它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输 出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址 信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作 输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由 于上拉的缘故。 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) 4 重庆科技学院本科生毕业设计 2 51 单片机介绍 P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 I/O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端 口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总 线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地 把外部的数据读入到内部总线。上面图中的两个三角形表示的就是输入缓 冲器 CPU 将根据不同的指令分别发出读端口或读引脚信号以完成不同的操 作。这是由硬件自动完成的,不需要我们操心,1 然后再实行读引脚操作, 否则就可能读入出错,为什么看上面的图,如果不对端口置 1 端口锁存器 原来的状态有可能为 0Q 端为 0Q^为 1 加到场效应管栅极的信号为 1,该场 效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为 1,也会因端 口的低阻抗而使信号变低使得外加的 1 信号读入后不一定是 1。 若先执行置 1 操作, 则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的 读入,由于在输入操作时还必须附加一个准备动作,所以这类 I/O 口被称 为准双向口。89C51 的 P0、P1、P2、P3 口作为输入时都是准双向口。接下 来让我们再看另一个问题,从图中可以看出这四个端口还有一个差别,除 了 P1 口外 P0、P2、P3 口都还有其他的功能。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的 高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存 地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因 此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用 作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作 用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止, 置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间, 每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器 (0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET; 当/EA 端保持高电平时, 此间内部程序存储器。 FLASH 在 编程期间,此引脚也用于施加 12V 编程电源(VPP)。 5 重庆科技学院本科生毕业设计 2 51 单片机介绍 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 AT89SXX 系列单片机实现了 ISP 下载功能, 故而取代了 89CXX 系列的下 载方式,也是因为这样,ATMEL 公司已经停止生产 89CXX 系列的单片机,现 在市面上的 AT89CXX 多是停产前的库存产品。 图 2.1 AT89S51 引脚图 6 重庆科技学院本科生毕业设计 3 系统硬件设计 3 系统硬件设计 3.1 总体设计 T89S51 是片内有 ROM/EPROM 的单片机,因此,这种芯片构成的系统简单、可 靠。本设计利用单片机芯片构成应用系统时,主要是将单片机接上时钟电路和复 位电路。其应用特点: ◆有可供用户使用的大量 I/O 线 ◆内部存储器容量有限 ◆应用系统开发具有特殊性 音乐门铃的硬件电路由 6 个部分组成:单片机、晶振与复位电路、选择按键 输入电路、功率放大电路,扬声器。音乐门铃的硬件电路设计框图如下。 晶振与复位电 路 单 片 机 音乐播 放扬声 器 功率放 大电路 按键输入 电路 图 3.1 系统框图 7 重庆科技学院本科生毕业设计 3 系统硬件设计 3.2 硬件设计 3.2.1 晶振电路 晶体振荡器,简称晶振。在电气上它可以等效成一个电容和一个电阻并联再 串AC联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其 中较低的频率是串AC联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这 两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感, 所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。 这个并联谐振 电路加到一个负反馈电路中就可以构成正弦波振荡电路, 由于晶振等效为电感的 频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有 很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相 等的并联电容,就可以得到晶振标称的谐振频率。 AT89S51 引脚 XTAL1 和 XTAL2 与晶体振荡器及电容 C2、C3 按图 3-2 所示方 式连接。晶振、电容 C2、C3 及片内与非门(作为反馈、放大元件)构成了电容 三点式振荡器,振荡信号频率与晶振频率及电容 C3、C2 的容量有关,但主要由 晶振频率决定,范围在 0~33MHz 之间,电容 C3、C2 取值范围在 5~30pF 之间。 根据实际情况,对外接电容 C3,C2 虽然没有十分严格的要求,但电容容量的大 小会轻微影响振荡频率的高低,振荡器工作的稳定性,起振的难易程度及温度稳 定性。如果使用石英晶体,推荐电容使用 30PF±10PF,而如使用陶瓷振荡器建 议选择 40PF±10PF。本设计中采用 12MHZ 的晶振作为系统的外部晶振,电容取 值为 30pF 8 重庆科技学院本科生毕业设计 3 系统硬件设计 图 3.2 晶振电路图 3.2.2 复位电路 AT89C51 的复位是由外部的复位电路来实现的。复位引脚 RST 通过一个触发 器来抑制噪声。在每个机器周期的 S5P2,触发器的输出电平由复位电路采样一 次,然后才能得到内部复位操作所需要的信号。 复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充 电来实现的。只要 VCC 的上升时间不超过 1ms,就可以实现自动上电复位。时钟 频率采用 12MHZ 时 C1 取 10μ F,R1 取 8.2kΩ 。本设计就是用上电复位。 复位时,ALE 和 PSEN 成输入状态,片内 RAM 不受复位影响;复位后,PC 指 向 0000H,单片机从起始地址 0000H 开始执行程序。所以单片机运行出错或进入 死循环,可按复位键重新启动。在次单片机中,没有完全使用这些默认值,而是 通过在程序中对单片机进行初始化。 复位电路采用的是简单的上电复位电路, 此电路要求要保证在 RESET 引脚上 提供 10 毫秒以上稳定的高电压。这种上电复位利用电容器充电来实现。当加电 时,电容 C1 充电,电路有电路流过,构成回路,在电阻 R1 上产生压降,RESET 引脚为高电平;当电容 C1 充满电后,电路相当于断开,RESET 的电位与地相同, 9 重庆科技学院本科生毕业设计 3 系统硬件设计 复位结束。复位时间与充电的时间有关,充电时间越长复位时间越长,增大电容 或增大电阻都可以增加复位时间。 3.3 复位电路图 3.2.3 功率放大电路 LM386 是音频功率放大器,主要应用于低电压消费类产品。为使外围元件最 少,电压增益内置为 20。但在 1 脚和 8 脚之间增加一只外接电阻和电容,便可将 电压增益调为任意值,直至 200。 输入端以地位参考,同时输出端被自动偏置到电 源电压的一半,在 6V 电源电压下,它的静态功耗仅为 24mW,使得 LM386 特别适用 于电池供电的场合。 3.4 LM386 引脚图 主要特性: (1)静态功耗低,约为 4mA,可用于电池供电。 (2)工作电压范围宽,4-12V or 5-18V。 (3)外围元件少。 (4)电压增益可调,20-200 10 重庆科技学院本科生毕业设计 3 系统硬件设计 (5)低失真度。 LM386 电源电压 4--12V,音频功率 0.5w。LM386 音响功放是由 NSC 制造的, 它的电源电压范围非常宽,最高可使用到 15V,消耗静态电流为 4mA,当电源电 压为 12V 时,在 8 欧姆的负载情况下,可提供几百 mW 的功率。它的典型输入阻 抗为 50K。 11 重庆科技学院本科生毕业设计 4 软件设计 4 软件设计 要求采用单片机设计的电子音乐门铃,客人来访时,按一下按钮,门铃就会 奏出优美的电子音乐声,再按一下,门铃又会奏出下一首电子音乐声音。本系统 可以奏出六首不同旋律的音乐。 程序开始 等待按键 按下 否 是 第一首歌曲 等待按键 按下 否 是 第二首歌曲 : 第六首歌曲 4.1 按键功能图 12 重庆科技学院本科生毕业设计 4 软件设计 4.1 音乐设计原理 音乐是由音符组成,不同的音符是由相应频率的振动产生。产生不同的音频 需要有不同固定周期的脉冲信号。要产生音频脉冲,只要算出某一音频的周期 T(1/f) ,然后将此周期 T 除以 2,即为半周期的时间。我们利用单片机的内部 定时器 TO,使其工作在计数器模式 M1MO=01B 下.初始化适当的计数值 THO 及 TL 以计时这个半周期时间。每当计时时间到后就将输出脉冲的 P1.0 口反相。然后 重复计时此半周期时间,再对 P1.0 口反相,就可在单片机 Pl.0 引脚上得到此频 率的脉冲。P1.0 引脚脉冲接 LM386 作音频功放,然后辅出到扬声器,从而发出 美妙的乐音。例如设单片机晶振为 12MHz,每计数一次用时 1?s。我们要产生低 音 SO,其频率为 392Hz,周期 T=1/392=2551?s,半周期时间为 1276?s。因此计 数器应每计数 1276 次时将 P1.0 口反相, 即计数初值=216-T/2t=64260,就可得 到低音 SO。P3.5 口作为控制门铃的按钮,每按一次,产生的电子乐音就改变一 次,按完 6 次,再重复循环。 4.2 音乐符设计 首先建立音乐,把音乐的音符找出。建立各个音符的定时常数 T 值表,编写 程序时我们把 T 值表按顺序建立在“TABLE”栏。每个发音符使用一个字节,字 节的位(简谱码)代表音符的节拍。如果 1 拍为 0.25 秒,4 分之一秒就是 0.25 秒。只要设定延时时间就求得节拍的时间。假设 4 分之一为 1DELAY,则一拍应 为 4DELAY,依次类推。所以只要求出 4 分之一的 DELAY 时间。其余的节拍就是 它的倍数。4 分之一拍的延时在此我们设为 125ms,节拍码如表: 表 4.1 音符对应的简谱码、频率、定时常数 音符 低SO 低LA 低TI 中DO 中RE 中MI 中FA 简谱码 1 2 3 4 5 6 7 频率(Hz) 392 440 494 523 587 659 698 定时常数(T) 64260 64400 64524 64580 64684 64777 64820 13 重庆科技学院本科生毕业设计 中SO 中LA 中TI 高DO 高RE 高MI 高FA 高SO 不发音 8 9 A B C D E F 0 784 880 988 1046 1175 1318 1397 1568 64898 64968 65030 65058 65110 65157 65178 65217 4 软件设计 表 4.2 节拍码及节拍数 节拍码 1 2 3 4 5 6 8 A C F 节拍数 1/4拍 2/4拍 3/4拍 1拍 1又1/4拍 1又1/2拍 2拍 2又1/2拍 3拍 3又3/4拍 定时器初始值的求法如下: T=65536-N=65536-f/2fr 例如: K=65536, 设 f=1000000=1MHz, 求低音 DO(261Hz)、 中音 DO 523Hz) ( 、 高音的 DO(1046Hz)的定时器初始值。 T=65536-N=65536-f/2fr=65536-1000000/2fr=65536-500000/fr 低音 DO:T=65536-500000/261=63627 中音 DO:T=65536-500000/523=64580 高音 DO:T=65536-500000/1047=65059 14 重庆科技学院本科生毕业设计 4 软件设计 4.3 程序设计 本系统采用 MCS-51 汇编语言编程。软件程序由主程序、定时器 TO 中断服务 程序和键盘处理程序组成。系统初始化后,系统扫描按键(P3.5 口的电平)判断 是否有键按下,有键按下时,根据按下键的次数,向音频字符码指针赋以不同歌 曲的地址,通过定时器 TO 中断子程序使 P1.0 口输出相应频率的音频脉冲,以达 到发声目的。 主机软件设计主要由初始化主程序、 定时/计数器 T0 中断服务程序等子程序 构成。它实现了对硬件设备的检测、整个系统运行中的调度和实时监控以及对硬 件和软件的初始化。 4.3.1 主程序设计 系统通电复位后,程序随即进入主程序,完成对系统的自检。接着对系统进 行正常的初始化,包括硬件和软件初始化。初始化结束,主程序进入等待方式 15 重庆科技学院本科生毕业设计 4 软件设计 主程序开始 初始化变量 初始化定时器 否 等待按键, 是否有按键 是 演奏音乐 图 4.2 主程序流程图 系统初始化结束后,主程序进入节电等待方式。该方式下,送往 CPU 的时钟 信号被封锁,CPU 进入等待状态,此时堆栈指针 SP、程序计数器 PC、程序状态 字 PSW、累加器 A 的状态均保持不变,I/O 引脚保持以前的状态。等待方式可由 中断或复位来退出。在本系统中主要是由定时中断 T0 来唤醒,之后进入监控循 环。 MAIN: SJMP MAIN ; 主程序等待 16 重庆科技学院本科生毕业设计 4 软件设计 4.3.2 T0 服务程序 定时/计数器 T0 初始化:定时/计数器 T0 在该系统中作为监控程序的载体, 其初始值须多方面考虑。设定为定时器,定时 1276ms,采用方式 1 (16 位定时 /计数器)。因单片机所用晶振为 12MHz,故初值可用如下公式计算: 初值=65536-1276=64260 定时器 T0 的初始化程序如下: MOV MOV MOV SETB SETB SETB TMOD,#01 TH0,#HIGH(64260) TL0,#LOW(64260) TR0 ET0 EA ;设置定时器 T0 方式 1 ;填定时器初值高字节 ;填定时器初值低字节 ;开定时器 T0 ;允许 T0 中断 ;总中断允许 工作在中断方式 1 时,在程序结构上需要用伪指令定义中断的入口地址,形 式和外部中断过一样,如 T0 的入口地址可能下面的指令: ORG LJMP 000BH TIMO ;TIMER0 中断起始地址 ;跳至 TIMER0 中断子程序 服务程序。和外部中断的服务程序功能一样,定时器的服务程序,就是定时 或计数到时需要做的事情。定时器服务程序的内容包括计数器初值的重装。工作 在方式 1 时要都要用指令实现初值重装,一般都设置在程序的开头。程序如下: INETOP: MOV MOV CPL RETI TH0,#HIGH (64260) TL0,#LOW P1.0 (64260) ; T0 服务程序等待 ; 重装初值 ; 重装初值 ; 服务内容,输出取反 ; 中断返回 17 重庆科技学院本科生毕业设计 4 软件设计 定时器 TO 中断服务程序流程图如图 4.4 所示: T0 中断入口 T05S 加 1 T05S=2000 吗? T05S=0,Flag 取反 Flag=0 Flag=1 T7HZ 加 1 T5HZ 加 1 T5HZ=4 吗? T7HZ=3 吗? T7HZ=0 T5HZ=0 P1.0 取反 中断返回 4.4 定时器 TO 中断服务程序流程图 4.3.3 按键处理程序设计 计数器输入脉冲最好不要直接接普通的按键开关, 因为记数器的记数速度非 常快,按键、触点等接触时会有多次接通和断开的现象。我们感觉不到,可是记 数器却都 记录了下来。例如,虽然只按了 1 下,记数器可能记了 3 下。因此,使 用按键的记数电路都会增加单稳态电路避免记数错误。 通常的按键所用开关为机械弹性开关,当机械触点断开、 闭合时,电压信号小 型如下图。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接 通,在 断开时也不会一下子断开。 因而在闭合及断开的瞬间均伴随有一连串的抖 18 重庆科技学院本科生毕业设计 4 软件设计 动,如下图。抖动时间的长短由按键的机械特性决定,一般为 5ms~10ms。这是一 个很重要的时间参数,在很多场合都要用到。 按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几 秒至数秒。键抖动会引起一次按键被误读多次。为确保 CPU 对键的一次闭合仅作 一次处理,必须去除键抖动。 在键闭合稳定时读取键的状态,并且必须判别到键释 放稳定后再作处理。按键的抖动,可用硬件或软件两种方法 在本设计中我们用的是软件消抖得方法,采用软件延时的方法实现。由于键 的抖动时间小于 10ms,在第一次检测到按键按下时,并不立即处理,而是先调 用一个 10ms 左右的延时程序,然后再确认键是否按下,只有再次确认键按下才 执行键的功能,从而消除按键抖动的影响。延时程序如下: JNB LCALL JNB DELAY1:MOV D4: MOV DJNZ DJNZ RET P3.5, $ DELAY1 P3.5, $ R4,#20 R3,#248 R3,$ R4,D4 ;第一次按 T0? ;消除抖动 ;T0 放开? 19 重庆科技学院本科生毕业设计 5 结论 5 结论 在整个设计过程中,无论硬件还是软件,始终以模块化设计为指导思想,对 整个系统细化,分成多个小模块,保证每部分都能够独立、可靠的工作,然后把 精力集中放在对各模块之间的无缝接口上。 在几学期的单片机学习中, 对单片机的硬件设计, 软件设计掌握的深度不够, 但通过此次课程设计,却改变了很多,首先,对于硬件电路的工作原理有了进一 步的学习,同样就有了进一步的认识;其次,软件方面,在程序的设计,程序的 调试方面都学到了很多东西。 在一个好的氛围里才能踏下心来做东西,在这几个月的毕业设计的时间里, 电子音乐对我的影响很大,这也是我能完成毕业设计的动力。另外在编程中出现 问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定 会发现错误,克服困难,我也是这么做的,这在课程设计中十分重要。 在大学课堂的学习只是纯理论的专业知识, 而我们应该把所学的用到现实生 活中去,此次的音乐盒设计给我奠定了一个实践基础,我会在以后的学习、生活 中磨练自己,使自己适应社会激烈的竞争。 最后要提一点建议,希每个人都能有一块实验开发板,这样能使每个人都能 得到充分的锻炼。 20 重庆科技学院本科生毕业设计 参考文献 主要参考文献 1. 赵全利,肖兴达.单片机原理及应用教程[M].北京:机械工业出版社.2007 2. 徐江海. 单片机原理实用教程[M]. 北京:机械工业出版社,2008 3. 刘瑞新.单片机原理及应用教程[M].北京:机械工业出版社.2007 4. 何立民.MCS-51 系列单片机应用系统设计 [M].北京:北京航空航天大学出版社.1995 5. 及力. Protel 99 SE 原理图与 PCB 设计教程[M]. 北京:电子工业出版社.2007 6 韩志军,沈晋源,王振波.单片机应用系统设计 (第一版) [M].北京:机械工业出版社,2005. 7 张毅刚. 单片机原理及应用[M]. 北京:高等教育出版社,2003. 8 王为青. 程国钢. 单片机 Keil Cx51 应用开发技术[M]. 北京:人民邮电出版社,2007. 9 张靖武,周领彬.单片机系统的 PROTEUS 设计与仿真 (第一版) [M].电子工业出版社.2007. 10 何立民.MCS-51 系列单片机应用系统设计[M〕.北京:北京航空航天大学出版社,1990. 21 重庆科技学院本科生毕业设计 致谢 致谢 在这次设计过程中遇到很多问题,通过老师的指导和帮助,我们克服了这些 困难解决了问题,提高了解决问题的能力。在这次设计中,我们要学会亲自去尝 试,不要害怕失败。 这次实习,使我们有了团队合作,培养了我们的团队合作精神。通过团队相 互讨论,很多问题都迎刃而解了。通过团队合作,使我们认识到:一个人的能力 是有限的,只有相互合作,相互学习才能把事情做得更好。 本课题在选题及研究过程中得到喻晓莉老师的悉心指导。 喻老师多次询问研 究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。喻老师 一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我 做人,虽历时三载,却给以终生受益无穷之道。对喻老师的感激之情是无法用言 语表达的。 感谢我的同学龙莎莎、余明德等三年来对我学习、生活的关心和帮助。 最后,向我的父亲、母亲致谢,感谢他们对我的理解与支持。 22 重庆科技学院本科生毕业设计 附录 1 程序代码 附录 1 程序代码 MAIN: ORG LJMP ORG LJMP 00H START 000BH TIM0 TMOD,#00000001B IE,#10000010B P3.5, $ DELAY1 P3.5, $ 31H,#00H 30H,# SONG A,30H DPTR,# TABLE A,@A+DPTR R2,A END0 A,#0FH R5,A A,R2 A A,#0FH SING TR0 D1 A 23 ;主程序的起始地址 ;跳至主程序 ;TIMER0 中断起始地址 ;跳至 TIMER0 中断子程序 ;设 TIMER0 在方式 1 ;中断使能 ;第一次按 T0? ;消除抖动 ;T0 放开? ;按 T0 计数指针初始值为 00H ;取简谱码指针(第 1 首) START: MOV MOV JNB LCALL JNB MOV START0: NEXT: MOV MOV MOV MOVC MOV JNZ ANL MOV MOV SWAP ANL JNZ CLR LJMP ;至相关页取码 ;低 4 位为音符的节拍 ; 检查简谱码是否已结束 (有 00?) ;取节拍(低 4 位) ;存入 R5 节拍的时间 ;取音频值(高 4 位) ;是否为 0,是 0 则不发音 SING: DEC ;因 0 不列入 重庆科技学院本科生毕业设计 附录 1 程序代码 MOV RL MOV MOVC MOV MOV MOV RL INC MOVC MOV MOV SETB D1: LCALL INC LJMP END0: CLR MOV XRL JNZ JNB LCALL JNB INC MOV LJMP END1: MOV XRL 22H,A A DPTR,#TABLE A,@A+DPTR TH0,A 21H,A A,22H A A A,@A+DPTR TL0,A 20H,A TR0 DELAY 30H NEXT TR0 A,31H A,#00H END1 P3.5,$ DELAY1 P3.5,$ 31H 30H,# SONG1 NEXT ;存入(22H ) ;乘 2 ;至 TABLE 取码,取 T 的值 ;取到的高位字节才存入 TH0 ;取到的高位字节存入(21H) ;在载入取到的音符码 ;乘 2 ;加 1 ; TABLE 取相对的低位字节计数值 至 ;取到的低位字节存入 TL0 ;取到的低位字节存入(20H) ;启动 TIMER0 ;取简谱码指针加 1 ;停止计数器 ;载入计数器指针 ;是否按第 1 次 ;不是则跳至 END1 ;按第 2 次? ;消除抖动 ;放开否? ;计次地址(31H)加 1 ;第 2 首歌指针 A,31H A,#01H ;载入计数器指针 ;是否按第 2 次 24 重庆科技学院本科生毕业设计 附录 1 程序代码 JNZ JNB LCALL JNB INC MOV LJMP END2: MOV XRL JNZ JNB LCALL JNB INC MOV LJMP END3: MOV XRL JNZ JNB LCALL JNB INC MOV LJMP END4: MOV END2 P3.5,$ DELAY1 P3.5,$ 31H 30H,# SONG2 NEXT ;不是则跳至 END2 ;按第 3 次? ;消除抖动 ;放开否? ;计次地址(31H)加 1 ;第 3 首歌指针 A,31H A,#02H END3 P3.5,$ DELAY1 P3.5,$ 31H 30H,# SONG3 NEXT ;载入计数器指针 ;是否按第 3 次 ;不是则跳至 END3 ;按第 4 次? ;消除抖动 ;放开否? ;计次地址(31H)加 1 ;第 4 首歌指针 A,31H A,#03H END4 P3.5,$ DELAY1 P3.5,$ 31H 30H,# SONG4 NEXT ;载入计数器指针 ;是否按第 4 次 ;不是则跳至 END4 ;按第 5 次? ;消除抖动 ;放开否? ;计次地址(31H)加 1 ;第 5 首歌指针 A,31H ;载入计数器指针 25 重庆科技学院本科生毕业设计 附录 1 程序代码 XRL JNZ JNB LCALL JNB INC MOV LJMP END5:LJMP TIM0: PUSH PUSH SETB CLR MOV MOV CPL POP POP RETI DELAY:MOV D2: D3: MOV MOV DJNZ DJNZ DJNZ DJNZ RET DELAY1:MOV A,#04H END5 P3.5,$ DELAY1 P3.5,$ 31H 30H,# NEXT START ACC PSW RS0 RS1 TL0,20H TH0,21H P1.0 PSW ACC SONG5 ;是否按第 5 次 ;不是则跳至 END5 ;按第 6 次? ;消除抖动 ;放开否? ;计次地址(31H)加 1 ;第 6 首歌指针 ;回到第 1 次位置 ;将 A 的值暂存于堆栈 ;将 PSW 的值暂存于堆栈 ;设工作寄存器库 1,RS0=1,RS1=0 ;重设计数值 ;将 P1.0 位反相 ;至堆栈取回 PSW 的值 ;至堆栈取回 A 的值 ;返回主程序 R7,#02 R4,#125 R3,#248 R3,$ R4,D3 R7,D2 R5,DELAY ;延时 10 毫秒 ;决定节拍 R4,#20 26 重庆科技学院本科生毕业设计 附录 1 程序代码 D4: MOV DJNZ DJNZ RET ORG R3,#248 R3,$ R4,D4 0300H ;定时常数 T 值表 TABLE: DW DW DW DW 64260,64400,64524,64580 64684,64777,64820,64898 64968,65030,65058,65110 65157,65178,65217 ;音符节拍码数据表 SONG: ;生日快乐 ;1 DB DB DB DB ;2 DB DB DB DB DB SONG1: ;1 DB DB DB 44H,54H,64H,44H 44H,54H,64H,44H 64H,74H,88H 82H,01H,81H,0F4H,0D4H 0B4H,0A4H,94H 0E2H,01H,0E1H,0D4H,0B4H 0C4H,0B4H,04H 00H ;两只老虎 82H,01H,81H,94H,84H 0B4H,0A4H,04H 82H,01H,81H,94H,84H 0C4H,0B4H,04H
附录 1 程序代码 DB ;2 DB DB DB DB DB SONG2: ;1 DB DB DB DB ;2 DB DB DB DB SONG3: ;1 DB DB DB DB ;2 DB DB DB DB 64H,74H,88H 82H,92H,82H,72H,64H,44H 82H,92H,82H,72H,64H,44H 44H,84H,48H 44H,14H,48H 00H ;三只小猫 62H,82H,82H,62H,98H 92H,0B2H,0B2H,82H,98H 62H,82H,82H,52H,68H 92H,0B2H,0B2H,82H,98H 62H,82H,82H,62H,92H,92H,94H 92H,0B2H,0B2H,92H,84H,94H 0B8H,0B4H,04H 00H ;哈巴狗 42H,42H,42H,52H,64H,04H 62H,62H,62H,72H,84H,04H 92H,92H,82H,72H,64H,04H 82H,82H,52H,62H,44H,04H 42H,42H,42H,52H,64H,04H 62H,62H,62H,72H,84H,04H 92H,92H,82H,72H,64H,04H 82H,82H,52H,62H,44H,04H 28;不倒翁 84H,94H,88H 64H,54H,68H 84H,64H,54H,44H 62H,82H,42H,62H,58H 84H,94H,88H 64H,54H,68H 84H,64H,54H,44H 52H,42H,52H,62H,48H 00H ;妹妹背着洋娃娃 84H,02H,82H,64H,54H 64H,54H,48H 64H,02H,52H,44H,24H 14H,24H,18H 24H,02H,22H,42H,24H 44H,54H,68H 54H,02H,52H,84H,84H 54H,64H,48H 00H 29
2 原理图 +5V C4 0.1uF BL C5 10uF LM386 C7 R3 10K 47uF R4 470 C6 0.0047uF +5V 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL2 XTAL1 GND VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA ALE PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 +5v C1 10uF R1 8.2K R2 10K C2 AT89S51 +5v 30pF 12MHz C3 30pF 30
//单片机 C语言音乐播放程序
//12M
#include<reg51.h> sbit p34 = P2^1; //扬声器的输出端口
void Music(unsigned char number);
void delay10ms(unsigned char time);
void delay50us(unsigned char time);
unsigned char code SOUNDLONG[];
unsigned char code SOUNDTONE[]; void main()
{
while(1)
{
Music(1); //叮咚两声
delay10ms(250);
delay10ms(250);
Music(2); //致爱丽丝
delay10ms(250);
delay10ms(250);
}
} void Music(unsigned char number)
{
unsigned int k,n;
unsigned int SoundLong,SoundTone;
unsigned int i,j,m; for(k=0;k<number-1;k++)
{
while(SOUNDLONG[i] !=0){i++;}
i++;
if(i>=57) i=0;
}
for(k=0;k<number-1;k++)
{
while(SOUNDTONE[j] !=0){j++;}
j++;
if(j>=57) j=0;
} do
{
if(i>=57) i=0;
if(j>=57) j=0;
SoundLong=SOUNDLONG[i];
SoundTone=SOUNDTONE[j];
i++;
j++; for(n=0;n<SoundLong;n++)
{
for(k=0;k<12;k++)
{
p34=0;
for(m=0;m<SoundTone/2;m++)
;
p34=1;
for(m=0;m<SoundTone/2;m++)
;
}
}
delay50us(6);
}while((SOUNDLONG[i] !=0) || (SOUNDTONE[j] !=0));
} //延时程序
void delay10ms(unsigned char time) //延时程序1 {
unsigned char a,b,c;
for(a=0;a<time;a++)
for(b=0;b<100;b++)
for(c=0;c<12;c++)
;
}
void delay50us(unsigned char time) //延时程序2 {
unsigned char a,b;
for(a=0;a<time;a++)
for(b=0;b<6;b++)
;
} unsigned char code SOUNDLONG[]=
{ 9,3,12,12,12,24,
9,3,12,12,12,24,
9,3,12,12,12,12,12,
9,3,12,12,12,24,
0, //叮咚两声 end
6,6,9,3,6,6,12,
6,6,6,6,6,6,12,
6,6,9,3,6,6,9,3,
6,3,3,6,3,3,6,6,9,
0 //致爱丽丝 end
}; unsigned char code SOUNDTONE[]=
{
212,212,190,212,159,169,
212,212,190,212,142,159,
212,212,106,126,159,169,190,
119,119,126,159,142,159,
0, //叮咚两声 end
239,239,212,189,159,159,189,
159,159,142,126,120,120,159,
120,120,142,159,189,142,159,189,
239,212,189,159,142,159,189,212,239,
0 //致爱丽丝 end
};
LM386引脚图,特性及典型功放电路介绍
一、概述:
LM386是美国国家半导体公司生产的音频功率放大 器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场 合。?
LM386的封装形式有塑封8引线双列直插式和贴片式。
二、特性:
静态功耗低,约为4mA,可用于电池供电。?
工作电压范围宽,4-12V or 5-18V。?
外围元件少。?
电压增益可调,20-200。?
低失真度。
LM386电源电压4--12V,音频功率0.5w。LM386音响功放是由NSC制造的,它的电源电压范围非常宽,最高可使用到15V,消耗静态电流为4mA,当电源电压为12V时,在8欧姆的负载情况下,可提供几百mW的功率。它的典型输入阻抗为50K。
三.典型应用电路
AC8FM28是一颗高性能集成MCU的高品质的4通道音乐合成IC,共有28首和弦音乐,直接PWM驱动喇叭的
和弦音乐门铃芯片, 音乐音质效果好,音量大音色逼真,让您能充份感受到现场乐器的那种真实感,支持MCU单片机一线通讯来进行控制,为高端方案开发节约了主控芯片的IO资源。
AC8FM28门铃IC 同时支持出OTP硬封装SOP8封装形式,应用线路极其简单,2V低电压仍能正常发声,3V和4.5以下供电时仅需一颗104电容,无任何其他外部元器件,复位和内部供电稳定,同时提供了宽电压5V的支持,语音效果输出稳定。
按键都带有触发防抖功能(触发消抖时间为12ms),同时选曲键具有MCU单片机一线通讯功能,以适用单片机应用等场合。
单片机门铃芯片曲目列表:
1 叮咚两声/ 叮咚2声 DingDong DingDong
2 琶音音效 Arpeggio Sound
3 波尔卡 Polka
4 卡门 Toll bar , Kamen
5 老式电话铃声 Vintage Ring Tones
6 西敏寺钟声 Westminster Abbey
7 拉德斯基进行曲 Radetsky March
8 音效135I YinXiao 135I
9 音效I531 YinXiao I531
10 哆唻咪(音乐之声) Do Re Mi(The Sound of Music)
11 回家 Home
12 斯卡布罗集市 Scarborough Fair
13 西班牙女郎 Spanish ladies
14 祝酒歌 Toasting Song , A Toast-Song
15 绿袖子 Green Sleeves
16 土耳其进行曲 Turkey March
17 啊 朋友 Oh friend
18 金昏氏 Kim's clan
19 圣诞歌 Merry Christmas
20 小步舞曲 Minuet , Mozart's Minuet
21 漫步舞曲 Walking dance
22 孤独的牧羊人 The Lonely Goatherd
23 胡桃夹子 The Nutcracker
24 爱丽丝 For Elise
25 回忆 Memory
26 威尔逊进行曲 Wilson March
27 生日快乐 Happy Birthday To You
28 雨中浪漫 The rain is romantic
全部试听请点击下载:
和弦音乐门铃芯片IC AC8FM28下载 右键可另存为
单片机音乐门铃IC / 单片机门铃芯片 的优势:
触发方式:Selected Key :L/U/R,(门铃音乐选曲键,顺序选取;Voice-Select function)
Play Key : E/U/I, (门铃音乐播放键,Trigger OKY selected melody)
输出信号:Busy Low 3Hz
工作电压:VDD:DC2~5.5V,推荐使用是3.0V和4.5V
静态电流:Isb≤0.1uA@4.5V
工作电流: (无负载) Iop: 1.5mA @4.5V
IO输入电流:Iih:12uA@4.5V
IO输出电流:Iol:33mA@4.5V
内置震荡电电阻:INT_OSC:+/-1.5%误差
支持喇叭和蜂鸣片:喇叭是8欧0.5W 范围 :0.25W-1W的喇叭都行.
提供多种产品选择方案,出货形式选择多:
1),直插9Pin模块COB (九个脚的AC80M直插COB,需要定制)
2),直插10Pin模块COB (十个脚的AC90A直插COB,需要定制)
3),SOP8贴片八脚(主打),裸片封装可以选择。
掩膜成品芯片可以小批批,也可以直接掩膜出货,价格成本便宜,转换灵活,是首单试单时的最佳解决方案,
同时高bit比特率的声音输出,为音质效果和产品市场打下了良好的基础。
门铃音乐曲目:单片机门铃芯片 28首十八首
叮咚两声/ 叮咚2声
DingDong DingDong
琶音音效
Arpeggio Sound
波尔卡
Polka
卡门
Toll bar , Kamen
老式电话铃声
Vintage Ring Tones
西敏寺钟声
Westminster Abbey
拉德斯基进行曲
Radetsky March
音效135I
YinXiao 135I
音效I531
YinXiao I531
哆唻咪(音乐之声)
Do Re Mi(The Sound of Music)
回家
Home
斯卡布罗集市
Scarborough Fair
西班牙女郎
Spanish ladies
祝酒歌
Toasting Song , A Toast-Song
绿袖子
Green Sleeves
土耳其进行曲
Turkey March
啊 朋友
Oh friend
金昏氏
Kim's clan
圣诞歌
Merry Christmas
小步舞曲
Minuet , Mozart's Minuet
漫步舞曲
Walking dance
孤独的牧羊人
The Lonely Goatherd
胡桃夹子
The Nutcracker
爱丽丝
For Elise
回忆
Memory
威尔逊进行曲
Wilson March
生日快乐
Happy Birthday To You
雨中浪漫
The rain is romantic
和弦单片机门铃芯片 / 门铃音乐芯片28首常见应用场合:
可视门铃,楼宇对讲,无线门铃,高端门铃产品,门内外语音对讲,智能猫眼可视门铃,可视对讲门铃,可视对讲系统,楼宇可视对讲,别墅可视对讲系统,猫眼门铃。
无线可视门铃是一款电子设备,具备“集体化控制”独特优势的双向智能网络控制系统平台,完全依照人们的需求以及现代家居生活需要而研发。无线可视门铃简介无线可视门铃英文名称是 wireless Video door phone或wireless Video door bell。
4, 相关图样:
芯片大小规格:焊盘尺寸:80umx80um裸片尺寸:X=840um,Y=956um(晶元)
晶片底盘接地或悬空
Note 注意事项 :
*** The IC substrate must be connected to VSS or Floating. 芯片衬底为接地 VSS 。
*** At high voltage of 4.5V or higher voltage, VDD Must connected to VSS with a 0.1uF cap for
less power noise. At 3V, VDD may be connected to VSS with a 0.1uF cap.
VDD 与 VSS 之间在 4.5 伏或者大电流供电时需加一颗 104 去噪音 . 3V 供电时建议保留 0.1uf 电容。
贴片 8 脚芯片只有播放,选曲,和 3HZ busy 输出脚。
AC8FM28和弦音乐单片机音乐门铃IC芯片接线图PWM直推喇叭
选曲键内置了单线MCU控制,并且有按键防抖功能,没有独立占用芯片IO口(SOP8无音量键,大量时可以定制音量键)。
SIP 10Pin COB Package Information 门铃芯片10脚直插COB软封装资料
/// 最常见语音芯片COB软封装形式
AC8FM28 AC8FM36 – 单片机门铃芯片 IC
Sip 10Pin COB AC90A
单列直插 COB 脚位 资料
请参照实际样品情况.
直插1-10脚顺序为从左至右.
实物图片,仅供参考.
若有改动,恕不另行通知.
直插语音COB脚位资料AC80M
直插10脚COB脚位资料:
PIN
NAME
1
Busy High
2
3Hz
3
Play Key
4
Selected Key
5
Volume Control
6
NC
7
PWM1
8
PWM2
9
VDD
10
VSS
AC8FM28 SIP COB Information 直插COB软封装资料
/// 最常见语音芯片COB封装形式
AC8FM28 -SIP AC80E 单列直插 COB 脚位 资料
直插1-6脚顺序为从左至右.
直插语音COB脚位资料AC80E
请参照实际样品情况.
实物图片,仅供参考.
若有改动,恕不另行通知.
直插6脚COB脚位资料:
PIN
NAME
1
Selected Key
2
Play Key
3
PWM1
4
PWM2
5
VDD
6
VSS
AC8FM28 封装形式DIP8 / SOP8
AC8FM28- SOP8
单片机门铃芯片28首音乐IC
OTP 8脚硬封装芯片资料
最常用最常见的硬封装形式:
直插八脚DIP8封装和
贴片八脚SOP8封装
6脚选曲键具有MCU单片机一线通讯功能
MCU模式下第7脚可以改3Hz为常亮(BUSY)功能
PIN
NAME
1
PWM1
2
PWM2
3
VDD5
4
NC
5
Play Key
6
Selected Key
7
BL 3Hz
8
VSS
DIP8 双列直插封装尺寸大小 (PDIP SIZE):
SOP8 贴片芯片封装尽寸大小 (SOP SIZE):
一线通信协议部分:(每个按键都有MCU一线通讯功能)
数据命令功能定义说明 :
0X00 ~ 0xN : 音乐 1~(N+1) 十六进制
0XE8 : 有音乐 + 有闪灯
0XE9 : 有音乐 + 无闪灯
0XEA : 无音乐 + 有闪灯
0XEB : 有音乐 + 灯常亮
0XF0:音量 1 0XF1:音量 2 ... 0XF7:音量 8
0XF8 : 有音乐 + 有闪灯
0XF9 : 有音乐 + 无闪灯
0XFA : 无音乐 + 有闪灯
0XFB : 播放
0XFC : 下选
0XFD : 上选
0XFE : 音量
0XFF:STOP
音乐芯片系列裸片绑定图样例 (AC80F2 供参考)
对应脚位: 第一脚,触发脚(与电源正负VDD),触发后发声;第二三脚,直接接喇叭;第四脚,电源正极Vdd;第五脚,电源负极Vss.
若芯片需要104电容,可以正负极间接直插和贴片的...我司的产品绝大部分不需要加104电容(0.1uf),可以更大的为您的产品降低方案成本.
PCB大小规格(AC80F2):
直插小板间距符合常规DIP直插的标准宽度.金手指适当,铜皮不易脱落.
更多音乐芯片IC产品如:圣诞音乐ic系列,情歌音乐ic系列,儿歌音乐ic系列,单片机门铃芯片系列,水晶圣诞音乐等等
请访问: /musicic.asp
相关产品:
AC80M12-电话铃音12首 AC8DC03-圣诞三首3首 AC8DB10-和弦音乐闹钟10首 AC80E12-儿歌12十二首
AC8FM28-门铃二十八首 AC8DC18-圣诞28首十八首 AC8DC20-圣诞20首(水晶音乐系列二十首)
AC8DML1-叮咚一声 AC80M02-语音叮咚二声 MusicIC音乐芯片 AC8DM03-最常见的三声门铃三首
BabaCarrierIC童车芯片 AC8DME2-音乐叮咚二声 AC3Y710-警报声音效片 ChristmasIc圣诞芯片
AC8FM16-4和弦16首 AC8FM58-和弦58首门铃 DoorbellIC门铃芯片 AC8DD12-叮咚门铃芯片
AC3JD03门磁警报叮咚 AC8JM20-门磁门铃20手 AC8DM18-双音门铃18首 AC3CM13-三声叮咚芯片
AC3M01单音警报 AC3L710-门磁警报音效片 AC9561-四声警报芯片 AC8DM63-门铃芯片 63首
AC3W830防狼器报警芯片 门磁警报芯片选型 录放芯片-ISDic AC3CM12-语音叮咚芯片
以上产品均可配常规COB 出货,挤压盒PCB板,直插单面PCB等,如:
AC80E5常规6脚语音芯片COB AC80F直插常规5脚语音芯片COB AC80J挤压盒COB 板 .
ICdip8封装和线路板 ICsop8封装和线路板 AC90A门铃10脚COB板 .
环芯公司销售团队竭诚为您服务,同时我们将以最好的产品质量和价格为您和您的企业带来更好的产品和效益。
欢迎来电咨询!
本着平等互惠原则,期待与您携手合作,共创辉煌。
单片机门铃芯片28首芯片资料 和弦音乐单片机音乐门铃IC 28首 / AC8FM28