- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《pic单片机原理、开发方法及实践》2第二章pic中档单片机的结构及开发工具
硬件堆栈 * 堆栈示意图 硬件堆栈 * 硬件堆栈具有以下优缺点: 优点:由硬件自动管理堆栈,无需初始化,操作速度快,使用简单; 优点:无法通过软件直接访问堆栈,不会由于程序误操作或者跑飞造成堆栈数据被破坏,也不会由于堆栈的溢出影响其它数据的完整性; 缺点:堆栈的深度固定只能是八级,在程序设计时必须特别小心,不能让程序调用和中断嵌套级数过多,从而造成堆栈溢出; 缺点:不能通过软件修改堆栈的方法控制程序的执行。 ALU和工作寄存器 * 算术逻辑单元简称为ALU,是执行算术和逻辑运算的功能部件。 有一个和ALU密切配合以完成所有算术、逻辑和搬运指令的寄存器,称为累加器。PIC中档单片机中也有一个与之类似的重要的寄存器:工作寄存器W。 ALU和工作寄存器 * 工作寄存器的桥梁作用 ALU和工作寄存器 * W用于沟通ALU和文档寄存器。其作用主要有二: 其一,作为ALU的两个输入中的X输入。和Y输入不同,X输入只能是W。 其二,作为ALU计算结果的存放目的地。 两个作用都非常重要,其中作为输入,W是不可替代的,可以说离开了W,ALU将无法工作。 PIC中档单片机外设的特点 * PIC是Peripheral Interface Controller的缩写,中文直译为“外设接口控制器”。实际上,优越而易用的外设也是PIC的重要特点。 外设功能模块种类丰富 PIC单片机的外设都很有特色 外设不搞功能堆积 PIC中档单片机的典型封装形式 * 典型PIC中档单片机的引脚和封装形式众多,引脚数从6个到44个,封装形式则有:SOT、SSOP、SOIC、TQFP、PDIP、QFN和PLCC等等。 PIC单片机的多数引脚都具备第2功能,甚至第3功能。这样做的好处是可以使单片机增加功能而又不增加引脚数。但缺点是在有的应用中需要同时使用同一个引脚上的两个功能时,可能带来不便。 集成开发环境MPLAB * 集成开发环境MPLAB * PIC单片机的软件开发工具中,应用最广泛的是Microchip自主推出的集成开发环境 MPLAB IDE(Integrated Development Environment,IDE)。 它把文本编辑器、汇编器、连接器、项目管理器和调试器等一些在编程和调试过程中必不可少的软件工具,全部集成到了一个开发环境下,从而形成了一套不仅功能丰富而且使用方便的软件包。 集成开发环境MPLAB * 集成开发环境MPLAB * MPLAB IDE提供以下功能: 完成源程序的编写。 将源程序编译成目标代码。 配合硬件调试器、开发板完成软件的调试。 配合编程器将调试成功的目标代码写入到开发板的单片机中。 MPLAB的基本使用方法 * MPLAB下,开发所有项目均需要经过以下基本步骤: 选择器件 选择语言工具 将文件添加到项目 创建代码 编译项目 使用软件模拟器测试代码 仿真、编程工具ICD2 * ICD2 * ICD2?是(In-Circuit?Debugger 2)的英文缩写,中文是“在线调试”的意思;数字“2”,是因为它是ICD的改进版。 ICD2几乎支持所有Microchip公司新推出的Flash单片机,得到了PIC开发者的青睐。 教材附录中有缩减版本的ICD2的制作方式,可供同学参考。 ICD2 * ICD2与软件模拟器相比,本质的区别在于ICD2是硬件调试工具。它可以调试实实在在的硬件电路,实现目标代码的单步运行和全速运行,设置断点,观察和直接修改任意的变量等硬件调试手段。 ICD2之所以能实现在线调试,是因为这些PIC单片机已经在内部集成了了调试模块。正常工作时,调试模块不起作用,对用户透明。一旦lCD2和单片机相连后,通过ICD2把一小段监控代码烧入单片机并配合调试模块实现硬件调试。 ICD2 * ICD2在线调试时需要占用芯片本身的一些资源,包括: 复位入口处第一条指令不可用,一般写作NOP指令; 需要占用最高256字的程序空间,用于存放监控代码; 占用约16字节的文档寄存器,为监控代码使用; 监控代码需用到一级硬件堆栈; 还有两个I/O引脚RB6和RB7,用于调试时与ICD2的双向串行通信。 ICD2 * ICD2既是一个调试器,同时又是一个编程器(烧写器)。 作为调试本时,ICD2可以实现硬件调试,但由于含有调试代码的程序,那么这个单片机系统在脱离ICD2后是无法独立运行的。 发布产品之前,应该将程序直接烧入程序存储器Flash中。方法是通过MPLAB的programmer菜单选择ICD2,此时ICD2不再被当作调试器,而是一个编程器(programmer),此时通过ICD2下载的代码在拔掉ICD2和目标板的连线,单片机就可以独立运行了。 思考题 * PIC系列单片机采用的是什么总线结构,这种结构有什么好处? 采用20MHz外部
文档评论(0)