ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:386.37KB ,
资源ID:11540054      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11540054.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AVR用MAX515芯片调节LED灯亮度2.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于AVR用MAX515芯片调节LED灯亮度2.docx

1、基于AVR用MAX515芯片调节LED灯亮度2CHANGZHOU INSTITUTE OF TECHNOLOGY 单片机课程设计说明书项目名称: 用MAX515芯片调节LED灯亮度 二级学院: 电子信息与电气工程学院 专 业: 电气工程及其自动化 班级: 11电卓 学生姓名: 学号: 指导教师: 马金祥 职称: 讲师 起止时间: 2013年6月21日 2014年7月2 日 目录1.引言12.设计内容2.1设计内容及其要求12.2产品认知12.3LED灯的认识22.4产品设计原理23.系统总体结构3.1系统结构框图33.2主要设计框图33.3系统原理图34.硬件设计4.1 主要芯片介绍44.1.

2、1ATMEGA1664.1.2 MAX51584.2最小系统95. 软件设计5.1 系统软件设计整体思路115.2 系统软件设计的一般原则125.3系统软件设计的步骤125.4软件AVR Studio 4的应用125.5程序设计与调试135.6protuse仿真186.调试过程中遇到的问题及解决方法7.小结188.参考文献19附录1 电路图20附录2 源程序21附录3 元器件清单33附录4 实物图341.引言单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。单片机具有体积小、功能强、应用面广等优点,目前正以前所未见

3、的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用尤为重要

4、。而AVR单片机是各类单片机中比较典型和具有代表性的一种。本实验是基于AVR系列单片机所设计的,以单片机芯片ATMEGA16作为核心控制器,通过硬件电路的制作以及软件程序的编制,实现控制LED的亮度。2.设计内容和要求2.1设计内容:用带SPI接口的数/模转换芯片MAX515调节LED亮度要求:LED灯的亮度可以自动循环调节2.2产品认知:AVR单片机:AVR单片机是 Atmel 公司 1997 年推出的 RISC 单片机。RISC(精简指令系统计算机)是相对于CISC(复杂指令系统计算机)而言的。RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。RISC

5、 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。由于 AVR 采用了 RESC 的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。3AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。AVR单片机内嵌高质量的Flash程

6、序存储器,擦写方便,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的EEProm可长期保存关键数据,避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用,同时也更有效的支持使用高级语言开发系统程序,并可像MCS-51单片机那样扩展外部RAM。AVR单片机的I/O线全部带可设置的上拉电阻、可单独设定为输入/输出、可设定(初始)高阻输入、驱动能力强(可省去功率驱动器件)等特性,使的得I/O口资源灵活、功能强大、可充分利用。AVR单片机片内具备多种独立的时钟分频器,分别供URAT、I2C、SPI使用。其中与8/16位定时器配合的具有多达10位的预分频器,可通过软件设定分频系数提

7、供多种档次的定时时间。AVR单片机独有的“以定时器/计数器(单)双向计数形成三角波,再与输出比较匹配寄存器配合,生成占空比可变、频率可变、相位可变方波的设计方法(即脉宽调制输出PWM)更是令人耳目一新。4增强性的高速同/异步串口,具有硬件产生校验码、硬件检测和校验侦错、两级接收缓冲、波特率自动调整定位(接收时)、屏蔽数据帧等功能,提高了通信的可靠性,方便程序编写,更便于组成分布式网络和实现多机通信系统的复杂应用,串口功能大大超过MCS-51/96单片机的串口,加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。面向字节的高速硬件串行接口TWI、SPI。TWI与I2C接口兼容,具备ACK

8、信号硬件发送与识别、地址识别、总线仲裁等功能,能实现主/从机的收/发全部4种组合的多机通信。SPI支持主/从机等4种组合的多机通信。AVR单片机有自动上电复位电路、独立的看门狗电路、低电压检测电路BOD,多个复位源(自动上下电复位、外部复位、看门狗复位、BOD复位),可设置的启动后延时运行程序,增强了嵌入式系统的可靠性。AVR单片机具有多种省电休眠模式,且可宽电压运行(5-2.7V),抗干扰能力强,可降低一般8位机中的软件抗干扰设计工作量和硬件的使用量。5LED灯LED(Light Emitting Diode),发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为

9、光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个P-N结。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED灯发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。最初LED用作仪器仪表的指示光源,后来各种光色的LED在交通信号灯和大面积显示屏中得到了广泛应用,产生了很好的经济效益

