【转】PIC单片机C语言简记

本文介绍了如何在MPLAB-IDE中安装和使用PICC编译器进行PIC单片机的C语言编程。讨论了C语言编程的基本结构、变量定义、数据寄存器的bank管理,以及PICC中的特殊变量修饰关键词。此外,还提到了函数指针、子程序和中断服务程序的实现,并强调了在编写中断服务程序时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.PICC安装:    

  PICC编译器可以直接挂接在MPLAB-IDE集成开发平台下,实现一体化的编译连接和原代码调试。使用MPLAB-IDE内的调试工具ICE2000 、ICD2 和软件模拟器都可以实现原代码级的程序调试,非常方便。

  首先必须在你的计算机中安装 PICC 编译器。安装成功后可以进入IDE ,选择菜单项Project Æ Set Language Tool Locations… ,打开语言工具挂接设置对话框。在对话框中选择“HI-TECH PICC Toolsuite”栏,展开可执行文件组“Executable”后,列出了将被MPLAB-IDE 后台调用的编译器所用到的所有可执行文件,其中有汇编编译器“PICC Assembler ”、C 原程序编译器“PICC Compiler”和连接定位程序“PICC Linker”。同时在此列表中还显示了对应的可执行程序名,请注意在这里都是“PICC.EXE”。用鼠标分别点击选中这三项可执行文件,观察对话框下面“Location ”一栏中显示的文件路径,用“Browse…”按纽,从计算机中已经安装的 PICC编译器文件夹中选择PICC.EXE 文件。

     实际上PICC.EXE 只是一个调度管理程序,它会按照所输入的文件扩展名自动调用对应的编译器和连接器,用户要注意的是C 语言原程序扩展名用“.c ”,汇编原程序用“.as”即可。用C 语言编程的好处是可以实现模块化编程。程序编写者应尽量把相互独立的控制任务用多个独立的C 原程序文件实现,如果程序量较大,一般不要把所有的代码写在一个文件内

  基于PICC编译环境编写PIC 单片机程序的基本方式和标准C 程序类似,程序一般由以下几个主要部分组成:
  z   在程序的最前面用#include 预处理指令引用包含头文件,其中必须包含一个编译器提供的“pic.h ”文件,实现单片机内特殊寄存器和其它特殊符号的声明;
  z   用“__CONFIG ”预处理指令定义芯片的配置位;
  z   声明本模块内被调用的所有函数的类型,PICC将对所调用的函数进行严格的类型匹配检查;
  z   定义全局变量或符号替换;
  z   实现函数(子程序),特别注意 main 函数必须是一个没有返回的死循环。

 

 1 #include <pic.h>    //包含单片机内部资源预定义 
 2 #include “pc68.h”    //包含自定义头文件 
 3  //定义芯片工作时的配置位 
 4 __CONFIG (HS & PROTECT & PWRTEN & BOREN & WDTDIS); 
 5  //声明本模块中所调用的函数类型 
 6 void SetSFR(void); 
 7 void Clock(void); 
 8 void KeyScan(void); 
 9 void Measure(void); 
10 void LCD_Test(void); 
11 void LCD_Disp(unsigned char);  
12 //定义变量 
13 unsigned char second, minute, hour; 
14 bit flag1,flag2; 
15 //函数和子程序
16 void main(void) 
17 { 
18   SetSFR(); 
19   PORTC = 0x00; 
20   TMR1H += TMR1H_CONST; 
21   LED1 = LED_OFF; 
22 
23   LCD_Test(); 
24  
25   //程序工作主循环 
26   while(1) { 
27      asm(“clrwdt”);   //清看门狗 
28      Clock();        //更新时钟 
29      KeyScan();      //扫描键盘 
30      Measure();      //数据测量 
31      SetSFR();       //刷新特殊功能寄存器 
32   } 
33 } 

 

2.PICC 中的变量定义

bit         1      布尔型位变量,0 或1 两种取值
char          8      有符号或无符号字符变量,PICC 缺省认定char 型变量为无符号数,但可以通过编译选项改为有符号字节变量
unsigned char    8      无符号字符变量
short       16      有符号整型数
unsigned short   16      无符号整型数
int           16      有符号整型数
unsigned int         16      无符号整型数
long        32      有符号长整型数
unsigned long       32      无符号长整型数
float        24      浮点数
double       24  或32     浮点数,PICC 缺省认定double 型变量为24位长,但可以改变编译选项改成32位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值