




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着互联网技术和信息通讯技术的飞速发展,信息化、智能化的浪潮正在席卷世界的每一个角落,电子音乐门铃系统进入住宅,它正全方位地改变人类的社会生活,使人们的生活发生了翻天覆地的变化。由于人们生活水平的不断提高,越来越重视住宅的质量、安全性以及信息的获取和管理,这又大大促进了电子音乐门铃系统的发展。各种方便于生活的电子音乐门铃系统开始进入人们的生活,以单片机为核心的电子音乐门铃系统就是其中之一。它实用性强,功能齐全,技术先进,使人们相信这是科技进步的成果;它更让我们懂得,数字时代的发展将改变人类的生活,将加快科学技术的发展。 电子音乐门铃系统是应用了单片机编程技术、串行通信而设计的一种电控信息管理的智能系统。本论文介绍了一种用单片机ATmega16来控制的智能门铃系统的工作原理,并给出了其完整的硬件电路和软件的设计方案与实现方法。 通过对“电子音乐门铃系统”课题的学习和设计,使我了解ATmega16单片机的特性;进一步的掌握了单片机进行多机通信的原理,对以后的学习和工作做了一个很好的铺垫。 关键词:单片机;电子音乐门铃;C语言编程 AbstractAs the Internet technology and the rapid development of information communication technology, information, intelligent wave is swept every corner of the world, electronic music system into a house, it rang is all-around change of human social life, makes the life of people has undergone earth-shaking changes. As people living standard rise ceaselessly, pay more attention to the quality of housing, security and data acquisition and management, which greatly promoted the development of the intelligent system. Various convenient life of intelligent doorbell system began to enter the life of people, based on single chip intelligent bell system is one of them. It is practical, complete functions, advanced technology, make people believe that it is the results of scientific and technological progress, Let us know more, and digital age will change the development of human life, will speed up the development of science and technology.The electronic music systems are used for microcontroller programming techniques, serial communication and design of a kind of electronic information intelligent management system. This paper introduces a kind of MCU ATmega16 to control the working principle of the system, intelligent, and gives a complete hardware circuit and software design and realization method.Based on the smart subject system of intelligent design and learning, I understand the characteristics of ATmega16, grasp the single-chip computer communication on the principle of learning and work to make a very good.Keywords: SCM;electronic music doorbell;C Programming language 目录摘要IAbstractII第1章 绪论31.1 电子音乐门铃设计的意义31.2 电子音乐门铃设计的原则31.3 研究内容及步骤3第2章 AVR单片机简介52.1单片机概述52.1.1单片机定义52.1.2 单片机的发展52.1.3单片机的发展趋势72.1.4 单片机应用领域92.2 ATmega16单片机简介102.2.1 ATmega16单片机定义102.2.2 ATmega16单片机引脚112.2.3 ATmega16单片机内部结构132.2.4 AVR 中央处理器CPU152.2.5 系统时钟部件162.2.6 AVR 单片机最小系统162.2.7 ATmega16单片机主要特性17第3章 系统硬件设计213.1 系统硬件方案介绍213.2 时钟频率电路设计213.2 复位电路的设计223.3报警频率选择模块223.3.1 蜂鸣器233.4键盘防抖动模块243.4.1键盘系统设计243.4.2键盘防抖动模块工作方式25第4章 系统软件设计264.1 系统软件设计思路264.2 程序流程图264.3 音乐程序的设计原理284.3.1设计原理284.3.2程序范例284.4 防抖动程序设计314.5 电路调试34结论35致谢36参考文献37附录(一)38附录(二)43附录(三)50 第1章 绪论1.1 电子音乐门铃设计的意义 众所周知,门铃已经走进千家万户,成为人们日常生活必不可少的一部分。随着科学技术的发展,传统的“叮咚”门铃已经无法满足现代人的需要,单片微机的出现解决了这个问题。单片机作为小型智能化控制设备,由于其体积小、易于控制,性价比高等优点已深入到人们日常生活的各个领域。我们可以利用单片机对门铃进行智能控制,使它可以播放出美妙的音乐,告别“叮咚”的时代。作为21世纪的工科大学生,不仅需要熟练地使用通用微机进行各种数据处理,还要把计算机技术运用到专业领域或相关领域,即具有“开发”能力。 本设计就是在ATmega16单片机的基础上将传统门铃智能化,满足人们的现代化需求。作为智能化的门铃,它拥有播放音乐和报警等多种功能,实用性高,物美价廉,适用于批量化和小型化生产。1.2 电子音乐门铃设计的原则 可靠性:系统应保证长期安全地运行。系统中的硬软件及信息资源应满足可靠性设计要求。安全性:系统应具有必要的安全保护和保密措施。抗干扰性:系统应具有较强的抗干扰性,对各类用户的误操作应有提示或自动消除的能力。 适应性:系统应对不断发展和完善的统计核算方法、调查方法和指标体系具有广泛的适应性。可扩充性:系统的硬软件应具有扩充升级的余地,不可因硬软件扩充、升级或改型而使原有系统失去作用。实用性:注重采用成熟而实用的技术,使系统建设的投入产出比最高,能产生良好的社会效益和经济效益。先进性:在实用的前提下,应尽可能跟踪国内外最先进的计算机硬软件技术、信息技术及网络通信技术,使系统具有较高的性能指标。易操作性:贯彻面向最终用户的原则,使用户操作简单直观,易于掌握。 1.3 研究内容及步骤目前,单片机越来越广泛的运用到社会的各个领域,其中运用比较多的主要在大众生活方面、以单片机为控制中心的智能小系统。在本设计中,我们采用了单片机控制多模块设计,便于检查和维修。该设计的基本原理为以ATmega16单片机作为控制单元,控制报警系统,由软件系统和硬件系统两部分组成。硬件系统主要包括:1、ATmaga16单片机 具有16KB系统内flash的8位AVR微控制器,它是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。它可以擦除只读存储器至少可以反复擦除10,000次。2、石英晶体振荡器 它是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。 3、蜂鸣器 它是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 4、LED灯 它是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附 在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。软件系统主要用C语言程序控制单片机使其正常工作。 本文主要分为以下几个部分: 第1章 对本课题的主要研究内容、目的、开发环境进行概括。 第2章 对单片机的功能与组成进行了分析。 第3章 对系统硬件的组成及设计进行了介绍。 第4章 详细地对各模块的流程图及程序进行了叙述。 第2章 AVR单片机简介2.1单片机概述2.1.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.1.2 单片机的发展1970 年微型计算机研制成功后,随后就出现了单片机。美国Inter 公司在1971 年推出了4 位单片机4004;1972 年推出了雏形8 位单片机8008。特别是在1976 年推出MCS-48单片机以后的三十年中,单片机的发展和其相关的技术经历了数次的更新换代。其发展速度大约每三四年要更新一代、集成度增加一倍、功能翻一番。尽管单片机出现的历史并不长,但以8 位单片机的推出为起点,那么,单片机的发展大致可分为四个阶段。 第一阶段(1976 年-1978 年):初级单片机阶段。以Inter 公司MCS-48 为代表。这个系列的单片机内集成有8 位CPU、I/O 接口、8 位定时器/计数器,寻址范围不大于4K 字节,简单的中断功能,无串行接口。 第二阶段(1978 年-1982 年):单片机完善阶段。在这一阶段推出的单片机其功能有较大的加强,能够应用于更多的场合。这个阶段的单片机普遍带有串行I/O 口、有多级中断处理系统、16 位定时器/计数器,片内集成的RAM、ROM 容量加大,寻址范围可达64K 字节。一些单片机片内还集成了A/D 转换接口。这类单片机的典型代表有Inter 公司的MCS-51、Motorola 公司的6801 和Zilog 公司的Z8 等。 第三阶段(1982 年-1992 年):8 位单片机巩固发展及16 位高级单片机发展阶段。在此阶段,尽管8 位单片机的应用已广泛普及,但为了更好满足测控系统的嵌入式应用的要求,单片机集成的外围接口电路有了更大的扩充。这个阶段单片机的代表为8051 系列。许多半导体公司和生产厂以MCS-51 的8051 为内核,推出了满足各种嵌入式应用的多种类型和型号的单片机。其主要技术发展有: (1) 外围功能集成。满足模拟量直接输入的ADC 接口;满足伺服驱动输出的PWM;保证程序可靠运行的程序监控定时器WDT(俗称看门狗电路)。 (2) 出现了为满足串行外围扩展要求的串行扩展总线和接口,如SPI、I2C Bus、单总线(1-Wire)等。 (3) 出现了为满足分布式系统,突出控制功能的现场总线接口,如CAN Bus 等。 (4) 在程序存储器方面广泛使用了片内程序存储器技术,出现了片内集成EPROM、EEPROM、FlashROM 以及MaskROM、OTPROM 等各种类型的单片机,以满足不同产品的开发和生产的需要,也为最终取消外部程序存储器扩展奠定了良好的基础。与此同时,一些公司面向更高层次的应用,发展推出了16 位的单片机,典型代表有Inter 公司的 MCS-96 系列的单片机。 第四阶段(1993 年-现在):百花齐放阶段。现阶段单片机发展的显著特点是百花齐放、技术创新,以满足日益增长的广泛需求。其主要方面有: (1)单片嵌入式系统的应用是面对最底层的电子技术应用,从简单的玩具、小家电;到复杂的工业控制系统、智能仪表、电器控制;以及发展到机器人、个人通信信息终端、机顶盒等。因此,面对不同的应用对象,不断推出适合不同领域要求的,从简易性能到多全功能的单片机系列。 (2)大力发展专用型单片机。早期的单片机是以通用型为主的。由于单片机设计生产技术的提高、周期缩短、成本下降,以及许多特定类型电子产品,如家电类产品的巨大的市场需求能力,推动了专用单片机的发展。在这类产品中采用专用单片机,具有低成本、资源有效利用、系统外围电路少、可靠性高的优点。因此专用单片机也是单片机发展的一个主要方向。 (3)致力于提高单片机的综合品质。采用更先进的技术来提高单片机的综合品质,如提高I/O 口的驱动能力;增加抗静电和抗干扰措施;宽(低)电压低功耗等。2.1.3单片机的发展趋势单片嵌入式系统的核心单片机,正朝着多功能、多选择、高速度、低功耗、低价格、扩大存储容量和加强I/O 功能等方向发展。其进一步的发展趋势是多方面的。 (1) 全盘CMOS 化。CMOS 电路具有许多优点,如极宽的工作电压范围;极佳的低功耗及功耗管理特性等。CMOS 化已成为目前单片机及其外围器件流行的半导体工艺。 (2) 采用RISC 体系结构。早期的单片机大多采用CISC 结构体系,指令复杂,指令代码、周期数不统一;指令运行很难实现流水线操作,大大阻碍了运行速度的提高。如MCS-51 系列单片机,当外部时钟为12MHz 时,其单周期指令运行速度也仅为1MIPS。采用RISC 体系结构和精简指令后,单片机的指令绝大部分成为单周期指令,而通过增加程序存储器的宽度(如从8 位增加到16 位),实现了一个地址单元存放一条指令。在这种体系结构中,很容易实现并行流水线操作,大大提高了指令运行速度。目前一些RISC 结构的单片机,如美国ATMEL公司的AVR 系列单片机已实现了一个时钟周期执行一条指令。与MCS-51 相比,在相同的12MHz 外部时钟下,单周期指令运行速度可达12MIPS。一方面可获得很高的指令运行速度,另一方面,在相同的运行速度下,可大大降低时钟频率,有利于获得良好的电磁兼容效果。 (3) 多功能集成化。单片机在内部已集成了越来越多的部件,这些部件不仅包括一般常用的电路,如:定时/计数器,模拟比较器,A/D 转换器,D/A 转换器,串行通信接口,WDT电路,LCD 控制器等,还有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN 总线,以方便地构成一个控制网络。为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制电路PWM。 (4) 片内存储器的改进与发展。目前新型的单片机一般在片内集成两种类型的存储器:随机读写存储器SRAM,做为临时数据存储器存放工作数据用;只读存储器ROM,做为程序存储器存放系统控制程序和固定不变的数据。片内存储器的改进与发展的方向是扩大容量、ROM数据的易写和保密等。 1.片内存储容量的增加。新型的单片机一般在片内集成的SRAM 在128 字节至1K 字节, ROM 的容量一般为4K 字节至8K 字节。为了适应网络、音视频等高端产品的需要,高挡的单片机在片内集成了更大容量的RAM 和ROM 存储器。如 ATMEL 公司的ATmega16,片内的SRAM为1K 字节,FlashROM 为16K 字节。而该系列的高端产品ATmega256,片内集成了8K 字节的SRAM,256K 字节的FlashROM 和4K 字节的EEPROM。2.片内程序存储器由EPROM 型向FlashROM 发展。早期的单片机在片内往往没有程序存储器或片内集成EPROM 型的程序存储器。将程序存储器集成在单片机内可以大大提高单片机的抗干扰性能、提高程序的保密性、减少硬件的设计的复杂性和空间等许多优点,因此片内集成程序存储器已成为新型单片机的标准方式。但由于EPROM 需要使用12v 高电压编程写入、紫外线光照擦除、重写入次数有限等缺点,这给使用带来了不便。新型的单片机则采用FlashROM 以及MaskROM、OTPROM 做为片内的程序存储器。FlashROM 在通常电压(如5v/3v)下就可以实现编程写入和擦除操作,重写次数在10000 次以上,并可实现在线编程写入ISP技术的优点,为使用带来了及大的方便。采用MaskROM 的微控制器称为掩模芯片,它是在芯片制造过程中就将程序“写入”了,并永远不能改写。采用OTPROM 的微控制器,其芯片出厂时片内的程序存储器是“空的”,它允许用户将自己编写好的程序一次性的编程写入,之后便再也无法修改了。后两种类型的单片机适合于大批量产品生产的使用,而前两种类型的微控制器则适合产品的设计开发、批量生产以及学习培训的应用。3. 程序保密化。一个单片嵌入式系统的系统程序是系统的最重要的部分,是知识产权保护的核心。为了片内的程序防止被非法读出复制,新型的单片机往往采用对片内的程序存储器采用加锁保密。系统程序编程写入片内的程序存储器后,可以再对加密保护单元编程,使芯片加锁。加锁加密后,从芯片的外部则无法读取片内的系统程序代码,若将加密单元擦除,则片内的程序也同时擦除掉,这样便达到了程序保密的目的。(5) ISP、IAP 及基于ISP、IAP 技术的开发和应用。ISP(In System Programmable)称为在线系统可编程技术。随着微控制器在片内集成EEPROM、FlashROM 的发展,导致了ISP技术在单片机中的应用。首先实现了系统程序的串行编程写入(下载),使得不必将焊接在PCB 印刷电路板上的芯片取下,就可直接将程序下载到单片机的程序存储器中,淘汰了专用的程序下载写入设备。其次,基于ISP 技术的实现,使模拟仿真开发技术重新兴起。在单时钟、单指令运行的RISC 结构的单片机中,可实现PC 机通过串行电缆对目标系统的在线仿真调试。在ISP 技术应用的基础上,又发展了IAP(In Application Programmable)技术,也称在应用可编程技术。利用IAP 技术,实现了用户可随时根据需要对原有的系统方便的在线更新软件、修改软件,还能实现对系统软件的远程诊断、远程调试和远程更新。(6) 实现全面功耗管理。采用CMOS 工艺后,单片机具有极佳的低功耗和功耗管理功能。它包括:1.传统的CMOS 单片机的低功耗运行方式,既闲置方式(Idle Mode)、掉电方式(PowerDown Mode)。2.双时钟技术。配置有高速(主)和低速(子)两个时钟系统。在不需要高速运行时,则转入子时钟控制下,以节省功耗。 片内外围电路的电源管理。对集成在片内的外围接口电路实行供电管理,当该外围电路不运行时,关闭其供电。 低电压节能技术。CMOS 电路的功耗与电源电压有关,降低系统的供电电压,能大幅度减少器件的功耗。新型的单片机往往具有宽电压(3V5V)或低电压(3V)运行的特点。低电压低功耗是手持便携式系统重要的追求目标,也是绿色电子的发展方向。(7) 以串行总线方式为主的外围扩展。目前,单片机与外围器件接口技术发展的一个重要方面是由并行外围总线接口向串行外围总线接口的发展。采用串行总线方式为主的外围扩展技术具有方便、灵活、电路系统简单、占用I/O 资源少等特点。采用串行接口虽然比采用并行接口数据传输速度慢,但随着半导体集成电路技术的发展,大批采用标准串行总线通信协议(如:SPI、I2C、1-Wire 等)的外围芯片器件的出现,串行传输速度也在不断提高(可达到1M10M 的速率),片内集成程序存储器而不必外部并行扩展程序存储器,加之单片嵌入式系统有限速度的要求,使得以串行总线方式为主的外围扩展方式能够满足大多数系统的需求,成为流行的扩展方式,而采用并行接口的扩展技术则成为辅助方式。(8)单片机向片上系统SOC 的发展。SOC(System On Chip)是一种高度集成化、固件化的芯片级集成技术,其核心思想是把除了无法集成的某些外部电路和机械部分之外的所有电子系统电路全部集成在一片芯片中。现在一些新型的单片机(如AVR 系列单片机)已经是SOC 的雏形,在一片芯片中集成了各种类型和更大容量的存储器,更多性能更加完善和强大的功能电路接口,这使得原来需要几片甚至十几片芯片组成的系统,现在只用一片就可以实现。其优点不仅是减小了系统的体积和成本,而且也大大提高了系统硬件的可靠性和稳定性。2.1.4 单片机应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:(1)在智能仪器仪表上的应用:单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。(2)在工业控制中的应用:用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。(3)在家用电器中的应用:可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。(4)在计算机网络和通信领域中的应用: 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。(5)单片机在医用设备领域中的应用:单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。(6)在各种大型电器中的模块化应用:某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。现今的单片机技术已经相当成熟,因此成本也相对于别的新产品低,同时稳定性也会更加的好。基于这些考虑,本设计使用89C51进行控制。2.2 ATmega16单片机简介2.2.1 ATmega16单片机定义ATmega16单片机是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。AVR结构具有两个主要的存储空间。本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区。在更新应用Flash存储区时引导Flash区(Boot FlasMemory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16 具有一整套的编程与系统开发工具,包括:C 语言 编译器、宏汇编、 程序调试器/ 软件仿真器、仿真器及评估板。此外,ATmega16还有EEPROM存储器以保存数据。这三个存储器空间都为线性的平面结构。ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。2.2.2 ATmega16单片机引脚 ATmega16 单片机有三种形式的封装:40 脚双列直插PDIP、44 脚方形的TQFP 和MLF 形式(贴片形式)。其外部引脚封装如图2-1 所示。 图2-1ATmega16引脚示意图其中,各个引脚的功能如下: (1)电源、系统晶振、芯片复位引脚引脚说明: VCC 数字电路的电源 GND 地 端口(PA7.PA0) 端口A作为A/D转换器的模拟输入端。 端口A为8位双向I/O口,具有可编程的内部上拉电阻。 其输出缓冲器具有对称的驱动性,可输出和吸收大电流。作为输入 使用时,若内部上拉电阻使能,端口被外部电路低时将输出电流。在复位过程中,即使 系统时钟还未起振,端口A处于高阻状态。 端口B(PB7.PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。 端口C(PC7.PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活,端口C 也可以用做其他不同的特殊功能。 端口D(PD7.PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻,其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能。 RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。 XTAL1 反向振荡放大器与片内时钟操作电路的输入端。 XTAL2 反向振荡放大器的输出端。 AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。 AREF A/D 的模拟基准输入引脚。 (2)32 根I/O 引脚,分成PA、PB、PC 和PD 四个8 位端口,他们全部是可编程控制的双(多)功能复用的I/O 引脚(口)。四个端口的第一功能是通用的双向数字输入/输出(I/O)口,其中每一位都可以由指令设置为独立的输入口,或输出口。当I/O 设置为输入时,引脚内部还配置有上拉电阻,这个内部的上拉电阻可通过编程设置为上拉有效或上拉无效。如果AVR 的I/O 口设置为输出方式工作,当其输出高电平时,能够输出20mA 的电流,而当其输出低电平时,可以吸收40mA 的电流。因此AVR 的I/O 口驱动能力非常强,能够直接驱动LED 发光二极管、数码管等。而早期单片机I/O 口的驱动能力只有5mA,驱动LED 时,还需要增加外部的驱动电路和器件。芯片Reset 复位后,所有I/O 口的缺省状态为输入方式,上拉电阻无效,即I/O 为输入高阻的三态状态。2.2.3 ATmega16单片机内部结构ATmega16的内部结构如图2-2所示图2-2ATmega16的内部结构ATmega16 内部的主要构成部分有:AVR CPU 部分。包括:ALU 运算逻辑单元、32 个8 位快速访问通用寄存器组(寄存器文件)、程序计数器PC、指令寄存器、指令译码器。程序存储器Flash。数据存储器RAM 和EEPROM。各种功能的外围接口、I/O,以及与它们相关的数据、控制、状态寄存器等。2.2.4 AVR 中央处理器CPUAVR CPU 是单片机的核心部分,它由运算逻辑单元ALU、程序计数器PC、指令寄存器、指令译码器等部件组成。一. 运算逻辑单元ALU运算逻辑单元ALU 的功能是进行算术运算和逻辑运算,可对半字节(4 位)、单字节等数据进行操作。如能完成加、减、自动加1、自动减1、比较等算术运算和与、或、异或、求补、循环移位等逻辑操作。操作结果的状态,如产生进位、结果为零等状态信息将影响到状态寄存器SREG 相应的标志位。运算逻辑单元ALU 还包含一个布尔处理器,用来处理位操作。它可执行置位、清零、取反等操作。ATmega16 的ALU 还能实现无符号数、有符号数以及浮点数的硬件乘法操作。一次硬件乘法操作的时间为2 个时钟周期。二. 程序计数器PC、指令寄存器和指令译码器程序计数器PC 用来存放下一条需要执行指令在程序存储器空间的地址(指向Flash 空间)。取出的指令存放在指令寄存器中,然后送入指令译码器产生各种控制信号,控制CPU的运行(执行指令)。AVR 一条指令的长度大多数为16 位,还有少部分为32 位,因此AVR 的程序存储器结构实际上是以字(16 位)为一个存储单元的。ATmega16 的程序计数器为13 位,正好满足了对片内8K 字(即手册上的16K 字节)的Flash 程序存储器空间直接寻址的需要,因此就不能(不支持)在外部扩展更多的程序存储器。AVR CPU 在译码执行一条指令的同时,就将PC 中指定的Flash 单元中的指令取出,放入指令寄存器中(图中的Instruction Register),构成了一级流水线运行方式。AVR 采用一级流水线技术,在当前指令执行的时候,就取出下一条将要执行的指令,加上大多数AVR指令的长度是一个字,就使得AVR CPU 实现了一个时钟周期执行一条指令。采用这种结构,减少了取指令的次数,大大提高了CPU 的运行速度,同时也提高了取指令操作的(系统的)可靠性。而在其它的CISC 以及类似的RISC 结构的单片机中,外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达12 倍(例如,标准8031 结构的单片机)。三. 通用工作寄存器组在AVR 中,由命名为R0R31 的32 个8 位通用工作寄存器构成一个“通用快速工作寄存器组”,图2-5 为通用快速工作寄存器组的结构图。AVR CPU 中的ALU 与这32 个通用工作寄存器组直接相连,为了使ALU 能够高效和灵活地对寄存器组进行访问操作,通用寄存器组提供和支持ALU 使用4 种不同的数据输入/输出的操作方式:1. 提供一个8 位源操作数,并保存的一个8 位结果2. 提供两个8 位源操作数,并保存的一个8 位结果3. 提供两个8 位源操作数,并保存的一个16 位结果4. 提供一个16 位源操作数,并保存的一个16 位结果2.2.5 系统时钟部件1. 系统时钟ATmega16 的片内含有4 种频率(1/2/4/8M)的RC 振荡源,可直接作为系统的工作时钟使用。同时片内还设有一个由反向放大器所构成的OSC(Oscillator)振荡电路,外围引脚XTAL1 和XTAL2 分别为OSC 振荡电路的输入端和输出端,用于外接石英晶体等,构成高精度的或其它标称频率的系统时钟系统。系统时钟为控制器提供时钟脉冲,是控制器的心脏。系统时钟的频率是单片机的重要性能指标之一。系统时钟频率越高,单片机的执行节拍就越快,处理速度也越快。ATmega16最高的工作频率为16M(16MIPS),在8 位单片机中算是佼佼者。但并不是系统时钟频率越快就越好,因为当时钟频率越高时,其耗电量也越大,也容易受到干扰(或干扰别人)。因此,在具体设计时,应根据实际产品的需要,尽量采用较低的系统时钟频率,这样不仅能降低了功耗,同时也提高了系统的可靠性和稳定性。2. 内部看门狗时钟AVR 片内还集成了一个1MHz独立的时钟电路,它仅供片内的看门狗定时器(WDT)使用。因此,AVR 片内的WDT 是独立硬件形式的看门狗,使用AVR 可以省掉外部的WDT 芯片。使用WDT 可以有效的提高系统的可靠行。2.2.6 AVR 单片机最小系统一个单片嵌入式系统的核心,其实就是一个单片机最小系统。它仅仅由一片单片机芯片、两个电阻、一个石英晶体和两个电容构成,见图2-13。图2-13 虚线框里几个器件所构成的最小系统,就是一颗单片嵌入式系统完整的心脏和大脑,可以工作了。当然,没有相应的外围电路,我们还是不能直观的了解它的工作情况的。因此图中还有一个简单的外围电路:一个发光二极管和一个限流保护电阻。我们可以编写一个简单的程序,其功能让发光二极管每间隔1 秒闪烁一次,循环往复。把程序的运行代码下载到ATmega16的程序存储器中,一个秒节拍输出显示装置就诞生了。只要一接通电源, ATmega16就以每秒兆的工作频率运行,驱动发光二极管每间隔1 秒闪烁一次。图2-3 ATmega16单片机最小系统2.2.7 ATmega16单片机主要特性(1)高性能、低功耗的8位AVR微处理器ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进 的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。(2)先进的RISC 结构 131 条指令 大多数指令执行时间为单个时钟周期 全静态工作工作于16 MHz 时性能高达16 MIPS只需两个时钟周期的硬件乘法器 32个8 位通用工作寄存器 图2-4 CPU 32 个通用工作寄存器的结构 (3)非易失性程序和数据存储器 16K 字节的系统内可编程Flash擦写寿命: 10,000 次 具有独立锁定位的可选Boot 代码区通过片上Boot 程序实现系统内编程真正的同时读写操作 512 字节的EEPROM擦写寿命: 100,000 次 1K字节的片内SRAM图2-5 SRAM片内周期 (4)分支指令 对于LCALL、LJMP、ACALL、AJMP、SJMP、JMPA+DPTR等指令,只要程序员记住这些分支指令的目的地址在程序存储器大小的物理范围内(89C51程序地址空间为:000H一7FFH单元),这些无条件分支指令就会正确执行,超 出物理空间的限制会出现不可预知的程序出错。CJNE、DJNZ、JB、JNB、JC、JNC、JBC、JZ、JNZ等这些条件 转移指令的使用与上述原则一样,同样,超出物理空间的限制也会引起不可预知的程序出错。至于中断的使用,80C51 系列硬件结构中已保留标准中断服务子程序的地址。 (5) 外设特点 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器(T/C0和T/C2) 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器T/C1 具有独立振荡器的实时计数器RT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车城市规划项目计划
- 2025年吉安市庐陵产业运营服务有限公司公开招聘物业经理模拟试卷及1套完整答案详解
- 客户服务质量标准与服务流程优化工具
- 2025福建福州市罗源县卫健系统事业单位招聘控制数卫技人员12人模拟试卷及答案详解(夺冠系列)
- 2025年烟台幼儿师范高等专科学校公开招聘高层次人才(2人)考前自测高频考点模拟试题及1套完整答案详解
- 2025河南郑州空中丝路文化传媒有限公司社会招聘6人模拟试卷参考答案详解
- 安全培训效果保证措施课件
- 2025年三环集团校园招聘考前自测高频考点模拟试题及答案详解(有一套)
- 昆明VR安全培训班课件
- 《世界地理历史文化讲解课程教案》
- 透明土实验技术的研究进展
- 戴海崎心理与教育测量第4版课后习题答案
- 设备保管协议
- 中石油职称英语通用教材
- 某火电厂输煤系统土建工程监理细则
- 室外消防钢丝网骨架塑料复合PE管施工及方案
- 超声引导下坐骨神经阻滞
- 焊接质量手册
- GB/T 29049-2012整樘门垂直荷载试验
- 【上课用】 高三数学一轮复习-错位相减法课件
- 《放飞烦恼-拥抱快乐-》-心理健康p课件
评论
0/150
提交评论