基于AVR单片机的智能门铃论文.doc_第1页
基于AVR单片机的智能门铃论文.doc_第2页
基于AVR单片机的智能门铃论文.doc_第3页
基于AVR单片机的智能门铃论文.doc_第4页
基于AVR单片机的智能门铃论文.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要伴随着科学技术的飞速发展,信息化、智能化的浪潮正在席卷世界的每一个角落,智能门铃系统进入住宅,它正全方位地改变人类的社会生活,给人们带来便利。由于人们生活水平的不断提高,越来越重视住宅的质量、安全性以及信息的获取和管理,这又大大促进了智能门铃系统的发展。各种方便于生活的智能门铃系统开始进入人们的生活,以单片机为核心的智能门铃系统就是其中之一。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果;它更让我们懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。 单片微型计算机简称单片机。它是把组成微型计算机的各功能部件:中央处理器、CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通信接口等制作在一块集成芯片中,构成一个完整的微型计算机。单片机主要应用于控制领域,由于其具有可靠性高、体积小、价格低、易于产品化等特点,因而在智能仪器仪表、实时工业控制、智能终端、通信设备、导航系统、家用电器等自控领域获得广泛应用。智能门铃系统是应用了单片机编程技术、串行通信而设计的一种电控信息管理的智能系统。本论文介绍了一种用单片机Atmega16来控制的智能门铃系统的工作原理,并给出了其完整的硬件电路和软件的设计方案与实现方法。 通过对“智能门铃系统”课题的学习和设计,使我了解89C51单片机的特性;进一步的掌握了单片机进行多机通信的原理,对以后的学习和工作做了一个很好的铺垫。 关键词:Atmege16,单片机,智能门铃 AbstractWith the rapid development of science and technology, information and intelligence of wave is engulfing the world each corner, intelligent doorbell systems into a house, it is all-around change human social life and bring convenience to people. As people living standard rise ceaselessly, pay more attention to the quality, safety and residence of the acquisition and management information, it greatly promote the development of intelligent doorbell system. All sorts of convenience in life of intelligent doorbell system began to enter into peoples life, based on singlechip intelligent doorbell systems is one of them. It practical strong, the function is all ready, advanced technology, make people believe that this is the results of scientific and technological progress; It more let us know, digital age development will change human life, it will speed up the development of science and technology.The single chip computer abbreviation microcontroller. It is composed of the microcomputer, each function components: the central processor, the CPU, random access memory (RAM and ROM ROM, I/O interface circuit, timer/counter and serial communication interface, production in a piece of integrated chip, constitute a complete microcomputer.Intelligent doorbell system is applied the microcontroller programming technology, serial communication and design a electronic information intelligent management system. This paper introduces a kind of MCU Atmega16 to control the working principle of intelligent doorbell system, and given its complete hardware circuit and software design and realization. Through the intelligent doorbell system topic study and design, make me understand the characteristics of 89C51; Further grasp on the single-chip computer communication principle, more on the later study and work to make a very good matting.Keywords: Atmege16, microcontroller, intelligent the doorbell摘 要0第一章、绪论31.1 智能门铃设计的意义31.2 智能门铃设计的原则31.3 研究内容及步骤41.4设计要求4第二章、单片机简介52.1 单片机定义52.2 单片机应用领域62.3 AVR单片机介绍7第三章、电子门铃的硬件设计163.1 电路原理图163.2 音频放大电路的设计163.3 LM386芯片的介绍173.4 键盘电路的设计203.5 系统板上硬件连线20第四章、电子门铃的软件设计204.1 设计程序框图204.2 方波输出软件分析224.3 按键电路设计:22第五章、检测与调试245.1 硬件调试245.2 软件调试24总 结25致 谢26参考文献27附录一、电子门铃设计原理图28附录二、程序代码29第一章、绪论1.1 智能门铃设计的意义单片微机的出现是计算机技术发展史上的一个重要的里程碑,它让计算机从海量的数值计算进入到智能化控制领域。作为21世纪的工科大学生,不仅要熟练地使用通用微机进行各种数据处理,还要把计算机技术运用到专业领域或相关领域,即具有“开发”能力。随着技术的发展,单片机作为小型智能化控制设备得到了越来越多的用途,特别是以单片机为核心的控制设备得到了实用性的发展,越来越用于社会和大众生活。 本设计就是在Atmege16单片机的基础上将传统门铃智能化,以方便社会和大众生活,作为智能化的门铃,实用性高,适用于批量化和小型化生产。1.2 智能门铃设计的原则 可靠性:系统应保证长期安全地运行。系统中的硬软件及信息资源应满足可靠性设计要求。安全性:系统应具有必要的安全保护和保密措施。抗干扰性:系统应具有较强的抗干扰性,对各类用户的误操作应有提示或自动消除的能力。 适应性:系统应对不断发展和完善的统计核算方法、调查方法和指标体系具有广泛的适应性。可扩充性:系统的硬软件应具有扩充升级的余地,不可因硬软件扩充、升级或改型而使原有系统失去作用。实用性:注重采用成熟而实用的技术,使系统建设的投入产出比最高,能产生良好的社会效益和经济效益。先进性:在实用的前提下,应尽可能跟踪国内外最先进的计算机硬软件技术、信息技术及网络通信技术,使系统具有较高的性能指标。易操作性:贯彻面向最终用户的原则,使用户操作简单直观,易于掌握。 1.3 研究内容及步骤目前,单片机越来越广泛的运用到社会的各个领域,其中运用比较多的主要在大众生活方面、以单片机为控制中心的智能小系统。在本设计中,采用了单片机控制多模块设计,便于检查和维修。一个完整的电子门铃相当于一个简单的单片机系统,该系统有电子门铃设计电路、单片机、显示电路等构成。单片机是集成的IC芯片,只需根据实际设计要求选型。其他部分都需要根据应用要求和性能指标自行设计。 1.4设计要求当按钮S1按下时,扬声器用700Hz信号响500ms,500Hz信号响500ms交替发出门铃声。当应答按钮S2按下,或扬声器发声6秒后,停止发声。定时器T0和T1都工作在方式1,从而实现电子门铃的设计第二章、单片机简介2.1 单片机定义单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器,是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。2.2 单片机应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)在智能仪器仪表上的应用:单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。(2)在工业控制中的应用:用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。(3)在家用电器中的应用:可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。(4)在计算机网络和通信领域中的应用: 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。(5)单片机在医用设备领域中的应用:单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。(6)在各种大型电器中的模块化应用:某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。现今的单片机技术已经相当成熟,因此成本也相对于别的新产品低,同时稳定性也会更加的好。基于这些考虑,本设计使用具有精简指令集的AVR单片机进行控制。2.3 AVR单片机介绍 AVR单片机是增强型内置FLASH的RISC(ReducedInstruction Set CPU)精简指令集高速8位单片机,硬件采用哈佛(Harward)结构,达到一个时钟周期可以执行一条指令,绝大部分指令都为单周期指令。支持在系统编程ISP,其中MEGA系列还支持在应用编程IAP。内置的FLASH程序存储器可擦写1 000次以上,给用户的开发生产和维护带来方便。可擦写10万次的E2PROM,为掉电后数据的保存带来方便。AVR单片机有丰富的片内资源,如RTC,WATCHDOG,AD转换器,PWM,USART,SPI,TWI接口等,IO口功能强、驱动能力强。Atmege16就是基于AVR指令集的高速低功耗处理器:2.3.1Atmega16特点: 高性能、低功耗的 8 位AVR 微处理器 先进的RISC 结构 131 条指令 大多数指令执行时间为单个时钟周期 32个8 位通用工作寄存器 全静态工作 工作于16 MHz 时性能高达16 MIPS 只需两个时钟周期的硬件乘法器 非易失性程序和数据存储器 16K 字节的系统内可编程Flash 具有独立锁定位的可选Boot 代码区 通过片上Boot 程序实现系统内编程 真正的同时读写操作 512 字节的EEPROM 1K字节的片内SRAM 可以对锁定位进行编程以实现用户程序的加密 JTAG 接口( 与IEEE 1149.1 标准兼容) 通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程 外设特点 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器 具有独立振荡器的实时计数器RTC 四通道PWM 8路10 位ADC 8 个单端通道 两个可编程的串行USART 可工作于主机/ 从机模式的SPI 串行接口 具有独立片内振荡器的可编程看门狗定时器 片内模拟比较器 特殊的处理器特点 上电复位以及可编程的掉电检测 片内经过标定的RC 振荡器 片内/ 片外中断源 6种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式2.3.2 单片机引脚VCC 数字电路的电源GND 地端口A(PA7.PA0) 端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7.PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也可以用做其他不同的特殊功能见表1.1所示:端口C(PC7.PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口D(PD7.PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D 的模拟基准输入引脚。Atmeg16的引脚图如图1-1所示:图2-1 atmeg16引脚图表1.1 PB口特殊功能表2.3.3 AVR内核为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的FLASH。快速访问寄存器文件包括32 个8 位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的ALU 操作。在典型的ALU 操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。寄存器文件里有6 个寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16 位的X、Y、Z 寄存器。ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有/ 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长度为16 位,亦即每个程序存储器地址都包含一条16 位或32 位的指令。程序存储器空间分为两个区:引导程序区(Boot 区) 和应用程序区。这两个区都有专门的锁定位以实现读和读/ 写保护。用于写应用程序区的SPM 指令必须位于引导程序区。在中断和调用子程序时返回地址的程序计数器(PC) 保存于堆栈之中。堆栈位于通用数SRAM,因此其深度仅受限于SRAM 的大小。在复位例程里用户首先要初始化堆栈指针AVR的内核结构如图2-2所示:图2-2 AVR单片机的内核机构图2.3.4 AVR单片机的复位特性复位时所有的I/O 寄存器都被设置为初始值,程序从复位向量处开始执行。复位向量处的指令必须是绝对跳转JMP 指令,以使程序跳转到复位处理例程。如果程序永远不利用中断功能,中断向量可以由一般的程序代码所覆盖。这个处理方法同样适用于当复位向量位于应用程序区,中断向量位于Boot 区 或者反过来 的时候。所有的复位信号消失之后,芯片内部的一个延迟计数器被激活,将内部复位的时间延长。这种处理方式使得在MCU 正常工作之前有一定的时间让电源达到稳定的电平。延迟计数器的溢出时间通过熔丝位SUT 与CKSEL 设定ATmega16 有5 个复位源: 上电复位。电源电压低于上电复位门限 VPOT 时, MCU 复位。 外部复位。引脚 RESET 上的低电平持续时间大于最小脉冲宽度时MCU 复位。 看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。 掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限 VBOT 时MCU 即复位。 JTAG AVR复位。复位寄存器为1时MCU复位。详见 P215“IEEE 1149.1 (JTAG) 边界扫描” 。1)上电复位无论何时VCC 低于检测电平POR 即发生。POR 电路可以用来触发启动复位,或者用来检测电源故障。POR电路保证器件在上电时复位。VCC 达到上电门限电压后触发延迟计数器。在计数器溢出之前器件一直保持为复位状态。当VCC 下降时,只要低于检测门限,RESET 信号立即生效。2)外部复位外部复位由外加于RESET 引脚的低电平产生。当复位低电平持续时间大于最小脉冲宽度时( 参见Table 15) 即触发复位过程,即使此时并没有时钟信号在运行。当外加信号达到复位门限电压VRST( 上升沿) 时, tTOUT 延时周期开始。延时结束后MCU 即启动3)掉地检测复位ATmega16 具有片内BOD(Brown-out Detection) 电路,通过与固定的触发电平的对比来检测工作过程中VCC 的变化。此触发电平通过熔丝位BODLEVEL 来设定, 2.7V(BODLEVEL 未编程),4.0V (BODLEVEL 已编程)。BOD 的触发电平具有迟滞功能以消除电源尖峰的影响。这个迟滞功能可以解释为VBOT+ = VBOT + VHYST/2 以及VBOT- = VBOT- VHYST/2。BOD 电路的开关由熔丝位BODEN控制。当BOD使能后(BODEN被编程),一旦VCC下降到触发电平以下(VBOT-, Figure 19), BOD 复位立即被激发。当VCC 上升到触发电平以上时(VBOT+,Figure 19),延时计数器开始计数,一旦超过溢出时间tTOUT,MCU即恢复工作。如果VCC 一直低于触发电平并保持如Table 15 所示的时间tBOD, BOD路将只检测电压跌落。4)看门狗复位看门狗定时器溢出时将产生持续时间为1 个CK 周期的复位脉冲。在脉冲的下降沿,延时定时器开始对tTOUT 记数使CPU复位。2.3.5 AVR单片机的工作模式眠模式可以使应用程序关闭MCU 中没有使用的模块,从而降低功耗。AVR 具有不同的睡眠模式,允许用户根据自己的应用要求实施剪裁。进入睡眠模式的条件是置位寄存器MCUCR 的SE,然后执行SLEEP 指令。具体哪一种模式( 空闲模式、ADC 噪声抑制模式、掉电模式、省电模式、Standby 模式和扩展Standby模式) 由MCUCR 的SM2、SM1 和SM0 决定,如Table 13 所示。使能的中断可以将进入睡眠模式的MCU 唤醒。经过启动时间,外加4 个时钟周期后, MCU 就可以运行中断例程了。然后返回到SLEEP 的下一条指令。唤醒时不会改变寄存器文件和SRAM 的内容。如果在睡眠过程中发生了复位,则MCU 唤醒后从中断向量开始执行。1)空闲模式当SM2.0 为000 时, SLEEP 指令将使MCU 进入空闲模式。在此模式下,CPU 停止运行,而LCD 控制器、SPI、USART、模拟比较器、ADC、USI、定时器/ 计数器、看门狗和中断系统继续工作。这个休眠模式只停止了clkCPU和clkFLASH,其他时钟则继续工作。象定时器溢出与USART 传输完成等内外部中断都可以唤醒MCU。如果不需要从模拟比较器中断唤醒MCU,为了减少功耗,可以切断比较器的电源。方法是置位模拟比较器控制和状态寄存器ACSR 的ACD。如果ADC 使能,进入此模式后将自动启动一次转换。2)ADC噪声抑制模式当SM2.0 为001 时, SLEEP 指令将使MCU 进入噪声抑制模式。在此模式下,CPU 停止运行,而ADC、外部中断、两线接口地址配置、定时器/ 计数器0 和看门狗继续工作。这个睡眠模式只停止了clkI/O、clkCPU 和clkFLASH,其他时钟则继续工作。此模式提高了ADC 的噪声环境,使得转换精度更高。ADC 使能的时候,进入此模式将自动启动一次AD 转换。ADC 转换结束中断、外部复位、看门狗复位、BOD 复位、两线接口地址匹配中断、定时器/ 计数器2 中断、SPM/EEPROM 准备好中断、外部中断INT0或INT1,或外部中断INT2 可以将MCU 从ADC 噪声抑制模式唤醒3)掉地模式当SM2.0 为010 时, SLEEP 指令将使MCU 进入掉电模式。在此模式下,外部晶体停振,而外部中断、两线接口地址匹配及看门狗(如果使能的话)继续工作。只有外部复位、看门狗复位、BOD 复位、两线接口地址匹配中断、外部电平中断INT0 或INT1,或外部中断INT2 可以使MCU 脱离掉电模式。这个睡眠模式停止了所有的时钟,只有异步模块可以继续工作。当使用外部电平中断方式将MCU 从掉电模式唤醒时,必须保持外部电平一定的时间。从施加掉电唤醒条件到真正唤醒有一个延迟时间,此时间用于时钟重新启动并稳定下来。唤醒周期与由熔丝位CKSEL 定义的复位周期是一样的4)省电模式当SM2.0 为011 时, SLEEP 指令将使MCU 进入省电模式。这一模式与掉电模式只有一点不同:如果定时器/ 计数器2 为异步驱动,即寄存器ASSR 的AS2 置位,则定时器/ 计数器2 在睡眠时继续运行。除了掉电模式的唤醒方式,定时器/ 计数器2 的溢出中断和比较匹配中断也可以将MCU 从休眠方式唤醒,只要TIMSK 使能了这些中断,而且SREG 的全局中断使能位I 置位。如果异步定时器不是异步驱动的,建议使用掉电模式,而不是省电模式。因为在省电模式下,若AS2 为0,则MCU 唤醒后异步定时器的寄存器数值是没有定义的。这个睡眠模式停止了除clkASY 以外所有的时钟,只有异步模块可以继续工作。第三章、电子门铃的硬件设计3.1 电路原理图图3.1 电子门铃原理图3.2 音频放大电路的设计该音频放大电路采用LM386芯片作为音频的功率放大,音频信号由“SPK IN”端口输入,信号的输出由“SPKOUT”端口输出,只要在“SPKOUT”接一个喇叭即可。具体的电路原理图如图3-2所示:图3-2 音频放大器3.3 LM386芯片的介绍LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。LM386主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。LM386的封装形式有塑封8引线双列直插式和贴片式。3.3.1 芯片特性功耗低,约为4mA,可用于电池供电。工作电压范围宽,4-12V or 5-18V。外围元件少。电压增益可调,20-200。低失真度。3.3.2 LM386的引脚图LM386的外形和引脚的排列如图7所示。引脚2为反相输入端,3为同相输入端;引脚5为输出端;引脚6和4分别为电源和地;引脚1和8为电压增益设定端;使用时在引脚7和地之间接旁路电容,通常取10F。图3-3 LM386的引脚图(1)查LM386的datasheet,电源电压4-12V或5-18V(LM386N-4);静态消耗电流为4mA;电压增益为20-200dB;在1、8脚开路时,带宽为300KHz;输入阻抗为50K;音频功率0.5W。 尽管LM386的应用非常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如插拔音频插头、旋音量调节钮)都会带来的瞬态冲击,在输出喇叭上会产生非常讨厌的噪声。通过接在1脚、8脚间的电容(1脚接电容+极)来改变增益,断开时增益为20dB。因此用不到大的增益,电容就不要接了,不光省了成本,还会带来好处-噪音减少,何乐而不为?PCB设计时,所有外围元件尽可能靠近LM386;地线尽可能粗一些;输入音频信号通路尽可能平行走线,输出亦如此。这是死理,不用多说了吧。选好调节音量的电位器。质量太差的不要,否则受害的是耳朵;阻值不要太大,10K最合适,太大也会影响音质,转那么多圈圈,不烦那!尽可能采用双音频输入/输出。好处是:“”、“”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。第7脚(BYPASS)的旁路电容不可少!实际应用时,BYPASS端必须外接一个电解电容到地,起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致,这个电容可千万别省啊!减少输出耦合电容。此电容的作用有二:隔直 + 耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率(fc1/(2*RL*Cout))提高。分别测试,发现10uF/4.7uF最为合适,这是我的经验值。电源的处理,也很关键。如果系统中有多组电源,太好了!由于电压不同、负载不同以及并联的去耦电容不同,每组电源的上升、下降时间必有差异。非常可行的方法:将上电、掉电时间短的电源放到+12V处,选择上升相对较慢的电源作为LM386的Vs,但不要低于4V,效果确实不错!(2)LM386内部电路LM386内部电路原理图如图7所示。与通用型集成运放相类似,它是一个三级放大电路。 图3-4 LM386芯片内部电路原理图第一级为差分放大电路,T1和T3、T2和T4分别构成复合管,作为差分放大电路的放大管;T5和T6组成镜像电流源作为T1和T2的有源负载;T3和T4信号从管的基极输入,从T2管的集电极输出,为双端输入单端输出差分电路。使用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益。第二级为共射放大电路,T7为放大管,恒流源作有源负载,以增大放大倍数。第三级中的T8和T9管复合成PNP型管,与NPN型管T10构成准互补输出级。二极管D1和D2为输出级提供合适的偏置电压,可以消除交越失真。引脚2为反相输入端,引脚3为同相输入端。电路由单电源供电,故为OTL电路。输出端(引脚5)应外接输出电容后再接负载。电阻R7从输出端连接到T2的发射极,形成反馈通路,并与R5和R6构成反馈网络,从而引入了深度电压串联负反馈,使整个电路具有稳定的电压增益。3.4 键盘电路的设计 键盘是人机通信不可缺少的部件,独立式键盘是最基本的一种键盘方式,在本系统中提供了四个独立式按键;具体的电路原理图如图所示: 图3.5 键盘电路原理图3.5 系统板上硬件连线 (1)把单片机系统区域中的PORTA端口用导线连接到“音频放大模块”区域中的SPK IN端口上。(2)在音频放大模块区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭。(3)把单片机系统区域中的PC3端口用导线连接到“独立式键盘”区域中的SP1端口上。第四章、电子门铃的软件设计4.1 设计程序框图本系统采用Atmega16作为系统的主控制器,用定时器定时产生方波,在由音频功率放大电路放大后驱动扬声器发出门铃的声音,系统的软件流程图如图4.1所示:图4.1 电子门铃方框图4.2 方波输出软件分析程序用定时器T0工作在方式1,分别产生700HZ和500HZ的音频信号。700HZ的信号周期为1428us,P1.7引脚的信号电平每714us取反1次。T0的计数初值=216714=64822=FC36H500HZ信号周期为2ms,P1.7引脚的信号电平为1ms取反1次。T0的计数初值=2161000=64536=FC18H用定时器T1实现0.5秒定时,工作在方式1,得到50ms的定时间隔,在进行软件计数10次,控制700HZ和500HZ音频信号各发音0.5秒。T1的计数初值=21650000=15536=3CB0H下表给出了定时器的用途,定时时间,计数次数及计数初值表4.1定时器的用途定时时间计数次数及计数初值定时器应用定时时间计数次数计数初值T0产生700HZ信号714us714次FC36HT0产生500HZ信号1ms1000次FC18HT1定时50ms50ms50000次3CB0H4.3 按键电路设计:1)抖动通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。下图为按键按下瞬间测得的波形2)一种新型按键扫描unsigned char Trg;unsigned char Cont;void KeyRead( void ) unsigned char ReadData = PB0xff; / 1 Trg = ReadData & (ReadData Cont); / 2 Cont = ReadData; / 3Trg(triger)代表的是触发,Cont(continue)代表的是连续按下。1:读PB的端口数据,取反,然后送到ReadData 临时变量里面保存起来。2:算法1,用来计算触发变量的。一个位与操作,一个异或操作,Trg为全局变量,其它程序可以直接引用。3:算法2,用来计算连续变量。Trg 表示的就是触发的意思,也就是跳变,只要有按键按下(电平从1到0的跳变),那么Trg在对应按键的位上面会置一,我们用了PB0则Trg的值为0x01,类似,如果我们PB7按下的话,Trg 的值就应该为 0x80 ,这个很好理解,还有,最关键的地方,Trg 的值每次按下只会出现一次,然后立刻被清除,完全不需要人工去干预。所以按键功能处理程序不会重复执行,省下了一大堆的条件判断,这个可是精粹哦!Cont代表的是吗长按键,如果PB0按着不放,那么Cont的值就为 0x01,相对应,PB7按着不放,那么Cont的值应该为0x80这样变完成了按键的扫描省去了大量的判断延时,使单片机送往DA的数据速率可以提高。第五章、检测与调试5.1 硬件调试硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。调试是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有插座或是器件的电源端是否符合要求的。第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。 动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。5.2 软件调试软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。在Proteus仿真机上,对定时中断程序、显示子程序、按键中断子程序进了分段调试,结果功能正常。总 结经过将近3月的单片机课程设计,终于完成了电子门铃的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计把实物都做了出来,高兴之余不得不深思呀!在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,举个例子,以前写的那几次,数据加减时,我用的都是BCD码,这一次,我全部用的都是16进制的数直接加减,显示处理时在用除法去删分,感觉效果比较好,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。这次课程设计根据课题要求,复习了这学期所学的单片机内容,通过查询相关的资料,简要知道了虽然老师上课讲过,但并非听懂了单片机的芯片的有关知识。根据课程设计的要求和自己通过参考有关资料拟的方案,写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序,达到能够实现所要求的功能的目的。 在写程序时,在每条指令后都写好注释,以便在程序出错的检查过程中可以更容易查找得到。 这次的单片机课程设计重点是理论与实际的相结合,不单单只是书上的一条条分离的指令。通过这次设计让我更系统的了解了个个指令以及单片机的扩展内容。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。致 谢毕业设计即将结束了,这也是我在大学阶段的最后一次设计。我的导师给本人提供了良好的设计条件和细心的指导。导师前瞻性的科学思维、宽广的专业知识和兢兢业业的工作精神,令我敬佩,使我受益匪浅。在导师的指导和帮助下,我顺利地完成了这次设计任务,在此向我的导师致以最诚挚的感谢!从一开始选题的确定,到开题报告的完成、初稿的修改,定稿的调整,以及论文格式方面的问题,直至终稿,自始至终导师都给予了大量的关心与帮助,这使我在完成论文的过程中很是受益,在此再次深表感谢。此次毕业设计既是对我大学四年所学知识的总结与运用也是对我即将步入社会,走向工作岗位前的一次考验与检查。虽然毕业设计已经完成了,但是,由于自己所学的知识有限,我们在设计中遇到很多问题,在很多方面还不够全面,我希望在以后的工作和专业发展中,导师能继续给以指导和帮助下学到更多有关的知识,来充实自己!最后,还要感谢母校一直关心我的老师和领导!参考文献1 韩志军. 单片机应用系统设计. 机械工业出版社2 童

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论