您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > PIC 8位单片机16F8X系列简介
PIC8位单片机16F8X系列简介Microchip公司生产的PIC8位单片机16F8X系列产品是PIC单片机中级型产品之一。该系列产品的主要型号是16F83和16F84。其引脚功能如附图所示。该系列产品的最大特点是有8k×14的Flash(闪速E2PROM)程序存储器和带8位的Flash(闪速E2PROM)数据存储器,其擦写次数上万次,数据保存时间大于40年。所以该系列产品极适合那些可能会经常改动程序编程的应用,例如用户可以随时改动出厂产品中的单片机程序以增加或调整产品的功能。此外,对那些学习、开发PIC单片机的个人或单位,都是一种很好的可重复多次的实验芯片。还有它内部的Flash数据存储器不仅具有掉电保护数据的功能,加之它是由单片机内部进行控制操作的,自然外部电路无法对其进行读写,所以它有极高的数据保密性,使得PIC16F8X在智能IC卡、密码锁、电子防盗系统等方面得到广泛的应用。主要功能高性能RISC结构CPU;精简指令集35条单字节指令;执行速度DC~400ns;Flash程序和数据存储器;多种硬件中断和直接/间接/相对三种寻址方式。其余性能参见附表。微控制特性上电复位;自振式看门狗;程序保密位;微功耗睡眠功能和四种可选的振荡方式。电源和温度特性宽工作电压:2V~6V(PIC16LF84工作电压为2V)宽工作温度范围:商用级0℃~+70℃;工作级-40℃~+85℃;汽车级-40℃~+125℃。这里的宽工作温度范围,特别是汽车级产品已大量用于汽车电子,甚至已用于航空仪表上。PIC16C84单片机介绍概述PIC16C84是8位CMOSEEPROM微控制器。它有高性能的类似于RISC的指令,共有35条单字节的指令,所有的指令除程序分支指令需要两个指令周期外,都只需要一个指令周期。当主振频率为10MHZ时一个指令周期为400ns。程序指令的宽度为14位,在芯片内有1K×14的EEPROM程序存储器。数据的宽度为8位,在芯片内有36×8的静态RAM的通用寄存器,64×8的EEPROM的数据存储器。8级深度的硬堆栈。具有直接、间接、相对寻址方式。有4个中断源;外部RBO/INT引脚;TMRO计时器溢出,PORTB<7:4>引脚上信号的改变;数据写入EEPROM完成。数据存储器的擦/写可达1000000次,数据的保持大于40年。有13位的I/O引脚,可以单独直接控制。每一个I/O引脚均可承受25mA的输入/输出电流,这样就可以直接驱动LED。有8位的计时/计数器(TMRO)并带有8位可编程的预分频。有通电复位(POR);功耗上升(POWER-UP)计时器(PWRT);振荡器起动计时器(OST);看门狗计时器(WDT),为了能可靠工作,它有自己的RC振荡器。有代码保证功能。有SLEEP(睡眠)方式,以节者功耗。有4种可供选择的振荡器:RC(低成本的RC振荡器);XT(标准的晶体/谐振器);HS(高速晶体/谐振器);LP(低功耗,低频率的晶体)。工作电压的范围宽2.0V~6.0V。PIC16C84最大的特点是具有1K×14位的电可擦除的程序存储器和64×8位的电可擦除的数据存储器,这将为系统开发和各种应用提供了更多的方便。时钟和指令周期从OSCI来的时钟输入在内部经4分频。产生互不叠加的时佛周期,每4个时钟周期(θ1,θ2,θ3,θ4)组成一个指令周期。在内部、程序计数内对每一个θ1加1,然后从程序存储器取指令,取出的指令在θ4时放入指令寄存内。在下一个θ1利θ4期间指令被执行。取指令和执行指令采用流水线技术,一个指令周期取指令,下一个指令周期执行已取出的指令,同时又取出下一条指令。所以每条指令执行,CPU的时间是一个指令周期。当某条指令要改变程序计数器的内容时(如分支指令),则需要两个指令周期才能完成。被取出的指令在执行指令周期的θ1时放入指令寄存器,在θ2,θ3,θ4时译码并执行指令。在θ2期间读操作在θ4期间写操作数。存贮器的结构在PIC16C84中有两个存储器块。即程序存储器和数据存储器。每一块具有它自己的总线,即可在同一时钟周期访问每一块。数据存储器被进一步分成通用RAM和专用功能寄存器(SFRs)。专用功能寄存器用于控制外设模式。数据存储器也包含有数据EEPROM存储器。这个存储器并不直接映象到数据存储器,而是间接映象的。即由一个间接寻址的指针指明要读/写的数据EEPROM的地址。64个字节的数据EEPROM具有的地址是0~3FH。3-1程序存储器的结构PIC16C84具有13位程序计数器,寻址能力为8K×14位的程序存储器空间。实际上对于PIC16C84能供使用的只有1K×14位的程序存储器(地址为0000~03FFH)。寻址上述单元,如超过了上述地址范围,地址将卷绕。例对20H单元与地址420H,820H,C20H,1020H,1420H,1820H,1C20H都将访问到它。系统复位时PC的值为0000H,中断向量是0004H。PC<12:0>CALL,RETURN13RETFIE,RETLW1级堆栈.8级堆栈复位地址0000H外部中断向量0004H用户存贮空间3FFH1FFFH图4-2程序存储的映象和堆栈3-2数据存储器的结构数据存储器被分成两个区域。第一个是专用功能寄存器(SFR)区域,第二是通用寄存器区域(GPR)。SFR控制着器件的操作。数据存储器被分成0块和1块。通过程序时状态寄存器STATUS中的RP1:RP0位的设置来选择0块(RP1=0,RP0=0)或1块(RP0=1)。其中带有斜线的部分是实际不存在的单元,带有*号的单元没有物理寄存。指令MOVWF和MOVF可以把W寄存器的值(W寄存器是器件内部的工作寄存器)传送到寄存器文件(“F”)中的任何单元,反之也可以。整个数据存储器可以直接寻址或通过文件选择寄存器(FSR)进行间接寻址。间接寻址要根据状态寄存器的RP1:RP0位的状态决定访问数据存储器的某一块,数据存储器的两块中都被分成通用寄存器和专用寄存器。其中每块低地址单元留作专用寄存器,专用寄存器以上地址的单元为通用寄存器,它们是静态RAM。1.通用寄存器文件寄存器文件可以直接寻址或通过FSR间接寻址。所有器件都有一定数量的通用寄存器(GPR),它们的数据宽度是8位。PIC16C84只有36个字节的通用寄存器,地址为0CH~2FH,对1块对应的8CH~AFH的访问都将实际访问0CH~2FH(地址的高位被忽略)。文件地址00间接寻址地址(*)间接寻址地址(*)8001TMROOPTION8102PCLPCL8203STATUSSTATUS8304FSRFSR8405PORTATRISA8506PORTBTRISB86078708EEDATAEECON18809EEADREECON2(*)890APCLATHPCLATH8A0BINTCONINTCON8B36个通用寄映象到存器(SRAM)0块2FAF7FFF0块1块2.专用功能寄存器CPU和外设使用专用寄存器以控制器件的操作。专用寄存是静态RAM。下面介绍几个重要的专用寄存器①状态寄存器状态寄存器包含有ALU(复术逻辑运算单元)的算术状态,复位状态和对数据存储器的块选择,与任何寄存器一样,状态寄存器可以作为任何指令的目的寄存器。如果状态寄存器作为某指令的目的寄存器,而那条指令要影响Z、DC,C位的状态,则禁止写这三位。图4-4是状态寄存器及其状态。R/WR/WR/WRRR/WR/WR/WIRPRP1RP0TOPDZDCCbit7bit0其中C是进位位,对ADDWF和ADDLW指令,当这一位为1,表示指令运算的结果的最高有效位产生了进位输出。减法指令执行的是加第二操作数的新码。对于循环指令(RRF,RLF),这一位即可以来自于源寄存器的高位,也可以来自于低位。如果这一位为0,表明结果的最高有效位没有产生进位输出。对于减法,这一位的极性取反。DC是数字进位或数字借位位。当这一位为1时,结果的D3位向D4位有进位,否则无进位。对于减法,这位的极性取反。Z是结果为0标志。当这一位为1时,表明算术运算和逻辑运算的结果为0,否则这一位为0,表明运算结果不为0。PD:低功耗位。当这一位为1表明电源加上按正常供电或执行了CLRWDT指令以后,这一位为0表示执行了SLEEP指令(即器件进入了低功耗状态)。TO超时位。当这一位为1时,表明电源加上,进入了正常供电,且执行了CLRWDT和SLEEP指令,这一位为0表明产生了看门狗计时器超时。RP1:RP0,作为直接寻址的数据存储器的块选择位。RP1:RP=00状态,选择0块(地址00H~7FH)。RP1:RP0=01状态,选择1块(地址80H~FFH)。RP1:RP0=10选择2块(地址100H~17FH)。RP1:RP0=11选择3块(地址180H~1FFH)。每块128个字节,PIC16C84只使用RP0位,RP1编程时设置为0。不允许使用RP1为通用读/写位,这可能影响与将来产品的兼容性。IRP寄存器块选择位(作为间接寻址),当这一位设置为0,选择0.1块(地址00H~FFH),当这一位为1时,选择2.3块(地址100H~1FFH)。PIC16C84不使用IRP位,IRP位在编程时为0。状态寄存器中的Z、DC,C位是根据器件的逻辑来置1或清0。而TO,PD位是不可写入的。状态寄存器作为目的寄存器的指令的结果将有不同的内容。例如CLRFSTATUS(清0状态寄存器)。结果状态寄存器的内容为000uuluu。其中u表示不改变。只有BCF,BSF,SWAPF和MOVWF这些指令可以用来改变STATUS寄存器的内容,因为这几条指令不影响任何状态位。②OPTION寄存器OPTION寄存器是可读,可写的寄存器,它包含了各种控制位以配置TMRO/WDT的预分频器,外部INT中断,TMRO和在PORTB的微弱上拉。图4-5是OPTION寄存器各位的功能。R/WR/WR/WR/WR/WR/WR/WR/WRBPUINTEDGTOCSTOSEPSAPS2PS1PS0bit7bit0其中PS2,PS1,PS0为预分频器的值的选择。(与PIC16C6X的规定相同)。PSA位是将预分频器分配给WDT(看门狗计时器,或TMR0)。TOSE是为TMRO选择跳变信号INTEDG是为INT中断引脚选择跳变信号。RBPU用来打开或关闭PORTB内部的上拉电阻。OPTION的所有位的定义同PIC16C6X系列。③INTCON寄存器INTCON是可读可写的寄存器,它包含了各中断源允许或禁止中断。图4-6是PIC16C84的INTCON寄存器R/WR/WR/WR/WR/WR/WR/WR/WGIEEEIETOIEINTERBIFTOIFINTIFRBIFbit7bit0其中RBIF是RB端口改变中断标志位。此位为1,表明RB<7:4>输入中至少有一位发生了改变,它必须用软件清0这一位。否则为0,即RB<7:4>输入中没有改变。?????INTIF是外部中断标志位。当这一位为1时,表明有外部中断发生,它必须用软件将其清0,否则为0,表明没有外部中断发生。TOIF是TMRO溢出中断标志。这一位为1,表明TMRO发生了溢出,必须由软件将这一位清0,否则为0,表明TMRO没有溢出发生RBIE是RB端口改变中断的允许或禁止位,设置此位为1,允许中断,为0禁止。INTE是INT中断的允许或禁止位。设置为1允许中断方式,为0禁止。TOIE为TMRO溢出中断的允许或禁止位。设置为1允许TMRO溢出中断,否则禁止。EEIE是EE(电可擦除)的写完成中断的允许与禁止位。当设置为1时,允许EE写完成中断,否则禁止。GIE是所有中断的允许与禁止。设置为1时,允许所有不可屏蔽中断,为0禁止。四、PCL和PCLATH程序计数器(PC)是13位。低字节PCL是可读,可写的寄存器。PC的高字节(PCH)不是直接可读,可写的。PCLATH(PClatchhigh)是作为PC<12:8>的保持寄存器,这几位的内容被传送到程序计数器的高位。当程序计数器在执行CALL,GOTO或写PCL等指
本文标题:PIC 8位单片机16F8X系列简介
链接地址:https://www.777doc.com/doc-3211355 .html