设计与开发

pic单片机c语言 程序 PIC单片机与PIC单片机C语言编程简介

小编 2024-10-09 设计与开发 23 0

PIC单片机与PIC单片机C语言编程简介

对于计算机学院与电子学院相关的同学来说,单片机一定不是一个陌生的概念。在大学的学习生涯中,经常用于教学的是MCS-51系列单片机。其实,除了MCS-51单片机外,还有一类单片机——PIC单片机。

PIC单片机,英文名为Peripheral Interface Controller,翻译为“开发和控制外围设备用集成电路”,可以看作是一种高度集成化的小型计算机,拥有CPU、寄存器、内存单元、串口并口等一系列计算机运行时需要依赖的硬件设备。

二、PIC单片机与MCS-51单片机的区别

相较于51系列单片机,PIC单片机的区别主要有3点:

1.总线结构。51系列单片机采用的是经典的“冯诺依曼体系结构”,而PIC单片机则是采用“哈佛体系结构”。这里简单介绍一下两种体系结构的不同:冯诺依曼体系结构是单总线结构,即数据传输与指令传输共用一条总线;而哈佛体系结构则是双总线结构,即数据传输与指令传输分别使用一条总线。由于采用哈佛体系结构,所以PIC单片机的数据总线和指令总线位数(宽度)可能不同。

2.流水线结构。51系列单片机采用的是单流水线结构,即在一条指令完全执行完毕后才会执行。而PIC单片机则有二级流水结构,可以在一定程度上实现指令并发(虽然不如x86/64系列CPU或者ARM系列CPU)。

3.汇编指令。51系列单片机大约有一百多条汇编指令,基本包含了在程序运行中需要用到的绝大多数汇编指令。而PIC的汇编只有35条,功能较少(例如没有常用的乘除功能,需要使用循环加/减实现乘除功能)。但是PIC的指令执行较快,PIC单片机一个指令的执行只需一个指令周期,而51系列单片机则需要2至4个指令周期。

除了以上区别,在保密性方面,PIC单片机不如51系列单片机,PIC单片机比较不能抗干扰,也很容易被解密。

三、PIC单片机环境C语言编程简介(pic单片机c语言)

相较于其他编程语言,使用C语言开发PIC单片机程序有许多优点:

1.相较于汇编语言来说,使用C语言这类高级编程语言进行编程比较简单方便。使用汇编语言编程需要掌握一定的CPU运行知识,而且对寄存器、运算器、指令集等都需要有一定的了解,编程时也需要时刻思考汇编指令的运行流程。而使用C语言编程时则只需将精力放在程序运行逻辑即可。

2.相较于C++、Java等面向对象编程语言来说,C语言更加贴近底层运行逻辑,没有封装、继承等更加高级的语法,更加纯粹地关注程序的执行流程。

PIC单片机环境下的C语言编程与我们平时使用的C语言在语法上大致类似,不过仍有些许不同。下面对PIC单片机的C语言编程做简要介绍。

1.编译器配置。由于PIC单片机有独特的CPU架构,因此不同于传统的gcc或者vc++编译器进行编译,PIC单片机环境下的C语言有专门的C语言编译器PICC Compiler。

2.PIC单片机C语言同样支持常见的short、int、long、float等基本数据类型。不过需要注意的是,PIC单片机C语言的int类型为16位存储,long类型为32位存储,float类型为24位存储。

3.除了基本数据类型外,PIC单片机C语言也同样支持数组、结构体和联合体等复合数据类型。

4.PIC单片机C语言有一个特殊的数据寄存器bank,该寄存器由程序员管理,在定义变量时必须指定变量存储位置,若不指定则默认存储在bank0中。

若定义存储于其他bank寄存器的变量,则需要在定义变量时指定bank寄存器编号。例如:

bank1 unsigned char buffer[32];

bank2 int flag1, flag2;

5.PIC单片机C语言保留volatile关键字,用于告知某些特殊的值可能会发生改变。(pic单片机c语言)

6.使用PIC单片机C语言编程时,虽然也可调用标准库函数,不过由于PIC单片机性能有限,由于诸如scanf()/printf()等库函数的代码比较繁杂,因此在调用这些库函数时需要额外谨慎,可能会造成程序运行时间大幅度增加甚至宕机。

7.PIC单片机C语言支持C语言与汇编语言混合编程。若在C语言内插入汇编语言代码,则需要使用asm关键字标识。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。加微信领取资料

PIC单片机C语言仿真实例

PIC单片机汇编语言知识的技术人员或工程师,快速掌握利用C语言编写PIC单片机程序的方法,更多PIC单片机学习软件及其资料--移步戳进 --->【下载】PIC单片机学习资料大全

相关问答

PIC 的标准编程 语言 分别是?

一、PIC汇编语言指令格式PIC系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号操作...一、PI...

谁对 pic 12f683 单片机 用汇编 语言 编程熟悉?

用picc。picc这个软件已经被microchip收购了,你用的mplab8.5的安装包里带有piccforpic12/16编译器,可以编译pic12和pic16系列单片机的c语言文件。安装mp...

单片机 编程 语言 ?

单片机编程用c语言开发,因为单片机需要非常底层开发语言,用c语言开发效率非常高,而且c语言可以非常灵活,对于控制硬件非常合适。c语言最大的好处是可以利用...

PIC单片机程序 烧写问题?

首先你需要准备一个烧写器,推荐使用ICD2或者2.5。软件方面MPLAB就可以。最后你需要将你的单片机搭成一个最小系统,然后连接上ICD仿真器再连上电脑就可以下载...

单片机 的指令集有哪些?

不知道你想问什么样的单片机?我假设51.不知道你要c语言的还是汇编的,我假设汇编的指令有很多,不可能一下子全部学习完毕,要警惕松鼠心态。希望我的回答能...

pic单片机 在线编程口是否需要加上拉电阻

pic的在线编程口不需要上拉电阻,最好是悬空我用过pic12f508,是不需要的,但是最好再看看芯片手册,毕竟那才是正确的,

烧到 PIC单片机 程序 没反应是为什么-ZOL问答

你要开发PIC单片机,得一定有调试器,Microchip公司的调试器都能同时作为烧录器用。如ICD2,ICD3,PICKIT2,PICKIT3等。这个调试器得于你的电脑和线路板相连,USB线...

pic 16f73 单片机 能否在 程序 中写ROM?

当然可以啊,比如51单片机的汇编指令MOVC,访问放在rom的常量。当然可以啊,比如51单片机的汇编指令MOVC,访问放在rom的常量。

keil如何注册编译 pic单片机 ?

PIC单片机当然是用matlab来编译了,你用KEIL来编译,microchip和keil都无语了。PIC单片机当然是用matlab来编译了,你用KEIL来编译,microchip和keil都无...

怎么把 程序 下载到 单片机 里?

不同厂商、不同系列的单片机,下载程序的方法也不一样。STC的单片机下载程序最简单,把单片机的串口两根线和地线连接到电脑的串口上,运行STCISP软件可以下...

猜你喜欢