注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络硬件、外部设备与维护M68HC08单片机原理及C语言开发实例

M68HC08单片机原理及C语言开发实例

M68HC08单片机原理及C语言开发实例

定 价:¥39.00

作 者: 常越编著
出版社: 北京航空航天大学出版社
丛编项:
标 签: 单片计算机

ISBN: 9787810776011 出版时间: 2005-09-01 包装: 胶版纸
开本: 26cm+1光盘 页数: 359 字数:  

内容简介

  内容简介 介绍飞思卡尔(Freescale)半导体公司(原MOTOROLA公司半导体产品部)单片机M68HC08系列的中央处理器结构、存储器、时钟发生器、振荡器、系统集成模块、定时器及可编程定时器、模拟模块、模/数转换模块、时基模块、脉宽调制(PWM)模块、I2C串行通信模块、输出/输入模块、中断模块、复位、欠压保护、实时时钟、CAN总线模块、串行外设接口模块、LCD驱动显示等功能,对一些功能给出了已经调试通过的C语言程序。本书是针对在各个专业领域有造诣而需要应用单片机但却没有系统学习单片机的读者,通过本书可以更快地掌握和用好Freescale单片机M68HC08系列。本书讲述的原理具有普遍意义,也可以使没有用过单片机的读者很快入门并解决实际问题。 C语言的特色使本书可以引导读者熟练使用高级编程语言,极大地提高编程效率和应用单片机的能力。前言 2000年,我们应用飞思卡尔(Freescale)半导体公司(原MOTOROLA公司半导体产品部)的68HC908GP32单片机开发了双电源监测转换控制器,它具有众多的输入/输出口、10位A/D转换器、定时器、众多的中断口和充分的内部程序存储容量等功能,这使我们的工作几乎不需要扩展外围芯片就满足了工作的要求。该控制器一次性通过了电磁兼容实验,这也显示出它强抗干扰能力和高可靠性,得到了大家的一致认同。当2001年看到张庆波女士提供的68HC908SR12资料时,我们更感觉到它灵活、丰富的功能会更加方便今后的工作。然而,当时仿真器的价格昂贵,能兼容的单片机型号有限,使得开发成本太高,对MOTOROLA单片机的普及应用产生了不利影响。现在,情况已经完全改变,仿真器价格已经大幅度下降,并且兼容型号大大增加,各个型号单片机的下载电路也已经有足够的成功经验,开发工具的成本不再成为选择MOTOROLA单片机的障碍,而其功能齐全、灵活、价格低廉的优点已经突出地显现出来。与朋友们共同分享MOTOROLA单片机给我们工作带来的便利是编写这本书的初衷。本书首先以 MC68HC908SR12单片机为主线,讲述M68HC08系列单片机的主要功能,其中第1章~第22章全面详细介绍MC68HC908SR12单片机的各个功能模块;然后从第23章~第 28章开始对M68HC08系列其它型号芯片中的一些常用模块进行介绍;第29章介绍了软件开发环境和适合MC68HC908SR12等芯片的程序下载电路。本书希望对没有系统学习过单片机、但迫切需要运用单片机解决实际问题的技术人员有所帮助,因此,在书中也给出了在自行开发的 MC68HC908SR12通用实验板上调试通过的C语言程序实例。随书附赠的光盘也提供了掌握此单片机实践过程中所需要的通用系统板原理图和制板图。为了使读者降低开发成本,光盘中还给出了通过JTAG下载程序用的工具原理图和制板图。在本书的写作和整理过程中,许多研究生付出了辛勤的汗水,他们是:邹勇波、张钰、池峰、卢平、韩竞春、杨升、孙志刚、张蕾、刘金龙、楼永伟、刘静、宋海斌、王青、周序伟,作者在此向他们表示感谢。本书的编写过程中也得到了上海交通大学MOTOROLA联合实验室的殳国华老师、张士文老师的大力支持,使本书的撰写和模块功能试验得以顺利进行,在此深表谢忱。作者2005年6月于上海交通大学

作者简介

暂缺《M68HC08单片机原理及C语言开发实例》作者简介

图书目录

