您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > PIC单片机原理及应用(第三版)(上)
1主编:李荣正2主讲:吴昌磊联系方式:wuchanglei@sdili.edu.cn3考核方式:闭卷考试平时成绩30%+考试成绩70%=总评成绩4PIC(PeripheryInterfaceChip)单片微机是美国Microchip公司生产的PIC系列单片机。PIC系列单片机的硬件系统设计简洁,指令系统设计精炼。在所有的单片机品种中,PIC具有性能完善、功能强大、学习容易、开发应用方便、人机界面友好等突出优点。第1章单片机组成结构51.1微控制器系统在计算机的发展历史上,特别是在第一台小型控制器件形成以后,沿着两条完全不同的用途、不同的价格、和不同的技术内涵,而被充实于我们的日常生活中。61.1.1单片机系统单片机的发展过程和性能的日益完善,实际上是对传统控制技术的一场革命,开创了微控技术的新天地。现代控制系统的核心内涵就是嵌入式计算机应用系统(MCU),而单片机就是最典型、最广泛、最普及的嵌入式计算机应用系统。7单片机的降临,主要也是源于其性能价格比。一般单片机用于控制的目的,而对于其承担的计算功能却要求不高,只要能按照一定的程式进行在线检测和即时控制工作。目前,各个单片机生产厂家还是立足于8位单片机的竞争,因为从其降临以来,一直成为应用最广泛的器件。2002年美国MICROCHIP和MOTOROLA两家公司,已占据着世界8位单片机产量最高的前两个芯片制造商。8一般的单片机的结构可以用图1.2所示的方块图描述,用三大总线(DB、AB、CB)实现模块之间的信息传递。单片机内部结构9单片机的主要应用人有所思,单片机就可为。单片机的应用必将随着社会的发展和技术的进步,而获得更广阔应用。(系列化的单片机)电信家用电器工业控制仪器仪表汽车玩具10单片机有哪些特点单片机具备体积小、价格低、性能强、速度快、用途广、可靠性高、灵活性强等优点,它与通用的计算机相比,还具有以下一些特点:存储器ROM和RAM的相互独立采用面向控制的指令系统输入/输出端口的强大功能111.1.2PIC系列单片机PIC系列单片机,可以满足用户的各种需要。从中档产品PIC16F877作为切入点,提供非常完备、易学易用的MPLAB-ICD集成开发环境。特别是对于单片机的新手,仿佛从茫然迷惑的大海搭上一艘便捷平稳的小船,感到非常轻松自如。121.2PIC系列单片机概述Microchip公司是一家专门致力于单片机开发、研制和生产的制造商,其产品设计起点高,技术领先,性能优越。13它不是在一般微型计算机CPU的基础上加以改造,而是独树一帜,采用全新的流水线结构、单字节指令体系、嵌入闪存以及10位A/D转换器,使之具有卓越的性能,代表着单片机发展的新方向。PIC系列单片机,具有高、中、低三个档次,可以满足不同用户开发的需要,适合在各个领域中的应用。它具有如下特点:1.2.1PIC系列单片机特点14PIC系列单片机采用哈佛总线结构,在芯片内部数据总线和指令总线分离,容许采用不同的字节宽度。这样,就为实现指令提取和执行的“流水作业”提供结构保证,即在执行一条指令的同时对下一条指令进行取指操作。两总线的分离,也为PIC实现全部指令的单字节化和单周期化创造条件,从而大大提高CPU执行指令的速度和工作效率。1.哈佛总线结构15单片机总线结构比较从同一存储器空间取指令和取操作数据。限制了数据流量。从两个独立的存储空间分别取指令和存取操作数。数据流量增加。针对程序区和数据区可以设计不同的数据线宽度。程序和数据存储器冯-纽曼结构8-位程序存储器数据存储器8-位12/14/16-位哈佛结构16PIC系列单片机的指令系统,由于采用RISC技术,和一般单片机指令系统通常有上百条指令相比要少得多。2.RISC技术17PIC系列单片机只有4种寻址方式:寄存器间接寻址、立即数寻址、直接寻址和位寻址,比较容易掌握。PIC系列单片机的程序、数据、堆栈三者各自采用互相独立的地址空间,前两者的地址访问需要用户特别注意四个分区的范围,而堆栈过程用户不必参与和操心。3.寻址方式简单寻址空间独立18代码压缩率,就是指相同程序存储器空间所能容纳有效指令的数量。例如:1KB程序存储器空间MCS-51这样的单片机:只能存放500多条指令PIC系列单片机:存放多达1024条的指令。4.代码压缩率高19由于PIC系列单片机采用CMOS结构,使其功率消耗极低,是目前世界上最低功耗的单片机品种之一。其中有些型号,在4MHz时钟下工作时耗电不超过2mA,而在睡眠模式下耗电可低到1μA以下。因此,PIC系列单片机,尤其适用于野外移动仪表的控制以及户外免维护的控制系统。5.功耗低20I/0端口驱动负载的能力较强,每个输出引脚可以驱动多达20-25mA的负载,既能够高电平直接驱动发光二极管LED、光电藕合器、小型继电器等,也可以低电平直接驱动,这样可大大简化控制电路。不过,请注意,每个引脚的驱动能力并不表示端口引脚同时都具有这样的功效。一般端口驱动能力约60-70mA,而所有输入输出驱动小于200mA,详细数据可参考有关数据手册。6.驱动能力强21PIC主要是采用哈佛总线结构,可以同时进行指令读取和指令执行的流水线作业方式。如:MCS-5112M,指令执行时间为1s~4sPIC12M时钟周期,指令执行时间为0.3~0.6s7.运行速度高22PIC系列单片机的一些型号具有同步串行口,可以满足I2C(主控/从动)和SPI(主控)总线要求。I2C和SPI(SerialPeripheralInterface)分别是PHILIPS公司和MOTOROLA公司研制的两种广泛流行的串行总线标准,是一种在芯片之间实现同步串行数据传输的技术。利用单片机串行总线端口可以方便而灵活地扩展外围器件,目前已在许多电子产品中得到广泛应用。8.I2C和SPI串行总线端口231.2.2PIC16F877单片机的结构从其执行功能考虑,可以将单片机分成两大组件,即内部核心模块和外围功能模块2425PICl6F87X系列单片机有双列直插式28引脚和40引脚及表面贴装式44引脚等几种封装形式。多数I/O引脚都设计有第2功能,甚至第3功能。采用引脚复用技术,以便使单片机增加功能而又不增大体积和引脚数量。1.2.3PIC16F877单片机的引脚2627F877单片机内部配置了较完善的多个存储器,可分为数据存储器和程序存储器两种,为一般用户提供很大的方便。但它们在形式上,具有很丰富的内涵。1.3存储器概述28F877单片机内部配置了8K╳l4位的闪烁(FLASH)程序存储器,可以很方便进行在线擦除和烧写,寿命可达1000次以上。在PIC系列单片机教学实验和科研开发中,显示出无穷的魅力和宽广的应用前景。相应的地址编码范围为0000H~lFFFH。1.3.1程序存储器29程序存储器结构30F877单片机内部配置两类数据存储器,普通RAM数据存储器和EEPROM失电保持数据存储器。RAM总的地址空间为512个单元,其中包括部分无效单元,但每一个有效单位均可以象寄存器一样进行移位、置位、复位和位测试等操作。PIC单片机的数据存储器和其他单片机一样,在配置结构上可分为通用寄存器和特殊功能寄存器两大类,前者给用户使用,而后者通常定义给某些功能模块,是一种具有特殊目的的功能寄存器。1.3.2数据存储器31同时在PIC16F877片内又配置另一种可掉电保护的数据存储器EEPROM,共有256×8位宽的存储单元,可以长期存放用户或系统的重要参数:如时间、配置及数据表格等,是一种非常重要的硬件资源。32数据存储器单元功能分配体(BANK)0体(BANK)1体(BANK)2体(BANK)3000H080H100H180H001H081H101H181H002H082H102H182H003H083H103H183H07EH0FEH17EH1FEH07FH0FFH17FH1FFH33存储器是单片机中一个非常重要的部件,专门用于存放指令、数据和运算结果。分析F877单片机存储器构架,可以从其配置的三大模块着手进行,它们是:8K╳l4位FLASH程序存储器512╳8位数据存储器RAM256╳8位可掉电保护数据的EEPROM存储器模块。第2章PIC单片机存储器34存储器从使用功能上来分,可分为随机存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)两类。2.1存储器分类35F877程序存储器具有13位宽的程序计数器PC。PC指针所产生的13位地址最大可寻址的程序存储器空间为8K,相应的地址编码范围为0000H~lFFFH。F877归属于中档单片机,其指令字节宽度为14位,内部构架配置了8K╳l4位的闪烁FLASH程序存储器。2.2程序存储器构架36一般将整个程序存储器以2KB为单位进行分页(PAGE),如图2-1所示F877单片机,8KB程序存储器共分作4页,分别称为“页0”、“页l”、“页2”和“页3”。程序计数器高8位PCLATH的Bit4-Bit3位构成程序存储器分页的选择位,对应的地址空间如下:PCLATHBit4:Bit3:00页0:0000H~07FFH01页l:0800H~0FFFH10页2:1000H~17FFH11页3:1800H~1FFFH373839PIC16F877单片机架构程序存储器最大8K字(13位)程序存储空间程序空间按页面划分,每页2K字(11位);最多四页。页面选择PCLATH4:3复位向量地址0000h中断向量地址0004hPage00000h0004h07FFhInterruptResetPage10800h0FFFhPage21000h17FFhPage31800h1FFFhPCLATH4:3=00PCLATH4:3=01PCLATH4:3=10PCLATH4:3=1140程序存储器中有2个单元地址比较特殊,除了具备同其他单元地址一样的普通用途外,还具有专门用途:0000H:用作单片机系统的复位矢量;0004H:用作系统特殊模块的中断矢量。复位矢量中断矢量41F877用于存储数据的RAM单元比一般单片机RAM的功能要强大得多,它除了具备普通RAM的功能之外,每一个单元都能实现移位、置位、复位和位测试等通常由寄存器才能完成的功能操作。2.3数据存储器构架42RAM数据存储器和FLASH程序存储器一样在空间构架上,进行类似方式进行分区。按横向排列,分为4个“体”(BANK),从左到右分别记为“体0”、“体1”、“体2”和“体3”,每个体为128个8位宽的存储器单元。RP1:RP0体域寄存器地址00体0:000H~07FH01体1:080H~0FFH10体2:100H~l7FH11体3:180H~lFFH数据存储器分区43数据存储器四个存储体每个128字节特殊功能寄存器存储体选择通过Status中的RP0,1和IRP512单元368有效GPRGPRsSFRsBank0000h01Fh020h07FhGPRsSFRsBank1080h09Fh0A0h0FFh0F0hGPRsSFRsBank2100h11Fh120h17Fh170hGPRsSFRsBank3180h19Fh1A0h1FFh1F0hRP1:0RP1:0RP1:0RP1:0=00=01=10=114445有些寄存器单元在4个体上是互相映射的,如状态寄存器STATUS、间接寻址寄存器INDF、程序计数器低8位PCL、文件选择寄存器FSR、程序计数器高8位PCLATH和中断控制寄存器INTCON。所谓互为映射就是说,在4个体内的相同位置,物理上对应同一个寄存器单元,所以该单元具备4个不同的地址。互相映射46F877单片机的通用寄存器GPR(GeneralPurposeRegisters),可由用户自行支配存放随机数据。地址区域:F0H~FFH、170H~l7FH和1F0H~1FFH,都可以索引(或映射)到体0的16个RAM单元。这样安排是为了便于中断服务程序的设计
本文标题:PIC单片机原理及应用(第三版)(上)
链接地址:https://www.777doc.com/doc-5237022 .html