microchip 的PIC 单片机,使用 MPLAB 编译器进行程序编译。
比较cao蛋的是,MPLAB 具有多种编译器,版本相互不兼容。
其中市场主打 的PIC16F 系列,多数采用 MPLAB IDE 编译器(本人用V8.8版本(破解的,嘘),新的应该是V8.9版本,不过本人没多关注,也不知道正不正确)。
MPLAB 编译器,在编程的时候,必须选择单片机型号,而本人使用的IDE V8.8版,并不能支持所有的PIC16系列单片机型号(最起码,最近使用的PIC16F1513就没有支持,在MPLAB X IDE里有支持)
而microchip 的高级单片机 PIC18系列,则以 MPLAB X IDE 编译器为主(行业称“十”版本),不过用了IDE V8.8后,再下载使用 IDE 10(就是上面的十版本)。你会觉得画风突变,完全找不着北,连配置字、用户程序版本号都没法兼容使用。前面熟悉的IDE,完全没法发挥任何作用。你又得重新开始学习一个新的编程软件(害得哥在新项目上浪费了N多时间)。
最可恨的是,IDE 10 把市场上销售的PICKIT 3 的离线脱机下载功能给搞死了(一插上KIT 3,IDE 10就自动升级KIT 3 的内部固件程序)。然后哥只能给它贴上“研发专用”标签!
PIC 的单片机很多地方要注意的,不用的特殊功能(特别是AD)不是你不开就好的,而是你必须关闭才行。
PIC 单片机有自己的一套 汇编,如果你用汇编,你必须重新学习它的汇编语言。如果你使用C,那还好,多数是兼容的(除了 程序续行(就是单行程序太长,进行多行显示))。不过哥没整好它的混编(不知道是哥能力不够,还是破解安装少东西,都是编译错误),没法发挥它的高效。PIC 单片机的 除法运算1000个周期、左右移16位无法编译、硬堆栈层限制(就是函数内 调用函数 调用函数 调用函数……,最明显的就是递归调用被限死)…………一堆弱点!
2. plc pic 和单片机有什么联系和区别啊
PLC是指可编程控制器,而PIC是单片机的一种,完全是两种不同的东西。至于PLC和单片机的区别,简述如下:
PLC(programable
logic
controllor)即可编程控制器是一种相对复杂的数字系统。专门为在工业环境下应用而设计。它主要用于控制开关量为主的,包括控制参量在内的逻辑控制、机电运动控制或过程控制等工业控制领域的新型工业控制装置。PLC的编程方式大多数采用梯形图的编程方法,简单,易掌握。但PLC价格相对昂贵,一般几千到上万都有。
MCU即单片机只是一块芯片而已。它具有通用的控制和计算和存储功能。其实可以以单片机为部件,再加上其它器件构成PLC。单片机价格则低廉多了,最便宜的几块钱就能买到。单片机编程使用汇编或C语言。
可见单片机只是芯片,而PLC则是建立在若干芯片上的一个完整的系统。前者用途广泛,价格低廉。后者专门用于工业控制,使用快捷,成功率高,可靠性好。
至于免费的51开发板
正如楼上的同仁所述,便宜的不少,免费的估计不好找~
3. 好想学PIC编程 不知如何下手
购买或下载你手里有硬件的PLC资料,边看资料,边接线,边编程实践,从简单的做起,你有硬件基础,应该还是挺好学的。PLC的梯形图语言,挺好理解的,只是需要你的逻辑能力,和算术能力强些,努力!祝成功!
4. pic系列单片机用c语言编程时,让他执行A/D转换的指令是什么
AD转换不是一条指令就可以完成的,它要先经过端口设置,AD设置等过程后才能准备进入AD转换,下例是从北航的<PIC16单片机C程序设计与PROTEUS仿真>一书中得到的启发编制的程序,希望对你能有帮助.建议你看一下这本书,对初学和想进一步提高在PIC单片机应用编程等会有用的.
附图是对应程序的,在仿真时调整电位器可以看到AD结果的变化,并通过计算器可以验证程序的正确性.
//ADl转换示例,可以改变输入电压、AD通道、结果对齐方式等,看其变化
#include<pic.h>
__CONFIG(0x3F39);//配置位设置
voidmain(void)
{ chari,X,Y;
TRISA=0xFF; //将所有的A口设置为输入
TRISE=0x03; //将所有的E口设置为输入
TRISD=0; //C口与D口全为输出
TRISC=0;
ADCON1=0b10000000; //设置AD结果对齐方式、AD时钟选择(与ADCON0的位7,6一起),AD端口设置等
ADCON0=0b01011001; //AD时钟选择(与ADCON1的位6一起),通道选择,AD模块使能
while(1)
{ NOP();
for(i=0;i<3;i++) //延时时间大约20us
NOP();
ADGO=1; //开始AD
while(ADGO==1); //等待AD转换完成
ADIF=0;
X=ADRESH; //读取AD结果高字节至C口
PORTC=X;
Y=ADRESL; //读取AD结果低字节至D口
PORTD=Y;
};
}
5. 想学习PIC编程要先学习什么
基础--PLC指令,这两者必须要学的
6. 如何实现单片机梯形图输入
想直接在单片机上实现梯形图输入太难了,要编写程序才能实现,别忘了,在单片机做一点点的事都要写程序的,而且怎么画形图呀?这必须是在电脑画才能完成的,这又要求单片机与电脑通过串行通信连接。
再想想,那梯形图是用在PLC上的,而PLC是把I/O及各种应用电路都做好了,然后通过在电脑上画梯形图,其实这是在电脑上用专业软件画的梯形图,再由软件编译成可执行代码,通过串口传到PLC上,由PLC来执行。
因此,必须要具备电脑上的专业软件,用来画梯形图,然后编译的,再通信。
在单片机上,(其实那PLC也是用单片机设计的)也要用软件来支持与电脑通信,接收电脑的代码,再后来执行代码实再梯形图的功能。
现在,你只是凭空这么一想就要实现梯形图输入,你电脑这边的软件在哪里,单片机那边的软件在哪里,由单片机执行的I/O电路在哪里?什么也没有吧,不过是梦想吧!
那PLC设备需要研发多少年,需要多少人才在那里搞开发,才有今天的PLC,你以为这事很容易啊,那怎么没有很多的公司做PLC呢,不像做手机那么容易,山寨的都非常多,比做PLC容易多了,这么容易的事,做个山寨手机你能吗?还想做PLC?
7. 51单片机运行PLC梯形图方法
虽然PLC到底了就是汇编语言,但是单片机的汇编语言跟微机原理上的汇编语言也有不同,想要直接运行是不可能的。把PLC梯形图转变后的指令表直接写进单片机中肯定有很多语法错误。所以你必须在梯形图转变到指令表的基础上在根据单片机语法重新录入才可以。其实就几乎是重写一遍了。
最重要的一点,PLC的程序录入后,你在单片机里必须让他们处于一个有外部跳出条件的LOOP中。否则是不能实现循环扫描的。
8. PIC单片机用通用编程器编程,是否要设置为低压编程
是否需要设置低压编程,与PIC芯片有关,用户是无法设置的。PIC芯片里面都是用Flash和EEPROM来保存程序,Flash有固定的编程电压和时序要求。如下图配置信息,客户只能设置部分芯片特性,比如晶振、Flash加密保护等:
9. 单片机可以用图形化编程吗
单片机可以用汇编语言编程,也可以用高级语言C、Basic编程,也可以用图形化语言编程。工业控制中普遍采用可编程控制器,其CPU模块内的微控制器往往是普通的单片机,而可编程控制器可以梯形图编程,或者用流程图编程。
现在的智能教育机器人控制器均用单片机,而这些机器人的编程大多支持流程图编程。上海广茂达电子信息有限公司的能力风暴系列机器人采用VJC可视化流程图与C语言编程;中鸣机器人系列采用机器人快车软件编程。
该软件也是可视化流程图与C语言编程;西米亚公司的乐高系列、博思威龙机器人、美国的VEX系列机器人、双龙公司的机器人DIY系列均可以采用可视化流程图与C语言编程。而这些机器人的控制系统核心均为单片机。
由此可知,普通单片机的开发一定可以采用流程图编程。其实,机器人的流程图编制软件可以反过来作为相应单片机的编程软件。下面用一个实例详细说明单片机如何用图形化编程。
10. PLC与PIC有什么区别
PLC 是可编程逻辑控制器(Programmable Logic Controller)的简写,而PIC则是一款单片机的牌子,PLC类似于简单的计算机系统,通过使用专用的梯形图软件编写控制流程实现工业控制,而PIC则是一款CPU,需外配其它的外设如AD、DA、继电器等实现工业控制目的