单片机开发之PIC8位单片机的组成
单片机的种类有很多,即使是PIC8位单片机也分为不同的型号,供不同需求者使用。不过,尽 管PIC8位单片机有着不同的档次和型号,但是在基本组成方面是差不多的,因此,想要了解PIC8位 单片机,就要掌握其组成。那么,PIC8位单片机到底是由哪些部分组成的呢?
据单片机开发人员介绍,PIC8位单片机是双列直插式的塑料封装,最大的时钟频率可达到4Mhz 。作为某共识独有技术,该产品的技术指标可以在网上查询到。不过,PIC8位单片机虽然不大,但 是依然需要一个完整的计算机,必须要有处理器、程序存储器、数据寄存器、输入输出端口,缺一 不可。
而和其他单片机相同的是,PIC8位单片机的CPU也是其首脑,而当芯片从存储器中读取和执行指 令的时候,会对数据进行调用。而在PIC8位单片机中通用数据RAM也被认为是寄存器。当然,除了普 通的数据寄存器之外,还有一些特殊的存在,这些被认为是专用寄存器的工作寄存器被称为是W寄存 器。PIC8位单片机的CPU将其放在这个寄存器中,然后与其他的寄存器分别以某种方式控制PIC8位单 片机的运行。
单片机开发人员还指出,PIC8位单片机的程序存储器主要是由FlashEPROM组成的,可以用来记 录和擦除,即使是断电依然能够保留内容。而部分型号的程序存储器仅仅是EPROM,通常用紫外线进 行擦除。除此之外一些一次性的可编程产品不能再擦除。
PIC8位单片机有两个输出输入口,每个口可以单独设为输出输入,因此在断电的时候依然能够保存内容,避免重要内容丢失。不过,单片机开发人员强调,一定要注意单片机的部分功能,否则会出现编程出错的问题。
PIC8位单片机的基本组成
PIC系列8位单片机为适应各种不同的用途,有多种型号可供选用。但是,尽管PIC单片机有不同的档次和型号,但其最基本的组成则大同小异。因此,在这里先从型号PIC16F84的单片机入手,讨论其基本组成。PIC16F84是双列直插式(DIP)塑料封装,最大时钟频率可达4MHz。
PIC16F84单片机的引脚排列可参阅本期本版的16F8X系列简介一文。本文的附图是该器件的主要组成部分。PIC16F84虽然体积不大,但仍然是一个完整的计算机,它有一个中央处理器(CPU)、程序存储器(ROM)、数据寄存器(RAM)和两个输入/输出口(I/O口)。
和其它品种的单片机一样,CPU是此单片机的“首脑”,它从程序存储器中读取和执行指令。在取指和执行时,还可同时对数据寄存器进行取数(前已介绍PIC16F84采用哈佛结构)。由附图可明显看出,程序存储器和数据存储器各有一条总线与CPU相连。有些CPU将CPU内部的寄存器与其外部的RAM是分开管理的,但PIC单片机不是这样,它的通用数据RAM也归为寄存器,称为File寄存器。在PC16F84中,有68个字节的通用RAM,其地址为0CH~4FH。
除了通用数据寄存器外,还有一些专用寄存器,其中最常用的工作寄存器为“W寄存器”。CPU将工作数据存放在W寄存器中。寄存器W的作用与其它单片机中的“累加器A”相似。此外,还有几个专用寄存器,它们分别以某种方式控制PIC的运作。
PIC16F84的程序存储器是由Flash(闪速)EPROM构成,它可用电来记录和擦除,而在断电时,仍可保留其内容。PIC单片机有些型号的程序存储器用的是EPROM,需要用紫外线来擦除;还有一些型号是一次性可编程(OTP)的产品(一经编程便不能再擦除)。
PIC16F84有两个输入/输出口,即A口和B口。每个口的每个引脚可单独设定为输入或输出。各个口的位是从0开始编号的。当A口为输出方式时,其第4位(即RA4)为开路集电极(或开路漏极)输出,而B口及A口其它各位为常规的全CMOS驱动电路。这些功能必须注意,否则会在编程时出错。CPU对每个端口都按一个字节8位来处理,但A口只有5位引脚。
PIC输入与COMS兼容,所以PIC输出可驱动TTL或CMOS逻辑芯片。每个输出引脚可以流出或吸入20mA电流,即使一次只用了一个引脚亦是如此。
PIC16F84还有一些其它功能,如用来长期存放数据的EEPROM、定时器/计数器模块等,这里也暂不讨论。
相关问答
pic单片机 哪种架构?PIC单片机采用的是哈佛架构,其特点是程序和数据存储在不同的存储器中,程序存储器和数据存储器分别提供不同的地址总线,这使得程序和数据可以同时访问,提高了...
PIC单片机 中断优先级怎么配置?pic低级一些的单片机内部只有8级硬件堆栈,所以为了节约资源就设了一个中断入口地址,所以就不存在中断优先级的问题了,进入中断入口以后就要用软件查询中断标志...
pic单片机 指令左右循环是怎么回事[回答]在这里介绍一种定时程序,说明循环程序在PIC单片机上的应用。笔者仍以PIC16F84单片机为例建立其定时源程序清单。该定时器源程序只需改变一条指令的...
请问什么编译器能够编译 PIC单片机 的18F系列?你用的是PICC16吧,PICC18是可以编译PIC18系列的MCU的,我用的是PIC18F458的或者你用MC18的编译器也可以你用的是PICC16吧,PICC18是可以编译PIC18系列的M...
Keil可以用来开发 PIC单片机 程序么?keil不能给pic单片机编程。pic有专用的编译软件,mplab和c语言编译软件picc。1、MPLABX目前还不是很成熟,如果用来做项目的话,建议用MPLAB8.86版本即可,到MIC...
c18的低功耗各位: pic单片机 c18的低?C18主要是针对pic18系列的(8位的)C30主要是针对dipic33和pic24(都是24的)C18主要是针对pic18系列的(8位的) C30主要是针对dipic33和pic24(都是24的...
pic单片机 的pic是什么意思?1.PIC单片机(PeripheralInterfaceController)是一种用来开发和控制外围设备的集成电路(IC)。一种具有分散作用(多任务)功能的CPU。与人类相比,大脑就是C...
keil如何注册编译 pic单片机 ?PIC单片机当然是用matlab来编译了,你用KEIL来编译,microchip和keil都无语了。PIC单片机当然是用matlab来编译了,你用KEIL来编译,microchip和keil都无...
pic单片机 ,偶尔死机?我用C8051f330控制36V无刷电机的时候也出现过你这现象,也是偶尔死机,估计是硬件的事我用C8051f330控制36V无刷电机的时候也出现过你这现象,也是偶尔死机,估计...
PIC单片机 程序烧写问题?首先你需要准备一个烧写器,推荐使用ICD2或者2.5。软件方面MPLAB就可以。最后你需要将你的单片机搭成一个最小系统,然后连接上ICD仿真器再连上电脑就可以下载...