const pic c 语言,PIC16F 877学习-复习-篇01 建新项目

开发软件平台:MPLAB X IDE V1.85;XC8 compiler;

硬件调试器kit 3

IC芯片:PIC16F877A,外部晶振12MHz。

一、先建立项目工程

1.新建main.c文件即file→new,保存在制定文件夹中。

2.新建项目,即project→project wizard,然后一路下去,其中要选择器件PIC18xx,编译器C18,各种源文件main.c(1中创建的)、PIC18xx.H、PIC18xx.LKR、PIC18xx.LIB(后面三个在C18安装目录下)

3.还需要设置的是“Project”—》“Build Options”—》“Project”,在弹出的对话框中找到“Directories”标签,看到一个Show directories for:旁边的下拉选项,分别找到“Include Search Path”“Library Search Path”“Linker-Script Search Path”,这三个选项,这三个分别是指定头文件目录(Mcc18\h)、Lib库文件目录(Mcc18\lib)和LKR目录(Mcc18\bin\lkr)的。点击那个“New”按钮建立路径。

4,写程序编译

5,更重要的是配置项设置,目前还不清楚用程序怎么写,所以只能在编程工具里面设置。configure→configuration Bits然后configuration Bits set in code,前面的勾打上则表明在配置项写在程序里面,将勾取消掉则表明在该软件工具设置配置项。

配置项有三处需要修改:OSC  WDT  LVP(其它就看自己需求了)

程序中设置配置项用 #pragma config 伪指令

例如:

#pragma config PLLCFG = OFF

#pragma config BORV = 285

#pragma config WDTEN = ON

#pragma config WDTPS = 32768

等等

PLLCFG等和右值的定义在C18安装目录下的doc文件夹中hlpPIC18ConfigSet可以找到。

或看具体芯片的数据手册

6.烧录程序

设置烧录模式(Release),project→Build Configuration→Release(Debug为在线调试模式)快捷方式栏有直接设置Release或Debug的。

选择烧录工具,Programmer → select Programmer → PICkit3,

最后就可以下载程序啦

补充说明:

可以在Programmer→setting→Power里面选择PICkit3的电压和目标板的供电方式

PIC中的BANK需要用户自己进行定义,除了bank0内的变量声明不要特殊处理外,其它的bank内的变量定义必须加上相应的bank序号。

unsigned char data;  这个是定义在bank0内的

bank1 unsigned char buffer[32];  // 变量定位在bank1中

bank2 bit flag1;                                //变量定位在bank2中

bank3 float val[2];                         //变量定位在bank3中

bit型位变量智能是全局的或是静态的。PICC把定位在同一个Bank内的8个位变量并成一个字节存放在一个固定地址。位变量不能是局部自动变量。

PICC的位操作是非常高效的 ,对变量中的某一位操作的C语言代码将被直接编译为汇编的位操作指令。

Union {

Struct{

Unsigned  b0:1;

Unsigned  b1:1;

Unsigned  b2:1;

Unsigned  b3:1;

Unsigned  b4:1;

Unsigned  b5:1;

Unsigned  :2

}onebit;

Unsigned char allbits;

}myflag;

Myflag.onebit.b3 =1;

Myflag.allbits = 0;

变量声明的类型:extern、volatile、const以及persistent,尤其注意persistent类型是不允许在程序复位后被清零的。

PIC的仿真器比较:

24158b049a43940269b011cf2ca756ff.png

编程时可结合《PIC单片机的C语言编程》进行学习

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值