【PIC】单片机基本概述

article/2025/10/25 7:31:14

1. 公司

PIC 单片机是 Microchip(微芯) 公司的产品,始于1989年。

 

2. 精简指令集技术

传统的单片机采用复杂指令集(Complex Instruction Set Computer, CISC)结构,通常有50~110条。而 PIC 采用精简指令集(Reduced Instruction Set Computer, RISC),其高中低档分别为58,35和33条

 

NOP:除了消耗单片机一个指令周期外,没有任何其他影响

 

 

3. 哈弗总线结构

PIC 单片机采用程序和数据空间完全分离的“哈弗”总线结构。与之对应的另外一种总线架构是“冯 ▪ 诺依曼”,它是一种程序和数据同一空间的架构,"哈弗" 结构好处是减低成本提高运行效率。

 

8位单片机是指数据总线的位宽是8位(即一次存取8个位数据),对应于“冯 ▪ 诺依曼”结构的单片机,那么程序和数据一次存取都是8位,但是对于“哈弗”总线的单片机,数据总线仍旧是8位进行存取,但是程序指令位宽可以是12/14/16位进行存取,大大提高运行效率。

 

4. 单字节指令

指令,通常指一条汇编代码,包括操作码和操作数,例如:MOVE PORTB,W。

 

PIC 单片机支持单字节指令,所有指令都描述成一个长度为 12/14/16 位的字,一次读取就可以取得一个指令操作码和操作数;不同于“冯 ▪ 诺依曼”结构,由于长度只有8位,所以读取一个指令起码要度2次以上,容易出现再干扰场合程序跑飞的情况。当然PIC的单字指令也有缺陷,由于固定 12/14/16 位,为了寻址更大的储存空间(程序代码或数据),那么配合辅助寄存器进行程序或数据寻址

 

5. 寄存器结构

PIC 所以的寄存器,包括IO端口、定时器、程序计数器(PC)等均采用 RAM(Random Access Memory,随机存取存储器) 结构,相比较ROM,RAM 可以随时读写,速度很快。但是缺点也很明显,断电数据消失。

 

6. 其他特点

功耗低:例如PIC16F87X,电压3V,4MHz,电流约为6mA;如果使用 32kHz,电流约为20mA,睡眠模式电流低于1uA。

驱动能力强:IO端口灌电流和拉电流最大25mA,可直接驱动二极管、光耦等。

ADC:内置

门口狗(WDT):内置

...

 

7. PIC系列类型

PIC 8位单片机分为低/中/高三挡,其对应的程序指令位宽分别是 12/14/16。高端的型号通常以 PIC18... 开头,高端型号最高指令流可达10MIPS(单条执行时间达到100ns);中低端芯片采用 PIC12... / PIC16... 开头。

 

 


http://chatgpt.dhexx.cn/article/wav4WJPx.shtml

相关文章

PIC单片机应用开发实践教程(二): 新建工程

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 1 打开MPLAB X IDE File---New Project Microchip Embedded --- Standalone Project 选择所用MCU对应型号 点击 Finish 后,工程就建好了 2 添加main.c文件 3 添加main.h文件 …

PIC单片机的入门认识(以PIC12为学习目标)

1.学习PIC12针脚定义 针脚1及针脚8可接电源5V和地线。针脚2.3可外接晶振。 针脚4为复位脚,当单片机正常运行时接高电平,若有一个低电平输入,单片机便复位。 针脚5则为单片机的I/O脚,可控制它为输入或输出,输入0&…

PIC单片机应用开发实践教程(七):PIC16F153xx——时钟使用

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 PIC16F15355 内部晶振框图如下,从框图中我们知道MCU时钟来源有3个:外部时钟,内部时钟,Timer1 内部时钟源(INTERNAL CLOCK SOUR…

PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE)

PIC单片机入门教程(二)—— 安装集成开发环境(MPLAB X IDE) 教程中使用的电脑运行Windows 10 专业版 64位系统 1、下载 MPLAB X IDE v4.05 历史版本:http://www.microchip.com/development-tools/pic-and-dspic-downl…

PIC单片机-Mplab的使用与PIC单片机介绍

内容包括Mplab IDE与Mplab X IDE的使用,触摸功能实践,PIC单片机C与汇编混合编程,PIC单片机介绍等。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易! 目录: 一、Mplab IDE的使用…

PIC16F887 实战编程 单片机编程 基础实验教程

