毕业论文---基于单片机的多用户门铃.doc

上传人:椰子壳 文档编号:3943486 上传时间:2019-10-10 格式:DOC 页数:27 大小:2.48MB
返回 下载 相关 举报
毕业论文---基于单片机的多用户门铃.doc_第1页
第1页 / 共27页
毕业论文---基于单片机的多用户门铃.doc_第2页
第2页 / 共27页
毕业论文---基于单片机的多用户门铃.doc_第3页
第3页 / 共27页
毕业论文---基于单片机的多用户门铃.doc_第4页
第4页 / 共27页
毕业论文---基于单片机的多用户门铃.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业论文---基于单片机的多用户门铃.doc》由会员分享,可在线阅读,更多相关《毕业论文---基于单片机的多用户门铃.doc(27页珍藏版)》请在三一文库上搜索。

1、目目 录录 摘要1 前言3 1 多用户门铃的概述3 2 单片机 AT89C51 简介3 2.1 单片机的发展史 .3 2.2 AT89C51 的介绍4 3 设计方案的选择4 3.1 方案一 .4 3.2 方案二 .4 4 系统硬件设计5 4.1 AT89C51 芯片5 4.1.1 AT89C51 芯片引脚排列5 4.1.2 AT89C51 芯片引脚功能介绍6 4.1.3 AT89C51 的主要性能参数7 4.2 晶振电路 .7 4.3 复位电路 .8 4.4 负载电路 .9 4.5 元件分类和清单 10 5 系统软件设计.10 5.1 多用户门铃设计的流程图 10 5.2 门铃程序的编写 11

2、 6 仿真与调试.11 6.1 KEILC51 编译软件 .11 6.2 PROTEUS 仿真软件.14 6.2.1 在 proteus 中仿真 15 7 电路板制作与调试.16 7.1 PROTEL DXP 介绍16 7.2 在 PROTEL DXP 中绘制电路图 .18 7.3 电路板的焊接与门铃的测试 19 8 结论.21 谢 辞.22 参考文献.23 附 录.23 1 基于单片机的多用户门铃基于单片机的多用户门铃 摘要摘要:小区的安全受到越来越多人的重视,多用户门铃得到广泛应 用。本文针对小区公寓楼的门铃进行设计,来访者只需要在楼下按 下住户的门铃,相应住户家里的门铃就会响起,住户听到

3、门铃的响 起,可以按下室内开关控制楼下大门的开启。本文采用单片机 AT89C51 作为中央处理芯片,介绍了多用户门铃的设计及其软硬件 调试结果。该多用户门铃方便了人们的生活,大大提高了小区的安 全性,满足人们的生活需求。 关关键键词词 :多用户门铃;单片机;AT89C51;软件调试 Based on SCM multi-user the doorbell LI Ye-yi Abstract: The safety of Community drawing more and more attention, multi-user doorbell being widely applied. Aim

4、ing at the village apartment block to design, the doorbell of visitors only need to press resident doorbell downstairs and corresponding households will ring the doorbell of home. Hearing the bell rang, the residents can press indoor switch control doors downstairs open. This paper mainly introduces

5、 the design idea of how the user the doorbell production methods and the whole manufacture process, multi-user doorbell adopts single-chip microcomputer AT89C51 as central processing chip, this multi-user doorbell convenients to peoples life, greatly improves the village of 2 security, satisfy peopl

6、es living needs. Key words: Multi-user doorbell;single-chip microcomputer;AT89C51; QQ:107778000 3 前言 随着人们生活水平的提高,小区的安全受到越来越多人的重视,得到一种 简便实用的门铃控制,不但可以保障小区的安全,而且能够提高人们的效率。 本设计主要介绍了基于单片机的多用户门铃(四用户门铃)电路的设计,从画 电路图开始到仿真再到制板做出实物,本设计详细的介绍了整个设计的思路和 制作流程,并且对使用到的软件(KEIL、PROTEUS、PROTEL)的使用方法和操作 流程都有详细的说明。该多用户门铃以

7、单片机 AT89C51 作为中央处理芯片,详 细介绍了 AT89C51 的管脚结构和每个管脚的作用及各自的连接方法,使得该系 统的功能扩展比较方便。AT89C51 是美国 ATMEL 公司生产的低电压、高性能 CMOS 8 位单片机,片内含 2k bytes 的可反复擦写的只读程序存储器(PEROM) 和 128bytes 的随机数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失 性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,并且在掉电状态保存存储数据的特点,正是因为 AT89C51 具 有以上的特点,所以很适合作为本次

