单片机寻址方式小结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳得技通电子有限公司

1

首页>> AVR 单片机开发工具>>

AVR 系列单片机(MCU)问答

问: 我想使用AVR 单片机中的Mega 系列,有哪些开发工具支持这种单片机?

答: AVR 单片机中的Mega 系列有一套完善的开发工具评估/编程板,

ATMEL 的STK500(980 元/套)起步工具包是适用于开发Atmega103 芯片的对芯片的编程是通过在系统编程(ISP)接口完成的

仿真器

ATMEL 的ATICE30 可适用于实时仿真

C 编译器:

所有的C 编译器均已在ATMEL 网站上有关第三方工具供应商的网页上列出;ATMEL 公司在它的网站:

上还提供了许多自由软件它们可用于对AVR 单片机的程序进行汇编和模拟这些软件可以自由下载,上述产品也可通过ATMEL

授权的地区分销商和销售代理获得。

问: 有哪些支持AVR 的起步工具包

答: STK100,SL-AVR,SL-OKAVR,SL-AVRL 支持AVR 的Tiny 系列单片机

STK200,SL-AVR,SL-OKAVR,SL-AVRL 支持AVR 单片机即AT90S 系列

STK300,SL-AVR,SL-OKAVR,SL-AVRL 还支持AVR 的Mega103 单片机.

STK500,SL-AVR,SL-OKAVR,SL-AVRL 还支持AVR 的Mega103 单片机

所有的起步工具包都包括按钮LED 指示灯RS232 通信接口I/O 口通过分布在PCB 板边沿的连接插头可以使用STK200/300

起步工具包还有一条在线编程ISP 电缆它可用以对AVR 芯片编程STK300 还提供了AVR 应用程序生成器可用来生成外围设

备的初始化代码

问: 即使看门狗没有使用我也有时在AVR Studio 调试软件的状态栏中看到“WDT reset” WDT 复位的信息这是为什么?

答: 当目标器件运行在较高的频率大于6 MHZ)时来自扁平电缆FPC 电缆的噪声信号可能错误地触发WDT 复位检测电路这对

程序的仿真和执行没有影响它们不会由于噪声的原因而产生复位噪声仅仅影响AVR Studio 调试软件的信息处理在这种情况

下不要理睬这个信息当目标器件运行在较低的频率小于或等于4 MHZ 时应该不会出现这个问题

问: 我刚买了一台ICE 200 仿真器在使用不同的芯片和不同的时间运行诊断程序时都是失败的而其它一切正常这是什么原

因?

答: 在ICE200 仿真器的第一批产品中是一个固件监控程序的问题而导致这个现象这个现象可以通过升级新版本的监控程

序来修正当使用2.02 版或更高版本的AVR Studio 软件时AVRStudio 将读取固件版本并检查这个问题如果你的ICE200 需

要升级它会引导你完成升级处理这个检查工作只有在装载应用程序时才能被执行而当运行诊断程序时是不被启动的如果你

首先尝试运行诊断程序诊断仿真器诊断程序不会检查固件版本并且可能诊断失败如果你碰

巧有这种情况不要理睬诊断失败

而直接去装载应用程序这时你将可以升级ICE200 的监控程序在升级后再回过来运行诊断程序诊断结果应该全部是正确了

(注现在销售的ICE200 已没有这个问题了)

问: 如何检查我的AVR 仿真器的版本号?

答: 在仿真器被连接的时候打开AVR Studio 程序选择菜单中Help->About->Info 来获得你的仿真器的有关信息

AT90ICEPRO 在1.20 之前的版本和ATmegaICE 在1.11 之前的版本是不能被AVR Studio 软件检测到的较新的版本已经有了

而且可以从Atmel 网站自由下载.

问: 程序在仿真器或单片机中不工作,而在模拟器中看来工作很正常这是什么原因?

答: 这是堆栈指针设置中的常见问题对所有带SRAM 的AVR 单片机堆栈指针必须设置在SRAM 最后的地址

在汇编程序中这样做是正确的

ldi R16 low(RAMEND) 装载堆栈指针的低字节到R16

out SPL R16 输出这个数值到堆栈指针寄存器

ldi R16 high(RAMEND) 装载堆栈指针的高字节到R16

out SPH R16 如果AVR 的SRAM 小于256 字节就将这行注释掉

在C 程序中堆栈指针是在启动代码中自动设置的注意链接文件(XCL 文件)定义了堆栈指针的位置请参考应用笔记AVR032

深圳得技通电子有限公司

2

---- C 编译器的链接文件”

问: 从哪里我能找到完整的AVR 指令集?

答: 指令集在Atmel 的网站的Products->AVR 8 bit RISC->Datasheets 下面的网页上或者直接连接http://www.

/atmel/products/prod200.htm 网页; <>附录

3 AVR 指令速查表

问: 当开始做一个使用AVR 单片机的新项目时最常见最共同问题有哪些?

答: 最常见最共同的错误是忘记对不带硬件堆栈的芯片设置堆栈指针对AT90S8515 单片机上这样做是妥当的

LDI R16 low(RAMEND)

OUT SPL R16

LDI R16 high(RAMEND)

OUT SPH R16

注在ATMEL 的汇编语言源程序中经常将R16 寄存器用temp 符号来代替

另一个常见的错误是将端口作为输出使用时忘记设置端口在AVR 单片机中设置端口作为输出使用是通过写一个1 到数据方

向寄存器(DDR)中完成的比如设置端口PORTB 输出高电平

LDI R16 0xFF 装载十六进制数FF 到寄存器R16

OUT DDRB R16 设置端口PORTB 作为输出使用

OUT PORTB R16 设置端口PORTB 输出高电平

使用AVR 汇编器时第三个常见的错误是在使用装载程序存储器(LPM)指令时指向了程序存贮

相关文档
最新文档