注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计程序设计综合AVR单片机高级语言BASCOM程序设计与应用

AVR单片机高级语言BASCOM程序设计与应用

AVR单片机高级语言BASCOM程序设计与应用

定 价:¥22.00

作 者: 张茂青主编;李彦超,张敏,耿德根编著
出版社: 北京航空航天大学出版社
丛编项:
标 签: 高级程序语言设计

ISBN: 9787810775663 出版时间: 2005-01-01 包装: 胶版纸
开本: 27cm 页数: 245 字数:  

内容简介

  内容简介目录主要介绍类高级程序设计语言BASIC的AVR单片机开发平台:BASCOMAVR。BASCOMAVR如同BASIC一样,具有程序设计简单易学、用简单的语句可实现较复杂的功能等特点。其开发平台的使用简洁方便,并具有实物图形化的仿真平台,可以直观地仿真程序的运行结果,是AVR单片机初学者快速入门的最佳工具。本书通过大量的典型实例和屏幕截图进行直观的、由浅入深的论述,可作为单片机爱好者的自学读本,也可作高中、高职、技校、大专院校中自动化、计算机、电子等专业的教学参考书,亦可作为电子应用技术的培训教材。传统单片机系统的开发主要是用汇编语言编写应用程序。由于汇编语言程序的可读性、可移植性和结构性比较差,因此采用汇编语言编写单片机应用程序的时间比较长,调试和排错也比较困难,产品开发周期较长。为了提高编写应用程序的效率,改善程序的可读性和可移植性,缩短产品的开发周期,采用高级语言的开发平台来开发单片机系统已经成为发展趋势。本书主要介绍类高级程序设计语言BASIC的AVR单片机开发平台:BASCOMAVR。BASCOMAVR如同BASIC一样,具有程序设计简单易学、用简单语句可实现较复杂功能等特点。其开发平台使用简洁方便,并具有实物图形化的仿真平台,可以直观地仿真出运行结果。配合AVR单片机程序存储器具有可多次编程和在线下载的优点,使学习和使用AVR单片机变得十分容易和方便。使用BASCOMAVR开发AVR单片机系统,设计人员可以在半个小时内完成一个功能模块的设计编程和调试;而采用汇编语言,则需要几天甚至几个星期。本书不是讲述如何设计和开发一个复杂的实际产品,而是指导和帮助初学者通过自己的亲手实践,来熟悉掌握BASCOMAVR的使用。因而本书中将较少涉及AVR的硬件设计,以软件仿真为主,硬件为辅。有关硬件设计内容可参考其他AVR相关资料。计算机开发语言经过几十年的发展,涌现出越来越多的开发语言,但目前BASIC 语言仍然是全球最流行的语言。经市场调查资料显示,使用BASIC语言的程序员人数(包括专业和非专业的)要远远多于使用其他语言的程序员人数。BASCOM语言是由个人计算机平台移植到单片机平台上的BASIC语言。BASCOM语言继承了BASIC语言的编程特点:简单易学且便于使用,特别适合于具有BASIC语言基础的人员。BASCOM语言的优点如下:1 具有良好的可移植性可移植性的好坏对编程语言来讲是非常重要的。BASCOM语言具有良好的可移植性。AVR系列单片机是具有很多型号的一个单片机产品系列,如果使用汇编语言开发,由于汇编语言依赖硬件性很强,所以若要将这个系列中某种型号单片机的代码移植到另一种型号单片机上,代码可能要做很大修改,而使用BASCOM语言就不同了。在其他语言中要做的修改,在BASCOM中仅仅修改一下头文件即可。下面分别为将用汇编语言和BASCOM语言编写的ATmega8515芯片的代码移植到ATmega8535芯片上所需做的修改。汇编语言:.include "m8515def.inc".org $000rjmp main.org $007rjmp tim0_ovfmain:ldi r16,low(ramend)out spl,r16ldi r16,high(ramend)out sph,r16ldi r16,$02out timsk,r16ldi r16,$05out tccr0,r16ldi r17,131out tcnt0,r17ldi r16,$ffout ddrc,r16seihere:rjmp heretim0_ovf: in r1,sregldi r17,131out tcnt0,r17in r18,portccom r18out portc,r18out sreg,r1reti.include "m8535def.inc".org $000rjmp main.org $009rjmp tim0_ovfmain:ldi r16,low(ramend)out spl,r16ldi r16,high(ramend)out sph,r16ldi r16,$01out timsk,r16ldi r16,$05out tccr0,r16ldi r17,131out tcnt0,r17ldi r16,$ffout ddrc,r16seihere:rjmp heretim0_ovf: in r1,sregldi r17,131out tcnt0,r17in r18,portccom r18out portc,r18out sreg,r1retiBASCOM语言:$regfile = "m8515.dat"$crystal = 8000000Config Timer0 = Timer , Prescale = 1024Enable InterruptsEnable Ovf0On Ovf0 Overflow_isrDdrc= &HFFTcnt0 = 131DoLoopEndOverflow_isr:Tcnt0 = 131Portc= Not PortcReturn$regfile = "m8535.dat"$crystal = 8000000Config Timer0 = Timer , Prescale = 1024Enable InterruptsEnable Ovf0On Ovf0 Overflow_isrDdrc = &HFFTcnt0 = 131DoLoopEndOverflow_isr:Tcnt0 = 131Portc= Not PortcReturn注: 上面程序中加粗的内容为需要修改的内容。2 具有良好的可读性采用BASCOM语言编程,不像汇编语言那样,实现某种功能就是对特定的寄存器赋指定的值,而是用很直观的语句来表示。例如,使定时器/计数器0上升沿计数的程序如下:汇编语言:ldi r16,$07out tccr0,r16BASCOM语言:CONFIG TIMER0 = COUNTER,EDGE=RISING通过上面的比较可以很容易地看出,用汇编语言编程,需要了解每一个特殊寄存器的功能;在实现某种功能时,必须了解向某寄存器赋某值。很多情况下,这些寄存器的名称与其实现的功能没有意义上的联系。例如,对于tccr0,在没有任何资料的情况下,很难联想到它是定时器/计数器0的控制寄存器;因此,通过寄存器赋的值来联想它所实现的功能就更难了。就上例而言,若无资料,很难想象对tccr0赋$07这个命令字实现什么功能。这些都只是规定,这就要求编程人员对这些名称和数值要熟记,手边还要有单片机资料备查。而BASCOM就不同了,它替我们屏蔽掉了很多底层的东西。BASCOM的语句就是对实现功能的语言描述。就上例而言,若用BASCOM语句即为:CONFIG TIMER0 = COUNTER,EDGE=RISING一看这个语句,就可以把它要实现的功能猜得差不多了,因为它就是一个语言描述,很多语句就是英文单词,可以望词知意。BASIC语言在我国计算机知识普及过程中发挥的作用是有目共睹的。在过去的十几年中,BASIC语言曾经引导许多人从一个"计算机盲"向计算机应用迈出了可贵的第一步。在我国至少有1 000多万人学习过BASIC语言,其中不少人在入门之后继续提高,成为计算机应用人才,取得了很大的成绩。作者希望通过本书对BASCOMAVR的介绍,能够为单片机技术在我国推广尽自身的绵薄之力。全书共9章,由张茂青担任主编。其中第2章和第9章的部分内容由耿德根执笔,其余各章均由李彦超、张敏和张茂青共同执笔。全书由张茂青统稿。在本书的编写过程中,得到了双龙电子公司的大力支持;本书开发实验器SLAVRAD由双龙公司提供,书中程序均在该开发实验器上验证通过。由于作者水平有限,只是为了满足初学者的需要而抛砖引玉,利用工作之余写成本书,可能会有一些缺点或错误,希望得到专家和读者的指正,在适当的时间再作修订补充,以便跟上单片机技术的发展需要。读者在学习本书的过程中若有疑问,可以在由双龙电子赞助的21IC BBS(AVR单片机论坛)或双龙公司论坛(WWW. AVR. COM.CN的BASCOM专栏)提出,本书的编者及论坛中其他热心网友会进行解答。作者2004年6月于苏州大学 第1章 AVR单片机与BASIC语言1.1 BASIC语言的特点11.2 AVR单片机的特点21.3 用BASIC语言开发单片机的优势2第2章 BASCOMAVR集成开发环境2.1 基于高级语言BASCOMAVR的单片机开发平台52.1.1 实验硬件系统52.1.2 软件开发平台82.2 BASCOMAVR的安装与使用92.2.1 BASCOMAVR的安装92.2.2 启动BASCOMAVR142.2.3 BASCOMAVR使用快速入门152.2.4 BASCOMAVR界面简介192.2.5 键盘操作232.2.6 BASCOMAVR的参数设置242.2.7 软件仿真41第3章 BASCOM程序设计基础3.1 完整的BASCOM例子493.2 BASCOM基本语法介绍493.2.1 BASCOM程序的组成493.2.2 字符集513.3 数据类型523.4 常量和变量533.4.1 常量533.4.2 变量543.5 运算符和表达式573.5.1 算术运算符573.5.2 关系运算符583.5.3 逻辑运算符583.5.4 类型转换 593.6 常用标准函数603.6.1 数值型函数603.6.2 字符串函数653.6.3 数组相关函数743.7 常用语句介绍753.7.1 延时语句763.7.2 加1减1语句783.7.3 交换两个相同类型变量中的内容783.7.4 位运算793.8 浮点数823.8.1 浮点格式823.8.2 十进制和二进制833.8.3 整型数如何在计算机中表示833.8.4 使用浮点数的运算误差833.8.5 浮点数概念843.8.6 IEEE细节843.8.7 浮点数其他常见误差86第4章 赋值与输入/输出语句4.1 赋值语句874.2 输入/输出语句884.2.1 串口输入语句894.2.2 串口输出语句904.2.3 LCD输出语句924.2.4 小键盘数据输入934.2.5 读数和置数语句944.3 结束语句96第5章 BASCOM语言流程控制5.1 选择语句975.1.1 两路分支选择结构975.1.2 多行IF语句995.1.3 无条件转移语句(GOTO语句)1025.1.4 多路分支选择结构1025.1.5 多分支转移语句(ON VALUE语句)1055.1.6 程序举例1065.2 循环语句1095.2.1 WHILE循环语句1095.2.2 DO循环语句1105.2.3 FOR循环语句1115.2.4 循环嵌套1135.2.5 程序举例114第6章 BASCOM语言结构化设计:过程的使用6.1 过程的声明1176.1.1 SUB过程的声明1176.1.2 用户自定义FUNCTION过程的声明1186.2 过程的定义1186.2.1 SUB过程的定义1186.2.2 FUNCTION过程的定义1196.3 过程的调用1206.3.1 调用SUB过程1206.3.2 调用FUNCTION过程1216.4 参数传送1226.4.1 形参与实参1226.4.2 引用和传值1226.5 变量的作用域1246.5.1局部变量1246.5.2 全局变量1266.6 过程的嵌套1276.6.1 SUB过程嵌套1286.6.2 FUNCTION过程嵌套1296.7 转子与返回129第7章 AVR BASCOM语言应用实例7.1 一个程序代码完整的编写、调试和下载过程1347.2 I/O端口输出的简单例子1437.3 使用AVRStudio进行程序代码调试1447.4 模仿CD或MP3播放器液晶屏显示1537.5 LCD中显示自定义字符1577.6 贪吃蛇程序1617.7 发音程序1647.8 控制微型伺服马达167第8章 Atmel 单片机硬件结构8.1 AVR单片机体系结构概述1718.2 存储器1728.2.1 Flash程序存储器1728.2.2 数据存储器1728.2.3 EEPROM存储器1758.2.4 BASCOM中存储器操作语句1768.2.5 存储器部分在仿真环境中的使用1788.3 并行I/O端口1828.3.1 I/O端口相关寄存器1828.3.2 I/O端口在仿真环境中的使用方法1858.4 中断1898.4.1 中断的概念1898.4.2 中断的作用1898.4.3 中断优先级1898.4.4 中断源1898.4.5 中断的执行过程1918.4.6 中断仿真1968.5 定时器/计数器1998.5.1 基本概念1998.5.2 定时器/计数器0(T/C0)1998.5.3 定时器/计数器12078.5.4 定时器/计数器22178.6 USART串口通信2188.6.1 串行通信的基本概念2188.6.2 AVR系列单片机串行接口2198.6.3 BASCOM中有关USART操作2198.7 模/数转换2218.7.1 A/D转换在仿真环境中使用2228.7.2 A/D 转换应用实例2238.8 模拟比较器227第9章 AVR单片机存储器的程序下载9.1 概述2289.2 ISP下载器接口2289.3 ISP串行下载操作2299.3.1 启动SL ISP下载软件的方法2299.3.2 SL ISP下载软件介绍230附录ABASCOM错误代码附录BASCII码参 考 文 献