8、设计的中央处理芯片1。 1 多用户门铃的概述 由最初的手动敲门,到铃铛门铃,在到本设计制作的基于单片机的多用户 门铃,这是门铃的一个发展历程。从最简单的门铃,到基于单片机的多功能门 铃这是门铃的进步。随着科技的发展,人们生活水平的提高,生活节奏的加快。 为了适应人们对门铃更高的要求,会不断有功能更加强大的门铃被研制出来。 本设计制作的基于单片机的多用户门铃是以芯片 AT89C51 为中央处理器芯片。 主要完成对不同楼层用户之间的门铃应答。来访者只需要在楼下大门上的门铃 按下相应住户的门铃,相应住户家里的门铃就会响起。住户听到门铃的响起, 知道有来访者。可以按下室内开关,室内开关可以控制楼下大门

9、的开启。该多 用户门铃方便了人们的生活,提高了小区的安全性。 2 单片机 AT89C51 简介 2.1 单片机的发展史 第 1 阶段(1971 年1978 年),以 MCS-48 系列为代表,称 4 位单片机。在 片内:CPU 有 4 位或 8 位;ROM 有 1KB 或 2KB;RAM 有 64B 或 128B;只有并行接 口,无串行接口;只有 1 个 8 位的定时/计时器;中断源只有 2 个。在片外:寻 址范围只有 4KB;芯片引脚有 40 个。 第 2 阶段(1978 年1983 年),以 MCS-51 系列为代表,称 8 位单片机。在 片内:CPU 有 8 位;ROM 有 4KB 或

10、8KB;RAM 有 128B 或 256B;有串/并行接口; 有 2 个或 3 个 16 位的定时/计时器;中断源有 5 至 7 个。在片外:寻址范围有 64KB;芯片引脚有 40 个。 第 3 阶段(1983 年以后),以 MCS-96 系列为代表,称 16 位单片机。在片内: CPU 有 16 位;ROM 有 8KB;RAM 有 232B;有串/并行接口;有 4 个 16 位的定时/ 计时器;中断源有 8 个;增加了 D/A 和 A/D 转换电路。在片外:寻址范围有 64KB;芯片引脚有 48 个或 68 个2。 以上 MCS-51 系列以其优良的性价比,在我国得到了广泛的应用。 2.2

11、AT89C51 的介绍 AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS 8 位单片机,片内含 4 2k bytes 的可反复擦写的只读程序存储器(PEROM)和 128 bytes 的随机存取数 据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容 标准 MCS-5l 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大。 AT89C51 单片机可提供许多高性价比的应用场合。 AT89C51具有2k 字节 Flash 闪速存储器,128 字节内部 RAM,15 个 I/O 端口 线,两个 16 位定时/计数器,个 5 向

12、量两级中断结构,一个全双工串行通信口, 内置个精密比较器,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静 态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作, 但允许定时/计数器,RAM,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位3。 3 设计方案的选择 3.1 方案一 根据设计要实现的功能,用一个简单的单片机驱动一个负载,根据选择负 载的不同,可以实现不同的门铃响起不同的音乐,从而达到多用户控制的功能, 具体控制方案如图 3-1。由于芯片和负载的选择过于繁多,考虑到电路的简单

13、 性,经济性与实用性,该方案还需进一步改进。 图 3-1 方案一 3.2 方案二 考虑小区门铃要求的简单、经济、耐用等特点,选择 AT89C51 的 P2 口作为 驱动端口,从而减少的芯片的数目,简化电路。该方案可以驱动八个负载,本 文选择四个,其余端口可作为扩展时使用。具体控制方案如图 3-2。 5 图 3-2 方案二 本设计选用第二种方案,即可实现多用户门铃的控制,技术含量、成本、 设计周期也低,并且根据程序的不同可以得到不同的铃声,适合本阶段自身的 设计水平。 4 系统硬件设计 门铃设计硬件电路包括单片机、晶振电路、复位电路和负载电路等。现将 各硬件及电路介绍如下。 4.1 AT89C5

