AVR 与传统类型的单片机相比,除了必须能实现原来的一些基本的功能,其在结构体系、 功能部件、性能和可靠性等多方面有很大的提高和改善。 但使用更好的器件只是为设计实现一个好的系统创造了一个好的基础和可能性,如果还 采用和沿袭以前传统的硬件和软件设计思想和方法的话,是不能用好AVR 的,甚至也不能 真正的了解AVR 的特点和长处。
功能越好的器件,需要具备更高技术和能力的人来使用和驾驭它。就象一部好的F1 赛 车,只有具备高超技术的驾驶员才能充分体会到车的特点,并能最大限度的发挥出车的性能。 AVR 具有上手入门快,开发方便简单的特点,但要充分体会和发挥AVR 的优点,还需 要应用工程师本身的硬软件设计开发能力的不断学习、实践提高。
“外行看热闹,内行看门道”,对于有一定基础的嵌入式和单片机系统设计开发的工程师, 不妨先简单尝试一下AVR。
开发环境与工具:PC+下载线+实际的系统板
PC 上的开发软件:
AVR Studio(Free)汇编+汇编调试+高级语言调试+软件仿真ICC、CVAVR、BASCOM-AVR 高级语言程序开发+程序下载。其中一个购买正版全功能,作为主要的开发环境,其它使用DEMO 版,作为辅助及参考。
AVR ISP 下载线:
STK200 and STK200+ and STK300 ISP programmer。通过PC 的打印机口,采用ISP 技 术将系统运行代码(HEX、BIN)和数据写入AVR 芯片的Flash 和EEProm 中,编程AVR 的配置熔丝位和加密位。支持决大多数的AVR 芯片、以及ATMEL 的51 兼容芯片89S8252、 89S52 等。在ICC、CVAVR、BASCOM-AVR、BASCOM-8051 中都内含对该下载线的支持 程序。免费专用的下载程序:SLISP、PonyProg2000 等。
尽量不使用仿真器的建议: 在开发和调试系统程序时,有许多人完全依赖于仿真器,一旦离开了仿真器时就感觉无 从下手。其实,由于AVR 的Flash 存贮器可方便的使用ISP 技术在线的多次擦写,因此建 议尽量不使用(依赖)仿真器来开发和调试程序。
在实际开发过程中,程序的调试可以从下几方面入手:
现在的高级语言编译器(如C 编译器)可以产生效率很高的机器代码,因此建议大家 尽量使用高级语言编写系统程序。
使用Atmel 公司提供AVR Studio 软件模拟仿真环境,以及其他的软件模拟仿真环境 (BASCOM-AVR)。
尽可能使用高级语言编写系统程序。
利用目标板上的LED、LCD 或异步串口。见附件“没有仿真器的情况下如何开发AVR” 的介绍。
提高硬件设计的合理性:
尽量合理和充分使用AVR 片内的资源,如EEPROM、A/D、内部的RC 振荡源。
尽量采用串口通信连接的外围器件,大容量的存储器、LCD 控制器、打印机、不用8279 (LED 数码管+键盘)而使用7279 等。除了必须外扩RAM(如语音和图象),一般不提倡 使用并行扩展(573+译码电路),减小硬件和连线以及PCB 板上错误的出现概率,同时也提 高了系统的可靠性。并行扩展向串行扩展是发展趋势。现在有大量的新的外围器件采用高速 的串行接口,如A/D、D/A、RTC、存储器等。
尽量使用以及在目标板上预留ISP 程序下载接口,或使用IAP 技术。
优点:ISP 接口与I/O 的兼容性比JETAG 好。
缺点:不能在线调试
注意和掌握AVR 配置熔丝位的使用:
. 系统晶振的选择
.BOD 的使用
.启动延时
.Mega8 的PC6 引脚,RESET 与通用I/O 的转换
.JETAG 接口和通用I/O 的转换
.启动向量的转换,BOOT-LOAT 区大小的设置
关键字:AVR 单片机 学习经验
引用地址:
和大家分享一个AVR单片机学习经验
推荐阅读最新更新时间:2024-11-02 14:31
pic单片机使用printf函数
mplab 以及 iar 中printf的问题(下面第一条已验证过雷清生注2017-10-24 20:18) 1、在MPLAB PIC单片机中,要使用PRINTF,要在自己的工程中加入以下函数 void putch(unsigned char byte) { /* output one byte */ while(!TXIF) /* set when register is empty */ continue; TXREG = byte; } 然后加上#include stdio.h 即可 2、在IAR ew8051中,要使用PRINTF,有3个工作 A、工程设置: generat option/library optio
[单片机]
MCU--低功耗处理流程
现在电子产品一般都有要求低功耗,不同的MCU,进入低功耗的处理流程可能不一样,但是大致的流程还是一样。现对MCU进入低功耗的处理流程大致如下: (1)关闭MCU之外的外设电源,例如:RS485、CAN收发器模块的供电; (2)对已初始化的MCU片上外设模块进行反初始化,例如:定时器、ADC等等; (3)如果在低功耗模式下要进行定时唤醒,那此时就初始化RTC功能;如果需要外部中断唤醒,此时就需要配置相应的外部中断; (4)对初始化了的IO口进行反初始化,若IO外部被上拉到高,则配置IO推挽输出高电平;若IO外部被下拉到地,则配置IO口为高阻输入或推挽输出低电平; (5)配置未用到和悬空的IO脚,配置IO为高阻输入
[单片机]
微控制器拨号上网的实现
摘要:介绍了一种在微控制器(单片机)上实现PPP协议,并使其通过ISP连入Internet的方法。分析了PPP协议,论述了软件系统的层次结构和实现难点,重点介绍了协议的简化方法以适应单片机有限的存储资源。
关键词:PPP 微控制器 单片机上网 调制解调器
微控制器(也称单片机)把所有常用的资源,如存储器、模数转换器、通用输入输出口、定时器等,与CPU集成在一个芯片上,具有体积小、功耗低、使用方便的特点,广泛应用于各种嵌入式系统中。随着互联网(Internet)的兴起与普及,使微控制器也接入到互联网,并通过互联网传送数据。便是实现单片机与互联网通信的前提是需要在单片机上实现多种繁杂的互联网协议。而微器一般处理能力较低、程序存储
[应用]
单片机的经验之谈
记得在大学期间做了几个AT89S52单片机的东西,都是很基础的东西,呵呵,遇到一些很诡异的问题,今天刚好有点时间,想把一些经验和大家分享一下,希望能够为正在单片机一线战斗的战友们送去一点希望和帮助! 一、单片机不能下载程序的原因 1.硬件连接是否正确,电源,是否连接正常,在正确的基础上,板子是否有断线以及是否虚焊?注意P1.5,P1.6,P1.7,RST引脚和下载接口是否正确连接了,对了,如果P1.5,P1.6,P1.7用作其他用途也有可能下载不成功,俺就在P1.7上挂了个ds18b20,结果总是检测不到器件,并且在下载线插在板子上的时候,ds18b20无法测温,总是显示0000000. 2.电源波纹是否过大,过大别忘了加旁
[单片机]
基于M—BUS的趣低功耗数据采集系统
引 言 随着社会的迅速发展,智能小区逐渐进人人们的生活,而自动抄表系统是智能小区的重要功能之一。在水、电、气管理方面,采用自动抄表技术,不仅能节约人力资源,更重要的是可提高抄表的准确性,减少因估计或誊写而造成帐单出错的现象,使水、电、气管理部门能及时准确获得数据信息。另外用户不再需要与抄表者预约上门抄表时间,还能迅速查询帐单,所以这种技术越来越受到用户欢迎。 针对目前市场上自动抄表系统价格不菲的现状,设计一种由零功耗磁敏传感器产生脉冲信号,利用MSP430系列超低功耗单片机的捕获功能捕获信号的数据采集系统。该采集系统价格相对低廉,性能可靠,适用于水、煤气、电表的远传采集;数据传输总线选用M-BUS,传输速度快、距离远、可
[单片机]
基于单片机的智能学习型红外空调遥控器
为了解决空调遥控器不兼容问题,设计了一款基于Atmega16单片机的智能空调遥控器。该遥控器采用测量脉冲宽度的方法学习红外信号,同时使用游程编码算法对数据进行压缩后存储,并利用单片机内部定时器PWM模式产生红外载波,成功实现了对红外遥控的学习与再现,并可通过上位机进行控制。经运行测试表明,该智能遥控器操作灵活,性能稳定,为智能遥控器设计提供了一种新方案。 1 引言 本文设计了一款针对空调设备的智能学习型红外遥控器,采用记录脉冲宽度的方法,成功实现了对多种红外空调遥控信号的学习与再现,真正实现了 万能 。本文在阐述了系统的总体结构及硬件设计的基础上,详细研究了系统学习,发送及通信功能的软件设计与实现。 2 系统
[单片机]
单片机的乘除例子
/* ----------------------------------------------------------------------- 双字节的乘法 (R22:R23)*(R24:R25)-- (R20:R21:R22:R23) counter : r26 ----------------------------------------------------------------------- */ mul_sub: clr r20 clr r21 mov
[单片机]
设计高能效 AC-DC 电源不再需要 MCU(和编码)
电网因为诸多原因而被设计成交流电,但几乎每台设备都需要直流电才能运行。 因此,AC-DC 电源几乎无处不在,随着环保意识的加强和能源价格的上涨,此类电源的效率对于降低运行成本和合理利用能源至关重要。 简单地说,效率就是输入功率与输出功率之比。但是,必须要考虑输入功率因数 (PF),即所有 AC 供电设备(包括电源)的有用(实际)功率与总(视在)功率之比。 对于纯阻性负载,PF 将为 1.00(“单位”),但随着视在功率的升高,无功负载会降低 PF,从而导致效率降低。小于 1 的 PF 由异相电压和电流引起,在开关型电源 (SMPS) 等不连续电子负载中常常会出现谐波含量高或电流波形失真的情况。 PF校正 考虑到低
[电源管理]