您的位置:网站首页 > Java教程 > 正文

PIC单片机C语言编程教程(1

类别:Java教程 日期:2017-11-25 16:30:38 人气: 来源:

  本书围绕中档系列 PIC 单片机来展开讨论,Microchip 公司自己没有针对中低档系列 PIC

  单片机的 C 语言编译器,但很多专业的第三方公司有众多支持 PIC 单片机的 C 语言编译器

  供用户评估。另外,Hitech 公司针对广大 PIC 的业余爱好者和初学者还提供了完全免费的学

  习版 PICC-Lite 编译器套件,它的使用方式和完全版相同,只是支持的 PIC 单片机型号

  的片上资源而最适用于单片机学习入门,因此笔者感兴趣的读者可从 PICC-Lite 入手掌

  本章将介绍 Hitech-PICC 编译器的一些基本概念,由于篇幅所限将不涉及 C 语言的标准

  为 PIC 单片机特殊的堆栈结构。在前面介绍 PIC 单片机架构时已经详细说明了 PIC 单片机

  另外在 PIC 单片机中实现软件堆栈的效率也不是很高,为此,PICC 编译器采用一种叫做“静

  原代码调试。使用 MPLAB-IDE 内的调试工具 ICE2000、ICD2 和软件模拟器都可以实现原

  MPLAB-IDE后台调用的编译器所用到的所有可执行文件,其中有汇编编译器“PICC Assembler”、C 原程序编译器“PICC Compiler”和连接定位程序“PICC Linker”。同

  第三章 3.1.3 节,此处不再重复。项目建立完成后可以加入 C 或汇编原程序,也可以加

  PIC 单片机的 C 语言原程序基本框架基于 PICC 编译编写 PIC 单片机程序的基本方式和标准 C 程序类似,程序一般由以

  在程序的最前面用#include 预处理指令引用包含头文件,其中必须包含一个编译器提供的“pic.h”文件,实现单片机内特殊寄存器和其它特殊符号的声明;

  中档系列 PIC 单片机数据寄存器的一个 bank 大小为 128 字节,刨去前面若干字节的特

  殊功能寄存器区域,在 C 语言中某一 bank 内定义的变量字节总数不能超过可用 RAM 字节

  连接器告诉你总共有 0x12C(300)个字节准备放到 bank1 中但 bank1 容量不够。显然,只

  作前无需再特意编写设定 bank 的指令。C 编译器会根据所操作的对象自动生成对应 bank 设

  在同一个 bank 内;对不同 bank 内的变量进行读写操作时也尽量把位于相同 bank 内的变量

  PICC 把所有函数内部定义的 auto 型局部变量放在 bank0。为节约宝贵的存储空间,它

  既然所有的局部变量将占用 bank0 的存储空间,因此用户自己定位在 bank0 内的变量字

  bit 型位变量只能是全局的或静态的。PICC 将把定位在同一 bank 内的 8 个位变量合并

  PIC单片机的位操作汇编指令高效实现。基于此,位变量不能是局部自动型变量,也无法将其组合成复合型

  PICC 对整个数据存储空间实行位编址,0x000 单元的第 0 位是位地址 0x0000,以此后

  程序调试时方便地查找自己所定义的位变量,如果一个位变量 flag1 被编址为 0x123,那么

  单片机的位操作指令常高效的。因此,PICC 在编译原代码时只要有可能,对普通变量的操作也将以最简单的位操作指令来实现。假设一个字节变量

  PICC 中描述浮点数是以 IEEE-754 标准格式实现的。此标准下定义的浮点数为 32 位长,

  高。在程序中定义的 float 型标准浮点数的长度固定为 24 位,双精度 double 型浮点数一般

  也是 24 位长,但可以在程序编译选项中选择 double 型浮点数为 32 位,以提高计算的精度。

  推荐:

  

关键词:c 语言教程
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

郑重声明:本站资源来源网络 如果侵犯了你的利益请联系站长删除

CopyRight 2010-2012 技术支持 FXT All Rights Reserved