14、1 芯片 4.1.1 AT89C51 芯片引脚排列 AT89C51 是标准的 40 引脚双列直插式集成电路芯片,引脚分布可参照单片 机引脚。P0.0P0.7 P0 口 8 位双向线(在引脚的 3239 号端子) ; P1.0P1.7 P1 口 8 位双向线(在引脚的 18 号端子) ;P2.0P2.7 P2 口 8 位双向线(在引脚的 2128 号端子) ;P3.0P3.7 P3 口 8 位双向线(在引脚 的 1017 号端子) 。40 号管脚 VCC:电源+5V 输入。20 号管脚 GND:接地3。 芯片 AT89C51 封装引脚排列如图 4-1。 6 图 4-1 AT89C51 封装引脚排

15、列图 4.1.2 AT89C51 芯片引脚功能介绍 Vcc:电源电压; GND:地; P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在 FIASH 编时, P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外 部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作 输入,P1 口

16、被外部下拉为低电平时,将输出电流,这是由于内部上拉 的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输 出 4 个 TTL 门电流,当 P2 口被写 1 时,其管脚被内部上拉电阻拉高, 且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电 流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给 出地址 1 时,它利用内部上拉优势,当对外部八位地址数据存储器进 行读写时,P2 口输出其特殊功能寄存器的内容。

17、P2 口在 FLASH 编程 和校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入 1 后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由 于上拉的缘故。引脚具体说明如表 4-1 所示。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电 平时间。 7 ALE/Error!Error!:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时

18、, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意: 每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的 输出可在 SFR8EH 地址上置 0。此时,ALE 只有在执行 MOVX,MOVC 指令 是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执 行状态 ALE 禁止,置位无效。 Error!Error!:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的 Error!Error!信号将不出现。 Er

19、ror!Error!Error!Error!/VPP:当Error!Error!Error!Error!保持低电平时,则在此期间外部程序存 储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,Error!Error!Error!Error!将内部锁定为 RESET;当Error!Error!Error!Error!端保持高电平 时,此间内部程序存储器。在 FLASH 编程期间,此引脚可用于施加 12V 编程电源(VPP) 。 XTAL1:片内晶振电路反向放大器输出端接 CPU 内部时钟电路。 XTAL2:片内晶振电路反向放大器输出端4。 表 4-1 AT89C51

20、引脚说明 引脚功能特性 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断 0) P3.3 INT1(外中断 1) P3.4 T0(定时/计数器 0 外部输入) P3.5 T1(定时/计数器 1 外部输入) 4.1.3 AT89C51 的主要性能参数 (1)与 MCS-51 产品指令系统完全兼容 (2)2k 字节可重擦写闪速存储器 (3)1000 次擦写周期 (4)2.7V-6V 的工作电压范围 (5)全静态操作:0Hz-24MHz (6)两级加密程序存储器 4.2 晶振电路 晶体振荡器,简称晶振。在电气上它可以等效成一个电容和一个电阻并联 再串联一个电

21、容的二端网络,电工学上这个网络有两个谐振点,以频率的高低 分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性 致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一 个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这 8 个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振 等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器 的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选 择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率5。 AT89S51 引脚 XTAL1 和 XTAL2 与晶

22、体振荡器及电容 C2、C1 按图 4-2 所示方 式连接。晶振、电容 C1C2 及片内与非门(作为反馈、放大元件)构成了电容 三点式振荡器,振荡信号频率与晶振频率及电容 C1、C2 的容量有关,但主要由 晶振频率决定,范围在 033MHz 之间,电容 C1、C2 取值范围在 530pF 之间。 根据实际情况,对外接电容 C1,C2 虽然没有十分严格的要求,但电容容量的 大小会轻微影响振荡频率的高低,振荡器工作的稳定性,起振的难易程度及温 度稳定性。如果使用石英晶体,推荐电容使用 30PF10PF,而如使用陶瓷振荡 器建议选择 40PF10PF。本设计中采用 12MHZ 的晶振作为系统的外部晶振

23、,电 容取值为 30pF。 晶振电路原理图如图 4-2 所示。 图 4-2 晶振电路原理图 4.3 复位电路 当输入的信号连续 2 个机器周期以上高电平时即为有效,用以完成单片机 的复位初始化操作,当复位后程序计数器 PC=0000H,即复位后将从程序存储器 的 0000H 单元读取第一条指令码。 为了确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分, 复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为 5V5%,即 4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟 信号,因此在电源上电时,只有当 VCC 超过 4.75V 低于 5.25V 以及晶体振荡

