【PIC单片机】MPLAB X IDE快速入门指南
引言:近期由于项目实践需要,开始动手学习相关硬件知识。从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快速入门指南的更多相关文章
- SpringBoot2.x快速入门指南(一)
SpringBoot2.x快速入门指南(一) 准备工作 IDE: IntelliJ IDEA 2020.3 Java环境 jdk1.8 在官网快速创建SpringBoot项目 下面开始进入正题: 进入 ...
- AngularJS快速入门指南20:快速参考
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南19:示例代码
本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...
- AngularJS快速入门指南18:Application
是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...
- AngularJS快速入门指南17:Includes
使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...
- AngularJS快速入门指南16:Bootstrap
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南15:API
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南14:数据验证
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南13:表单
一个AngularJS表单是一组输入型控件的集合. HTML控件 HTML输入型标签标包括: input标签 select标签 button标签 textarea标签 HTML表单 HTML表单将各种 ...
随机推荐
- 为什么有些网站PING不通但又能访问.
一PING它,出现request timed out,发关4个送数据包,返回0个.丢失率100%,明明不通但为什么又能够访问? 应该是该网站禁用了ICMP回应或者开启了ICMP过滤.如果设置了ICMP ...
- AR资料汇总学习
ARKit 从入门到精通 http://www.chinaar.com/ARKit/5210.html ARKit 框架的学习 http://blog.csdn.net/biangabiang/art ...
- Jquery 常用方法 及属性
Jquery 常用方法 及属性 jQuery 事件 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypress submit load dblclick keydown chang ...
- LightOJ - 1245 根号n暴力
打表或者画个图可以看出i>根号n时每个i的贡献值相差很小,可以利用公式优化(函数C) 但是注意不能一整段使用公式,否则复杂度还是会劣化到O(n)(显然对gongxian只能逐步递减) 网上看了不 ...
- hdu1022 模拟栈
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Linux kvm虚拟机的基本操作命令
Linux 虚拟化kvm virsh常用命令篇 1.创建虚拟机 virsh define damo.xml //创建的虚拟机不是活动的 virsh create damo.xml //创建的虚拟机是活 ...
- jar 启动关闭
1.后台启动 startTest.sh #设置工程路径project_path=/root/testcd $project_path#nohup后台启动,输出日志到test.lognohup java ...
- 分享一个js方法
这是一个关于参数合并的方法,这个场景也经常遇到,比如我们现在要对微信小程序的wx.request进行再一次封装,会涉及到一些默认的参数和每次使用自己传递的参数合并问题,分享代码. var extend ...
- bootstrap框架的使用
1.默认修改input输入框激活的颜色(充电桩) .form-control:focus, .ms-choice:focus, input[type=text]:focus, input[type=p ...
- MATLAB-R2015b-win64安装详细教程
1.首先下载以下文件 链接:https://pan.baidu.com/s/1eRAOKZw 密码:5nkj 2.双击R2015b_win64.iso打开(win8,win8.1,win10均可直接打 ...