作者简介

暂缺《AVR单片机高级语言BASCOM程序设计与应用》作者简介

图书目录

第1章 AVR单片机与BASIC语言
1.1 BASIC语言的特点1
1.2 AVR单片机的特点2
1.3 用BASIC语言开发单片机的优势2
第2章 BASCOMAVR集成开发环境
2.1 基于高级语言BASCOMAVR的单片机开发平台5
2.1.1 实验硬件系统5
2.1.2 软件开发平台8
2.2 BASCOMAVR的安装与使用9
2.2.1 BASCOMAVR的安装9
2.2.2 启动BASCOMAVR14
2.2.3 BASCOMAVR使用快速入门15
2.2.4 BASCOMAVR界面简介19
2.2.5 键盘操作23
2.2.6 BASCOMAVR的参数设置24
2.2.7 软件仿真41
第3章 BASCOM程序设计基础
3.1 完整的BASCOM例子49
3.2 BASCOM基本语法介绍49
3.2.1 BASCOM程序的组成49
3.2.2 字符集51
3.3 数据类型52
3.4 常量和变量53
3.4.1 常量53
3.4.2 变量54
3.5 运算符和表达式57
3.5.1 算术运算符57
3.5.2 关系运算符58
3.5.3 逻辑运算符58
3.5.4 类型转换 59
3.6 常用标准函数60
3.6.1 数值型函数60
3.6.2 字符串函数65
3.6.3 数组相关函数74
3.7 常用语句介绍75
3.7.1 延时语句76
3.7.2 加1减1语句78
3.7.3 交换两个相同类型变量中的内容78
3.7.4 位运算79
3.8 浮点数82
3.8.1 浮点格式82
3.8.2 十进制和二进制83
3.8.3 整型数如何在计算机中表示83
3.8.4 使用浮点数的运算误差83
3.8.5 浮点数概念84
3.8.6 IEEE细节84
3.8.7 浮点数其他常见误差86
第4章 赋值与输入/输出语句
4.1 赋值语句87
4.2 输入/输出语句88
4.2.1 串口输入语句89
4.2.2 串口输出语句90
4.2.3 LCD输出语句92
4.2.4 小键盘数据输入93
4.2.5 读数和置数语句94
4.3 结束语句96
第5章 BASCOM语言流程控制
5.1 选择语句97
5.1.1 两路分支选择结构97
5.1.2 多行IF语句99
5.1.3 无条件转移语句(GOTO语句)102
5.1.4 多路分支选择结构102
5.1.5 多分支转移语句(ON VALUE语句)105
5.1.6 程序举例106
5.2 循环语句109
5.2.1 WHILE循环语句109
5.2.2 DO循环语句110
5.2.3 FOR循环语句111
5.2.4 循环嵌套113
5.2.5 程序举例114
第6章 BASCOM语言结构化设计——过程的使用
6.1 过程的声明117
6.1.1 SUB过程的声明117
6.1.2 用户自定义FUNCTION过程的声明118
6.2 过程的定义118
6.2.1 SUB过程的定义118
6.2.2 FUNCTION过程的定义119
6.3 过程的调用120
6.3.1 调用SUB过程120
6.3.2 调用FUNCTION过程121
6.4 参数传送122
6.4.1 形参与实参122
6.4.2 引用和传值122
6.5 变量的作用域124
6.5.1  局部变量124
6.5.2 全局变量126
6.6 过程的嵌套127
6.6.1 SUB过程嵌套128
6.6.2 FUNCTION过程嵌套129
6.7 转子与返回129
第7章 AVR BASCOM语言应用实例
7.1 一个程序代码完整的编写、调试和下载过程134
7.2 I/O端口输出的简单例子143
7.3 使用AVRStudio进行程序代码调试144
7.4 模仿CD或MP3播放器液晶屏显示153
7.5 LCD中显示自定义字符157
7.6 贪吃蛇程序161
7.7 发音程序164
7.8 控制微型伺服马达167
第8章 Atmel 单片机硬件结构
8.1 AVR单片机体系结构概述171
8.2 存储器172
8.2.1 Flash程序存储器172
8.2.2 数据存储器172
8.2.3 EEPROM存储器175
8.2.4 BASCOM中存储器操作语句176
8.2.5 存储器部分在仿真环境中的使用178
8.3 并行I/O端口182
8.3.1 I/O端口相关寄存器182
8.3.2 I/O端口在仿真环境中的使用方法185
8.4 中断189
8.4.1 中断的概念189
8.4.2 中断的作用189
8.4.3 中断优先级189
8.4.4 中断源189
8.4.5 中断的执行过程191
8.4.6 中断仿真196
8.5 定时器/计数器199
8.5.1 基本概念199
8.5.2 定时器/计数器0(T/C0)199
8.5.3 定时器/计数器1207
8.5.4 定时器/计数器2217
8.6 USART串口通信218
8.6.1 串行通信的基本概念218
8.6.2 AVR系列单片机串行接口219
8.6.3 BASCOM中有关USART操作219
8.7 模/数转换221
8.7.1 A/D转换在仿真环境中使用222
8.7.2 A/D 转换应用实例223
8.8 模拟比较器227
第9章 AVR单片机存储器的程序下载
9.1 概述228
9.2 ISP下载器接口228
9.3 ISP串行下载操作229
9.3.1 启动SL ISP下载软件的方法229
9.3.2 SL ISP下载软件介绍230
附录ABASCOM错误代码
附录BASCII码
参 考 文 献

本目录推荐