历史上的今天
今天是:2024年11月26日(星期二)
2019年11月26日 | 【PIC单片机】MPLAB X IDE快速入门指南
2019-11-26 来源:eefocus
目录
引言:近期由于项目实践需要,开始动手学习相关硬件知识。从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单片机汇编语言学习(一)
下一篇:PIC单片机开发技巧汇总
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:35 编辑 请教各位: 电烙铁使用一段时间之后,电烙铁头的温度就达不到要求的温度. 请问这是什么原因?那应该如何保养呢? … 查看全部问答> |
|
wince6.0 流驱动无法加载,getLastError = 55,怎么办? 问题如下: 我是接手别人的活,流驱动开发人员已走,据他说驱动是可以用的,流驱动是在wince4.2下编译成的dll。 我现在用wince6.0 、C#开发。修改bib、reg文件,编译内核,用veiwbin查看,我需要的dll已包含在nk.bin内。 但我测试 ...… 查看全部问答> |
|
大家好,请问SetProcPermissions 和MapPtrToProcess这两个函数是干什么的,是不是SetProcPermissions 和MapPtrToProcessr 的作用是一样的呢?… 查看全部问答> |
|
刚刚开始学习VxWorks,看文档的时候有个问题一直有些迷惑。 文档上面说VxWorks既定义了VxWorks接口,你也可以使用VxWorks的POSIX扩展。 (You can also use POSIX real-time extensions with VxWorks.) 我搞不太懂,这是什么意思?比如说我要新 ...… 查看全部问答> |
|
刚接到公司一项目 大致情况是这样 原来POS机支持一卡一积分的所有交易,比如消费、查询积分、退货等等,现在又提出这么一要求,要求一张卡内有两种独立的积分(消费,查询,退货等交易各自独立),那么POS机怎么修改程序,才能使后台知道交易的是那 ...… 查看全部问答> |
|
使用LM3S8962基于lwIp协议栈做了一个简单的Web服务器,你现在通过下面的地址应该可以访问到我现在连接到路由器的开发板。更多的功能进一步实现,源码随后上传。http://123.119.246.37… 查看全部问答> |
|
EP3C80 : BGA封装, 484 PIN , 内核电压1.2V , PLL电源2.5V, IO 电源3.3V; EP3C80 为主CPU, EP3C80同时外挂ARM7 和DSP . EP3C80 分别以异步总线的方式与ARM7 和DSP连接. 这样一个架构的主板,居然出现一个问题,ARM7 和DSP工作不正 ...… 查看全部问答> |
|
郁闷啊……一天又结束了…… 单步时我用串口调试助手向430发1时执行while里边的语句,p2.0输出为高,p1.0和p1.1上的发光二极管的状态也变了,但是直接运行时就错了,也就是发送1时没有上面的现象,这是为啥呢? 谢谢 程序如下: #include "ms ...… 查看全部问答> |