文章目录 2 PIC工程建立与仿真3 单片机基础寄存器操作:3.1 IO3.2 模拟输入电压读取3.3 外部中断3.4 定时器中断3.5 串口UART3.6 IIC通信 4 实际项目5 如何阅读代码6 如何把代码放到MPLAB V5.0xc8 v2.0上工作?6.1 短暂的回顾6.2 xc8 v2.0程序结构6.3 移植…

通俗易懂讲PIC单片机:从一窍不通到入门进步

单片机入门不难------谈PIC系列(转自矿石收音机论坛---崂山)十年前的老帖子,讲得通俗易懂,分享之。 请看图1 这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。第1、8条腿接电源 …

PIC单片机应用开发实践教程(五): 烧录器简介

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 ​​​​​​​ PIC单片机,无论是8位的10/12/16/18系列,还是16位PIC24/dsPIC33系列,常用的烧录器如下:PICkit3,PICkit4&#…

PIC单片机入门_C语言编程技术

1.为什么也是C语言? 用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高等,因此C 语言编程在单片机系统设计中越来越广泛的运用。PIC 单片机的软件开发,同样可以用C 语言实现。 Micro…

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

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

PIC单片机应用开发实践教程(三): MCU配置位与烧录

1 编译 工程建好并把相应的 .c和.h文件都加载到工程后,如下图 试试编译,如果没有语法错误,编译结果如下 到这里,是不是可以进行烧录了呢?不急,还有很重要的一个步骤,MCU配置位的设置&#xff0…

PIC单片机应用开发实践教程(一):MPLAB X IDE 开发环境安装

源码基于 PIC16F15355开发板,想了解详情,请点 PIC16F15355开发板 1 准备电脑一台 2 下载开发环境 MPLAB-X-IDE 点Download后,自动下载。 3 下载C编译器(以8位MCU用的xc8编译器为例) MPLAB XC8 Compiler 4 安装MP…

PIC单片机入门教程(一)—— 准备工作

PIC单片机入门教程(一)—— 准备工作 1、电脑一台(推荐运行Windows 7 旗舰版 64位系统) 2、选择合适的烧录/调试工具 2.1 “Device Support.html”文件列举了所有器件能支持哪些烧录/调试工具,文件官方版本说明包里 下…

PIC单片机入门教程(三)—— 安装编译器(MPLAB XC Compilers)

PIC单片机入门教程(三)—— 安装编译器(MPLAB XC Compilers) 1、下载编译器(MPLAB XC Compilers) XC8、XC16和XC32对应8位、16位和32位PIC单片机,按实际使用的单片机选择下载最新版本即可。 截…

PIC单片机入门教程(四)—— 第一个工程

PIC单片机入门教程(四)—— 第一个工程 1、新建工程 1.1 菜单栏“文件”->“新建项目” 1.2 “Microchip嵌入式”->“独立项目”->“下一步” 1.3 在器件栏直接输入你的单片机型号,这里以PIC12F675为例。输入“PIC12F675”->“下…

PIC单片机入门_指令系统

1.前文回顾 前面学习了PIC单片机的系统框架,也介绍了程序存储器、数据存储器的组织形式。这里需要补充一点的就是寻址方式,之前仅仅提到了立即数寻址、直接寻址。其实还有几个比较重要的寻址方式,PC相对寻址&间接寻址! 1.1 PC…

Demand management

需求管理(Demand Management)用于连接计划需求,销售需求和物料计划(MPS和MRP)。

Data Quality Services

Data Quality Services 简介 SQL Server 2012 其他版本 使用 Data Quality Services (DQS) 提供的数据质量解决方案,数据专员或 IT 专业人员可以维护数据的质量并确保数据满足业务使用的要求。 DQS 是一种知识驱动型解决方案,该解决方案通过计算机辅助方…

MySql: In aggregated query without GROUP BY...;this is incompatible with sql_mode=only_full_group_by

错误原因 这是MySql5.7以上的版本特性导致的。 解决方案 执行下面这段代码 SET sql_mode(SELECT REPLACE(sql_mode,ONLY_FULL_GROUP_BY,));运行一下然后就可以了,完。

Terms-level Query之Exists Query

​Exists Query属于Term-level Query查询, 查询某字段值不为空的文档。脑图如下: 内容说明: 本文内容同微信公众号【凡登】,关注不迷路,欢迎加入一起共同学习。原文链接:Terms-level Query之Exists Query 目录 一、语法&#xf…