转ST和AVR时都没有系统的看过相关文档,都是根据项目,拿到datasheet,备好工具就开始了,看得最多的就是feature和pins,所以经常在一些细节上疏忽了。在经历过惨痛的教训后,总结出来一些。。。。
1. 通过ISP给Tiny25下载程序时发现内置的EEPROM的数据全部被清掉,重置为0xFF了。经过多次实践,可以这样说:给AVR单片机下载程序时,内部EEPROM的数据全部会被重置,所以,如果想往EEPROM烧些初始化值的话,最好的方式是定义个.eeprom段,在烧完FLASH程序后再将生成的eep文件烧到EEPROM中去,修改Fuse和LockBits是不影响EEPROM数据的。
2. Tiny5的A/D引脚如果悬浮,那么该A/D引脚的AD电压就会受到其他引脚电压的影响。所以,在使用A/D模块时,确保每个A/D引脚都不是悬浮状态,不用的引脚可以上拉或者下拉,这一原则不仅对A/D引脚,对其他数字引脚也应该如此处理,不留悬浮引脚,减少隐患,减少EMI。
3. 打开AVR单片机的LockBits后,再读FLASH程序和EEPROM数据都会是FF,但可以重新给FLASH下载程序,下载程序后,LockBits自动清掉,默认是关闭的。
关键字:AVR单片机 EEPROM Tiny5
引用地址:
AVR单片机的几个重要总结
推荐阅读最新更新时间:2024-03-16 13:26
超实用的两种调试AVR单片机的方法
对于长期玩单片机的朋友都知道,程序运行BUG在所难免,重复性的调试过程永远是痛苦的,加入你对所使用的IDE应用还不是很熟悉,对于他的在线仿真调试工具使用不是很顺手,那么下边的方法可能会帮到你哦。 为了可以更好地帮助到哪些处于困难阶段的朋友,我特此针对于通用型单片机和AVR系列单片机的特点,总结了两种可以调试程序的方法,仅供于大家参考使用! If you have a better way, please leave a comment below. 方法一:通用方法:想知道程序执行到那里或者是不是到达了这里,可以在该处加上流水灯的闪烁程序。一目了然。代码实现方法如下: 开头定义一下 #define DEBUG_HE
[单片机]
简述AVR单片机定时器
AVR定时器的要点介绍 M16的T1 16位定时器一共有15种工作模式,其他2个8位定时器(T0/T2)相对简单,除了T2有异步工作模式用于RTC应用外 (可以利用溢出中断和比较匹配中断作定时功能) 分5种工作类型 1 普通模式 WGM1=0 跟51的普通模式差不多,有TOV1溢出中断,发生于TOP时 1 采用内部计数时钟 用于 ICP捕捉输入场合---测量脉宽/红外解码 (捕捉输入功能可以工作在多种模式下,而不单单只是普通模式) 2 采用外部计数脉冲输入 用于 计数,测频 其他的应用,采用其他模式更为方便,不需要像51般费神 2 CTC模式 WGM1=4,12 跟51的自动重载模式差
[单片机]
PIC XC8 EEPROM操作
要做一个报警功能的东东,要求可以通过遥控来改变遥控内容。由于对系统的稳定性要求很高,所以用了看门狗。 可是看门狗复位会引起所有寄存器重置,恢复到默认状态。遥控要改变的内容也被复位了,所以只能借助EEPROM来存储报警标志了。 我用的是MPLAB X IDE +XC8 编译器,XC8在语法上跟PICC有点不一样 EEPROM操作有两种方法,在该存储空间中定义命名变量,或者使用块访问程序来读取或写入EEPROM。 1. EEPROM 对象 __eeprom限定符可用于指示应将变量定位到EEPROM中。 例 __eeprom int serialNos 将int 类型数组serialNos 放到EEPROM中,注意,
[单片机]
轻触式开关电路在AVR单片机中的应用
引 言: 单键开关电路已经广泛应用于PDA、手机和电子词典等数码产品中,其实现方式多种多样。一般可采用RS触发器、计数器以及采用555集成电路等等。在单片机的一些实际应用中,以上的实现方式会增加整个电路的复杂度,不能达到简洁、实用的效果。本文将介绍一种可以在单片机应用中实现的,简易、稳定的轻触式单键开关电路。 1 电路原理 如图1所示,DC-DC为一个带有关断控制端的直流稳压电源芯片,MCU是一个单片机。当按下S1时,Q1和D1导通,稳压芯片工作,为单片机供电。单片机马上将相应的I/O引脚置为输出高,这时Q1和Q2导通,整个电路进入工作状态。而后单片机再将这个I/O引脚设置为输入,由于上拉电阻R4的存在,Q1和Q2一直导通。
[单片机]
AVR单片机——中断系统
中断的优点 中断函数只在中断触发源触发的时候才会执行,其他时间不执行. 如果不使用中断而且如果要根据某个端口的变化而作相应的函数操作,就必须不断地查询端口的信号,而中断不用,只要端口一有变化,就会系统就会自动进入中断函数, 我觉得这就是中断的目的,也是优点. 中断优先级 1) AVR单片机在同一个优先级中,中断向量入口地址越低,其优先级越高。AVR单片机在响应中断以后,会禁止系统响应其余中断。如果程序需要在某个中断服务程序中响应其它中断事件,可以在该中断服务程序中用重新使能全局中断即可。否则,AVR单片机只有在退出中断进程时,才重新使能全局中断。 2) AVR(至少是ATmega16)单片机采用固定的硬件优先
[单片机]
PS/2子程序
/******************************************************************** 目 的: 建立PS/2的SimpleSoft测试程序(软件查询读取PS/2接收到的数据) 目标系统: 基于AVR单片机 应用软件: ICCAVR 版 本: Version 1.0 *******************************************************************
[单片机]
Cortex-M3 (NXP LPC1788)之EEPROM存储器
EEPROM是一种非易失性存储器,主要用于存储相对少量的数据,如存储一些系统的配置信息。通过系统的EEPROM控制模块可以轻松的进行EERPOM的存储控制。 要正确使用EPPROM需要配置掉电寄存器EEPWRDWN确定EEPROM的工作模式,配置EEPROM时钟分频器寄存器,使EPPROM工作在375KHZ。下面对EPPROM的读和写数据进行介绍。 EEPROM存储器的访问有三种操作方式:读、写、擦除/编程。对EPPROM中写数据分成两个单独的操作:写和擦除/编程。第一步写操作并不是真正把数据写入EPPROM的存储介质中,而只是更新被称作 页寄存器 的临时数据寄存器。只有执行下一步 擦除/编程 操作才会真正
[单片机]