- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PIC单片机C语言教程.
标签: PIC??C语言??学习??
PIC单片机C语言教程
第十一章?PIC?单片机的C?语言编程?11.1?PIC?单片机C?语言编程简介?用C?语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护?升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C?语言编程在单片机?系统设计中已得到越来越广泛的运用。针对PIC?单片机的软件开发,同样可以用C?语言实?现。?但在单片机上用C?语言写程序和在PC?机上写程序绝对不能简单等同。现在的PC?机资?源十分丰富,运算能力强大,因此程序员在写PC?机的应用程序时几乎不用关心编译后的可?执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机?的C?程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如?果没有对单片机体系结构和硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实?用的C?语言程序。这就是为什么前面所有章节中的的示范代码全部用基础的汇编指令实现?的原因,希望籍此能使读者对PIC?单片机的指令体系和硬件资源有深入了解,在这基础之?上再来讨论C?语言编程,就有水到渠成的感觉。?本书围绕中档系列PIC?单片机来展开讨论,Microchip?公司自己没有针对中低档系列PIC?单片机的C?语言编译器,但很多专业的第三方公司有众多支持PIC?单片机的C?语言编译器?提供,常见的有Hitech、CCS、IAR、Bytecraft?等公司。其中笔者最常用的是Hitech?公司的?PICC?编译器,它稳定可靠,编译生成的代码效率高,在用PIC?单片机进行系统设计和开发?的工程师群体中得到广泛认可。其正式完全版软件需要购置,但在其网站上有限时的试用版?供用户评估。另外,Hitech?公司针对广大PIC?的业余爱好者和初学者还提供了完全免费的学?习版PICC-Lite?编译器套件,它的使用方式和完全版相同,只是支持的PIC?单片机型号限制?在PIC16F84、PIC16F877?和PIC16F628?等几款。这几款Flash?型的单片机因其所具备的丰富?的片上资源而最适用于单片机学习入门,因此笔者建议感兴趣的读者可从PICC-Lite?入手掌?握PIC?单片机的C?语言编程。?在此列出几个主要的针对PIC?单片机的C?编译器相关连接网址,供读者参考:?Hitech-PICC:??IAR:??CCS:?/picc.shtml?ByteCraft:?/mpccaps.html?本章将介绍Hitech-PICC?编译器的一些基本概念,由于篇幅所限将不涉及C?语言的标准?语法和基础知识介绍,因为在这些方面都有大量的书籍可以参考。重点突出针对PIC?单片?机的特点而所需要特别注意的地方。?11.2?Hitech-PICC?编译器?PICC?基本上符合ANSI?标准,除了一点:它不支持函数的递归调用。其主要原因是因?为PIC?单片机特殊的堆栈结构。在前面介绍PIC?单片机架构时已经详细说明了PIC?单片机?张明峰?2004-4-7?于上海?2?of?26?中的堆栈是硬件实现的,其深度已随芯片而固定,无法实现需要大量堆栈操作的递归算法;?另外在PIC?单片机中实现软件堆栈的效率也不是很高,为此,PICC?编译器采用一种叫做“静?态覆盖”的技术以实现对C?语言函数中的局部变量分配固定的地址空间。经这样处理后产?生出的机器代码效率很高,按笔者实际使用的体会,当代码量超过4K?字后,C?语言编译出?的代码长度和全部用汇编代码实现时的差别已经不是很大(10%),当然前提是在整个C?代码编写过程中须时时处处注意所编写语句的效率,而如果没有对PIC?单片机的内核结构、?各功能模块及其汇编指令深入了解,要做到这点是很难的。?11.3?MPLAB-IDE?内挂接PICC?PICC?编译器可以直接挂接在MPLAB-IDE?集成开发平台下,实现一体化的编译连接和?原代码调试。使用MPLAB-IDE?内的调试工具ICE2000、ICD2?和软件模拟器都可以实现原?代码级的程序调试,非常方便。?首先必须在你的计算机中安装PICC?编译器,无论是完全版还是学习版都可以和?MPLAB-IDE?挂接。安装成功后可以进入IDE,选择菜单项Project????Set?Language?Tool?Locations…,打开语言工具挂接设置对话框,如图11-1?所示:?在对话框中选择“HI-TECH?PICC?Toolsuite”栏,展开可执行文件组“Executable”后,?列出了将被MPLAB-IDE?后台调用的编译器所用到的所有可执行文件,其中有汇编编译
文档评论(0)