首页 » 科学 » AVR单片机应用经验_措辞_法式

AVR单片机应用经验_措辞_法式

admin 2024-10-02 11:22:26 0

扫一扫用手机浏览

文章目录 [+]

但利用更好的器件只是为设计实现一个好的系统创造了一个好的根本和可能性,如果还采取和沿袭以前传统的硬件和软件设计思想和方法的话,是不能用好AVR的,乃至也不能真正的理解AVR的特点和长处。

功能越好的器件,须要具备更高技能和能力的人来利用和驾驭它。
就象一部好的F1赛车,只有具备高超技能的驾驶员才能充分体会到车的特点,并能最大限度的发挥出车的性能。

AVR单片机应用经验_措辞_法式 AVR单片机应用经验_措辞_法式 科学

AVR具有上手入门快,开拓方便大略的特点,但要充分体会和发挥AVR的优点,还须要运用工程师本身的硬软件设计开拓能力的不断学习、实践提高。

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

提高硬件可靠性的考虑:

.只管即便采取片内晶体、采取低频率的系统时钟、振荡电路的输出小幅度。

.选择得当的启动延时参数

.利用BOD、片内的看门狗

.合理休眠办法的利用

.不用I/O口设定输出低电平

.利用内部的EEProm和寄存器MCUCSR判断复位标志,进行不同的处理

提高软件设计的能力和水平:

只管即便合理采取高等措辞设计编写系统程序。
有许多人认为利用汇编写程序比较精简,而用高等措辞开拓会摧残浪费蹂躏很多程序空间,实在这是一种误解。
对一个有履历的,而且非常熟习某种单片机的汇编高手而言,他是能写出比高等措辞更精简的代码。
而对汇编不是很熟的开拓者、或溘然改换了一种新的单片机,您能担保一定可以写出比高等措辞更简练的代码吗?

高等措辞的优胜性是汇编措辞不能比的:

.程序移植方便

.程序的坚固性

.数学运算的支持

.条理清晰的构造化编程,程序的可掩护性。

.可协同开拓软件,开拓周期短。

现在的高等措辞编译器(如C编译器)已可以产生代码效率很高的机器代码,因此建议大家能用高等措辞实现的程序尽可能利用高等措辞写,在对速率和时序哀求特严的场合可以采取稠浊编程的方法来办理。

更深入和全面的节制各种串行通信协议的规程:

嵌入式系统目前以大量的利用串行接口外围芯片和各种通信接口,如RS232、两线(I2C)、三线(SPI)、单总线、USB、CAN、TCP/IP等。
开拓职员和程序员应理解低层协议,熟习硬件若何和如何实现低层协议,如何定义可靠的上层运用协议,以及低层协议驱动同上层运用协议之间的接口设计(中间层软件的实现)等。

硬件工程师的软件编写能力要提高,采取标准程序编写办法、完善的软件整体框架的设计、良好的数据构造和程序构造系统。
(打算机软件专业的程序设计员对硬件不熟习、大部分是在操作系统支持下编写软件,对低层接口和协议的驱动层以及接口也不理解,每每也编写不出好的单片机系统程序。
)

通信接口的编写应只管即便

.采取中断+缓冲区,

.分层+构造化设计,

.只管即便不该用轮循办法(降落AVR的效率)。
拜会URAT(RS232)驱动+中间层软件示例。

采取好的系统设计模式:

只管即便不该用传统的前后台(中断)系统设计模式,任务之间相互影响和滋扰,无法定时操作。
如设计一个采取动态扫描办法驱动的8位LED数码管显示+动态扫描的44矩阵键盘。

采取TimeTip+状态机设计+CASE构造,实现多任务并走运行系统设计方法。
或韶光触发式的系统设计。
(见:《韶光触发嵌入式系统设计模式》中国电力出版社 2004.6)

移植小型嵌入式操作系统,如UCOS-II。
在网上有些免费的基于AVR的简洁的操作系统。

提高C措辞的编程能力和软件运用水平:

熟习和用好C中的数据构造体、指针运用、内存管理等较高等的运用。

熟习和理解你所利用的高等措辞开拓平台的特点。
这些平台是针对某一类处理器的,包含许多分外的不兼容的语句和扩展的构造、语句、函数等。
只管利用方便,但由于其不透明性和韶光的不愿定性,因此要合理利用。
如C中的getchar()、putchar()等。

AVR有多个开拓平台,每个都有其特点和不敷。
能够综合利用这些平台,相互互补,能够提高开拓效率。
如通过ICC、CVAVR的程序天生器CodeWizard学习和理解AVR的硬件设置,简化打算,快速的天生程序基本模块,如“一个URAT(RS232)低层驱动+中间层软件示例”。

标签:

相关文章

数字密码,探寻代码背后的世界奥秘

在当今这个信息化时代,代码已成为我们生活中不可或缺的一部分。从手机、电脑到智能家居,从互联网到人工智能,代码无处不在。你是否曾想过...

科学 2025-01-07 阅读0 评论0

数字时代,i排版助力企业高效传播

随着互联网的快速发展,数字时代已经到来。在这个信息爆炸的时代,企业如何高效传播,吸引潜在客户,成为了摆在我们面前的一大课题。而i排...

科学 2025-01-07 阅读0 评论0

数字的力量,代码中的奥秘与启示

随着信息技术的飞速发展,数字已经成为我们生活中不可或缺的一部分。从日常生活中的购物、出行到工作、学习,数字无处不在。而在这些数字的...

科学 2025-01-07 阅读0 评论0

敲代码的艺术,编程之美与人生哲学

在当今这个信息爆炸的时代,编程已经成为了现代生活中不可或缺的一部分。作为一项充满挑战与乐趣的技能,编程不仅需要严谨的逻辑思维,更需...

科学 2025-01-07 阅读0 评论0