pic单片机c语言编程优势,PIC单片机与PIC单片机C语言编程简介
PIC单片机与PIC单片机C语言编程简介
时间:2018-03-29 来源:未知
一、PIC单片机简介
对于计算机学院与电子学院相关的同学来说,单片机一定不是一个陌生的概念。在大学的学习生涯中,经常用于教学的是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关键字标识。
pic单片机c语言编程优势,PIC单片机与PIC单片机C语言编程简介相关推荐
- linux脚本是什么语言,Linux学习之Shell脚本语言的优势是什么?
当我们学习Linux技术的时候,会涉及各种各样的知识和内容,比如说shell脚本语言,我想很多人都会疑惑shell脚本语言有什么优势?为何学习Linux的时候必须学习呢?我们来看看吧. 当命令和程序语 ...
- 即要会plc又要会c语言,PLC与单片机相比有什么优势?
PLC底层,实际就是单片机在运行,它只不过是基于单片机的基础,开发出来的一款二次应用的工业逻辑控制器,方便具有电工思维的用户来使用,所以PLC对比单片机的最大优势就是简单易用.PLC既然是基于单片机来 ...
- 单片机c语言必背代码_最适合单片机编程的高级语言,除了C语言,别无选择!...
单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...
- 适合自学单片机c语言教材,单片机编程入门看什么书 盘点单片机初学者适合看的书...
本篇文章盘点:单片机编程入门看什么书.其实学习单片机重点就是C语言,其次实践重要,学习单片机不光要看书,建议初学者多多实践,自己做一些尝试性的开发.话不多说,下面就来盘点,初学者单片机编程入门适合看什 ...
- c语言编程过程应注意什么意思,单片机C语言编程应注意的若干问题
<单片机C语言编程应注意的若干问题>由会员分享,可在线阅读,更多相关<单片机C语言编程应注意的若干问题(4页珍藏版)>请在人人文库网上搜索. 1.单片机C语言编程应注意的若干问 ...
- c语言从入门到精通 当当,51单片机C语言编程从入门到精通
本书立足于单片机的各类型应用技术,采用大量实例和程序逐行解说的方式,详细介绍51单片机和C语言编程开发与应用技术. 内容特点: 1 立足于单片机工程应用:由浅入深,结合丰富的开发实例,介绍51单片机C ...
- 5个流水灯c语言程序,五种编程方式实现流水灯的单片机C程序
<五种编程方式实现流水灯的单片机C程序>由会员分享,可在线阅读,更多相关<五种编程方式实现流水灯的单片机C程序(5页珍藏版)>请在人人文库网上搜索. 1.五种编程方式实现流水灯 ...
- keil用c语言怎么编辑器,用keil软件编写单片机程序的步骤
猜你感兴趣: 新手教程:单片机的学习实践步骤 运用单片机便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及完成各种功用的程序编制. 运用按钮输入信号,发光二极管 ...
- c语言调用固件库函数,用C++写单片机程序 STM32F103 + 自建固件库 + FreeRTOS 用gcc编译器和newlib(1篇)...
认识众多玩家高手/拆客/DIYer,查阅更多资源,一起学习技术知识 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 freemancn 于 2019-8-17 18:46 编辑 作 ...
- plc和单片机及c语言区别,PLC和单片机有什么区别?如何分清PLC和单片机
描述 PLC底层,实际就是单片机在运行,它只不过是基于单片机的基础,开发出来的一款二次应用的工业逻辑控制器,方便具有电工思维的用户来使用,所以PLC对比单片机的最大优势就是简单易用.PLC既然是基于单 ...
最新文章
- MySQL手机统计信息_MySQL统计信息
- Pyqt5_QWidget
- [原][osg][gdal]两种方式修改tiff高程
- 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ )
- 确定msm8937+android7.1采用的dtb文件
- python是什么时候发布的_python发布日期
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
- SQL Server 审核(Audit)-- 创建数据库级别的审核
- 硬盘数据恢复经验(转)
- SpringMVC 、Struts的区别
- Win7旗舰版系统开启硬盘ahci模式的方法
- 前端构建工具与应用程序测试
- ArrayList源码简单剖析 及与linkedlist vector 区别
- JTree创建、获取和删除节点的方法
- flex实现三栏布局
- 操作系统安全防范措施
- 老王的JAVA基础课:第2课 JDK安装和环境变量配置
- html div 自动滚动到底部,javascript让DIV的滚动自动滚动到最底部-4种方法
- Paint the Roads UVALive - 2197
- Excel VBA(02)工作簿、工作表、单元格操作
热门文章
- CAD2016软件安装教程
- 为什么阿里不收购OFO小黄车,反而让滴滴抢了先机?
- 用Python写个魂斗罗,另附30个Python小游戏源码
- 详解python输出语句print
- python3打造专属的下载软件
- 【MFC开发(4)】按钮控件BUTTON
- 论文笔记-深度估计(4) Semi-Supervised Deep Learning for Monocular Depth Map Prediction
- php 单位食堂订餐,机关单位食堂订餐系统
- CCS软件的安装教程
- Qi v1.2.4协议 之 10 Object Detection 【英文翻译】