Programmer_Notepad_的配置与_AVRGCC_入门.pdf

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Programmer_Notepad_的配置与_AVRGCC_入门

Programmer Notepad 的配置与 AVRGCC 入门(一) 单片机AVR的编程工具很多,有C,ASM,PASCAL,BASIC等等。除ASM由ATMEL公司免费提供外,其 它大多数的工具都是需要收费的。而C编译器更是其中收费最高的编译器。但也有例外,那就是GCC—— 它不但免费而且功能也几乎是“最强”的。所以我作为入门者,就开始学习它了! 一、 单片机编程 1、 单片机与电脑的编程有些许不同,它除一些必要地算法外,更重要的是对端口的操作。如开关量 采集、开关量控制输出、模拟量的输入、通讯的操作、显示器与键的控制等等都需要操作端口。 2、 电脑存储永久数据一般都在硬盘等介质中。而单片机则存放在EPROM、EEPROM、FLASH等存储器中。 3、 通讯接口的编程对单片机来说是至关重要的,特别在工控、网络等的应用中犹为重要。 4、 单片机的编程与电脑编程相比有诸多限制。这就要求编程者对单片机硬件有一定的了解。 二、 AVR单片机编程 1、 AVR单片的硬件:我们以ATMega 16为例为说明一下AVR单片机吧! 这是ATMEGA 16的引脚及其功能图(来自其DataSheet) A、 从图中我们可以看出有4个8位端口共32 个引脚,大多有双重功能。它们分别命名为PORTA、PORTB、 PORTC、PORTD。 B、 PORTA具备普通IO口功能外还有AD转换功能,其精度可以达到10位,即采集到的ADC的值最大不超 过1023(0-1023),对应外面实际电压值的精度需要一定的简单换算(主要看其参考电压)。如参考电压 为2.5V,则有 2.5V为1023,则其精度为2.5V/1023就是0.00244V。如参考电压为5V,则有5V/1023 也就 是0.0049V。 C、 PORTB口除了基本的IO功能外,特别要提的是PB4、5、6、7的功能,它是SPI(同步串行接口),更 重要的是,它可以用来下载程序。 D、 其它的暂且不说,必竟不是AVR单片机的介绍文章嘛。 2、 AVR单片机的软件: 软件当然是用来控控制这些接口的运作及其代表的含义的。这也是个非常大的问题,如果你一点都不懂软 件,请也找本计算机编程的书看看吧。 三、 开始AVRGCC编程吧 好了,下面我们来看一个简单的程序吧。 在WinAVR的Programmer NotePad 2中的图: 图2 执行Make All 后,生成HEX 文件(本例中的文件名2.HEX)。以下是它的全过程。 make.exe all begin avr-gcc (GCC) 3.4.1 //告知avr-gcc的版本号 Copyright (C)2004 Free Software Foundation,Inc. //编译器所属于公司及其版权信息 This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. //这是ELF文件的一些信息,ELF文件用于调试。 Size before: //转换前的ELF文件信息 2.elf : section size addr .text 208 0 .data 0 8388704 .bss 0 8388704 .noinit 0 8388704 .eeprom 0 8454144 .stab 780 0 .stabstr 1469 0 Total 2457 Converting to AVR Extended COFF: 2.cof//将ELF文件转换成AVR Studio能够接受的格式 avr-objcopy --debugging --change-section-address .data-0x800000 --change-secti

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档