2014年AVR-C代码测试.pptVIP

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对器件编程 设定 “Release” 为当前配置 “Make” the program: Project - Make Press F9 Toolbutton 可执行程序位于 RELEASE\EXE 目录 设置 AVR ISP 启动 Atmel AVR ISP 软件 Make a new project Project - New Project: 选择 AT90S/LS8535 加入 Title, Project-ID 和 Comments 设置 AVR ISP 选择编程窗口 加载Intel-Hex文件(TestProg.hex) - File - Load 对器件编程 Program - Autoprogram F5 Pushbutton 测试应用程序 Main函数 “main” 是所有C程序的入口点 不要加入参数,也不要返回值 语法: void main(void) { /* 代码 */ } 访问外围 所有I/O寄存器在头文件里都被定义为特殊功能寄存器 象普通变量一样访问 #include io8515.h /* 定义 8515 */ void main(void) { DDRD = 0xFF; /* Port D 输出 */ } 例 1: 读/写口 #include io8515.h /* 定义 AT90S8515 */ void main(void) { char c; DDRB = 0xFF; /* PortB 输出 */ for(;;) /* 死循环 */ { c = PIND; /* 读 Port D */ PORTB = c; /* 回写到 Port B */ } } 例 2: 延时函数 #include io8515.h /* 定义 8515 */ void delay(unsigned int delayValue) { unsigned int i; for(i=0;idelayValue;i++) /* 循环 */ ; /* Do nothing */ } Example 2 Continued void main(void) { unsigned char runner = 0x01; DDRB = 0xff; /* Port B 输出 */ for (;;) /* 死循环 */ { if (runner) runner = 1; else runner = 0x01; PORTB = runner; /* 设置 LED */ delay(100); /* 调用延时函数 */ } } 例 3: 读/写 EEPROM /* 利用IAR标准I/O函数来读/写 EEPROM */ #include io8515.h #include ina90.h void main(void) { char temp = 0; _EEPUT(0x10,temp); /* 写EEPROM 地址:0x10 */ _EEGET(temp,0x10); /* 读EEPROM 地址: 0x10 */ } * * * * * * * * * * * * * * * * * * 16 位指令 小数值的加减 适合于索引变量和指针操作 软件堆栈 Non-destructive comparison 带进位比较 Zero传播 无需保存结果 可使用所有形式的跳转 CP R16,R24 CPC R17,R25 CPC R18,R26 CPC R19,R27 Switch 支持 Switches在CASE语句中经常遇到 Straight forward approach 效率低 间接跳转适合于紧凑的switch结构 switch由通用库管理 摘 要 AVR结构从一开始就是针对高级语言设计的 Atmel与IAR在结构和指令调整上的合作 从而编译器可以产生高效的代码 减少代码的提示和诀窍 Efficient C-coding for AVR Assembly 与 C 可以完全控制资源 在小应用当中可以产生紧凑的、高速的代码 在大的应用当中代码效率低 可读性差(Cryptic code) 不好维护 不易移植(Non-portab

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档