1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2013/9/1,#,单片机的主要性能,1.,仅有,35,条单字节指令,2.8K,*,14,个,FLASH,程序存储器,3.368,*,8,个数据存储器和,256*8EEPROM,数据存储器字节,4.,宽范围工作电压范围,,2V5V,5.3,个带有分频功能的定时器,6,。,2,个捕捉器,比较器和,PWM,模块,7.10,位多通道模数转换器,8.,带有,SPI(,主模式,),和,IIC(,主从,),模式的,SSP,5.,单片机的主要性能介绍,1.,仅有,35,条单字节指令,汇编指令。,2.8K,*,14,个,FL
2、ASH,程序存储器,3.368,*,8,个数据存储器和,256*8EEPROM,数据存储器字节,4.,宽范围工作电压范围,,2V5V,5.3,个带有分频功能的定时器,6,。,2,个捕捉器,比较器和,PWM,模块,7.10,位多通道模数转换器,8.,带有,SPI(,主模式,),和,IIC(,主从,),模式的,SSP,PIC16F877,内部结构框图,PIC16F877,的核心模块区域,1,、程序存储器,程序存储器是用于存放是系统工作的应用程序及一些不需改变的数据常数的,程序写入程序存储器后,单片机系统只能读取程序指令使系统运行,而不能再进行改写,且系统掉电后,程序不会丢失。因此,程序存储器是,R
3、OM,(,Read Only Memory,),即只读存储器。,2,、数据存储器,数据存储器是用于存放程序运行的中间处理数据的,可随程序运行而随时写入或读出数据存储器的内容,当系统掉电时,数据全部会丢失。因此,数据存储器是,RAM,(,Random Accese Memory,),即可随机读写的存储器。,3,、堆栈,保存程序的断点地址。当调用子程序或发生中断时,将断点地址自动压入堆栈。,4,、指令寄存器,暂存从程序存储器中取出的指令,将指令的操作码和数据进行分离,分别送到不同的逻辑电路。,5,、指令译码器和控制器,将指令寄存器送来的操作码进行译码,产生一系列的微操作,控制功能电路协调工作,完成
4、指令的功能。,6,、算数逻辑单元,ALU,实现算数和逻辑运算操作。,7,、工作寄存器,存放要参加运算的数据和暂存运算结果。,8,、状态寄存器,反应运算结果的状态,如进位、借位以及结果是否为零,9,、数据存储器,RAM,存放运算的中间结果。整体分为体,0,、体,1,、体,2,、和体,3,四个体,由状态寄存器,STATUS,的,RP0,和,RP1,控制选择。,10,、时基发生器,产生内部各功能电路工作时所需的时钟信号。,11,、上电复位电路、上电延时电路和起振延时电路,上电延时电路保证,CPU,在电源电压达到正常值再工作;起振延时电路保证振荡器有足够时间产生稳定时钟信号。,12,、看门狗定时器,W
5、DT,用来监测程序的运行状态。如果程序进行由于某种原因进行死循环而不受控时,使程序重新开始执行。,13,、欠压复位电路,当芯片的电源电压低于某值时,,CPU,将不能正确的执行指令。为防止这类情况的发生,,PIC,内部设置了电源监控电路,一旦电源电压低于某一值,系统自动产生复位,电源恢复正常后,延时恢复运行状态。,14,、在线调试电路,可以实现对焊接在电路板上的单片机进行在线调试。,15,、低电压编程电路,芯片内部有“电源泵”电路,将供电的,5V,生成高压,完成编程。,16,、数据总线,内部数据通道,也是连接各外围模块的通道。,17,、程序通道,实现从程序存储器到指令寄存器的指令传递。,PIC1
6、6F87X,的外围模块,1,、,IO,端口模块,(,1,),RA,端口:具有,6,条引脚的双向,I/O,口。在基本的,I/O,功能基础上复用了,A/D,转换的模拟输入功能、,A/D,转换所需的外接参考电压输入以及,TMR0,的外部时钟输入信号等功能。,(,2,),RB,端口:具有,8,条引脚的双向,I/O,口。除基本功能外,每条引脚内部增加了可统一编程的弱上拉电路,另外还复合了编程引脚以及终端引脚。,(,3,),RC,端口:具有,8,条引脚的双向,I/O,口。,C,口的复合功能较为复杂,包括输出比较功能和,TMR1,外接时钟信号等。,(,4,),RD,口和,RE,口:只有,40,或,44,引脚
7、封装的型号才有这两个端口。,管脚分布图,(5),输入输出端口相关的两个寄存器,每个端口都具有两个基本的专用寄存器:数据寄存器,PORTX,和方向寄存器,TRISX,。通过设置,TRISX,的相应位即可设置,PORTX,的输入输出方向。例如设置,TRISA0=1,,则,PORTA0,为输入。,(6),基本输入输出端口的工作原理,每个改写,I/O,端口的操作都是经过读取、修改、写入三步完成。先由,CPU,读取,I/O,上的逻辑电平,然后经内部工作寄存器修改,最后写回到端口的数据寄存器中。,寄存器名称,寄存器符号,寄存器内容,bit7,bi6,bi5,bit4,bit3,bit2,bit1,bit0
8、端口寄存器,PORTX,RX7,RX6,RX5,RX4,RX3,RX2,RRX1,RX0,方向寄存器,TRISX,TRISX7,TRISX6,TRISX5,TRISX4,TRISX3,TRISX2,TRISX1,TRISX0,2,、定时器和计数器模块,PIC16F87X,单片机共有三个定时器模块。,他们的核心部分都是一个由时钟信号触发的按递增规律 工作的循环计数器;都是从预先设定的某一初始值开始计数,在累计到超过最大值或预先设定的某一终止值时产生溢出,同时建立一个相应的溢出标志,也就是中断标志。,(,1,),TMR0,模块,TMR0,为,8,位宽,有一个可选的预分频器,用于通用目的,具有定时
9、器和计数器两种工作模式。,工作在定时器模式时,触发信号源来内芯片内部的指令周期信号,而不是时钟周期信号。一个指令周期等于晶振产生的主时钟信周期的,4,倍。,工作在计数器模式时,触发信号取自芯片外部引脚,RA4/T0CKI,上的输入信号,且输入信号的触发边沿可以通过寄存器进行设定。,(,2,),TMR1,模块,TMR1,:,16,位宽,带有一个,2,位宽的可编程的预分频器,还带有一个可选的低功耗时基振荡器,可以配合实现输入捕捉和输出比较功能;,工作在计数器模式时,,TMR1,的时钟信号或触发信号有,3,种,分别是取自指令周期信号、从,RC0,或,RC1,引脚获取以及自带的振荡器产生。,工作在定时
10、器模式时,,TMR1,内部的,16,位计数器在每个指令周期到来时增量。,(,3,),TMR2,模块,TMR2,:,8,位宽,带有一个,4,位宽的可编程的预分频器和一个,4,位宽的后分频器和一个可编程的,8,位周期寄存器。,TMR2,的时钟源只能取自内部系统时钟,只能工作在定时器模式。,除可用作普通定时器外,还可以用作周期可调的时基发生器、延时可调的周期性定时器,3,、,EEPROM,模块:电擦,/,写的存储器,掉电时数据不丢失。,4,、,A/D,转换模块,PIC16F87X,单片机内部的,ADC,模块是,10,位的,,28,引脚封装的具有,5,个模拟通道,,40,引脚封装的具有,8,个模拟通道
11、A/D,转换就是将模拟信号转换为数字信号的过程。,(,1,)工作原理:在,A/D,转换中,因为输入的模拟信号在时间上是连续的,而输出的数字信号是离散量,所以进行转换时只能按一定的时间间隔对输入的模拟信号进行采样,然后再把采样值转换为输出的数字量。通常,A/D,转换需要经过采样、保持量化、编码四个步骤。也可将采样、保持合为一步,量化、编码合为一步,共两大步来完成。,(1),采样和保持:,采样,就是对连续变化的模拟信号进行定时测量,抽取其样值。采样结束后,再将此取样信号保持一段时间,使,A/D,转换器有充分的时间进行,A/D,转换。采样保持电路就是完成该任务的。其中,采样脉冲的频率越高,采样越
12、密,采样值就越多,其采样保持电路的输出信号就越接近于输入信号的波形。因此,对采样频率就有一定的要求,必须满足采样定理即:,fs2f,Imax,其中,f,Imax,是输入模拟信号频谱中的最高频率,(,2,),量化和编码,如果要把变化范围在,O7V,间的模拟电压转换为,3,位二进制代码的数字信号,由于,3,位二进制代码只有,23,即,8,个数值,因此必须将模拟电压按变化范围分成,8,个等级。每个等级规定一 个基准值,例如,O0.5V,为一个等级,基准值为,OV,二进制代码为,000,,,6.57V,也是一个等 级,基准值为,7V,二进制代码为,111,其他各等级分别为该级的中间值为基准值。凡属于某
13、一等级范围内的模拟电压值,都取整用该级的基准值表示,。,例如,3.3V,它在,2.53.5V,之间,就用该级的基准值,3V,来表示,代码是,011,。显然,相邻两级间的差值就是,=1V,而各级基准值是,的整数倍。模拟信号经过以上处理,就转换成以,为单位的数字量了,。,上述过程可用,上页图形表,示,。,所谓量化,,,就是把采样电压转换为以某个最小单位电,压,(可以理解为分辨率电压),的整数倍的过程。分成的等级称为量化级,A,称为量化单位。所谓编码,就是用二进制代码来表示量化后的量化电平。,采样后得到的采样值不可能刚好是某个量化基准值,总会有一定的误差,这个误差称为量化误差。显然,量化级越细,量化
14、误差就越小,但是,所用的二进制代码的位数就越多,电路也将越 复杂。量化方法除了上面所述方法外,还有舍尾取整法,这里不再赘述。,4,、,A/D,转换模块:,逐次逼近型,ADC,结构框图,START,CLOCK,EOC,OE,控制与定时,逐次逼近寄存器,D/A,转换器,输,出,缓,冲,器,比较器,V,REF,.,.,.,D,7,D,0,输入的,模拟量,逐次逼近型原理:工作原理是这样的,,ADC,内部有,DAC,器件。,AD,转换开始先转换一个小数据,然后经过内部的,DAC,转换成模拟量和原信号进行比较如果小继续增加,AD,转换后的数据大小。一步步直到转化后的比原信号大就输出上次转化的数据。整个过程
15、是一步步逐次的进行的。,以,PIC16F877A,为例,采样基准电压设置为,4.096V,,因为单片机的,AD,是,10,位的,也就是说数字量的,1024,对应模拟量的,4.096V,,模拟采样的电压不能大于基准,否则将出错。此时假设外部采集的模拟电压为,U1,,则,U1,转换得到的数字量为,(U1/4.096)*1024,捕捉,/,比较,/,脉宽调制 模块,两个几乎一样,CCP,模块,,CCP1,和,CCP2,,与,TMR1,和,TMR2,配合使用时可以实现输入捕捉、输出比较和脉宽调制,PWM,输出功能。,(,1,)输入捕捉:用于测量信号的周期、脉宽和频率等;,(,2,)输出比较:用于产生宽度不同的正负方波信号,用于驱动可控硅、继电器等;,(,3,)脉宽调制输出:用于产生周期固定、脉宽可调的周期性方波信号,以驱动可控硅、步进电机等。,串行端口模块,通用同步异步接收器,AD,转换器模块,






