没有合适的资源?快使用搜索试试~ 我知道了~
AVR单片机C语言高级程序设计
5星 · 超过95%的资源 需积分: 15 33 下载量 189 浏览量
2011-04-21
23:09:07
上传
评论
收藏 2.91MB DOC 举报
温馨提示
试读
45页
为初学者学习AVR单片机提供了一些学习资料,使初学者快速掌握AVR单片机的开发过程。
资源推荐
资源详情
资源评论
AVR 单片机 C 语言高级程序设计
前言................................................................................................................................................ 2
第 1 章 概述................................................................................................................................... 3
1.1 提高编制单片机应用程序效率最好的办法是采用 C 语言编程.....................................4
1.2 C 语言具有突出的优点.................................................................................................... 5
1.3 AVR 单片机的 C 编译器简介........................................................................................... 6
第二章 AVR 单片机简介及主要特性............................................................................................. 7
2.1 AVR 单片机简介及主要特性............................................................................................ 7
2.2 学习开发 AVR 单片机用到的实验工具及器材................................................................8
第 3 章 AVR 单片机开发软件的安装及初步使用.......................................................................15
3.1 ICCAVR6.31A C 语言编译器安装.................................................................................... 15
3.2 AVR Studio 集成开发环境安装....................................................................................... 20
3.3 PonyProg2000 下载软件安装......................................................................................... 20
3.4 我们的第一个 AVR 入门程序.......................................................................................21
第 4 章 AVR DEMO 单片机综合试验板原理介绍及使用............................................................39
4.1 AVR DEMO 单片机综合试验板......................................................................................39
4.2ATMEAG16L 单片机的主要特点与内部组成..................................................................40
4.3 使用 JTAGICE 仿真器(JTAG ICE)调试 AVR DEMO 单片机综合试验板.......................42
前言
世界进入 世纪后,由于电子技术及计算机技术的迅猛发展,新型电子
产品的更新换代速度越来越快。以单片机为核心构成的智能化产品具有体积小、
功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成
的经典系统,蚕食着传统数字电路与模拟电路固有的领地。
从前,汇编语言是单片机工程师进行软件开发的唯一选择,但汇编语言程
序的可读性和可移植性较差,采用汇编语言编写单片机应用系统程序的周期长,
而且调试和排错也比较困难。许多读者都发现,采用汇编语言设计一个大型复
杂程序时,可读性较困难,往往隔一段时间再看,又要花脑力从头再来。并且
不同类型的单片机,必须采用不同的汇编语言来编写,这是因为汇编语言完全
依赖于单片机硬件。这样,对开发者而言,如果由于项目的变化而经常变更单
片机类型,其开发的难度是可想而知的。因为对于学习一种单片机汇编语言开
发,总少不了学习、探索、实践、进步这样一个过程,这个过程少则半年,多
则 年,等你学完后再搞出产品,也许商机已消失。随着社会竞争的日益激
烈,开发效率已成为商战致胜的最重要法宝之一。
为了提高编制单片机系统和应用程序的效率,改善程序的可读性和可移植
性,最好的办法是采用高级语言编程。目前, 语言逐渐成为国内外开发单片
机的主流语言。
语言是一种通用的编译型结构化计算机程序设计语言,在国际上十分流
行,它兼顾了多种高级语言的特点,并具备汇编语言的功能。它支持当前程序
设计中广泛采用的由顶向下的结构化程序设计技术。一般的高级语言难以实现
汇编语言对于计算机硬件直接进行操作(如对内存地址的操作、移位操作等)
的功能,而 语言既具有一般高级语言的特点,又能直接对计算机的硬件进行
操作。 语言有功能丰富的库函数、运算速度快、编译效率高,并且采用 语
言编写的程序能够很容易地在不同类型的计算机之间进行移植。因此, 语言
的应用范围越来越广泛,用 语言进行单片机程序设计是单片机开发与应用的
必然趋势。对汇编语言掌握到只要可以读懂程序,在时间要求比较严格的模块
中进行程序的优化即可。采用 语言不必对单片机和硬件接口的结构有很深入
的了解,编译器可以自动完成变量的存贮单元的分配,编程者就可以专注于应
用软件部分的设计,大大加快了软件的开发速度。统计资料表明,不同单片机
的 语言编译程序 的代码是公共的,采用 语言可以很容易地进行单片
机的程序移植工作,有利于产品中的单片机重新选型。 语言的编译效率也很
高,对于同一个问题,用 语言编写的程序生成代码的效率仅比用汇编语言编
写的程序低 ,由于现在片上 (或 )空间做到
字节(或更大)的单片机比比皆是,因此代码效率所差的
已经不是重要问题。至于对开发速度、软件质量、结构严谨、程序坚固等方面
进行综合评述的话,则 语言的完美绝非是汇编语言编程所能比拟的。
本书以初学者为对象,从零开始,循序渐进地讲解当前最热门的 单片
机的 语言高级程序设计,在介绍 单片机的各单元部分基本特性的同时,
使用入门难度浅、程序长度短且又能立竿见影的初级实例,详细介绍了如何使
用 的片上资源,帮助初学者快速掌握 单片机的高效设计。
最后 章详细介绍了 个以 单片机为核心的实际产品的软硬件设计。
随书所附的光盘中提供了本书的所有软件设计程序文件,读者朋友可参考。
本书的编写工作得到了中国电力出版社大力支持,出版社的资深编辑刘炽
老师做了大量耐心细致的工作,使得本书得以顺利完成,在此表示衷心感谢。
由于作者水平有限,必定还存在不少缺点或漏洞,诚挚欢迎广大读者提出
意见并不吝赐教。
第 1 章 概述
自从笔者出版了《手把手教你学单片机》(北京航空航天大学出版社出
版)一书后,由于教学方式新颖独特,入门难度明显降低,结合边学边练的实
训模式,很快有一大批读者入了单片机这扇门。据不完全统计,全国各地(包
括港澳台地区)跟着《手把手教你学单片机》学习的读者超过 万名,其中
不少读者已取得了丰硕的成果。有的读者给笔者来电说研制的“包装线控制器”
已稳定运行数月,还有的读者利用单片机做“霓虹灯程序控制器”并投放市
场,……等等。总之,《手把手教你学单片机》使不少读者从传统的电子技术
领域步入了微型计算机领域,进入了一个暂新的天地。
《手把手教你学单片机》一书是以汇编语言为主进行讲解实验的。所谓汇
编语言就是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的
一种语言。汇编语言的主要优点是占用资源少、程序执行效率高。作为初学者
必须基本掌握汇编语言的设计方法,因为汇编语言直接操作计算机的硬件,学
习汇编语言对于了解单片机的硬件构造是有帮助的。
从前,汇编语言是单片机工程师进行软件开发的唯一选择,但汇编语言程
序的可读性和可移植性较差,采用汇编语言编写单片机应用系统程序的周期长,
而且调试和排错也比较困难。许多读者都发现,采用汇编语言设计一个大型复
杂程序时,可读性较困难,往往隔一段时间再看,又要花脑力从头再来。更为
重要的是,随着社会竞争的日益激烈,开发效率已成为商战致胜的最重要法宝
之一。
大家知道,不同类型内核的单片机,其指令系统是不一样的,因此用来编
写程序的汇编语言也是不一样的,这样就产生了很严重的问题。例如:我们原
来是学 系列单片机的,也做过许多产品,创造出一定的经济效益。但是,
忽然有一天,有客户要求用 单片机开发一款产品,其利益回报也相当不错,
但是你怎么办呢?重新开始学 的汇编语言?!等到学好学熟起码要半年
(有些人等到会熟练开发产品可能要一年以上的时间),客户会等不及,等半
年后也许商机已消失。这只是其中的一个难题,因为现在新型的单片机层出不
穷,如果你的一些客户经常拿不同的单片机要你开发设计,那你怎么办?要较
好地解决这些问题,你只能采用高级语言编程了。目前在单片机中, 语言是
首选的高级开发语言。
1.1 提高编制单片机应用程序效率最好的办法是采用 C 语言
编程
为了提高编制计算机系统和应用程序的效率,改善程序的可读性和可移植
性,最好的办法是采用高级语言编程。目前, 语言逐渐成为国内外开发单片
机的主流语言。
语言是一种通用的编译型结构化计算机程序设计语言,在国际上十分流
行,它兼顾了多种高级语言的特点,并具备汇编语言的功能。它支持当前程序
设计中广泛采用的由顶向下的结构化程序设计技术。一般的高级语言难以实现
汇编语言对于计算机硬件直接进行操作(如对内存地址的操作、移位操作等)
的功能,而 语言既具有一般高级语言的特点,又能直接对计算机的硬件进行
操作。 语言有功能丰富的库函数、运算速度快、编译效率高,并且采用 语
言编写的程序能够很容易地在不同类型的计算机之间进行移植。因此, 语言
的应用范围越来越广泛。
用 语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件
的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。
因此,用 语言进行单片机程序设计是单片机开发与应用的必然趋势。对
汇编语言掌握到只要可以读懂程序,在时间要求比较严格的模块中进行程序的
优化即可。采用 语言进行设计也不必对单片机和硬件接口的结构有很深入的
了解,编译器可以自动完成变量存贮单元的分配,编程者就可以专注于应用软
件部分的设计,大大加快了软件的开发速度。采用 语言可以很容易地进行单
片机的程序移植工作,有利于产品中的单片机重新选型。
语言的模块化程序结构特点,可以使程序模块大家共享,不断丰富。
语言可读性的特点,更容易使大家可以借鉴前人的开发经验,提高自己的软件
设计水平。采用 语言,可针对单片机常用的接口芯片编制通用的驱动函数,
可针对常用的功能模块、算法等编制相应的函数,这些函数经过归纳整理可形
成专家库函数,供广大的工程技术人员和单片机爱好者使用完善,这样可大大
提高国内单片机软件设计水平。
过去长时间困扰人们的“高级语言产生代码太长,运行速度太慢不适合单片
机使用”的致命缺点已被大幅度地克服。目前, 系列单片机的 语言编译
代码长度,已超过中等程序员的水平。而且, 系列单片机片上
、 空间都很大、运行速度很快,代码效率所差的 已
经不是什么重要问题。关于速度优化的问题,只要有好的仿真器的帮助,用人
工优化关键代码就是很简单的事了。至于谈到开发速度、软件质量、结构严谨、
程序坚固等方面的话,则 语言的完美绝非是汇编语言编程所能比拟的。
1.2 C 语言具有突出的优点
语言简洁,使用方便灵活
语言是现有程序设计语言中规模最小的语言之一,而小的语言体系往往
能设计出较好的程序。 语言的关键字很少, 标准一共只有 个关键
字, 种控制语句,压缩了一切不必要的成份。 语言的书写形式比较自由,
表达方法简洁,使用一些简单的方法就可以构造出相当复杂的数据类型和程序
结构。
可移植性好
用过汇编语言的读者都知道,即使是功能完全相同的一种程序,对于不同
的单片机,必须采用不同的汇编语言来编写。这是因为汇编语言完全依赖于单
片机硬件。而现代社会中新器件的更新换代速度非常快,也许我们每年都要跟
新的单片机打交道。如果每接触一种新的单片机就要学习一次新的汇编语言,
那么也许我们将一事无成,因为每学一种新的汇编语言,少则几月,多则上年,
那么我们还有多少时间真正用于产品开发呢?
语言是通过编译来得到可执行代码的,统计资料表明,不同机器上的
语言编译程序 的代码是公共的, 语言的编译程序便于移植,从而使在一
种单片机上使用的 语言程序,可以不加修改或稍加修改即可方便地移植到另
一种结构类型的单片机上去。这大大增强了我们使用各种单片机进行产品开发
的能力。
表达能力强
语言具有丰富的数据结构类型,可以根据需要采用整型、实型、字符型、
数组类型、指针类型、结构类型、联合类型、枚举类型等多种数据类型来实现
剩余44页未读,继续阅读
资源评论
- yangtaojsw2012-12-04非常实用的书。很好。很及时。正需要。
- xiabu192014-06-12比较实用的书籍。
- shi062112015-04-05好书,对初学者很有用
- Chenboshi012015-01-18好书,对初学者很有用。
goust51
- 粉丝: 3
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功