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

出版社:北京航空航天大学出版社
出版日期:2005-9
ISBN:9787810776011
作者:常越
页数:359页

书籍目录

第1章 总体描述1.1 简介11.2 总体特性11.2.1 M68HC08的特性11.2.2 CPU08的特性51.3 M68HC08系列MCU的命名规则51.4 M68HC08系列MCU的引脚分配图61.5 MC68HC908SR12的特性及原理结构图61.6 MC68HC908SR12的引脚分配及功能8第2章 存储器2.1 简介102.2 寄存器地址分布112.3 随机存储器132.4 FLASH存储器132.4.1 功能描述132.4.2 FLASH控制寄存器132.4.3 FLASH页擦除操作142.4.4 FLASH块擦除操作142.4.5 FLASH编程操作152.4.6 FLASH保护16第3章 配置和屏蔽选择寄存器3.1 简介183.2 功能描述183.3 配置寄存器1193.4 配置寄存器2203.5 屏蔽选项寄存器21第4章 中央处理器4.1 简介224.2 CPU寄存器224.2.1 累加器224.2.2 索引寄存器224.2.3 堆栈指针234.2.4 程序计数器244.2.5 状态字寄存器244.3 算术/逻辑单元254.4 低功耗模式254.5 断点中断模式254.6 指令集概要264.7 操作码36第5章 振荡器5.1 简介375.2 时钟选择375.2.1 CGM参考时钟选择375.2.2 TBM参考时钟选择395.3 内部振荡器395.4 RC振荡器405.5 晶体振荡器405.6 振荡器模块的I/O引脚415.7 低功耗模式415.8 断点中断模式41第6章 时钟发生器模块6.1 简介426.2 功能描述426.2.1 振荡器模块446.2.2 锁相环446.2.3 时基选择器电路486.2.4 CGM外部接线486.3 CGM模块的I/O引脚496.4 CGM模块的寄存器506.4.1 PLL控制寄存器506.4.2 PLL带宽控制寄存器516.4.3 PLL乘法选择高位寄存器526.4.4 PLL乘法器低位选择寄存器526.4.5 PLL的VCO范围选择寄存器536.4.6 PLL参考除数选择寄存器536.5 中断536.6 低功耗模式546.7 断点中断模式546.8 捕捉/锁定时间说明556.8.1 捕捉/锁定时间的定义556.8.2 参数对响应时间的影响556.8.3 滤波器的选择56第7章 系统集成模块7.1 简介577.2 SIM总线时钟控制与发生597.2.1 总线时序597.2.2 POR或LVI复位启动时钟597.2.3 停止与等待模式下的时钟597.3 复位和系统初始化607.3.1 外部引脚复位607.3.2 来自内部激励源的主动复位607.3.3 上电复位617.3.4 计算机工作正常模块复位COP627.3.5 非法操作码复位627.3.6 非法地址复位627.3.7 欠压保护模块LVI复位627.3.8 监控模式入口模块复位MODRST627.4 SIM计数器627.4.1 上电复位中的SIM计数器637.4.2 停止模式恢复中的SIM计数器637.4.3 SIM计数器和复位状态637.5 意外控制637.5.1 中断637.5.2 复位677.5.3 断点中断677.6 低功耗模式687.7 SIM模块的寄存器697.7.1 SIM断点状态寄存器707.7.2 SIM复位状态寄存器707.7.3 SIM断点标志控制寄存器71第8章 监控ROM8.1 简介728.2 功能描述728.2.1 进入监控模块748.2.2 数据格式768.2.3 断点信号768.2.4 波特率768.2.5 监控模块的命令778.3 安全80第9章 定时器接口模块9.1 概述829.2 TIM模块的I/O引脚839.3 TIM模块的原理与操作839.3.1 TIM模块预定标器839.3.2 输入捕获839.3.3 输出比较849.3.4 脉冲宽度调制PWM859.4 TIM模块的中断879.5 低功耗模式889.6 断点中断模式899.7 TIM模块的寄存器899.7.1 TIM状态和控制寄存器899.7.2 TIM计数寄存器909.7.3 TIM计数器预置寄存器919.7.4 TIM通道状态和控制寄存器919.7.5 TIM通道寄存器93第10章 时基模块10.1 简介9410.2 功能描述9410.3 时基模块的寄存器9410.4 中断9610.5 低功耗模式96第11章 脉冲宽度调制模块11.1 概述9711.2 PWM周期和分辨率9711.3 PWM自动相位控制9711.4 低功耗模式10111.5 PWM模块的外部引脚10111.6 PWM模块的寄存器10111.6.1 PWM控制寄存器10111.6.2 PWM时钟控制寄存器10211.6.3 PWM数据寄存器10211.6.4 PWM相位控制寄存器103第12章 模拟模块12.1 概述10412.2 模拟模块的原理与操作10412.2.1 片内温度传感器10512.2.2 两级放大器10612.2.3 电流检测放大器10812.3 低功耗模式10812.4 模拟模块的寄存器10812.4.1 模拟模块控制寄存器AMCR10812.4.2 模拟模块增益控制寄存器AMGCR10912.4.3 模拟模块状态和控制寄存器AMSCR110第13章 模/数转换器模块13.1 概述11113.2 ADC模块的原理与操作11213.2.1 ADC模块的采样通道11213.2.2 电压转换11313.2.3 转换时间11313.2.4 连续转换11413.2.5 自动扫描模式11513.2.6 转换结果对齐方式11613.2.7 数据寄存器连锁11613.3 中断11613.4 低功耗模式11813.5 ADC模块的寄存器11813.5.1 ADC状态控制寄存器11813.5.2 ADC时钟控制寄存器11913.5.3 ADC数据寄存器012013.5.4 ADC自动扫描模式下的数据寄存器12213.5.5 ADC自动扫描控制寄存器122第14章 串行通信接口14.1 简介12314.2 SCI模块的I/O引脚12314.3 功能描述12414.3.1 数据格式12414.3.2 发送器12414.3.3 接收器12814.4 低功耗模式13414.5 断点中断模式13414.6 SCI模块的寄存器13514.6.1 SCI控制寄存器113514.6.2 SCI控制寄存器213614.6.3 SCI控制寄存器313714.6.4 SCI状态寄存器113814.6.5 SCI状态寄存器214014.6.6 SCI数据寄存器14114.6.7 SCI波特率寄存器141第15章 多主设备I2C接口15.1 简介14315.2 MMIIC模块的I/O引脚14415.3 MMIIC总线协议14415.3.1 开始信号14415.3.2 从地址传送14515.3.3 数据传送14515.3.4 重复的START信号14515.3.5 停止信号14515.3.6 仲裁过程14515.3.7 时钟同步14615.3.8 握手14615.3.9 数据包错误代码14615.4 MMIIC模块的寄存器14615.4.1 MMIIC地址寄存器14615.4.2 MMIIC控制寄存器114715.4.3 MMIIC控制寄存器214915.4.4 MMIIC状态寄存器15015.4.5 MMIIC数据发送寄存器15115.4.6 MMIIC数据接收寄存器15215.4.7 MMIIC CRC数据寄存器15215.4.8 MMIIC分频寄存器15215.5 程序算法15315.6 SMBus总线协议15415.6.1 快速指令15415.6.2 传送字节15515.6.3 接收字节15515.6.4 写字节/字15515.6.5 读字节/字15515.6.6 过程调用15615.6.7 数据块的读/写15615.7 SMBus协议实现与实例15715.7.1 SMBus协议实现15715.7.2 编程实例158第16章 输入/输出端口16.1 介绍16216.2 端口A16416.2.1 端口A数据寄存器16416.2.2 数据方向寄存器A16516.2.3 端口A的LED控制寄存器16616.3 端口B16616.3.1 端口B数据寄存器16616.3.2 数据方向寄存器B16716.4 端口C16816.4.1 端口C数据寄存器16816.4.2 数据方向寄存器C16916.4.3 端口C的 LED控制寄存器17016.5 端口D17016.5.1 端口D数据寄存器17016.5.2 数据方向寄存器D171第17章 外部中断17.1 介绍17217.2 功能描述17217.3 IRQ1和IRQ2引脚17417.4 断点中断模式17517.5 IRQ 寄存器17517.5.1 IRQ1状态和控制寄存器17517.5.2 IRQ2状态和控制寄存器176第18章 键盘中断模块18.1 介绍17718.2 KBI模块的I/O引脚17718.3 功能描述17718.4 键盘中断模块的寄存器18018.4.1 键盘状态和控制寄存器18018.4.2 键盘中断使能寄存器18018.5 低功耗模式18118.6 断点中断模式181第19章 计算机工作正常复位19.1 简介18219.2 COP模块的I/O引脚18319.3 COP模块的寄存器18319.4 特殊模式184第20章 欠压保护20.1 简介18520.2 功能介绍18520.2.1 LVI查询操作18620.2.2 强行复位操作18620.2.3 电压滞回保护18620.2.4 LVI复位阈值电压选择18620.3 LVI状态寄存器18620.4 低功耗模式187第21章 断点模块21.1 简介18821.2 低功耗模式18921.3 断点模块的寄存器18921.3.1 断点状态和控制寄存器19021.3.2 断点地址寄存器19021.3.3 SIM断点状态寄存器19021.3.4 SIM断点标志位控制寄存器191第22章 MSCAN08控制器22.1 简介19222.2 基本特性19222.3 MSCAN08模块的I/O引脚19322.4 信息存储19322.4.1 背景19322.4.2 接收结构19422.4.3 发送结构19522.5 标识符验收滤波器19622.6 中断19822.6.1 中断应答19822.6.2 中断向量19822.7 避免违反协议的保护措施19922.8 低功耗模式19922.8.1 MSCAN08休眠模式19922.8.2 MSCAN08软复位模式20022.8.3 MSCAN08掉电模式20122.8.4 CPU等待模式20122.8.5 可编程的唤醒功能20122.9 定时器链接功能20122.10 时钟系统20222.11 内存地址空间20322.12 信息存储的程序设计模型20422.12.1 信息缓冲的结构20422.12.2 标识符寄存器20522.12.3 数据长度寄存器20522.12.4 数据段寄存器20622.12.5 发送缓冲优先级寄存器20622.13 MSCAN08模块的寄存器20622.13.1 MSCAN08模块控制寄存器020822.13.2 MSCAN08模块寄存器120822.13.3 MSCAN08总线定时寄存器020922.13.4 MSCAN08总线定时寄存器121022.13.5 MSCAN08接收器标志寄存器21122.13.6 MSCAN08接收器中断使能寄存器21222.13.7 MSCAN08发送器标志寄存器21322.13.8 MSCAN08发送器控制寄存器21422.13.9 MSCAN08标识符验收控制寄存器21522.13.10 MSCAN08接收出错计数器21522.13.11 MSCAN08发送出错计数器21522.13.12 MSCAN08标识符验收寄存器21622.13.13 MSCAN08标识符屏蔽寄存器216第23章 串行外设接口模块23.1 概述21823.2 SPI模块的引脚名称21823.3 功能描述21923.3.1 主控制模式21923.3.2 从模式22023.4 传输格式22123.4.1 时钟相位和极性控制22123.4.2 不同CPHA时的传输格式22123.4.3 发送启动等待时间22323.5 发送数据队列22423.6 错误条件22423.6.1 溢出错误22423.6.2 模式错误22623.7 中断22823.8 SPI复位22923.9 低功耗模式23023.10 断点中断模式23023.11 SPI模块的I/O引脚23023.11.1 MISO(主入从出)23123.11.2 主出从入MOSI23123.11.3 串行时钟SPSCK23123.11.4 从模式选择位SS23123.11.5 时钟地CGND23223.12 SPI模块的寄存器23223.12.1 SPI控制寄存器23223.12.2 SPI状态和控制寄存器23323.12.3 SPI数据寄存器235第24章 可编程中断定时器24.1 概述23624.2 PIT模块的原理与操作23624.3 低功耗模式23724.4 断点中断模式23724.5 PIT模块的寄存器23724.5.1 状态和控制寄存器23724.5.2 计数器寄存器23924.5.3 预置寄存器239第25章 内部时钟生成模块25.1 概述24025.2 ICG模块的原理与操作24025.2.1 时钟使能电路24025.2.2 内部时钟发生器24225.2.3 外部时钟发生器24325.2.4 时钟监控电路24525.2.5 时钟选择电路24725.3 使用方法24825.3.1 切换时钟源24925.3.2 启动时钟监控器24925.3.3 利用时钟监控器的中断25025.3.4 DCO输出的量化误差25025.3.5 改变ICLK时钟频率25225.3.6 基础频率建立时间25225.3.7 内部时钟发生器修正频率25425.4 低功耗模式25425.5 CONFIG选项25425.5.1 外部时钟使能位25525.5.2 外部晶振使能位25525.5.3 外部低频时钟使能位25525.5.4 晶振在停止模式下的使能位25525.6 ICG模块的寄存器25525.6.1 ICG控制寄存器25625.6.2 ICG倍数寄存器25825.6.3 ICG修正寄存器25825.6.4 ICG DCO分频器寄存器25825.6.5 ICG DCO段控制寄存器259第26章 可重载定时器模块26.1 概述26026.2 RTM模块的寄存器26026.2.1 定时器预置寄存器26026.2.2 定时器计数寄存器26126.2.3 定时器控制寄存器26126.3 中断26226.4 低功耗模式262第27章 实时时钟27.1 简介26327.2 RTC模块的I/O引脚26327.3 功能描述26427.3.1 时间功能26427.3.2 日历功能26427.3.3 报警功能26427.3.4 计时功能26427.4 基础时钟中断26527.5 RTC的中断26627.6 RTC时钟的校准和补偿26627.7 RTC寄存器和写保护26827.8 低功耗模式26927.9 RTC模块的寄存器26927.9.1 RTC校准控制寄存器27027.9.2 RTC校准数据寄存器27127.9.3 RTC控制寄存器127127.9.4 RTC控制寄存器227227.9.5 RTC状态寄存器27327.9.6 报警分钟和小时寄存器27427.9.7 秒寄存器27527.9.8 分钟寄存器27527.9.9 小时寄存器27527.9.10 日寄存器27627.9.11 月寄存器27627.9.12 年寄存器27627.9.13 星期寄存器27727.9.14 计时数据寄存器277第28章 液晶显示驱动28.1 简介27828.2 基本特性27828.3 LCD模块的引脚名称与I/O寄存器地址27828.4 功能描述28028.4.1 LCD占空比28028.4.2 LCD电压28228.4.3 LCD周期帧28228.4.4 快速充电与低电流28228.4.5 对比度控制28228.5 低功耗模式28328.6 LCD模块的I/O引脚28328.6.1 BP0~BP3(背极驱动)28328.6.2 FP0~FP32(前极驱动)28528.77 段显示的连接方法28728.8 LCD模块的寄存器28928.8.1 LCD控制寄存器28928.8.2 LCD时钟寄存器29028.8.3 LCD数据寄存器291第29章 软件集成开发环境和程序下载29.1 CodeWarrior的使用29429.2 下载电路板原理图30129.3 烧写软件PROG08SZ——FLASH PROGRAMMER的使用302附录AM68HC08系列各MCU的特性305附录BM68HC08系列各MCU的引脚分配图325附录CMC68HC908SR12的寄存器339附录DMC68HC908SR12的电气特性348附录E光盘内容说明358

