《PIC微控制器项目设计:C语言》一3.3.1 使用MPLAB X对其他电路板进行编程-阿里云开发者社区

开发者社区> 华章计算机> 正文

《PIC微控制器项目设计:C语言》一3.3.1 使用MPLAB X对其他电路板进行编程

简介: 本文讲的是PIC微控制器项目设计:C语言一3.3.1 使用MPLAB X对其他电路板进行编程,本节书摘来华章计算机《PIC微控制器项目设计:C语言》一书中的第3章,第3.3.1节, PIC Microcontroller Projects in C: Basic to Advanced, Second Edition〔塞浦路斯〕 多甘·易卜拉欣(Dogan Ibrahim) 著许辉 吕汶译 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
+关注继续查看

3.3.1 使用MPLAB X对其他电路板进行编程

本文讲的是PIC微控制器项目设计:C语言一3.3.1 使用MPLAB X对其他电路板进行编程,在某些应用中,可以使用MPLAB XC8编译器开发程序。但我们使用的开发板可能不是Microchip板,在这种情况下,可以使用MPLAB XC8编译程序并生成hex代码,然后用外部编程设备或带有板载编程器的开发板将程序(hex代码)加载到目标微控制器中。
这里给出一个例子,其中例3.2中编写的程序被加载到常用的带有微控制器的EasyPIC V7开发板(www.mikroe.com)上。该板包括一个ICD 3兼容插座,以便可以使用Microchip编程/调试硬件工具进行编程/调试。在本例中,使用ICD 3调试器/编程器对EasyPIC V7进行编程。我们将在本书的其他项目中使用EasyPIC V7开发板和mikroC Pro for PIC及MPLAB XC8编译器。
例3.4
在本例中,我们将修改例3.2中的程序,使EasyPIC V7开发板上的PORTD LED依次被点亮。该板配有以8MHz晶振工作的PIC18F45K22微控制器。
解决方案3.4
按照例3.1中所述步骤创建项目,选择微控制器为PIC18F45K22,硬件工具为ICD 3,所需的程序清单如图3.18所示。注意,由于这里使用了不同的微控制器,所以代码中存在一些差异。
screenshot
screenshot
按照如前所述步骤编译此程序。现在,将程序传送给EasyPIC V7板上的微控制器。步骤如下:
screenshot将ICD 3的USB端口连接到PC上
screenshot将ICD 3插头连接到EasyPIC V7板的ICD插座上
screenshot打开开发板的电源
screenshot单击MPLAB X IDE中的创建和编程设备主项目(Make and Program Device Main Project)选项,将程序加载到目标微控制器中
通过将开关SW3 PORTD设置为ON,使能EasyPIC V7板上的PORTD LED。应该能看到LED闪烁
如果计算机上已安装了较旧版本的MPLAB IDE,那么在加载目标微控制器之前可能需要选择正确的ICD 3驱动程序。其步骤如下:
screenshot选择所有程序(All Programs)→微芯片(Microchip)→MPLAB X IDE→MPLAB驱动开关(MPLAB driver switcher),应该能够看到一个图3.19所示的窗口
screenshot选择ICD 3和MPLAB X,然后单击应用改变(Apply Changes),如图3.20所示
图3.21显示了ICD 3调试器/编程器与EasyPIC V7板中ICD插座的连接。
可以使用任何类型的PIC编程设备将生成的hex代码加载到PIC微控制器里,只要该设备支持正在使用的微控制器即可。
screenshot

原文标题:PIC微控制器项目设计:C语言一3.3.1 使用MPLAB X对其他电路板进行编程

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《UNIX网络编程 卷2:进程间通信(第2版)》——1.8 书中IPC例子索引表
生产者-消费者:一个或多个线程或进程(生产者)把数据放到一个共享缓冲区中,另有一个或多个线程或进程(消费者)对该共享缓冲区中的数据进行操作。序列号持续增1:一个或多个线程或进程给一个共享的序列号持续增1。该序列号有时在一个共享文件中,有时在共享内存区中。
1057 0
Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen
我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败。这是由于在用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。
946 0
《UNIX网络编程 卷2:进程间通信(第2版)》——1.7 Unix标准
Posix是“可移植操作系统接口”(Portable Operating System Interface)的首字母缩写。它并不是一个单一标准,而是一个由电气与电子工程师学会即IEEE开发的一系列标准。
1403 0
使用c语言计算3阶行列式
使用c语言计算3阶行列式
2541 0
《UNIX网络编程 卷2:进程间通信(第2版)》——2.2 IPC名字
这也许是你第一次碰到snprintf函数。许多现有代码调用的是sprintf,但是sprintf不检查目标缓冲区是否溢出,不过snprintf要求其第二个参数是目标缓冲区的大小,因此可确保缓冲区不溢出。提供能有意溢出一个程序的sprintf缓冲区的输入数据是黑客们已使用很多年的一种攻破系统的方法
1785 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载