• 引言:近期由于项目实践需要,开始动手学习相关硬件知识。从PIC单片机入手。

  • 单片机学习核心要点:查数据手册 配置寄存器

一、基于MPLAB X IDE配置位设置

MPLAB X IDE和MPLAB IDE 8不同。

MPLAB IDE 8 可以再界限中选择配置位就行。配置选项可以不写在代码中。

MPLAB X IDE 如果要配置的话必须在代码中写出配置。

配置字中最重要的配置选项就是:

看门狗配置 如:WDTE<1;0>; 一般选择关闭看门狗。

MCLRE复位脚的配置 如:MCLRE;一般选择复位脚作I/O,PIC16F877A无此选项。不用设置。

震荡器的选择: 如:FOSC<2:0>;根据实际情况配置,我这里一般选用XT,即标准的振荡频率1M~4M。

因为如果这三个没有配置好的话程序根本无法运行。其他配置可以看数据手册此不赘述。

实例介绍:

打开MPLAB X IDE 在菜单栏中 点击Window->PIC Memory Veiws->Configuration bits//生成配置源代码,复制到main.c文件即可

对16F877A的配置位进行讲解:

CP :程序区保护 该位置1将开启 。(这个位是必须开启的以防止程序被读取)

DEBUG: 使能调试功能。如果不使能RB6 RB7脚作为普通的I/O口(根据需求)

WRT1:WRT0:写保护位。防止程序区被意外写入。(一般建议开启)

CPD:EEPROM保护,(这个位必须开启以防止EEPROM中的数据被读取)

LVP:低电压编程使能位。如果不使用低电压编程 RB3将做普通I/O.MCLR必须用于编程。(根据需求)

BOREN:掉电检测。掉电检测的作用是单片机发现电压不足的时候会及时的停止工作。防止一些意外操作的发生。比如 EEPROM 或者FLASH中的数据丢失(这个一般必须开启防止丢码)

PWRTEN:上电延时。开启后单片机会延时72MS开始工作。保证上电后电路稳定后单片机才开始工作。不要求单片机一上电就马上工作,这个位建议开启。(建议开启)

WDTEN:看门狗。 这个位根据你自己需要吧。开启之后程序必须 不停的喂狗。喂不好程序就会复位。(根据需求)

FOSC1:FOSC0:振荡器选择位。如果你用高速的就选择HS.中速度的就用XT,希望速度低功耗低就用LP。希望用便宜且对精度要求不高的振荡器就用RC。(根据需求选择)

  20MHz~4MHz (包括4MHz)的石英晶振配置HS.

  4MHz(包括4MHz)~200KHz(包括200KHz) 的石英晶振配置XT.
200KHz(包括200KHz)~32KHz的石英晶振配置LP. RC 就是 电阻加电容。就可以做出一个便宜但精度不高的是振荡器了。

二、中文注释支持

  • 为了编辑过程中支持中文注释,需要对编码格式进行更改,右键点击工程名,选择“Properties”->“General”,在Encoding下拉选项中选择“GB2312”选项。

三、编译器选择

  • Mircrochip公司提供了free版本的xc版本的C编译器供大家选择(用于替代旧的PICC编译器)
  • 编程调试器可选择PicKit2 或者其他。

【PIC单片机】MPLAB X IDE快速入门指南的更多相关文章

  1. SpringBoot2.x快速入门指南(一)

    SpringBoot2.x快速入门指南(一) 准备工作 IDE: IntelliJ IDEA 2020.3 Java环境 jdk1.8 在官网快速创建SpringBoot项目 下面开始进入正题: 进入 ...

  2. AngularJS快速入门指南20:快速参考

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  3. AngularJS快速入门指南19:示例代码

    本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...

  4. AngularJS快速入门指南18:Application

    是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...

  5. AngularJS快速入门指南17:Includes

    使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...

  6. AngularJS快速入门指南16:Bootstrap

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  7. AngularJS快速入门指南15:API

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  8. AngularJS快速入门指南14:数据验证

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  9. AngularJS快速入门指南13:表单

    一个AngularJS表单是一组输入型控件的集合. HTML控件 HTML输入型标签标包括: input标签 select标签 button标签 textarea标签 HTML表单 HTML表单将各种 ...

随机推荐

  1. Nginx+certbot 实现泛域名的https证书

    yum -y install git git clone  https://github.com/certbot/certbot cd certbot ./certbot-auto certonly ...

  2. C#实现,一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第35位数是多少, 用递归算法实现

    方法函数可以通过调用自身来进行递归.计算理论可以证明递归的作用可以完全取代循环. static void Main(string[] args) { Console.WriteLine(Ra()); ...

  3. Java 简单的RPC 实现

    借用了网上某大神的例子.... 目录结构是这样的... RpcFramework 主要是两个方法.一个是暴露服务,一个为引用服务.暴露服务的主要作用是声明一个接口的实现类.可以通过socket 远程调 ...

  4. 关于strcmp函数的用法

    strcmp函数是在string.h库下的han函数, 具体用法如下: strcmp函数是用来比较2个字符串的函数,如srcmp(字如果符串1,字符串2),从第一个字符开始比较,如果到最后两个字符串完 ...

  5. 【贪心】洛谷P1607 [USACO09FEB]庙会班车Fair Shuttle 题解

        不是很容易写出正解的贪心问题. 题目描述 Although Farmer John has no problems walking around the fair to collect pri ...

  6. codeforces 1101G (Zero XOR Subset)-less 前缀异或+线性基

    题目传送门 题意:给出一个序列,试将其划分为尽可能多的非空子段,满足每一个元素出现且仅出现在其中一个子段中,且在这些子段中任取若干子段,它们包含的所有数的异或和不能为0. 思路:先处理出前缀异或,这样 ...

  7. Collectors.groupingBy分组后的排序问题

    默认groupingBy代码里会生成一个HashMap(hashMap是无序的,put的顺序与get的顺序不一致) HashMap是无序的,HashMap在put的时候是根据key的hashcode进 ...

  8. 青蛙的约会----POJ1061

    青蛙的约会 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 133905   Accepted: 29707 Descript ...

  9. 后台返回的值ajax接收不到

    原因有很多种可能,我遇到的是后台写的Controller忘记了加@ResponseBody,导致springMVC把返回的字符串当成view了

  10. protobuf参考

    https://www.cnblogs.com/chenyangyao/p/5422044.html