atmega128在开发应用中应注意的问题

atmega128在开发应用中应注意的问题

ID:13081029

大小:63.50 KB

页数:4页

时间:2018-07-20

atmega128在开发应用中应注意的问题_第1页
atmega128在开发应用中应注意的问题_第2页
atmega128在开发应用中应注意的问题_第3页
atmega128在开发应用中应注意的问题_第4页
资源描述:

《atmega128在开发应用中应注意的问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ATmega128在开发应用中应注意的问题ATmega128是AVR系列中功能最强的单片机,具有如下主要特点:  (1)先进的RISC精简指令集结构:ATmega128具有133条功能强大的指令,大部分指令在单时钟周期内执行;有32b×8个通用工作寄存器;片内带有执行时间为2个时钟周期的硬件乘法器。  (2)非易失性程序和数据存储器:ATmega128具有128KB在线可重复编程Flash、4KB的E2PROM以及4KB内部SRAM。在其BOOT区具有独立的加密位,可通过片内的引导程序实现在系统编程,写操作时真正可读。  (3)具有JTAG接口:通

2、过JTAG接口对Flash、E2PROM熔丝位和加密位编程。  (4)增强的硬件功能:ATmega128具有2个带预分频器和一种比较模式的8位定时/计数器;2个扩充的带预分频器和比较模式、捕获模式的16位定时/计数器;独立振荡器的实时计数器;2通道8位PWM;6通道2~16位精度PWM;8通道10位A/D转换;输出比较调节器;8个单端通道;7个微分通道;2个增益为1x、10x或200x的微分通道;二线(I2C)串行接口;2路可编程串行UART接口;主/从SPI串 行接口;带内部振荡器的可编程看门狗定时器等。  (5)独有的特点:上电复位和可编程的低

3、电压检测;内部可校准的RC振荡器;5种睡眠模式,即空闲模式、ADC噪声抑制模式、省电模式、掉电模式、待命模式和扩展待命模式;可通过软件选择时钟频率;通过1个熔丝选定ATmega103兼容模式;全局上拉禁止。  笔者通过使用ATmega128单片机,总结出在使用ATmega128过程中应注意的问题,希望能给即将使用该单片机的读者提供有用的信息。1 ATmega128的开发工具及其应注意问题  随着用户对编译器的要求越来越高,开发商也在不断地提高编译器对用户的方便程度。目前的大趋势是从用汇编语言开发单片机发展到用C语言开发。笔者在对开发ATmega12

4、8编译器的选择时,考虑到时间上的局限以及开发的方便性等问题,最终选择了ImageCraft的ICCAVR工具。  ICCAVR是一种使用符合ANSI标准的C语言开发微控制器程序的工具。它集合了编译器和工程管理器的集成工作环境(IDE),可以编译生成INTELHEX格式文件。  ICCAVR和人们通常所用的编译器的使用的方法大同小异,故本文不再详述。本文主要对使用中应当注意的问题作一介绍。    (1)该编译器在设置中有一项“ReturnStackSize”,默认值为16,但在程序量很大而且子函数较多的情况下,该默认值就不适合了,编译时会出错。碰到这

5、种情况建议将该选项的值改大。    (2)在经过一段时间的使用后,发现该编译器对C语言的编译效率不是很理想。但设置当中有一编译优化选择项“EnableCodeCompression”,使用它在一定情况下可以减少程序所占的空间。不过当程序在“default”编译优化选择的情况下所占的程序空间达到95%以上时,使用“EnableCodeCompression”编译就会出错。所以笔者认为,虽然ATmega128具有128KB的程序空间,但在使用过程中也应当考虑到数据结构方面的问题。  应用ICCAVR生成hex文件以后,下一步就是将hex文件烧录到ATm

6、ega128中去。笔者选用的软件是PonyProg2000。这是一款操作简单但功能强大的烧录软件,它支持包括AVR、PIC在内的多种单片机型。作者是通过PC机的并口以串行方式连接到ATmega128的JTAG接口的。在烧录的整个过程当中,最关键的问题是芯片晶振的选择以及熔丝的配置。晶振的选择较为简单,只要注意使用外部晶振还是内部晶振,并设置好相应的选项就可以了。由于ATmega128具有IAP(应用中编程)及用户可以在应用程序中对Flash块、加密位等实现擦除和编程等操作功能,而熔丝位的设置正是实现IAP功能的必要条件,因此可以通过ATmega12

7、8的用户手册再根据自己需要的实际情况来进行设置。正确的晶振和熔丝设置都是必不可少的,否则不能正确下载。这一步非常重要应特别注意,以免走弯路。下面介绍使用晶振和熔丝的设置方法。  这里采用PonyProg2000中“configruationandsecuritybits”菜单命令来进行设置,其界面如图1所示。(1)晶振的设置方法  菜单中CKSEL0~CKSEL3是设置晶振的选项。ATmega128由于有内部晶振,所以首先要确定是外部晶振还是内部晶振。表1给出了内、外部晶振的范围。表2和表3给出了内、外部晶振频率的设置方法。    (2)熔丝位的设

8、置方法  通过JTAG接口来实现对熔丝的设置,只要设置好如图1所示的相应位,就可以实现不同的功能。关于熔丝每一位的功能,首

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。