单片机
返回首页

和大家分享一个AVR单片机学习经验

2019-11-25 来源:51hei

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 区大小的设置


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章