10、和社会效益。2.3LED灯的优点:1、节能. 白光LED的能耗仅为白炽灯的1/10,节能灯的1/4.2、长寿. 寿命可达10万小时以上,对普通家庭照明可谓一劳永逸.3、可以工作在高速状态.节能灯如果频繁的启动或关断灯丝就会发黑很快的坏掉.4、固态封装,属于冷光源类型。所以它很方便运输和安装,可以被装置在任何微型和封闭的设备中,不怕振动,基本上用不着考虑散热。5、led技术正日新月异的在进步,它的发光效率正在取得惊人的突破,价格也在不断的降低。一个白光LED进入家庭的时代正在迅速到来。6、环保,没有汞的有害物质。LED灯泡的组装部件可以非常容易的拆装,不用厂家回收都可以通过其它人回收。7、配光技

11、术使LED点光源扩展为面光源,增大发光面,消除眩光,升华视觉效果,消除视觉疲劳;8、透镜与灯罩一体化设计。透镜同时具备聚光与防护作用,避免了光的重复浪费,让产品更加简洁美观;9、大功率led平面集群封装,及散热器与灯座一体化设计。充分保障了led散热要求及使用寿命,从根本上满足了LED灯具结构及造型的任意设计,极具LED灯具的鲜明特色。10、节能显著。采用超高亮大功率led光源,配合高效率电源,比传统白炽灯节电80%以上,相同功率下亮度是白炽灯的10倍;11、超长寿命50,000小时以上,是传统钨丝灯的50倍以上。LED采用高可靠的先进封装工艺共晶焊,充分保障LED的超长寿命;12、无频闪。纯

12、直流工作,消除了传统光源频闪引起的视觉疲劳13、绿色环保。不含铅、汞等污染元素,对环境没有任何污染;14、耐冲击,抗雷力强,无紫外线(UV)和红外线(IR)辐射。无灯丝及玻璃外壳,没有传统灯管碎裂问题,对人体无伤害、无辐射。15、低热电压下工作,安全可靠。表面温度60(环境温度Ta=25时);16、宽电压范围,全球通用LED灯。85V 264VAC全电压范围恒流,保证寿命及亮度不受电压波动影响;17、采用PWM恒流技术,效率高,热量低,恒流精度高;18、降低线路损耗,对电网无污染。功率因数0.9,谐波失真20%,EMI符合全球指标,降低了供电线路的电能损耗和避免了对电网的高频干扰污染;19、通

13、用标准灯头,可直接替换现有卤素灯、白炽灯、荧光灯20、发光效率可高达801m/w,多种LED灯色温可选,显色指数高,显色性好;2.4产品设计原理:LED一般是恒流操作的,如何改变LED的亮度呢?在一定的频率的方波中,调整高电平和低电平的占空比,即可实现。比如我们用低电平点亮一个LED灯,我们假设把一个频率周期分为10个时间等份,如果方波中的高低电平占空比是9:1,这是就是一个比较暗的亮度,如果方波中高低电平占空比是10:0,这时,全部是高电平,灯是灭的。如果占空比是5:5,就是一个中间亮度,如果高低比是1:9,是一个比较亮的亮度,如果高低是0:10,这时全部是低电平,就是最亮的。实际上应用中,

14、电视屏幕墙中的几十百万LED象素都是这样控制的,而且每一个象素都有红绿蓝3个LED,每个LED可以变化的亮度是几百到几万或者更多的级别,以实现真彩色的显示。还有在您的手机中,背光灯的亮度如果是可以变化的,也应该是这种工作方式。目前的城市彩灯也有很多都使用了LED,需要控制亮度是也是PWM控制。在程序中,我们将定时器2溢出定为1/1200秒。每10次脉冲输出一个120HZ频率。这每10次脉冲再用来控制高低电平的10个比值。这样,在每个1/120秒的方波周期中,我们都可以改变方波的输出占空比,从而控制LED灯的亮度。3.系统总体结构3.1系统结构框图:3.2主要设计方框图如下: 扬声器发声 数模转

15、换单片机处理降压整流电压采集 3.3系统原理图4.硬件设计4.1主要芯片介绍4.1.1 ATMEGA16ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与运算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。

16、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转换器、

17、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许

18、程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16 具有一整套的编程与系统开发工具,包括:C 语言编译器、宏汇编、 程序调试

19、器/软件仿真器、仿真器及评估板。ATMEGA16 引脚功能引脚名称及引脚功能说明VCC 电源正GND电源地端口A(PA7.PA0)端口A 做为A/D转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7.PB0)端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将

20、输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也可以用做其他不同的特殊功能.端口C(PC7.PC0)端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 也可以用做其他不同的特殊功能.端口D(PD7.PD0)端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻

21、。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能.RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。门限时间见P36Table 15。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1反向振荡放大器与片内时钟操作电路的输入端。XTAL2反向振荡放大器的输出端。AVCCAVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。ARE