24、器 稳定工作时,复位信号才被撤除,微机电路开始正常工作6。 电阻给电容充电,电容的电压缓慢上升直到 vcc,没到 vcc 时芯片复位脚 近似低电平,于是芯片复位,接近 vcc 时芯片复位脚近高电平,于是芯片停止 复位,复位完成。 选择+5V 的电源和 10uF 的极性电容外加一个 10K 的电阻就组成了复位电 9 路,复位电路原理图如图 4-3 所示。 图 4-3 复位电路原理图 4.4负载电路 负载电路主要是由一个PNP型三极管和一个220欧电阻外加一个蜂鸣器组成 的。当芯片有电平的变化就会使蜂鸣器导通,使其工作发出蜂鸣声,从而实现 门铃的作用。 考虑功耗低,经济性能高,本文所选的蜂鸣器为无

25、源蜂鸣器,其额定电压 为1.5V,工作电压范围为1.0-1.7V,最大电流0.2A,电阻6-10欧。经实测元件 知其电阻为10欧姆。 根据图4-4所构成的电路图计算如下: 假设蜂鸣器在额定电压下工作,则 集电极电流 A R V IC15 . 0 10 5 . 1 根据集电极电流满足所选三极管的要求,最终选择PNP型S8550三极管。其 耗散功率0.625W,S8550放大倍数40-140,集电极电流0.5A,集电极-基极电压 40V ,集电极-发射极击穿电压25V,集电极-发射极饱和电压 0.6V。 本设计购买的三极管放大倍数为100。根据放大倍数 基极电流 A I I C B 0015 .

26、0 100 15 . 0 基极电阻 200 0015 . 0 3 . 0 B CEQCC B I VV R 为了保证电路工作的可靠性,将电阻选大一些,且根据常用的电阻型号选 择220欧姆的电阻。 室内门铃电路原理图如图4-4所示。 10 图 4-4 室内门铃电路原理图 4.5 元件分类和清单 基于单片机的多用户门铃的设计,所需要的元件的所属分类和清单列表如 表 4-2 所示。 表 4-2 所需元件分类 元件名称所属类所属子类元件个数 AT89C51Microproce Bsor ICs8051 Family1 CAPCapacitorsGeneric2 CAP-ELECCapacitorsGe

27、neric1 CRYSTALMiscellaneous-1 RESResistorsGeneric6 PNPTransistorsBipolar4 SPEAKERERSpeakers /定义门铃 sbit beep2=P11; sbit beep3=P12; sbit beep4=P13; sbit K1=P17; /定义门铃开关 sbit K2=P16; sbit K3=P15; sbit K4=P14; sbit D1=P34; /定义 LED 灯开关 sbit D2=P35; sbit D3=P36; sbit D4=P37; sbit Led=P30; void delay(uint

28、z); /函数声明 void sound1(); void sound2(); void sound3(); void sound4(); void Open(); /变量声明 uchar a,b,c; /主函数 void main() P1=0xff; /初始化 P3=0xff; while(1) if(K1=0) /按键 1 是否按下 sound1(); if(K2=0) /按键 2 是否按下 sound2(); if(K3=0) /按键 3 是否按下 sound3(); if(K4=0) /按键 4 是否按下 sound4(); if(D1=0) Open(); if(D2=0) Ope

29、n(); if(D3=0) Open(); if(D4=0) Open(); 25 void delay(uint z) /延时子函数 uint x; uchar y; for(x=z;x0;x-) for(y=110;y0;y-); void sound1() /蜂鸣器发声子函数 for(a=200;a0;a-) /a 循环用变量,影响声音 beep1=0; for(c=500;c0;c-); beep1=1; for(c=500;c0;c-); for(b=200;b0;b-) beep1=0; delay(3); /延时 beep1=1; delay(3); void sound2()

30、for(a=200;a0;a-) beep2=0; for(c=500;c0;c-); beep2=1; for(c=500;c0;c-); for(b=200;b0;b-) beep2=0; delay(3); beep2=1; delay(3); 26 void sound3() for(a=200;a0;a-) beep3=0; for(c=500;c0;c-); beep3=1; for(c=500;c0;c-); for(b=200;b0;b-) beep3=0; delay(3); beep3=1; delay(3); void sound4() for(a=200;a0;a-) beep4=0; for(c=500;c0;c-); beep4=1; for(c=500;c0;c-); for(b=200;b0;b-) beep4=0; delay(3); beep4=1; delay(3); void Open() Led=0; delay(5000); /延时 5 秒 Led=1;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1