第1章 总体描述
1.1 简介1
1.2 总体特性1
1.2.1 M68HC08的特性1
1.2.2 CPU08的特性5
1.3 M68HC08系列MCU的命名规则5
1.4 M68HC08系列MCU的引脚分配图6
1.5 MC68HC908SR12的特性及原理结构图6
1.6 MC68HC908SR12的引脚分配及功能8
第2章 存储器
2.1 简介10
2.2 寄存器地址分布11
2.3 随机存储器13
2.4 FLASH存储器13
2.4.1 功能描述13
2.4.2 FLASH控制寄存器13
2.4.3 FLASH页擦除操作14
2.4.4 FLASH块擦除操作14
2.4.5 FLASH编程操作15
2.4.6 FLASH保护16
第3章 配置和屏蔽选择寄存器
3.1 简介18
3.2 功能描述18
3.3 配置寄存器119
3.4 配置寄存器220
3.5 屏蔽选项寄存器21
第4章 中央处理器
4.1 简介22
4.2 CPU寄存器22
4.2.1 累加器22
4.2.2 索引寄存器22
4.2.3 堆栈指针23
4.2.4 程序计数器24
4.2.5 状态字寄存器24
4.3 算术/逻辑单元25
4.4 低功耗模式25
4.5 断点中断模式25
4.6 指令集概要26
4.7 操作码36
第5章 振荡器
5.1 简介37
5.2 时钟选择37
5.2.1 CGM参考时钟选择37
5.2.2 TBM参考时钟选择39
5.3 内部振荡器39
5.4 RC振荡器40
5.5 晶体振荡器40
5.6 振荡器模块的I/O引脚41
5.7 低功耗模式41
5.8 断点中断模式41
第6章 时钟发生器模块
6.1 简介42
6.2 功能描述42
6.2.1 振荡器模块44
6.2.2 锁相环44
6.2.3 时基选择器电路48
6.2.4 CGM外部接线48
6.3 CGM模块的I/O引脚49
6.4 CGM模块的寄存器50
6.4.1 PLL控制寄存器50
6.4.2 PLL带宽控制寄存器51
6.4.3 PLL乘法选择高位寄存器52
6.4.4 PLL乘法器低位选择寄存器52
6.4.5 PLL的VCO范围选择寄存器53
6.4.6 PLL参考除数选择寄存器53
6.5 中断53
6.6 低功耗模式54
6.7 断点中断模式54
6.8 捕捉/锁定时间说明55
6.8.1 捕捉/锁定时间的定义55
6.8.2 参数对响应时间的影响55
6.8.3 滤波器的选择56
第7章 系统集成模块
7.1 简介57
7.2 SIM总线时钟控制与发生59
7.2.1 总线时序59
7.2.2 POR或LVI复位启动时钟59
7.2.3 停止与等待模式下的时钟59
7.3 复位和系统初始化60
7.3.1 外部引脚复位60
7.3.2 来自内部激励源的主动复位60
7.3.3 上电复位61
7.3.4 计算机工作正常模块复位COP62
7.3.5 非法操作码复位62
7.3.6 非法地址复位62
7.3.7 欠压保护模块LVI复位62
7.3.8 监控模式入口模块复位MODRST62
7.4 SIM计数器62
7.4.1 上电复位中的SIM计数器63
7.4.2 停止模式恢复中的SIM计数器63
7.4.3 SIM计数器和复位状态63
7.5 意外控制63
7.5.1 中断63
7.5.2 复位67
7.5.3 断点中断67
7.6 低功耗模式68
7.7 SIM模块的寄存器69
7.7.1 SIM断点状态寄存器70
7.7.2 SIM复位状态寄存器70
7.7.3 SIM断点标志控制寄存器71
第8章 监控ROM
8.1 简介72
8.2 功能描述72
8.2.1 进入监控模块74
8.2.2 数据格式76
8.2.3 断点信号76
8.2.4 波特率76
8.2.5 监控模块的命令77
8.3 安全80
第9章 定时器接口模块
9.1 概述82
9.2 TIM模块的I/O引脚83
9.3 TIM模块的原理与操作83
9.3.1 TIM模块预定标器83
9.3.2 输入捕获83
9.3.3 输出比较84
9.3.4 脉冲宽度调制PWM85
9.4 TIM模块的中断87
9.5 低功耗模式88
9.6 断点中断模式89
9.7 TIM模块的寄存器89
9.7.1 TIM状态和控制寄存器89
9.7.2 TIM计数寄存器90
9.7.3 TIM计数器预置寄存器91
9.7.4 TIM通道状态和控制寄存器91
9.7.5 TIM通道寄存器93
第10章 时基模块
10.1 简介94
10.2 功能描述94
10.3 时基模块的寄存器94
10.4 中断96
10.5 低功耗模式96
第11章 脉冲宽度调制模块
11.1 概述97
11.2 PWM周期和分辨率97
11.3 PWM自动相位控制97
11.4 低功耗模式101
11.5 PWM模块的外部引脚101
11.6 PWM模块的寄存器101
11.6.1 PWM控制寄存器101
11.6.2 PWM时钟控制寄存器102
11.6.3 PWM数据寄存器102
11.6.4 PWM相位控制寄存器103
第12章 模拟模块
12.1 概述104
12.2 模拟模块的原理与操作104
12.2.1 片内温度传感器105
12.2.2 两级放大器106
12.2.3 电流检测放大器108
12.3 低功耗模式108
12.4 模拟模块的寄存器108
12.4.1 模拟模块控制寄存器AMCR108
12.4.2 模拟模块增益控制寄存器AMGCR109
12.4.3 模拟模块状态和控制寄存器AMSCR110
第13章 模/数转换器模块
13.1 概述111
13.2 ADC模块的原理与操作112
13.2.1 ADC模块的采样通道112
13.2.2 电压转换113
13.2.3 转换时间113
13.2.4 连续转换114
13.2.5 自动扫描模式115
13.2.6 转换结果对齐方式116
13.2.7 数据寄存器连锁116
13.3 中断116
13.4 低功耗模式118
13.5 ADC模块的寄存器118
13.5.1 ADC状态控制寄存器118
13.5.2 ADC时钟控制寄存器119
13.5.3 ADC数据寄存器0120
13.5.4 ADC自动扫描模式下的数据寄存器122
13.5.5 ADC自动扫描控制寄存器122
第14章 串行通信接口
14.1 简介123
14.2 SCI模块的I/O引脚123
14.3 功能描述124
14.3.1 数据格式124
14.3.2 发送器124
14.3.3 接收器128
14.4 低功耗模式134
14.5 断点中断模式134
14.6 SCI模块的寄存器135
14.6.1 SCI控制寄存器1135
14.6.2 SCI控制寄存器2136
14.6.3 SCI控制寄存器3137
14.6.4 SCI状态寄存器1138
14.6.5 SCI状态寄存器2140
14.6.6 SCI数据寄存器141
14.6.7 SCI波特率寄存器141
第15章 多主设备I2C接口
15.1 简介143
15.2 MMIIC模块的I/O引脚144
15.3 MMIIC总线协议144
15.3.1 开始信号144
15.3.2 从地址传送145
15.3.3 数据传送145
15.3.4 重复的START信号145
15.3.5 停止信号145
15.3.6 仲裁过程145
15.3.7 时钟同步146
15.3.8 握手146
15.3.9 数据包错误代码146
15.4 MMIIC模块的寄存器146
15.4.1 MMIIC地址寄存器146
15.4.2 MMIIC控制寄存器1147
15.4.3 MMIIC控制寄存器2149
15.4.4 MMIIC状态寄存器150
15.4.5 MMIIC数据发送寄存器151
15.4.6 MMIIC数据接收寄存器152
15.4.7 MMIIC CRC数据寄存器152
15.4.8 MMIIC分频寄存器152
15.5 程序算法153
15.6 SMBus总线协议154
15.6.1 快速指令154
15.6.2 传送字节155
15.6.3 接收字节155
15.6.4 写字节/字155
15.6.5 读字节/字155
15.6.6 过程调用156
15.6.7 数据块的读/写156
15.7 SMBus协议实现与实例157
15.7.1 SMBus协议实现157
15.7.2 编程实例158
第16章 输入/输出端口
16.1 介绍162
16.2 端口A164
16.2.1 端口A数据寄存器164
16.2.2 数据方向寄存器A165
16.2.3 端口A的LED控制寄存器166
16.3 端口B166
16.3.1 端口B数据寄存器166
16.3.2 数据方向寄存器B167
16.4 端口C168
16.4.1 端口C数据寄存器168
16.4.2 数据方向寄存器C169
16.4.3 端口C的 LED控制寄存器170
16.5 端口D170
16.5.1 端口D数据寄存器170
16.5.2 数据方向寄存器D171
第17章 外部中断
17.1 介绍172
17.2 功能描述172
17.3 IRQ1和IRQ2引脚174
17.4 断点中断模式175
17.5 IRQ 寄存器175
17.5.1 IRQ1状态和控制寄存器175
17.5.2 IRQ2状态和控制寄存器176
第18章 键盘中断模块
18.1 介绍177
18.2 KBI模块的I/O引脚177
18.3 功能描述177
18.4 键盘中断模块的寄存器180
18.4.1 键盘状态和控制寄存器180
18.4.2 键盘中断使能寄存器180
18.5 低功耗模式181
18.6 断点中断模式181
第19章 计算机工作正常复位
19.1 简介182
19.2 COP模块的I/O引脚183
19.3 COP模块的寄存器183
19.4 特殊模式184
第20章 欠压保护
20.1 简介185
20.2 功能介绍185
20.2.1 LVI查询操作186
20.2.2 强行复位操作186
20.2.3 电压滞回保护186
20.2.4 LVI复位阈值电压选择186
20.3 LVI状态寄存器186
20.4 低功耗模式187
第21章 断点模块
21.1 简介188
21.2 低功耗模式189
21.3 断点模块的寄存器189
21.3.1 断点状态和控制寄存器190
21.3.2 断点地址寄存器190
21.3.3 SIM断点状态寄存器190
21.3.4 SIM断点标志位控制寄存器191
第22章 MSCAN08控制器
22.1 简介192
22.2 基本特性192
22.3 MSCAN08模块的I/O引脚193
22.4 信息存储193
22.4.1 背景193
22.4.2 接收结构194
22.4.3 发送结构195
22.5 标识符验收滤波器196
22.6 中断198
22.6.1 中断应答198
22.6.2 中断向量198
22.7 避免违反协议的保护措施199
22.8 低功耗模式199
22.8.1 MSCAN08休眠模式199
22.8.2 MSCAN08软复位模式200
22.8.3 MSCAN08掉电模式201
22.8.4 CPU等待模式201
22.8.5 可编程的唤醒功能201
22.9 定时器链接功能201
22.10 时钟系统202
22.11 内存地址空间203
22.12 信息存储的程序设计模型204
22.12.1 信息缓冲的结构204
22.12.2 标识符寄存器205
22.12.3 数据长度寄存器205
22.12.4 数据段寄存器206
22.12.5 发送缓冲优先级寄存器206
22.13 MSCAN08模块的寄存器206
22.13.1 MSCAN08模块控制寄存器0208
22.13.2 MSCAN08模块寄存器1208
22.13.3 MSCAN08总线定时寄存器0209
22.13.4 MSCAN08总线定时寄存器1210
22.13.5 MSCAN08接收器标志寄存器211
22.13.6 MSCAN08接收器中断使能寄存器212
22.13.7 MSCAN08发送器标志寄存器213
22.13.8 MSCAN08发送器控制寄存器214
22.13.9 MSCAN08标识符验收控制寄存器215
22.13.10 MSCAN08接收出错计数器215
22.13.11 MSCAN08发送出错计数器215
22.13.12 MSCAN08标识符验收寄存器216
22.13.13 MSCAN08标识符屏蔽寄存器216
第23章 串行外设接口模块
23.1 概述218
23.2 SPI模块的引脚名称218
23.3 功能描述219
23.3.1 主控制模式219
23.3.2 从模式220
23.4 传输格式221
23.4.1 时钟相位和极性控制221
23.4.2 不同CPHA时的传输格式221
23.4.3 发送启动等待时间223
23.5 发送数据队列224
23.6 错误条件224
23.6.1 溢出错误224
23.6.2 模式错误226
23.7 中断228
23.8 SPI复位229
23.9 低功耗模式230
23.10 断点中断模式230
23.11 SPI模块的I/O引脚230
23.11.1 MISO(主入从出)231
23.11.2 主出从入MOSI231
23.11.3 串行时钟SPSCK231
23.11.4 从模式选择位SS231
23.11.5 时钟地CGND232
23.12 SPI模块的寄存器232
23.12.1 SPI控制寄存器232
23.12.2 SPI状态和控制寄存器233
23.12.3 SPI数据寄存器235
第24章 可编程中断定时器
24.1 概述236
24.2 PIT模块的原理与操作236
24.3 低功耗模式237
24.4 断点中断模式237
24.5 PIT模块的寄存器237
24.5.1 状态和控制寄存器237
24.5.2 计数器寄存器239
24.5.3 预置寄存器239
第25章 内部时钟生成模块
25.1 概述240
25.2 ICG模块的原理与操作240
25.2.1 时钟使能电路240
25.2.2 内部时钟发生器242
25.2.3 外部时钟发生器243
25.2.4 时钟监控电路245
25.2.5 时钟选择电路247
25.3 使用方法248
25.3.1 切换时钟源249
25.3.2 启动时钟监控器249
25.3.3 利用时钟监控器的中断250
25.3.4 DCO输出的量化误差250
25.3.5 改变ICLK时钟频率252
25.3.6 基础频率建立时间252
25.3.7 内部时钟发生器修正频率254
25.4 低功耗模式254
25.5 CONFIG选项254
25.5.1 外部时钟使能位255
25.5.2 外部晶振使能位255
25.5.3 外部低频时钟使能位255
25.5.4 晶振在停止模式下的使能位255
25.6 ICG模块的寄存器255
25.6.1 ICG控制寄存器256
25.6.2 ICG倍数寄存器258
25.6.3 ICG修正寄存器258
25.6.4 ICG DCO分频器寄存器258
25.6.5 ICG DCO段控制寄存器259
第26章 可重载定时器模块
26.1 概述260
26.2 RTM模块的寄存器260
26.2.1 定时器预置寄存器260
26.2.2 定时器计数寄存器261
26.2.3 定时器控制寄存器261
26.3 中断262
26.4 低功耗模式262
第27章 实时时钟
27.1 简介263
27.2 RTC模块的I/O引脚263
27.3 功能描述264
27.3.1 时间功能264
27.3.2 日历功能264
27.3.3 报警功能264
27.3.4 计时功能264
27.4 基础时钟中断265
27.5 RTC的中断266
27.6 RTC时钟的校准和补偿266
27.7 RTC寄存器和写保护268
27.8 低功耗模式269
27.9 RTC模块的寄存器269
27.9.1 RTC校准控制寄存器270
27.9.2 RTC校准数据寄存器271
27.9.3 RTC控制寄存器1271
27.9.4 RTC控制寄存器2272
27.9.5 RTC状态寄存器273
27.9.6 报警分钟和小时寄存器274
27.9.7 秒寄存器275
27.9.8 分钟寄存器275
27.9.9 小时寄存器275
27.9.10 日寄存器276
27.9.11 月寄存器276
27.9.12 年寄存器276
27.9.13 星期寄存器277
27.9.14 计时数据寄存器277
第28章 液晶显示驱动
28.1 简介278
28.2 基本特性278
28.3 LCD模块的引脚名称与I/O寄存器地址278
28.4 功能描述280
28.4.1 LCD占空比280
28.4.2 LCD电压282
28.4.3 LCD周期帧282
28.4.4 快速充电与低电流282
28.4.5 对比度控制282
28.5 低功耗模式283
28.6 LCD模块的I/O引脚283
28.6.1 BP0~BP3(背极驱动)283
28.6.2 FP0~FP32(前极驱动)285
28.77 段显示的连接方法287
28.8 LCD模块的寄存器289
28.8.1 LCD控制寄存器289
28.8.2 LCD时钟寄存器290
28.8.3 LCD数据寄存器291
第29章 软件集成开发环境和程序下载
29.1 CodeWarrior的使用294
29.2 下载电路板原理图301
29.3 烧写软件PROG08SZ——FLASH PROGRAMMER的使用302
附录AM68HC08系列各MCU的特性305
附录BM68HC08系列各MCU的引脚分配图325
附录CMC68HC908SR12的寄存器339
附录DMC68HC908SR12的电气特性348
附录E光盘内容说明358

本目录推荐