书名:单片机认识与实践ISBN:781077797
作者:邵贝贝//龚光华
出版社:北京航空航天大学出版社
定价:32
页数:348
出版日期:2006-8-1
版次:
开本:16开
包装:平装
简介:本书前8章是为高等院校电类低年级本科生“单片机认识与实践”课程撰写的教材,目的是使学生在尚不具备微机原理等相关知识的情况下也能尽快入门,尽早上手开始相关实践活动。书中强调单片机应用的多样性和个性化。从补充相关硬件知识开始,讲解如何设计基本硬件系统,从而在不使用仿真器的情况下搭建基本硬件开发条件;从编写简单的单片机监控程序开始,讲解如何使用C语言进行单片机编程,从而建立软件的开发环境,即从硬件、软件两个方面引导读者快速入门。后4章适用于嵌入式应用工程师,也可供高校研究生参考,首先讲述如何在8位单片机上运行嵌入式实时操作系统μC/OS-II,并以C语言的形式给出监控程序源代码,搭建起完整的嵌入式软件开发环境;然后以最新出现的S08单片机为例,提供各I/O模块的设备驱动程序;最后讨论应用系统的低功耗设计方法。书中还介绍目前先进的单片机BDM调试方式,这种在线开发方法同样适用于16位、32位单片机。.
本书可作为高等院校电类相关专业本科生或研究生单片机课程的教材,也可作为单片机开发工程技术人员以及单片机爱好者的参考用书。...目录第1章 单片机的广泛选择
1.1 单片机世界1
1.2 开发单片机应用不再需要仿真器4
1.3 Freescale单片机5
1.4 Freescale公司的32位单片机6
1.4.1 以68K、CPU32为CPU的32位单片机6
1.4.2 以ColdFire为CPU的32位单片机7
1.4.3 用于控制的以PowerPC为CPU的32位单片机8
1.4.4 用于通信的以PowerPC为CPU的32位单片机8
1.4.5 ARM系列32位单片机9
1.5 Freescale公司的DSP型单片机10
1.5.1 普通16位DSP型单片机10
1.5.2 使用增强型内核的16位DSP型单片机14
1.5.3 StarCore系列16位DSP型单片机15
1.5.4 24位DSP型单片机15
1.6 Freescale公司的16位单片机16
1.6.1 MC68HC12系列单片机16
1.6.2 MC9S12系列单片机17
1.6.3 MC9S12X系列单片机20
1.7 Freescale公司的8位单片机20
1.7.1 MC68HC08系列单片机20
1.7.2 MC9S08系列单片机24
1.7.3 MC9RS08系列单片机28
1.8 相关软件开发工具30
第2章 数字电路基础及S08单片机简介
2.1 数字电路基础31
2.1.1 高速CMOS 电路与逻辑电平31
2.1.2 “与非”门和“或非”门32
2.1.3 三态门33
2.1.4 组合逻辑电路34
2.1.5 D触发器与时序电路34
2.1.6 数的表示法与运算35
2.1.7 中央处理器示意36
2.1.8 存储器38
2.1.9 中断与复位40
2.2 真实单片机——MC9S08GT6040
2.2.1 S08 CPU结构40
2.2.2 S08 CPU寄存器41
2.2.3 MC9S08GT60功能模块结构43
2.2.4 MC9S08GT60单片机存储器组织45
2.2.5 MC9S08GT60的复位与中断46
2.2.6 MC9S08GT60的引脚与封装47
2.2.7 MC9S08GT60复位及系统寄存器设置50
第3章 S08单片机的指令系统及汇编语言程序设计
3.1 指令与寻址方式51
3.1.1 指令助记符、操作码和操作数51
3.1.2 汇编指令集52
3.1.3 指令按功能分类52
3.1.4 寻址方式58
3.2 S08汇编语言程序设计63
3.2.1 机器语言和汇编语言63
3.2.2 汇编语言源程序的格式64
3.2.3 汇编管理指令67
3.2.5 S记录72
3.2.6 汇编语言程序设计和举例74
第4章 单片机基本系统设计
4.1 芯片选型——初识MC9S08GT6081
4.2 设计规划84
4.3 基本系统的电路设计85
4.3.1 电源电路85
4.3.2 时钟电路86
4.3.3 复位电路86
4.3.4 BDM调试接口88
4.3.5 RS232驱动电路89
4.3.6 外部接口定义89
4.4 系统综合90
第5章 异步串行通信
5.1 串行通信协议RS232标准93
5.1.1 串行数据格式95
5.1.2 RS232电缆的连接方法95
5.1.3 通信速率96
5.1.4 ASCII码96
5.2 SCI功能简介98
5.2.1 SCI发送器99
5.2.2 SCI接收器99
5.3 SCI寄存器100
5.3.1 波特率寄存器100
5.3.2 串行通信控制寄存器1(SCI1C1)100
5.3.3 串行通信控制寄存器2(SCI1C2)101
5.3.4 串行通信控制寄存器3(SCI1C3)102
5.3.5 串行通信状态寄存器1(SCI1S1)102
5.3.6 串行通信状态寄存器2(SCS2)103
5.3.7 串行通信数据寄存器(SCIxD)103
5.4 SCI的软件开发方法104
5.4.1 SCI1的初始化104
5.4.2 SCI的查询方式105
5.4.3 SCI的中断方式106
5.5 SCI应用108
第6章 单片机片内I/O模块
6.1 并行I/O端口111
6.1.1 并行口简述111
6.1.2 并行口应用举例112
6.2 定时器114
6.2.1 定时器的结构及基本功能114
6.2.2 输入捕捉117
6.2.3 输出比较118
6.2.4 脉宽调制输出118
6.3 同步串行外设接口SPI119
6.3.1 SPI的数据流动121
6.3.2 SPI功能121
6.3.3 SPI引脚122
6.3.4 SPI寄存器124
6.4 A/D转换模块127
6.4.1 A/D控制寄存器128
6.4.2 A/D状态和控制寄存器130
6.4.3 A/D数据结果寄存器131
6.4.4 A/D引脚允许寄存器131
第7章 用C语言开发应用程序
7.1 C语言是开发单片机应用软件的有力工具132
7.2 开发嵌入式应用的C编译器的特点133
7.2.1 关于初始化变量134
7.2.2 函数的可重入性问题135
7.3 交叉编译和C语言程序运行环境的建立135
7.3.1 应用程序的构成与模块化程序结构139
7.3.2 全局变量与局部变量140
7.3.3 函数的结构与函数间参数的传递141
7.3.4 C语言中的I/O语句143
7.3.5 程序模块的框架与组织144
7.3.6 程序的链接与定位145
7.4 嵌入式应用中的I/O函数146
7.4.1 关于“Hello, World”146
7.4.2 自己编写printf( )函数147
第8章 HCS08实验开发系统及实验指导
8.1 HCS08实验开发系统简介158
8.1.1 HCS08实验开发系统特点158
8.1.2 HCS08实验开发系统套件159
8.1.3 HCS08实验开发系统对PC的要求159
8.1.4 HCS08实验开发系统与PC的连接159
8.2 HCS08实验系统设计框架159
8.2.1 目标评估母板与单片机的接口定义160
8.2.2 8位数字量输入电路160
8.2.3 8位数字量显示电路161
8.2.4 A/D模拟电平产生电路161
8.2.5 数码管显示电路161
8.2.6 键盘中断信号产生电路161
8.2.7 IRQ中断信号产生电路163
8.2.8 SPI输入电路163
8.2.9 SPI输出电路164
8.2.10 MC68HC908QY4编程/调试电路164
8.2.11 面包板165
8.3 基于HCS08实验开发系统的实验165
8.3.1 实验1——熟悉监控程序与实验环境165
8.3.2 实验2——并行口实验167
8.3.3 实验3——机器语言和汇编程序168
8.3.4 实验4——使用CodeWarrior for S08汇编编译器169
8.3.5 实验5——用汇编语言显示“Hello World”173
8.3.6 实验6——用SCI的中断方式接收字符175
8.3.7 实验7——使用CodeWarrior for S08的C编译器编程177
8.3.8 实验8——用C语言实现SCI通信与LED数码管驱动182
8.3.9 实验9——定时器中断实验184
8.3.10 实验10——定时中断程序设计186
8.3.11 实验11——通用I/O及IRQ中断程序设计189
8.3.12 实验12——键盘中断程序设计190
8.3.13 实验13——SCI中断与A/D转换程序设计192
第9章 建立实用的在线调试环境
9.1 建立单片机的运行环境——系统初始化197
9.2 实现人机交互——串口通信199
9.3 控制CPU的行为——利用CPU固定映像200
9.4 查看和修改RAM区 203
9.5 下载目标程序205
9.5.1 S格式文件205
9.5.2 向RAM下载程序206
9.5.3 在RAM程序中设置断点206
9.5.4 Flash编程基本方法208
9.5.5 将S格式文件下载到Flash区213
9.6 Flash的块保护和保密设置215
9.6.1 块保护215
9.6.2 加密设置217
9.6.3 加密方法218
9.6.4 解密方法218
9.7 实现断点功能——在监控程序中使用DBG模块219
9.8 中断向量重新定向223
9.9 帮助信息224
第10章 BDM后台调试模式
10.1 BDM08概述227
10.2 进入BDM模式228
10.3 BDM通信协议及底层软件230
10.3.1 BDM相关寄存器230
10.3.2 BDM时钟的同步231
10.3.3 BDM基本指令——读、写单字节233
10.3.4 BDM指令的组织237
10.4 BDM简单应用240
10.4.1 用BDM对Flash编程240
10.4.2 通过BDM显示存储器内容243
10.5 使用DBG模块完成复杂调试244
10.5.1 利用DBG来增加两个硬件断点244
10.5.2 利用DBG捕获指定地址的信息245
10.5.3 获取指定条件下的程序分支跟踪信息246
10.5.4 实时获取运行记录246
第11章 嵌入式实时操作系统μC/OSII在HCS08上的实现
11.1 实时系统249
11.2 前后台系统250
11.3 嵌入式实时操作系统250
11.3.1 不可剥夺型内核的多任务实时系统251
11.3.2 可剥夺型内核的多任务实时系统251
11.3.3 使用嵌入式实时操作系统的优缺点252
11.4 嵌入式实时操作系统μC/OSII253
11.5 在HCS08上移植μC/OSII254
11.6 为内核编写与硬件相关的代码257
11.6.1 OS_CPU.H257
11.6.2 OS_CPU_C.C和OS_CPU_A.ASM259
11.6.3 产生时钟节拍中断265
11.6.4 编写自己的任务代码266
11.6.5 启动μC/OSII 268
第12章 时钟和低功耗模式
12.1 HCS08的内部时钟发生模块269
12.1.1 时钟发生模块的4种工作模式及特点271
12.1.2 时钟发生模块的初始化272
12.2 看门狗278
12.3 HCS08单片机的低功耗设计279
12.3.1 单片机中功耗的来源279
12.3.2 HCS08的低功耗模式279
12.3.3 降低单片机的供电电压282
12.3.4 嵌入式应用的低功耗设计284
附录A S08Monitor用户手册和源代码
A.1 S08Monitor命令行方式指令列表291
A.2 S08Monitor命令行方式指令详解291
A.3 利用监控代码编写自己的程序295
A.4 S08监控程序(C语言版)296
附录B THUBDM08系统使用说明书
B.1 系统硬件设置说明317
B.2 Serial Monitor方式说明319
B.3 命令行方式说明323
附录C HCS08GT60资源速查
C.1 S08GT60存储空间分配图330
C.2 寄存器汇总331
C.3 中断向量表335
附录D S08CPU指令集
D.1 助记符指令表337
D.2 机器码指令表346[1]