dsPIC通用数字信号控制器原理及应用

出版社:北航大学
出版日期:2007-7
ISBN:9787810778169
作者:刘和平
页数:476页

书籍目录

第1章 概述第2章 CPU结构2.1 概述62.2 编程模型72.3 软件堆栈指针/结构指针112.3.1 软件堆栈指针示例112.3.2 W14软件堆栈指针132.3.3 堆栈指针上溢132.3.4 堆栈指针下溢132.4 除法支持132.5 DSP引擎142.5.1 乘法器152.5.2 数据累加器加法器/减法器162.5.3 桶形移位寄存器202.6 CPU寄存器描述202.6.1 CPU状态寄存器SR202.6.2 内核控制寄存器CORCON232.6.3 其他CPU控制寄存器242.7 指令流水线类型282.8 地址寄存器相依性29第3章 存储器结构3.1 程序地址空间323.1.1 程序计数器323.1.2 用表读表写指令访问放在程序空间中的数据343.1.3 用程序空间的可视性访问程序存储器中的数据363.1.4 写程序存储器383.2 数据地址空间383.2.1 数据空间存储器映射393.2.2 数据空间403.2.3 数据空间宽度413.2.4 数据对齐413.2.5 Near数据空间423.2.6 软件堆栈42第4章 寻址方式4.1 地址产生单元444.2 指令寻址模式454.2.1 文件寄存器指令454.2.2 MCU指令454.2.3 移动和累加器指令464.2.4 MAC指令464.2.5 其他指令474.3 模寻址474.3.1 起始和结束地址474.3.2 W地址寄存器的选择484.3.3 模寻址的应用484.4 位反转寻址494.5 寻址寄存器51第5章 MPLAB IDE7.xx及MPLABC30安装及使用简介5.1 MPLAB IDE 7.xx的安装565.2 MPLAB C30的安装605.3 MPLAB IDE及MPLAB C18的使用简介64第6章 dsPIC30F6014快速入门6.1 生成源程序文件776.1.1 在MPLAB IDE软件环境下编辑源程序文件776.1.2 在VC下编辑源程序文件806.2 生成新项目806.2.1 利用MPLAB IDE向导创建新项目816.2.2 直接新建项目856.3 编译项目876.4 修改项目编译的语法错误906.5 调试程序926.5.1 调试程序方式926.5.2 设置断点936.5.3 单步运行956.6 固化程序956.7 编写程序中应注意的问题97第7章 dsPIC30F601x实验开发系统介绍7.1 dsPIC30F601x实验开发系统介绍997.1.1 结构简介997.1.2 主要功能及结构特点997.1.3 可在实验目标板上做的实验1007.2 dsPIC30F601x实验目标板各模块功能介绍1007.2.1 实验目标板概述1007.2.2 人机交换接口1007.2.3 串行通信接口(SCI)1017.2.4 控制器区域网络(CAN)1017.2.5 串行外设接口(SPI)1017.2.6 用I2C总线实现的EEPROM和日历时钟电路1017.2.7 实验目标板的硬件设置1027.3 dsPIC30F601x使用中的几个建议1067.3.1 MCLR主清0和编程信号输入引脚1067.3.2 上电/手动复位电路1067.3.3 关于运行频率1067.3.4 关于EMU引脚1077.3.5 调试时的内存情况1077.3.6 MPLAB IDE调试时的几个问题107第8章 系统设置8.1 概述1088.2 振荡器系统概述1098.3 振荡器配置1118.3.1 初始时钟源的选择1118.3.2 振荡器控制寄存器1118.3.3 主振荡器1128.3.4 晶体振荡器/陶瓷谐振器1138.3.5 C1、C2和RS值的确定1158.3.6 振荡器起振定时器1168.3.7 外部RC振荡器1168.3.8 锁相环1178.3.9 LP振荡器1178.3.10 快速RC振荡器1188.3.11 低功耗的RC振荡器1188.3.12 故障保护时钟监视器1198.3.13 可编程振荡器后分频器1198.3.14 时钟切换原理1208.4 复位1228.4.1 上电复位1238.4.2 可编程掉电复位1258.5 看门狗定时器1278.5.1 看门狗定时器操作1278.5.2 使用和禁止WDT1278.5.3 WDT定时器周期选择1288.5.4 WDT预分频器1288.5.5 复位看门狗定时器1288.5.6 WDT在休眠或空闲模式的工作1298.6 电压过低检测1298.6.1 LVD初始化1298.6.2 LVD运行时的电流消耗1308.6.3 在休眠和空闲模式下工作1308.7 低功耗模式1308.7.1 休眠模式1308.7.2 空闲模式1318.8 外设模块禁止寄存器1328.9 在线调试器1328.10 寄存器1338.10.1 振荡器控制寄存器1338.10.2 复位控制寄存器1358.10.3 器件配置寄存器137第9章 I/O端口9.1 并行I/O端口1439.1.1 I/O端口控制寄存器1439.1.2 外设复用1449.2 模拟端口引脚配置1499.3 输入电平变化中断模式1499.3.1 输入电平变化中断控制寄存器1509.3.2 输入电平变化中断配置和操作1509.3.3 休眠和空闲模式下的输入电平变化中断工作1509.3.4 输入电平变化中断控制寄存器1509.4 I/O端口编程152第10章 中断10.1 概述16310.2 中断优先级16510.3 复位顺序16510.4 陷阱16610.4.1 陷阱源16610.4.2 硬件及软件陷阱16710.5 中断序列16710.6 备用中断向量表16810.7 快速上下文保存16810.8 外部中断请求16910.9 从休眠和空闲状态唤醒16910.10 中断处理时序16910.10.1 单周期指令的中断延迟16910.10.2 双周期指令的中断延迟17010.10.3 从中断返回17110.10.4 中断延迟的特殊条件17110.11 中断寄存器17110.12 中断编程198第11章 程序存储器11.1 在线串行编程19911.2 运行时自编程19911.3 表读表写指令19911.4 运行时自编程20011.5 控制寄存器20011.6 自编程操作20111.6.1 Flash程序存储器的编程规则20111.6.2 擦除程序存储器一行20211.6.3 装载写锁存器20211.6.4 启动编程序列20311.7 控制寄存器204第12章 非易失数据存储器12.1 读非易失数据存储器20612.2 擦除非易失数据存储器20712.2.1 擦除非易失数据存储器的一个区域20712.2.2 擦除非易失数据存储器的一个字20712.3 写非易失数据存储器20812.3.1 写非易失数据存储器一个字20912.3.2 写非易失数据存储器的一个区域20912.4 写校验21112.5 误写操作保护21112.6 非易失数据存储器编程211第13章 定时器1模块13.1 Timer1模块简介21413.2 门控定时器21513.3 定时器预分频器21513.4 休眠模式下的定时器操作21613.5 定时器中断方式21613.6 实时时钟21713.6.1 RTC振荡器21713.6.2 实时时钟中断21913.7 秒表显示程序219第14章 定时器2/3和4/5模块14.1 Timer2/3模块22614.2 定时器门控方式22914.3 ADC事件触发方式22914.4 定时器预分频器22914.5 Timer3定时器比较结束时启动A/D转换例程23214.6 定时器Timer4/5模块236第15章 输入捕捉模块15.1 概述23715.2 简单的捕捉事件模式23815.2.1 预分频器捕捉事件23815.2.2 捕捉缓冲操作23815.2.3 Timer2和Timer3的选择模式23815.2.4 边沿检测模式23915.3 在休眠和空闲状态下的输入捕捉操作23915.3.1 休眠模式下的输入捕捉操作23915.3.2 空闲模式下的输入捕捉操作23915.4 输入捕捉中断23915.5 输入捕捉编程241第16章 输出比较模块16.1 输出比较模块24516.2 Timer2和Timer3选择模式24616.3 单输出比较匹配模式24616.3.1 单比较模式驱动为高电平24616.3.2 单比较模式输出驱动为低电平24716.3.3 单比较模式电平交替翻转输出24816.4 双输出比较匹配模式24916.4.1 单脉冲输出模式24916.4.2 连续脉冲输出模式25016.5 简单PWM 模式25216.5.1 带故障保护输入的PWM模式25216.5.2 PWM周期25216.5.3 PWM占空比25316.6 在CPU休眠模式下的输出比较操作25416.7 在CPU空闲模式下输出比较操作25416.8 输出比较中断25416.9 输出比较编程256第17章 SPI模块17.1 概述26417.2 操作功能描述26517.3 字和字节通信26517.4 关闭SDOx(SPI仅启动接收功能)26517.5 主控模式和从动模式26617.5.1 主控模式26617.5.2 从动模式26817.6 SPI错误的处理27217.7 串行通信的帧支持27217.7.1 在SPI 帧模式下的SCKx27317.7.2 在SPI 帧模式下的SPIx 缓冲寄存器27317.7.3 SPI主控模式和帧主控模式27317.7.4 SPI 主控模式和帧从动模式27417.7.5 SPI从动模式和帧主控模式27517.7.6 SPI从动模式和帧从动模式27617.8 SPI主控模式时钟频率27617.9 CPU休眠模式下SPI操作27717.10 CPU空闲模式下SPI操作27717.11 SPI状态和控制寄存器27717.12 SPI编程281第18章 I2C模块18.1 概述28718.2 操作功能描述28718.2.1 I2C操作模式28718.2.2 I2C模式下的引脚设置28718.2.3 I2C寄存器28818.3 I2C模块地址28918.4 I2C的7位从动模式操作28918.4.1 从动发送28918.4.2 从动接收29018.5 I2C的10位地址从动模式操作29118.6 自动时钟延长29218.7 软件控制时钟延长29318.8 中断29318.9 波形边沿斜率控制29318.10 IPMI支持29418.11 通用地址寻址29418.12 I2C主控方式支持29418.13 I2C主控模式操作29418.13.1 产生启动总线事件29518.13.2 I2C主控方式发送29618.13.3 I2C主动方式接收29718.13.4 应答产生29818.13.5 产生停止总线事件29918.13.6 重复启动产生30018.13.7 波特率发生器30018.13.8 时钟仲裁30118.13.9 多主机通信、总线冲突和总线仲裁30118.14 休眠和空闲模式下的I2C总线操作30118.15 I2C模块编程30618.15.1 I2C模块扩展片外的串行EEPROM编程30618.15.2 I2C模块扩展片外的日历时钟模块309第19章 通用异步收发器模块19.1 UART模块特性31919.2 UART设置31919.2.1 UART使能32019.2.2 关闭UART32019.2.3 设置数据、奇偶和停止位32019.3 发送数据32019.3.1 8位数据发送方式32119.3.2 9位数据发送方式32219.3.3 发送缓冲器(UxTXB)32219.3.4 发送中断32219.3.5 设置UART发送32319.3.6 发送中止32319.4 接收数据32419.4.1 8位或9位数据接收方式32419.4.2 接收缓冲器(UxRXB)32519.4.3 接收中断32519.4.4 设置UART接收32519.5 处理接收错误32619.6 地址检测模式32719.7 自检模式32719.8 波特率发生器32819.9 自动波特率32819.10 休眠和空闲模式下的UART操作32919.10.1 休眠模式下的UART操作32919.10.2 空闲模式下的UART操作32919.11 USART编程332第20章 CAN模块20.1 概述34120.2 帧类型34320.3 CAN操作模式34920.3.1 配置模式34920.3.2 禁止模式34920.3.3 正常工作模式35020.3.4 监听模式35020.3.5 监听所有报文模式35020.3.6 自检模式35020.3.7 错误识别模式35020.4 报文接收35120.4.1 接收缓冲器35120.4.2 报文接收过滤器35120.4.3 报文接收屏蔽器35220.4.4 接收溢出35420.4.5 接收错误35420.4.6 接收中断35420.5 报文发送35520.5.1 发送缓冲器35520.5.2 发送报文优先级35520.5.3 发送序列35620.5.4 发送报文中止35620.5.5 发送错误35820.5.6 发送中断35820.6 波特率设置35920.6.1 位时序35920.6.2 预分频设置35920.6.3 传输时间段36020.6.4 相位缓冲段36020.6.5 采样点36120.6.6 同步时间段36120.7 CAN模块在低功耗模式下工作36120.7.1 CAN模块在休眠模式下工作36120.7.2 CAN模块在空闲模式下的工作36220.8 CAN模块的寄存器36220.8.1 CAN控制状态寄存器36220.8.2 CAN发送缓冲器36420.8.3 CAN接收缓冲器36720.8.4 报文接收过滤器37020.8.5 接收过滤器屏蔽寄存器37220.8.6 CAN波特率寄存器37320.8.7 CAN模块错误计数寄存器37520.8.8 CAN中断寄存器37520.9 CAN总线编程378第21章 12位模/数转换器21.1 概述38321.2 A/D转换结果缓冲寄存器38421.3 转换过程38421.4 A/D模块配置38621.4.1 参考电压源的选择38621.4.2 A/D转换时钟的选择38621.4.3 模拟输入通道的选择38721.5 采样/转换的控制38821.5.1 模块使能38821.5.2 采样开始38821.5.3 停止采样并开始转换38921.5.4 采样/转换的编程39321.6 转换结果写入缓冲器39421.7 A/D采样要求39521.8 输出格式39521.9 连接注意事项39621.10 复位的影响39621.11 配置模拟引脚39621.12 转换异常中断39721.13 A/D初始化及转换过程示例39721.13.1 A/D初始化39721.13.2 转换过程示例39821.14 在休眠和空闲模式下的A/D操作40021.15 控制寄存器40021.16 A/D编程406第22章 数据传输接口模块22.1 概述41022.2 DCI引脚41022.3 编解码器接口41122.4 DCI模块操作41322.5 使用DCI缓冲器、状态位及中断发送和接收数据42122.5.1 DCI 起动和数据缓冲42222.5.2 DCI禁止42322.6 多通道工作42422.7 AC?Link工作42522.8 I2S工作42722.9 DCI模块低功耗模式43022.10 DCI寄存器430第23章 汇编指令集与C语言库函数概述23.1 汇编指令概述43623.2 DSP函数库44323.2.1 DSP函数库的使用44423.2.2 矢量(数组)函数44523.2.3 窗函数44723.2.4 矩阵函数44723.2.5 滤波函数44823.2.6 变换函数45023.3 dsPIC外设函数库45123.3.1 dsPIC 外设函数库的使用45123.3.2 外部LCD函数45123.3.3 CAN函数45223.3.4 ADC12函数45323.3.5 ADC10函数45323.3.6 定时器函数45423.3.7 复位/控制函数45523.3.8 I/O端口函数45523.3.9 输入捕捉函数45623.3.10 输出比较函数45623.3.11 UART函数45723.3.12 DCI函数45823.3.13 SPI函数45823.3.14 QEI函数45923.3.15 PWM函数45923.3.16 I2C函数46023.4 标准C函数库和数学函数46123.4.1 使用标准C函数库46123.4.2 诊断46123.4.3 字符处理46223.4.4 错误46223.4.5 浮点特征46323.4.6  实现定义的限制46423.4.7 语言环境46523.4.8 与语言环境无关的跳转46523.4.9 信号处理46623.4.10 可变参数列表46623.4.11 公共定义46723.4.12 输入和输出46723.4.13 实用函数47023.4.14 字符串函数47123.4.15 日期和时间函数47223.4.16 数学函数47323.4.17 PIC30函数库47423.5 MPLAB C30内建函数47623.5.1 内建函数列表47623.5.2 内建函数错误消息477参考文献478

编辑推荐

  《dsPIC通用数字信号控制器原理及应用:基于dsPIC30F系列》是一本很好的掌握数字信号控制器应用设计和工程开发编程入门与提高的参考书,适用于开发者和初学者;也可作为大学本科学生或研究生数字信号控制器原理及应用课程或嵌入式系统课程的教材使用。  随书附CD-ROM光盘一张。

作者简介

《dsPIC通用数字信号控制器原理及应用:基于dsPIC30F系列》主要介绍微芯公司dsPIC30F系列通用数字信号控制器的基本原理和工程应用方面的知识。书中除介绍通用数字信号控制器的结构、工作原理和基本使用方法外,还介绍了大量应用例程及编程有关的知识,几乎涉及dsPIC30F系列数字信号控制器的几乎所有功能模块的编程应用,给出了典型应用实例的电路原理图和汇编源程序、C语言源程序清单,并将这些程序放在书中所附光盘中。

图书封面


 dsPIC通用数字信号控制器原理及应用下载



发布书评

 
 


 

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

零度图书网 @ 2024