出版时间:2009-8 出版社:北京航空航天大学出版社 作者:石朝林 页数:464
前言
微芯科技(Microchip Tech.Inc.)的8位单片机早已成为业界的佼佼者,出货量和销售额都居于第一位。但是微芯科技并不满足当前的成绩,而是积极开拓新的市场,以极快的速度先后推出了dsPIC系列16位数字信号控制器(DSC)及其PIC24系列16位微控制器。目前16位产品的四大家族dsPIC30F、dsPIC33F、PIC24F、PIC24FJ已经日臻完善,家族里的成员不断丰富。同时很多崭新的型号正在设计、测试、试验当中。内嵌USB、以太网接口、QVGA驱动的16位单片机将很快推出,满足用户不同设计对象的需求。微芯科技所有16位单片机坚持“一个核心”的原则,也即内核保持汇编级兼容,外围保持引脚和外设兼容。这样,从18个引脚到28、40、64、80、100个引脚,程序容量从几KB到256KB,多达数百个分支型号可供用户选择。同时每个分支系列都在同步发展,用户总可以在这些型号里选择到合适自己的产品。目前8位P1C方面的书籍已经相当丰富了,16位PIC和dsPIC方面的书籍却很少。这本关于微芯科技16位单片机的书分成两个部分:入门篇和实战篇,分别针对这个系列单片机的基本知识和相关应用案例进行深入浅出的介绍。内容丰富,范例详尽,并配有资料CD,内附MPLAB IDE开发环境软件包、C30编译器学生版、滤波器设计软件包(Filter Design)、若干C语言和汇编程序代码、电路图、元件封装以及实用小程序等资料。这是一本手册,也是一本作者多年实际工程经验的总结。本书可以作为嵌入式设计工程师的设计指南,也可以作为大专院校师生的参考书目。微芯科技很快会推出一系列崭新的PIC32家族(Dytona)32位微控制器。这个系列采用独具特色的处理器内核,具有很高的MIPS/功耗比以及众多第三方软件开发商的支持。这样,微芯科技将为客户提供从8位到16位以至32位的完备解决方案。我们相信,微芯科技将会不负众望,不断丰富产品线。也希望以这部书作为用户学习和开发的起点,帮助您进入嵌入式设计的精彩世界。
内容概要
本书可以称作16位DsC的“入门篇”。侧重于dsPIc30F/33F系列16位数字信号控制器的基础知识和相关实际工程经验的介绍。针对这一系列McU的架构、外设、存储器模式、寻址模式、开发工具等进行循序渐进、深入浅出的介绍,从入门到精通再到实战。提供了关于数字滤波、FFT等实战范例,帮助工程师系统学习和研究,同时把指令集以简洁的表格形式呈现在读者面前,方便编程时迅速准确查找。 本书可作为工程技术人员迅速掌握dsPIC30F/33F系列16位数字信号控制器开发技术的实用参考书。
作者简介
石朝林,毕业于哈尔滨理工大学电机系电气自动化专业.后进修于清华大学电子系电子技术与计算机技术专业。毕业后在北京机械工业学院先后担任精密仪器系和自动化系实验员、实验室主任职务。后就职于香港科汇北京办事处负责8位、32位处理器技术支持。目前就职于微芯科技北京办事处.担任主任工程师,主要负责Mcu类产品技术支持。
作者有累计17年嵌入式系统工程设计经验,组织和参加过多个涉及MCu和模拟电路的技术开发项目,具有比较丰富的开发经验。
书籍目录
第1章 CPU架构 1.1 概述 1.2 编程者模型(Programmer’sModel) 1.2.1 工作寄存器堆 1.2.2 影子寄存器(ShadowRegister) 1.2.3 未初始化的w寄存器的复位 1.3 软件堆栈(SoftwareStack) 1.3.1 软件堆栈示例 1.3.2 W14软件堆栈帧指针 1.3.3 堆栈指针上溢(Overflow)和下溢(Underflow) 1.4 与核心相关的寄存器 1.4.1 状态寄存器(SR) 1.4.2 核心控制寄存器(CORCON) 1.4.3 其他CPU控制寄存器 1.5 算术逻辑部件(ALU) 1.6 DSP引擎 1.6.1 累加器(Accumulators) 1.6.2 乘法器(MultipIier) 1.6.3 累加器与加法器 1.6.4 舍人逻辑(RoundLogic) 1.6.5 桶形移位寄存器(BarrelShifter) 1.6.6 DSP引擎陷阱事件 1.7 除法器 1.8 指令流类型 1.9 循环结构 1.9.1 REPEAT循环结构 1.9.2 DO循环结构第2章 中断系统 2.1 中断系统简介 2.2 中断优先级(Interrupt Priority) 2.2.1 用户中断优先级 2.2.2 CPU中断优先级 2.3 中断的操作过程 2.4 中断嵌套(Interrupt Nest) 2.5 非屏蔽中断陷阱(Non-Maskable Trap) 2.5.1 软陷阱(Solt Trap) 2.5.2 硬陷阱(Hard Trap) 2.6 软件禁止中断指令(DISI) 2.7 利用中断将CPU从SLEEP和IDLE状态唤醒 2.8 外部中断源 2.9 中断处理时序 2.9.1 单周期指令的中断响应时间 2.9.2 双周期指令的中断响应时间 2.9.3 从中断返回 2.9.4 中断响应时间的特殊情况 2.10 中断设置流程 2.10.1 初始化 2.10.2 中断服务程序 2.10.3 禁止中断 2.11 和中断相关的寄存器第3章 程序存储器与数据存储器 3.1 程序存储器与EEPROM 3.1.1 程序存储器地址映射 3.1.2 程序计数器PC 3.1.3 从Flash或EEPROM进行数据读写的方法 3.2 数据存储器 3.2.1 概述 3.2.2 数据区地址发生单元(AGU) 3.2.3 模数寻址(ModuloAddressing) 3.2.4 位反转寻址(BitReversedAddressing)第4章 定时计数器第5章 A/D转换器及其应用第6章 DMA控制器(DMAC)第7章 串行通信端口第8章 输入捕捉与输出比较第9章 电机控制专用外设第10章 时钟电路第11章 系统管理模块第12章 I/O商品及相关功能第13章 开发工具第14章 数字滤波器设计第15章 实时时钟模块(RTC)附录A 快速傅里叶变换(FFT)附录B 指令集详解附录C 利用DSP核提高直流无刷电机的PID效率附录D 随身携带的PIC开发利器PICKit2参考文献
章节摘录
插图:和PIC16或PIC18等8位单片机的硬件堆栈不同,dsPIC30F。系列DSC采用软件堆栈。所有16位。PIC和dsPIC的堆栈都是建立在RAM里面,因此堆栈的深度完全决定于某颗芯片片上RAM的多少。硬件堆栈数量较少(8级或31级)、简单可靠、操作快速、不占用系统RAM,但是存在堆栈级数少、不能被用户直接操作、不支持递归运算、不能用来保存用户变量等缺点。而基于RAM的软件堆栈深度可调、可保存用户变量、操作灵活、支持递归等复杂算法。软件堆栈的缺点是占用系统RAM、芯片成本增加。w15被用作堆栈指针,因此用户一般不要使用W15作别的用途。为了避免错误的堆栈访问,w15的最低位被硬件强制设置为“O”。该指针在中断处理、子程序调用与返回等情况下将被自动修改。与操作所有其他w寄存器的方式一样,w15也可以使用任何指令对其进行操作。这样可以简化对堆栈指针的读、写和控制操作。例如用户可以建立堆栈帧(StackFrame)。当芯片发生复位时(任何类型的复位)w15都被初始化为指向0x0800,也就是片内RAM的起始地址(0~7FF为SFR的范围)。这样可以确保芯片一复位即可获得有效的堆栈指针,指向有效的RAM地址。这样的设计非常有利于处理一些极端情况,比如单片机复位后,在软件还没有来得及初始化SP之前就发生了非屏蔽陷阱的时候,堆栈可以用来保存断点数据。在初始化期间,用户可以根据需要将SP重新指向RAM空间内的任何地址单元。
图书封面
评论、评分、阅读与下载