导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[guest]《AVR-GCC与AVR单片机C语言开发



No.65186
作者:guest
邮件:guest@guest.com
ID:6
登陆:16560次
文章数:7648篇
最后登陆IP:219.68.9.43
最后登陆:2005/5/20 1:37:44
注册:2003/3/10 16:21:00
财富:35062
发帖时间:2004/10/26 10:48:48
发贴者IP:220.195.161.236
标题:guest:《AVR-GCC与AVR单片机C语言开发》一书已经正式出版
摘要:No.65186《AVR-GCC与AVR单片机C语言开发》一书已经正式出版 在这里贴出内容简介和目录
欢迎到我们的网
内容简介     本书以AVRGCC的Windows版本WinAVR20040404为例,介绍使用AVR-GCC开发AVR单片机的方法。首先介绍AVR单片机的特点,使读者对AVR单片机有整体的印象。随后简单地介绍了C语言的语法和AVR-GCC的函数库avr-libc的常用库函数及定义。接下来以ATmega16单片机为例,介绍了AVR单片机常用部件的操作方法。最后,介绍了运行于AVR单片机上的实时操作系统AVRX的使用方法和AVR单片机的调试方法,以供更高层次的读者参考。

    本书适合于有一定单片机基础或者了解一定C语言知识的单片机爱好者、工程技术人员和大专院校的学生学习AVR单片机的C语言开发之用。

    本书附光盘1张,包括书中讲述的WinAVR工具套件AVRStudio,VMLAB等软件,以及Unix平台下开发需要的相关软件和资料。 
 
 

 前言     AVR单片机是ATMEL公司出品的新一代8位单片机,该单片机采用高性能的RISC内核,具有很低的功耗。AVR单片机的内核以时钟振荡器的振荡频率运行,而且绝大部分指令为单周期指令,因此AVR单片机具有非常高的指令执行速度,可达到接近1 MIPS/MHz的性能,运行速度比绝大部分单片机都要高。AVR单片机内部为高级语言进行了优化,用高级语言编写的程序可高效率地生成执行代码。AVR单片机片内集成了大容量的Flash作为程序存储器,可方便地进行改写。AVR单片机在片内集成了EEPROM存储器,可作为数据存储器,避免外接EEPROM存储器的不便。AVR单片机支持ISP功能,部分型号还支持IAP功能,提高了单片机开发的灵活性。AVR单片机很多型号具有可选择的内部振荡器,在要求不高时可代替石英晶体。AVR单片机片内集成了看门狗定时器,可防止程序在运行中跑飞。AVR单片机内部集成了多种外部设备,除了常见的定时器、捕获器、串行接口(UART或USART),很多型号还集成了TWI (兼容于I2C接口)、模拟比较器、低电压复位保护、ADC和PWM控制器;在新型号中,ATEML公司还将USB控制器、射频收发电路等集成入AVR单片机。因此,AVR单片机已经不仅仅是一个用于控制的8位单片机,在有些场合甚至可单独组成一个片上系统(SoC),完成复杂的功能。

    AVR单片机进入国内市场以来,从开始大家都不了解到现在很多人开始尝试使用它,除了该单片机本身性能上的一系列优点外,还与该单片机在开发工具上的便利和编译器的良好支持密不可分。到目前为止,AVR单片机上不仅可使用多种开发工具进行开发,而且包括了烧写器、仿真器、调试器、汇编器、高级语言的编译器、集成开发环境等全套的开发工具链。特别值得一提的是,ATMEL公司出品的免费软件AVR Studio可方便地增加外部编译器等工具,构成一个完整而廉价的集成开发环境,显示了ATMEL公司对AVR单片机强大的支持。

    用高级语言开发单片机具有一系列的优点,它可以使开发人员专注于算法本身,而不是只关心算法的实现细节。高级语言最接近于自然语言,易于理解和记忆。高级语言可方便地在不同系统中进行移植,源代码可不变或只做少量修改。对于AVR这种为高级语言进行过优化设计的单片机,高级语言生成的代码并不比汇编语言生成的代码多占用许多程序空间,执行速度也不会有大幅度的降低。相反却提高了开发的速度,减少了开发的风险,因此,在很多情况下使用高级语言开发单片机是非常有利的。

    GCC编译器最初是由Richard Stallman编写并且现在被广泛使用的C编译器,该编译器本来是GNU项目的一个组成部分。由于该编译器是自由软件,任何人都可以对其修改和传播,一部分程序员编写了GCC的函数库avr-libc,并将其移植到AVR单片机上。用于开发AVR单片机的GCC编译器称为AVR-GCC(也称为gcc-avr)。AVRGCC可自由地获得,而且并不强制收费。目前AVR-GCC可运行在多种主流的操作系统上,包括GNU/Linux,Windows,Mac OS X,Freebsd等,因此使用各种不同系统的开发人员都可以开发AVR单片机。AVR-GCC支持绝大部分AVR单片机,而且受支持的单片机数目正在不断地扩展。可以说,常用的AVR单片机都可以使用AVR-GCC进行开发。AVR-GCC的更新非常迅速,不断有补丁问世。

    笔者在一个偶然的机会接触了AVR单片机,其高速、低功耗和开发方便的优点给笔者留下了很深的印象。在随后的使用过程中,积累了一些经验,并且介绍该单片机给身边的人使用。在这个过程中,笔者看到身边的很多人对AVR单片机不很了解,甚至有一些误解。他们在学习AVR单片机时感到很迷茫,于是觉得有必要写一本完整介绍AVR单片机开发的书籍,使更多的人了解AVR单片机和AVR-GCC软件。在写书的过程中,笔者尽力做到使该书浅显易懂,并对很多初学者会遇到的问题进行了详细讲解,希望以自己的实际经历引导学习AVR单片机的初学者少走一些弯路。本书在后半部分给出了大量的实例,这些都是笔者曾经做过的代码。希望初学者能够仔细研究这些代码,因为这对于理解AVR单片机的编程方法是十分有益的。

    本书在编写过程中得到了广州双龙公司耿德根先生和北京航空航天大学出版社马广云老师的大力支持。另外,杨开老师提供了必要的实验场地及仪器,刘天祥先生提供了一套USB JTAG工具,北京航空航天大学电子信息工程学院的同学提出了许多宝贵意见,在此一并表示衷心的感谢。

    由于编者水平有限,书中难免有不妥甚至错误之处,希望读者批评指正。另外,也可在网站上直接提出建议和意见。网址是:

    考虑到国内的情况,本书未收集AVR-GCC在其他平台包括Linux,Mac OS X,FreeBSD系统上的开发方法,关于这方面的内容请读者参考附录给出的信息自行学习。

编者
2004/08/20
于北京航空航天大学 
 
 

 目录 第1章 AVR基本知识
1.1 AVR各系列单片机简介1
1.2 AVR单片机对C语言的优化3
1.2.1 寻址方式3
1.2.2 零标志位的产生4
1.2.3 算术运算的调整4
1.3 选择合适的AVR单片机5
1.4 选择合适的编程语言6
1.5 AVR单片机C语言编译器简介8
1.5.1 Codevision AVR8
1.5.2 Imagecraft C Compiler 8
1.5.3 AVR-GCC9
1.6 学习的过程10
1.6.1 开始前的准备10
1.6.2 各种有助于学习的资源11

第2章 AVR-GCC编译器及相关开发工具
2.1 WinAVR简介与安装14
2.1.1 WinAVR简介14
2.1.2 WinAVR的安装15
2.2 编辑工具PN简介19
2.2.1 PN简介19
2.2.2 用PN新建一个C文件19
2.2.3 在PN中编译源文件21
2.2.4 在PN中添加工具23
2.2.5 在PN中新建一个工程25
2.3 编译器AVR-GCC26
2.3.1 AVR-GCC简介26
2.3.2 AVR-GCC的编译过程26
2.4 Make及Ma ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:8312毫秒 查询6次