作者简介

本书首先以MC68HC908SR12单片机为主线,讲述M68HC08系列单片机的主要功能。本书希望对没有系统学习过单片机、但迫切需要运用单片机解决实际问题的技术人员有所帮助,因此,在书中也给出了在自行开发的MC68HC908SR12通用实验板上调试通过的C语言程序实例。随书附赠的光盘也提供了掌握此单片机实践过程中所需要的通用系统板原理图和制板图。

  介绍飞思卡尔(Freescale)半导体公司(原MOTOROLA公司半导体产品部)单片机M68HC08系列的中央处理器结构、存储器、时钟发生器、振荡器、系统集成模块、定时器及可编程定时器、模拟模块、模/数转换模块、时基模块、脉宽调制(PWM)模块、I2C串行通信模块、输出/输入模块、中断模块、复位、欠压保护、实时时钟、CAN总线模块、串行外设接口模块、LCD驱动显示等功能,对一些功能给出了已经调试通过的C语言程序。
  本书是针对在各个专业领域有造诣而需要应用单片机但却没有系统学习单片机的读者,通过本书可以更快地掌握和用好Freescale单片机M68HC08系列。本书讲述的原理具有普遍意义,也可以使没有用过单片机的读者很快入门并解决实际问题。C语言的特色使本书可以引导读者熟练使用高级编程语言,极大地提高编程效率和应用单片机的能力。

图书封面


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



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024