




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PIC系列8位单片机为适应各种不同的用途,有多种型号可供选用。但是,尽管PIC单片机有不同的档次和型号,但其最基本的组成则大同小异。因此,在这里先从型号PIC16F84的单片机入手,讨论其基本组成。PIC16F84是双列直插式(DIP)塑料封装,最大时钟频率可达4MHz。现为Microchip公司的独家产品,关于其具体技术指标,可查阅该公司的产品手册,或在网址上查找。PIC16F84单片机的引脚排列可参阅本期本版的16F8X系列简介一文。本文的附图是该器件的主要组成部分。PIC16F84虽然体积不大,但仍然是一个完整的计算机,它有一个中央处理器(CPU)、程序存储器(ROM)、数据寄存器(RAM)和两个输入/输出口(I/O口)。和其它品种的单片机一样,CPU是此单片机的“首脑”,它从程序存储器中读取和执行指令。在取指和执行时,还可同时对数据寄存器进行取数(前已介绍PIC16F84采用哈佛结构)。由附图可明显看出,程序存储器和数据存储器各有一条总线与CPU相连。有些CPU将CPU内部的寄存器与其外部的RAM是分开管理的,但PIC单片机不是这样,它的通用数据RAM也归为寄存器,称为File寄存器。在PC16F84中,有68个字节的通用RAM,其地址为0CH4FH。除了通用数据寄存器外,还有一些专用寄存器,其中最常用的工作寄存器为“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、定时器/计数器模块等,这里也暂不讨论。成都卫东竞赛试题:5简述PIC16F84与其它单片机产品显著不同之处,及其使用场合?6比较PIC与MCS51型 8位单片机内部硬件资源的异同。常用PIC系列8位单片机芯片引脚符号的功能笔者读了本版有关PIC 8位单片机的产品性能和相应的封装引脚介绍后,认为对初学者而言还需了解各引脚符号的意义,才能进一步学习和使用它。笔者为此作相关的说明,以便和初学者共同提高。一、关于I/O口符号PIC单片机系列封装引脚最少的是8引脚(如PIC12C5XX和PIC12C6XX),多的可达84引脚(如PIC17C76X),其中I/O(输入/输出)口线按PIC单片机产品型号不同,其口线数量也不相同。8脚封装的I/O口线是6根线,而84脚封装的I/O线多达66根线。这些口线符号分别按英文字母顺序排列编号,简称A口、B口、C口、D口、E口、F口,每个口是8位的,但不一定占满8位。这些口在封装引脚图的标注上均在各口之前加有R符号。例如B口标注为RB0、RB1、RB2RB7;E口为RE0、RE1RE7;G口为RG1、RG2;而对8脚封装的单片机共有6根I/O口线,其引脚图的标注与上略有不同而是GP0GP5。上述的各口线都是可独立编程的双向I/O口线。二、引脚的复用功能和符号单片机的信号引脚是单片机外特性的体现,在硬件上用户只能使用引脚,通过引脚的连接组建单片机系统。PIC 8位单片机系列和MCS51系列单片机一样,其引脚除电源VDD、VSS为单一功能外,其余的信号引脚常是多个功能,即引脚的复用功能。常见的引脚符号和主要功能如下:1MCLR/Vpp清除(复位)输入/编程电压输入。其中MCLR为低电平时,对芯片复位。该脚上的电压不能超过VDD,否则会进入测试方法。Vpp代表编程电压。2OSC1/CLKIN振荡器晶体/外部时钟输入端。3OSC2/CLKOUT振荡器晶体输出端,在晶体振荡方式接晶体,在RC方式输出OSC1频率的1/4信号CLKOUT。4TOCK1TMRO计数器输入端,如不用,为了减少功能应接地或接VDD。5TICK1TMR1时钟输入端。6TIOSI TMR1的振荡输入端。7TIOSOTMR1的振荡输出端。8RD、WR、CS分别代表并行口读信号、写信号和片选控制线。9AN0AN7A/D转换的模拟量输入端。AN0、AN1分别表示通道的个数。10CCP捕捉/比较/脉宽调制等功能端。CCP是Capture/Compare/PWM的缩写。有的PIC芯片内有两个CCP部件,其引脚用符号CCP1和CCP2表示。11SCK/SCL同步串行通信时钟输入端。12TX/CK异步通信发送端/SCI同步传输的时钟端。13SDI/SDASPI通信数据输入端。14SD0SPI通信数据输出端。15RD0/PSP0RD7/PSP7D口,双向可编程,亦可作为并行口。作并行口对TTL输入,作I/O口时为斯米特输入。以上是PIC 8位单片机系列封装引脚符号的说明,此外在阅读PIC 8位单片机有关资料时,常遇到一些字母符号和功能,也简介如下:1OTP一次性编程。OTP是One Time Program的缩写。2RISC简称精简指令集。RISC是Reduced Instruction Set Computer的缩写。3SSP同步串行口。SSP是Synchronous Serial Port的缩写。4SCI串行通信接口。SCI是Serial Communication Interface的缩写。5USART全双工通用串行异步接收发送系统。USART是Universal Serial Aosynchronous Receiver Transmitter的缩写。6UART通用异步接收发送器。7POR上电复位功能。POR是Power On Reset的缩写。8OST振荡器起振定时器。OST是Oscillator Startup Timer的缩写。9PWRT上电延时定时器。PWRT是Powerup Timer的缩写。10SFR专用寄存器。SFR是Special Function Register的缩写。11PWM脉宽调制器。PWM是Pulse Width Modulation的缩写。12MIPS每秒可执行百万条指令。MIPS是Million Instructions Per Second的缩写PIC系列单片机数据存储器的特点和功能(上)PIC系列单片机品种虽多,但各产品内部硬件资源的数据存储器设置仍是很有规律的。笔者以PIC16C71A和PIC16C63/65/65A两个品种为实例,查看它们片内数据存储器的结构,找出它们的特点并说明某些寄存器的主要功能,以供用户快速编程。表1和表2分别是PIC16C71A和PIC16C63/65/65A产品片内数据存储器的资源表,其它系列产品的片内数据存储器结构的资源与表1、表2资源都很相似,其差别仅仅是片内功能部件的种类和数量不同(PIC16C57/58单片机有4个存储体)。笔者从下述几个方面介绍表1和表2的特点和主要功能。1统一编址PIC系列单片机各类数据存储器都是以寄存器方式工作和寻址的。专用寄存器包括了定时寄存器TMRO、选择寄存器OPTION(又称为项选寄存器)、程序计数器PCL、状态寄存器STATUS、间接寻址寄存器INDF和FSR、端口I/O寄存器(如PORTA、PORTB)和相对应的端口I/O控制寄存器(又称为端口I/O数据方向寄存器,如TRIAS、TRISB)、保持寄存器PCLATH和中断控制寄存器INTCON等。上述的专用寄存器都是PIC16C63/65/65A和PIC16C71A共同有的,它们不仅是寄存器名称、功能相同,而且寄存器的地址也完全相同。如果再查看其它PIC单片机,如PIC16C62/62A/64/64A、PIC16C71/72/73/73A/74/74A、PIC16C8X它们的专用寄存器名称凡是与以上相同者其地址也完全与上述相同,可见尽管PIC系列单片机品种多,但掌握它们的规律后,学习是不难的。型号不同的PIC单片机,其数据存储器的内部资源仅仅是功能种类和多少的不同。如PIC16C71A型,其引脚为18脚,主要功能是带有8位的A/D转换部件,有4个A/D通道模拟输入,所以在表1中与其A/D转换部件有关的专用寄存器ADRES(用于存放A/D转换的数值结果)、A/D控制寄存器ADCON0(用于控制A/D转换器的操作)和A/D控制寄存器ADCON1(用于控制选择A/D引脚的功能)等。对PIC16C65/65A型,其引脚是40脚的,其功能比PIC16C71A单片机强,因而数据存储器表2中的专用寄存器的种类就比表1的增加了很多。专用寄存器的每个寄存单元都有相对应的固定用途,它们可分成两类:一类用于供CPU操作(如INDF和FSR、STATUS、PCL);另一类用于控制外围功能芯片的操作PIC系列单片机数据存储器的特点和功能(中)学习PIC单片机数据存储器时,不仅要了解各寄存器单元的功能,而且还应在编制程序时会调用它们完成编程目的。下面笔者将以编程实例说明它们的用途。2间接寻址寄存器INDF和FSR位于PIC单片机数据存储器的最顶端、地址00单元(地址码最小)的间接寻址寄存器INDF是一个空的寄存器。它只有地址码,在物理上不是一个真正的寄存器。它的功能常常与寄存器FSR(又称寄存器选择寄存器)配合工作,实现间接寻址目的。初学专用寄存器INDF和FSR时,记住下述的逻辑关系对编程是有帮助的:使用寄存器INDF的任何指令,在逻辑上都是对寄存器FSR所指向的RAM进行访问,即对INDF(本身)进行间接寻址(访问),读出的应是FSR内容。以下的一个简单程序是用间接寻址方式清除RAM地址20h2Fh单元寄存器内容的实例。MOVLW 0x20;20hw,对指向RAM单元的指针 ;初始化MOVWF FSR;20hFSR,FSR指向RAMLOOP CLRFINDF ;清除INDF,即清除FSR内容所指;向的单元20h2FhINCF FSR;(指针)FSR内容加1BTFSSFSR,4;判别(指令)FSR的D3位,若为零;执行下条循环指令;若为1间跳;执行。GOTOLOOP;跳转到LOOP(循环)CONTINUE ;已完成功能,继续执行程序由上述指令看出,因寄存器INDF和FSR的配合工作,达到了对RAM地址20h2Fh的寄存器清零目的。由于完成上述功能的指令数很少,这就会简化指令系统,使PIC单片机的指令集得以精简。说明:上述各条指令易于看懂,所以无需再复述,但其中的一条判别指令“BTFSS FSR,4”比较关键。该条指令是保证题设中要选择RAM地址单元上限值2Fh时,其对应的二进制数为00101111B,此时FSR的第4位恰为1。所以上述指令中用了一条判断指令;BTFSS FSR,4,判断FSR的D3位值是否为1,若不为1而为0,则执行下条循环指令GOTO LOOP,使FSR中的地址不断加1,直到寄存器FSR的D3位为1时,这时它的内容代表的RAM地址恰为2Fh。由此可见,学习PIC单片机数据存储器中的专用寄存器时,不必要对每个产品的专用寄存器进行学习,只需先学习它们的共同点,然后选中一个产品型号的专用寄存进行详细分析,有条件时进行必要的相关指令操作,就能完全掌握单片机技术PIC系列单片机数据存储器的特点和功能(下)3 A/D转换寄存器这里摘录一段笔者从网上下载的用PIC16F877单片机芯片(带Flash存储器的)完成有关A/D转换的源程序部分指令,并用它说明有关A/D转换寄存器在指令中的用法。这里先引用部分源程序,源程序中的注释是笔者按照指令在程序中的作用所加的注释(不是某条指令的直接功能),这是初学者读以下指令时应注意的。A/D转换器部分源程序清单如下:DEMO877ASMListP=16F877org 0x00 ;复位向量NOP ;空操作Start BankselPORTC ;选择PORTC所在;数据存储器的存储;体(实为Bank0)CLRF PORTC;对RC口清零MOVLW B01000001;A/D转换时钟选;择FOSC/8,打开; A/D转换器MOVWF ADCON0;设定了A/D转换;操作部分参数BankselOPTION_REG ;选择OPTION所在;数据存储器的存储;体(实为Bank1)MOVLW B10000111;设置预分频器TM; R0,分频率1256MOVWF OPTION ;完成上条指令设置CLRF TRISC;设定RC口(8位);为输出MOVLW B0001110 ;选中模拟量通道1;(RA1/AN1)MOVWF ADCON1;模拟基准电压VREF为芯片电源电压,选择通道1(RA1/AN1)完成main 要阅读上述的指令,读者还需了解以下必要的补充知识。(1)关于用PIC16F877单片机作A/D转换器。PIC16F877单片机是具有多通道模拟量输入的8位A/D转换器。上述的源程序是利用该PIC产品作A/D转换的一种实验程序,其实验目的是用PIC16F877单片机来实现一个通道的8位A/D转换,并将转换结果以二进制形式经RC口输出再由LED显示。实验的电路原理如附图(笔者根据源程序而绘出的PIC16F877A/D转换硬件电路图)所示。(2)编制与A/D转换器有关的专用寄存器指令。要读懂上述的源程序,应根据以下的线索:1)把握源程序的编写惯例;2)选择RC口和对它清零;3)给A/D控制寄存器ADCON0的各位置数,达到A/D转换时选择A/D位的采样时间,即注释中的A/D时钟选择;4)选择专用寄存器Option并给它各位置数,达到选择预分频器TMR0和确定其分频率(1256);5)设定RC口为输出,以保证LED显示;6)给A/D控制器ADCON1的各位置数,以确定PIC16F877单片机的RA1口为模拟量的输入通道。并选中芯片电源作基准电压。读者若需深入了解A/D控制寄存器ADCON0和ADCON1的各位详细功能,请参看有关PIC单片机书籍的详细介绍。A/D转换的主程序(main)约有13条,将在本版PIC系列专题的后期结合实验板的编程器介绍。PIC系列单片机的其它专用寄存器,如TRISA、STATUS Bank等,本报在前几期有关PIC单片机的文中均已介绍过。PIC 8位单片机的电源和时钟单片机是一种超大规模集成电路,在该集成电路内有成千上万个晶体管或场效应管,因此,要单片机正常运行,就必须为其提供能量,即为片内的晶体管或场效应管供给电源,使其能工作在相应的状态。PIC16F84单片机需要一个5V电源(实际工作电压为40V60V)。因此,最简单的办法是用三节15V的电池串联供电,也可用整流、稳压方式供电,如图1所示。图1a为三节电池串联,可得45V左右的电压;图1b为四节电池串联,又用一硅二极管降压,实际输出电压为54V左右。图1c为经整流后(整流器图中未画出)将市电交流变为7V20V的直流电压,再经集成稳压器7805稳压后得到稳定的5V电压。图1d与图1c类似,只是不用集成稳压器,改用价廉的稳压二极管来稳压。PIC16F84本身耗电仅1mA(低时钟耗电更小),若PIC要驱动发光二极管LED或其它大电流器件,则单片机电源也必须为这类器件供电。因此,图1d的电路是用齐纳二极管来稳压的,它不能驱动LED等器件,这一点应注意。在图1中,四种电源电路都需要在PIC16F84单片机的引脚14(V)与地之间接一电容01F,而且,此电容应紧靠单片机安装,以滤除电源的纹波,并使PIC和相邻元件不受噪声干扰。这里要强调的是,不论电源如何“纯净”,均必须安装此电容。注意:这里的PIC16F84单片机除了引脚14(V或VDD)直接接至电源外,引脚4(MCLR复位输入脚)通常也通过一个10k的电阻接至电源V。MCLR是低电平有效,如将其接地,将使PIC复位,并将RAM清零。如果上电很慢,则PIC可能会处于一种不定状态。这时,应当在MCLR与地之间装接一个常开复位按键。与任何微处理器一样,PIC16F84的运作是有节奏的,因此,就需要一个节拍发生器时钟,以控制CPU的运行速度,步进执行各种操作。16F8404P的最大时钟速变为4MHz。降低时钟频率,可节省能源,并使PIC执行速度减慢,当时钟频率为30kHz时只耗电01mA。PIC单片机最常用的时钟电路示于图2,图2a为直接输入外部时钟,即钟信号由外部振荡电路产生。图2b是用PIC的内部时钟电路,再从外部接上确定时钟频率的元件,即电阻R和电容C。图中给出了三种不同阻值的电阻,它们和100pF的电容配用,可产生15MHz、600kHz或100kHz三种不同的时钟频率。图2c仍利用PIC单片机片内振荡电路,但外接石英晶体,因而能产生更精确、更稳定的时钟信号,但石英晶体通常比电阻、电容贵,若利用电视机上常用的晶体(如358MHz晶体),则价格仍较低廉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销方案营销计划(3篇)
- 兴义市餐饮安全培训课件
- 内训师课件评审会
- 初中安全教育培训计划课件
- 兖矿集团安全培训课件
- 初2紫藤萝瀑布课件
- 创意安全入职培训内容课件
- 内科书艾滋病课件
- 第8课《世说新语二则-陈太丘与友期行》公开课一等奖创新教学设计 统编版语文七年级上册
- 运动器材定价-洞察及研究
- 颅脑损伤后的代谢变化和营养支持
- 介入科规培出科小结
- 人工智能在国际贸易中的应用
- 视频监控调取记录表
- 第2章 Windows 10操作系统
- 教研活动:幼儿园班级主题墙创设课件
- GB/T 42430-2023血液、尿液中乙醇、甲醇、正丙醇、丙酮、异丙醇和正丁醇检验
- 酒店住宿水单模板-可修改
- SF-三福的历史与文化 v2.0
- 幼儿园故事《小红帽》PPT模板
- GB/T 6723-2017通用冷弯开口型钢
评论
0/150
提交评论