22、FA/D 的模拟基准输入引脚。ATMEGA16内核介绍右边为AVR 结构的方框图为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的FLASH。ATmega16内部框图快速访问寄存器文件包括32 个8 位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的ALU 操作。在典型的ALU 操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅

23、需一个时钟周期。寄存器文件里有6 个寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16 位的X、Y、Z 寄存器。ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。程序流程通过有/ 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长度为16 位,亦即每个程序存储器地址都包含一条16 位或32 位的指令。程序存储器空间分为两个区:引导程序区(Boot 区) 和应用程序区。这两个

24、区都有专门的锁定位以实现读和读/写保护。用于写应用程序区的SPM 指令必须位于引导程序区。在中断和调用子程序时返回地址的程序计数器(PC) 保存于堆栈之中。堆栈位于通用数据SRAM,因此其深度仅受限于SRAM 的大小。在复位例程里用户首先要初始化堆栈指针SP。这个指针位于I/O 空间,可以进行读写访问。数据SRAM 可以通过5 种不同的寻址模式进行访问。AVR存储器空间为线性的平面结构。AVR有一个灵活的中断模块。控制寄存器位于I/O空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关,中断向量地址越低,优先级越高。 I/O存

25、储器空间包含64 个可以直接寻址的地址,作为CPU 外设的控制寄存器、SPI,以及其他I/O 功能。映射到数据空间即为寄存器文件之后的地址0x20 - 0x5F。4.1.2 MAX515MAX515是Maxim 公司生产的一种低功耗的电压输出型10 位串行D/A 转换器,兼容SPI接口,MAX515固定增益为2,用+5V 单电源工作。本例运行时,通过调节RV1向单片机输入模拟电压,单片机将A/D 转换后的数字量输出给MAX515,经D/A 转换后所输出的模拟电压控制LED亮度变化。4.2 最小系统振荡电路:本次设计采用的是1M的晶振,电路图如图所示LED显示电路5.软件设计5.1系统软件设计整

26、体思路一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,采用与AVR系列单片机相对应的C语言和结构化程序设计方法进行软件编程。C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备

27、很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件。具体应用比如单片机以及嵌入式系统开发。5.2 系统软件设计的一般原则在单片机应用开发中代码使用效率、单片机的抗干扰性以及软件可靠性是实际工程设计的重点。 单片机应用软件系统设计包括功能模块划分、程序流程确立、模块接口设计以及程序代码编写。我们依据系统的功能要求,将整体软件系统分割成若干个独立的程序模块。这些程序模块可以是几条语句的集合、功能函数或程序文件。随后,根据个程序模块的实现功能写出流程,一般需要写出具体的实现功能描述。程序代码通常采用汇编语言或高级语言(C语言)编写。 本设计采用C语言编程,在此必

28、须注意以下问题:(1)提高程序代码效率必须熟悉当前使用的C语言编译器,试验每条C语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道代码效率。(2)减少程序错误我们在编写程序时,要注重考虑如下方面。1物理参数 2资源参数 3应用参数 4过程参数(3)单片机的抗干扰性防止干扰最有效的方法是去除干扰源、隔离干扰路径。单片机干扰最常见的现象就是复位,导致程序运行异常。设计系统是一般需要添加一个“看门狗”监控模块,在系统出现不可逆转的干扰时,监控模块将重启系统,并从断点处继续执行。(4)系统的可靠性1要测试单片机软件功能的完善性。2上电、掉电测试。3系统耗损测试。5. 3系统软件设计的步骤系统

29、进行软件设计时,先要对本课题硬件有一个熟练的掌握,知道系统的组成,数据的传输,信号是如何被控制的,以及信号的显示。然后进行软件设计时,先搞清楚各个部分的子程序及他们的流程图,然后进行C语言编程,最后将它们系统的编程.本次科研实践,要求利用AVR系列单片机进行设计。故本次设计的程序利用软件AVR Studio 4在Win 2007环境下进行调试运行。5.4软件AVR Studio 4的应用 本次设计是利用ATmega16作为单片机的。设计程序,应用AVR Studio 4步骤为:(1)打开AVR Studio 4软件,选择NEW Project。(2)选择AVR GCC环境,输入文件名,选择文件位置。(3)选择调试平台和芯片型号。左边的Debug Platform框为选择调试平台,要根据实际使用的调试工具做选择。这里是模拟仿真,选择AVR Simulator。右边的Device框选择所用的单片机型号,这里选择ATmega16。 选择完毕,点击Finish,工程创建结束。 5.5程序设计及调试5.5.1仿真开发系

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1