《PIC上海技术培训中心.pptx》由会员分享,可在线阅读,更多相关《PIC上海技术培训中心.pptx(316页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(第二版第二版)美国微芯公司授权上海技术培训中心美国微芯公司授权上海技术培训中心2005.012005.01PIC上海技术培训中心1第第1章微型计算机概论章微型计算机概论 微型计算机是一种既有快速运算能力,又有极强逻辑判断能力和大容量存储功能的电子设备,它是20世纪人类最卓越的科学发明之一。本章介绍微型计算机的基础知识,主要内容有微型计算机的发展历史及应用领域、计算机硬件、软件系统的基本组成。PIC上海技术培训中心2 1.1 微型计算机的发展历史及应用微型计算机的发展历史及应用 我我们们今今天天所所说说的的计计算算机机,是是指指利利用用电电子子技技术术实实现现计计算算并并具具有有逻逻辑辑判判断
2、断和和程程序序存存储储功功能能的的设备。设备。PIC上海技术培训中心3 1.1.1 微型计算机的发展历史微型计算机的发展历史 从从计计算算机机发发展展的的历历史史看看,微微型型计计算算机机已已属属于于第第四四代代计算机,而微型计算机的发展又已经历了计算机,而微型计算机的发展又已经历了四四代。代。PIC上海技术培训中心4 1.1.2 微型计算机的应用微型计算机的应用 科学计算科学计算 数据处理数据处理 过程控制过程控制 计算机辅助设计计算机辅助设计/辅助制造辅助制造(CAD/CAM)CAD/CAM)计算机网络计算机网络 PIC上海技术培训中心51.1.3 微型计算机系统主要技术指标微型计算机系统
3、主要技术指标 字长:计算机的字长取8的整数倍数,如8位、16位、32位、64位等速度:计算机的速度指标可用主频及运算 速度来评价(G)、(万次/秒)存储系统容量:内存和外存(M)(G)PIC上海技术培训中心6 1.2 微型计算机系统的组成微型计算机系统的组成 计算机的硬件通常包括运算器、存储器、控制器、输入设备及输出设备等五个部分PIC上海技术培训中心7 1.2.2 软件系统软件系统 软软件件系系统统是是一一台台计计算算机机中中的的系系统统软软件件、应应用用软软件件、程序设计语言和支持软件及各种文档的总称。程序设计语言和支持软件及各种文档的总称。系系统统软软件件:包包括括操操作作系系统统、服服
4、务务程程序序、汇汇编编程程序序、解释程序和编译程序等。解释程序和编译程序等。应应用用软软件件:是是用用汇汇编编语语言言或或高高级级语语言言为为解解决决某某种种实际问题而编写的程序。实际问题而编写的程序。程程序序设设计计语语言言:通通常常分分为为面面向向机机器器的的汇汇编编语语言言和和面向用面向用户户的高的高级语级语言言。PIC上海技术培训中心8 1.3 微控制器系统微控制器系统 在在计计算算机机的的发发展展历历史史上上,特特别别是是在在第第一一台台小小型型控控制制器器件件形形成成以以后后,沿沿着着两两条条完完全全不不同同的的用用途途、不不同同的的价价格格、和和不不同同的的技技术术内内涵涵,而而
5、被被充实于我们的日常生活中。充实于我们的日常生活中。PIC上海技术培训中心9 1.3.1 单片机系统单片机系统 单单片片机机的的发发展展过过程程和和性性能能的的日日益益完完善善,实实际际上上是是对对传传统统控控制制技技术术的的一一场场革革命命,开开创创了了微微控技术的新天地。控技术的新天地。现现代代控控制制系系统统的的核核心心内内涵涵就就是是嵌嵌入入式式计计算算机机应应用用系系统统(MCUMCU),而而单单片片机机就就是是最最典典型型、最广泛、最普及的嵌入式计算机应用系统。最广泛、最普及的嵌入式计算机应用系统。PIC上海技术培训中心10单单片片机机的的降降临临,主主要要也也是是源源于于其其性性
6、能能价价格格比比。一一般般单单片片机机用用于于控控制制的的目目的的,而而对对于于其其承承担担的的计计算算功功能能却却要要求求不不高高,只只要要能能按按照照一一定定的的程程式式进进行行在在线线检检测测和和即即时时控制工作。控制工作。目目前前,各各个个单单片片机机生生产产厂厂家家还还是是立立足足于于8 8位位单单片片机机的的竞竞争争,因因为为从从其其降降临临以以来来,一一直直成成为为应应用用最最广广泛泛的的器器件件。20022002年年美美国国MICROCHIPMICROCHIP和和MOTOROLAMOTOROLA两两家家公公司司,已已占占据据着着世界世界8 8位单片机产量最高的前两个芯片制造商。
7、位单片机产量最高的前两个芯片制造商。PIC上海技术培训中心11 一一般般的的单单片片机机的的结结构构可可以以用用图图1.21.2所所示示的的方方块块图图描描述述,用用三三大大总总线线(DBDB、ABAB、CBCB)实实现现模块之间的信息传递。模块之间的信息传递。单片机内部结构单片机内部结构PIC上海技术培训中心12 单片机的主要应用单片机的主要应用人人有有所所思思,单单片片机机就就可可为为。单单片片机机的的应应用用必必将将随随着着社社会会的的发发展展和和技技术术的的进进步步,而而获获得得更更广阔应用。(系列化的单片机广阔应用。(系列化的单片机?)?)电信电信家用电器家用电器工业控制工业控制仪器
8、仪表仪器仪表汽车汽车玩具玩具PIC上海技术培训中心13 单片机有哪些特点单片机有哪些特点单单片片机机具具备备体体积积小小、价价格格低低、性性能能强强、速速度度快快、用用途途广广、可可靠靠性性高高、灵灵活活性性强强等等优优点点,它与通用的计算机相比,还具有以下一些特点:它与通用的计算机相比,还具有以下一些特点:存储器存储器ROMROM和和RAMRAM的相互独立的相互独立采用面向控制的指令系统采用面向控制的指令系统输入输入/输出端口的强大功能输出端口的强大功能PIC上海技术培训中心14 1.3.2 PIC系列单片机系列单片机 PIC系列单片机,可以满足用户的各种需要。从中档产品PIC16F877作
9、为切入点,提供非常完备、易学易用的MPLAB-ICD集成开发环境。特别是对于单片机的新手,仿佛从茫然迷惑的大海搭上一艘便捷平稳的小船,感到非常轻松自如。PIC上海技术培训中心15 第第2章章 PIC单片微机的组成单片微机的组成 PIC(Periphery Interface Chip)单片微机是美国Microchip公司生产的PIC系列单片机。PIC系列单片机的硬件系统设计简洁,指令系统设计精炼。在所有的单片机品种中,PIC具有性能完善、功能强大、学习容易、开发应用方便、人机界面友好等突出优点。PIC上海技术培训中心16 2.1 PIC系列单片机概述系列单片机概述 Microchip公司是一家
10、专门致力于单片机开发、研制和生产的制造商,其产品设计起点高,技术领先,性能优越。它不是在一般微型计算机CPU的基础上加以改造,而是独树一帜,采用全新的流水线结构、单字节指令体系、嵌入闪存以及10位A/D转换器,使之具有卓越的性能,代表着单片机发展的新方向。PIC系列单片机,具有高、中、低三个档次,可以满足不同用户开发的需要,适合在各个领域中的应用。它具有如下特点:2.1.1 PIC系列单片机特点系列单片机特点PIC上海技术培训中心17单片机总线结构单片机总线结构 单片微型计算机通常采用两种体系结构:一种是普林斯顿体系结构;另一种是哈佛体系结构。在普林斯顿体系结构中,其程序存储器和数据存储器统一
11、编址,也就是说两种存储器位于同一逻辑空间。这种单片机的取指令和存取数据必须分时地进行,影响了执行指令的速度。哈佛体系结构的程序存储器和数据存储器独立编址,也就是说两种存储器有不同的逻辑空间。PIC上海技术培训中心18 PIC系列单片机采用哈佛总线结构,在芯片内部数据总线和指令总线分离,容许采用不同的字节宽度。这样,就为实现指令提取和执行的“流水作业”提供结构保证,即在执行一条指令的同时对下一条指令进行取指操作。两总线的分离,也为PIC实现全部指令的单字节化和单周期化创造条件,从而大大提高CPU执行指令的速度和工作效率。1.哈佛总线结构哈佛总线结构 PIC上海技术培训中心19单片机总线结构比较单
12、片机总线结构比较从同一存储器空间取指令和取操作数据。限制了数据流量。从两个独立的存储空间分别取指令和存取操作数。数据流量增加。针对程序区和数据区可以设计不同的数据线宽度。程序和程序和程序和程序和数据数据数据数据存储器存储器存储器存储器冯冯冯冯-纽曼结构纽曼结构纽曼结构纽曼结构8-8-位位位位CPUCPU程序程序程序程序存储器存储器存储器存储器数据数据数据数据存储器存储器存储器存储器8-8-位位位位12/14/16-12/14/16-位位位位哈佛结构哈佛结构哈佛结构哈佛结构CPUCPUPIC上海技术培训中心20 PIC系列单片机的指令系统,由于采用RISC技术,和一般单片机指令系统通常有上百条指
13、令相比要少得多。2RISC技术技术 PIC上海技术培训中心21 PIC系列单片机只有4种寻址方式:寄存器间接寻址、立即数寻址、直接寻址和位寻址,比较容易掌握。PIC系列单片机的程序、数据、堆栈三者各自采用互相独立的地址空间,前两者的地址访问需要用户特别注意四个分区的范围,而堆栈过程用户不必参与和操心。代码压缩率,就是指相同程序存储器空间所能容纳有效指令的数量。3指令特色指令特色 PIC上海技术培训中心22 由于PIC系列单片机采用CMOS结构,使其功率消耗极低,是目前世界上最低功耗的单片机品种之一。其中有些型号,在4MHz时钟下工作时耗电不超过2mA,而在睡眠模式下耗电可低到1A以下。因此,P
14、IC系列单片机,尤其适用于野外移动仪表的控制以及户外免维护的控制系统。5功耗低功耗低 PIC上海技术培训中心23 I/0端口驱动负载的能力较强,每个输出引脚可以驱动多达20-25mA的负载,既能够高电平直接驱动发光二极管LED、光电藕合器、小型继电器等,也可以低电平直接驱动,这样可大大简化控制电路。不过,请读者注意,每个引脚的驱动能力并不表示端口引脚同时都具有这样的功效。一般端口驱动能力约60-70mA,而所有输入输出驱动小于200mA,详细数据可参考有关数据手册。6驱动能力强驱动能力强 PIC上海技术培训中心24 PICPIC主主要要是是采采用用哈哈佛佛总总线线结结构构,可可以以同同时时进进
15、行指令读取和指令执行的流水线作业方式。行指令读取和指令执行的流水线作业方式。如如:MCS-51MCS-51 12M12M,指指令令执执行行时时间间为为1 1 s s4 4 s s PICPIC 12M12M时时 钟钟 周周 期期,指指 令令 执执 行行 时时 间间 为为0.30.60.30.6 s s7运行速度高运行速度高PIC上海技术培训中心25 PIC系列单片机的一些型号具有同步串行口,可以满足I2C(主控/从动)和SPI(主控)总线要 求。I2C和 SPI(Serial Peripheral Interface)分别是PHILIPS公司和MOTOROLA公司研制的两种广泛流行的串行总线标
16、准,是一种在芯片之间实现同步串行数据传输的技术。利用单片机串行总线端口可以方便而灵活地扩展外围器件,目前已在许多电子产品中得到广泛应用。8同步串行数据传送方式同步串行数据传送方式 PIC上海技术培训中心26 2.1.2 PIC16F877的结构的结构 从其执行功能考虑,可以将单片机分成两大组件,即基本功能模块和专用功能模块。PIC上海技术培训中心27 PIC上海技术培训中心28 PICl6F87X系列单片机有双列直插式28引脚和40引脚及表面贴装式44引脚等几种封装形式。多数I/O引脚都设计有第2功能,甚至第3功能。采用引脚复用技术,以便使单片机增加功能而又不增大体积和引脚数量。2.1.3 P
17、IC16F877的引脚的引脚 PIC上海技术培训中心29PIC上海技术培训中心30 F877单片机内部配置了较完善的多个存储器,可分为数据存储器和程序存储器两种,为一般用户提供很大的方便。但它们在形式上,具有很丰富的内涵。2.2 存储器概述存储器概述 PIC上海技术培训中心31 F877单片机内部配置了8K l4位的闪烁(FLASH)程序存储器,可以很方便进行在线擦除和烧写,寿命可达1000次以上。在PIC系列单片机教学实验和科研开发中,显示出无穷的魅力和宽广的应用前景。相应的地址编码范围为0000HlFFFH。2.2.1 程序存储器程序存储器 PIC上海技术培训中心32程序存储器结构程序存储
18、器结构 PIC上海技术培训中心33 F877单片机内部配置两类数据存储器,普通RAM数据存储器和EEPROM失电保持数据存储器。RAM总的地址空间为512个单元,其中包括部分无效单元,但每一个有效单位均可以象寄存器一样进行移位、置位、复位和位测试等操作。PIC单片机的数据存储器和其他单片机一样,在配置结构上可分为通用寄存器和特殊功能寄存器两大类,前者给用户使用,而后者通常定义给某些功能模块,是一种具有特殊目的的功能寄存器。2.2.2 数据存储器数据存储器 PIC上海技术培训中心34 同时在PIC16F877片内又配置另一种可掉电保护的数据存储器EEPROM,共有2568位宽的存储单元,可以长期
19、存放用户或系统的重要参数:如时间、配置及数据表格等,是一种非常重要的硬件资源。PIC上海技术培训中心35数据存储器单元功能分配数据存储器单元功能分配 体(体(BANKBANK)0 0 体(体(BANKBANK)1 1 体(体(BANKBANK)2 2 体(体(BANKBANK)3 3 PIC上海技术培训中心36 存储器是单片机中一个非常重要的部件,专门用于存放指令、数据和运算结果。分析F877单片机存储器构架,可以从其配置的三大模块着手进行,它们是:8K l4位FLASH程序存储器 5128位数据存储器RAM 2568位可掉电保护数据的EEPROM存储器模块。第第3章章 PIC存储器存储器 P
20、IC上海技术培训中心37 存储器从使用功能上来分,可分为随机存储器RAM(Random Access Memory)和只读存储器ROM(Read Only Memory)两类。3.1 存储器分类存储器分类 PIC上海技术培训中心38 F877程序存储器具有13位宽的程序计数器PC。PC指针所产生的13位地址最大可寻址的程序存储器空间为8K,相应的地址编码范围为0000HlFFFH。F877归属于中档单片机,其指令字节宽度为14位,内部构架配置了8K l4位的闪烁FLASH程序存储器。3.2 程序存储器构架程序存储器构架 PIC上海技术培训中心39 一 般 将 整 个 程 序 存 储 器 以 2
21、KB为 单 位 进 行 分 页(PAGE),如图3-1所示F877单片机,8KB程序存储器共分作4页,分别称为“页0”、“页l”、“页2”和“页3”。程序计数器高8位PCLATH的Bit4-Bit3位构成程序存储器分页的选择位,对应的地址空间如下:PCLATH Bit4:Bit3:0 0 页0:0000H 07FFH 0 1 页l:0800H 0FFFH 1 0 页2:1000H 17FFH 1 1 页3:1800H 1FFFHPIC上海技术培训中心40PIC上海技术培训中心41PIC上海技术培训中心42PIC16F877 PIC16F877 单片机架构程序存储器单片机架构程序存储器单片机架构
22、程序存储器单片机架构程序存储器l l最大最大8 8K K字字(13(13位位)程序程序存储空间存储空间l l程序空间按页面划分,程序空间按页面划分,每页每页2 2K K字字(11(11位位);最;最多四页。多四页。l l页面选择页面选择 PCLATHPCLATHl l复位向量地址复位向量地址00000000h hl l中断向量地址中断向量地址00040004h h00000000h h00040004h h0707FFhFFh08000800h h0 0FFFhFFFh10001000h h1717FFhFFh18001800h h1 1FFFhFFFhPCLATH=00PCLATH=00PC
23、LATH=01PCLATH=01PCLATH=10PCLATH=10PCLATH=11PCLATH=11PIC上海技术培训中心43 程序存储器中有2个单元地址比较特殊,除了具备同其他单元地址一样的普通用途外,还具有专门用途:0000H:用作单片机系统的复位矢量;0004H:用作系统特殊模块的中断矢量。复位矢量中断矢量复位矢量中断矢量PIC上海技术培训中心44 F877用于存储数据的RAM单元比一般单片机RAM的功能要强大得多,它除了具备普通RAM的功能之外,每一个单元都能实现移位、置位、复位和位测试等通常由寄存器才能完成的功能操作。3.3 数据存储器构架数据存储器构架 PIC上海技术培训中心4
24、5 RAM数据存储器和FLASH程序存储器一样在空间构架上,进行类似方式进行分区。按横向排列,分为4个“体”(BANK),从左到右分别记为“体0”、“体1”、“体2”和“体3”,每个体为128个8位宽的存储器单元。RP1:RP0 体域 寄存器地址 0 0 体0:000H 07FH 0 1 体1:080H 0FFH 1 0 体2:100H l7FH 1 1 体3:180H lFFH 数据存储器分区数据存储器分区PIC上海技术培训中心46数据存储器数据存储器数据存储器数据存储器l l四个存储体每个四个存储体每个128128字节字节l l特殊功能寄存器特殊功能寄存器ll存储体选择通过存储体选择通过
25、StatusStatus中中的的 RP0,1RP0,1和和 IRPIRPl l512512单元单元l l368368有效有效GPRGPRBank0Bank0000000h h0101FhFh020020h h0707FhFhBank1Bank1080080h h0909FhFh0 0A0hA0h0 0FFhFFh0 0F0hF0hBank2Bank2100100h h1111FhFh120120h h1717FhFh170170h hBank3Bank3180180h h1919FhFh1 1A0hA0h1 1FFhFFh1 1F0hF0hRP RP RP RPRP RP RP RP =00
26、=01 =10 =11 =00 =01 =10 =11PIC上海技术培训中心47PIC上海技术培训中心48 有些寄存器单元在4个体上是互相映射的,如状态寄存器STATUS、间接寻址寄存器INDF、程序计数器低8位PCL、文件选择寄存器FSR、程序计数器高8位PCLATH和中断控制寄存器INTCON。所谓互为映射就是说,在4个体内的相同位置,物理上对应同一个寄存器单元,所以该单元具备4个不同的地址。互相映射互相映射PIC上海技术培训中心49 F877单 片 机 的 通 用 寄 存 器 GPR(General Purpose Registers),可由用户自行支配存放随机数据。地址区域:F0HFF
27、H、170Hl7FH和1F0H1FFH,都可以索引(或映射)到体0的16个RAM单元。这样安排是为了便于中断服务程序的设计和数据处理,就可以在程序设计中能够有效突破体的限制而定义通用的变量函数 3.3.1 通用寄存器通用寄存器 PIC上海技术培训中心50 特 殊 功 能 寄 存 器 SFR(Special Function Registers)是用于专用目的的寄存器,每个寄存器单元,甚至其中的每一位,都有它自己特定的名称和用途。主要涉及PIC内核结构、外围功能模块的配置和数据通信方式的定义,是单片机赖于正常运行的工作平台。所以,特殊功能寄存器又称为专用寄存器。可以依据它们不同的用途分为两类:一
28、类是与CPU内核相关的寄存器;另一类是与外围模块相关的寄存器。3.3.2 特殊功能寄存器特殊功能寄存器 PIC上海技术培训中心51 状态寄存器的内容用来记录算术逻辑单元ALU的运算结果状态、CPU的特殊运行状态以及RAM数据存储器体间选择等信息。1状态寄存器状态寄存器STATUS PIC上海技术培训中心52Bit0C:进位/借位标志,被动参数。0:执 行 加 法(或 减 法)指 令 时,如 果 最 高 位 无 进 位(或 有 借 位);1:执行加法(或减法)指令时,如果最高位有进位(或无借位)。Bit1DC:辅助进位/借位标志,被动参数。0:执行加法(或减法)指令时,如果低4位向高4位无进位(
29、或有借位);1:执行加法(或减法)指令时,如果低4位向高4位有进位(或无借位)。Bit2Z:零标志,被动参数。0:算术或逻辑运算结果不为0;1:算术或逻辑运算结果为全0。状态标志位状态标志位 PIC上海技术培训中心53 Bit6-Bit5RP1-RP0:RAM数据存储器体选位,仅用于直接寻址。两位复合选择RAM数据存储器4个体,具体关系如下:RP1、RP0=0 0 选中体0 RP1、RP0=0 1 选中体1 RP1、RP0=1 0 选中体2 RP1、RP0=1 1 选中体3 Bit7IRP:RAM数据存储器体选位,仅用于间接寻址。0:选择数据存储器低位体:即体0(FSR的Bit7=0)或体1(
30、FSR的Bit7=1);1:选择数据存储器高位体:即体2(FSR的Bit7=0)或体3(FSR的Bit7=1)。数据存储器体选位数据存储器体选位 PIC上海技术培训中心54 在RAM数据存储器中,有一个非常特别的寄存器INDF它的专有功能是与FSR寄存器配合,实现间接寻址。当访问地址INDF时,实际上是访问以FSR内容为地址的数据存储器RAM单元。2间接寻址的寄存器间接寻址的寄存器INDF和和FSR PIC上海技术培训中心55 在直接寻址中,体选码来自状态寄存器STATUS的RP1和RPO位,体内的单元地址直接来自指令机器码。而在间接寻址中,体选码由STATUS的IRP位和FSR寄存器的BIT
31、7组成 直接寻址直接寻址/间接寻址方式的示意图间接寻址方式的示意图 PIC上海技术培训中心56 程序计数器PC指针宽13位,它的内容指向CPU将要执行的下一条指令所在程序存储器单元的地址。低8位PCL有自己的地址,可读可写;而高5位PCH和其它单片机不一样,即没有自己的地址,不能用软件访问,也就不能直接写人,只能用寄存器PCLATH装载的方式进行间接写人。3与与PC相关的寄存器相关的寄存器PCL和和PCLATH PIC上海技术培训中心57两种情况下两种情况下PC值的装入过程值的装入过程 PCLATH对于高5位PCH的装载分两种情况:一种情况是当执行以PCL为目标的写操作指令时,PC的低8位来自
32、算术逻辑单元ALU,PC的高5位来自PCLATH的低5位;另一种情况是当执行跳转指令GOTO或调用子程序指令CALL时,PC的低11位来自指令码中直接携带的11位地址,高2位由PCLATH3-4提供。PIC上海技术培训中心58程序存储器程序存储器程序存储器程序存储器:PC PC 绝对寻址绝对寻址绝对寻址绝对寻址14-14-位位位位 call call 和和和和gotogoto指令指令指令指令l l 通过通过 CALL CALL 和和 GOTOGOTO修改修改 PC(PC(程序指针程序指针)PCLATHPCLATH寄存器寄存器寄存器寄存器有效的有效的有效的有效的 13-13-位程序存储器地址位程
33、序存储器地址位程序存储器地址位程序存储器地址11-11-位位位位 来自指令来自指令来自指令来自指令2-2-位位位位来自来自来自来自PCLATHPCLATHPIC上海技术培训中心5913-13-位程序指针位程序指针位程序指针位程序指针5 55 58 8movlwmovlw HIGH DelayHIGH DelaymovwfmovwfPCLATHPCLATHmovlwmovlw LOW DelayLOW DelaymovwfmovwfPCLPCL *对于读对于读对于读对于读PCPC值时:值时:值时:值时:仅从仅从仅从仅从PCLPCL读低读低读低读低8 8位值,位值,位值,位值,PCHPCH不会被载
34、入到不会被载入到不会被载入到不会被载入到PCLATHPCLATH程序存储器程序存储器程序存储器程序存储器:PC PC 相对寻址相对寻址相对寻址相对寻址PIC上海技术培训中心60 主要用于设置定时/计数器TMR0、前后分频器、外部INT中断以及B端口的弱上拉功能等各种控制位。4选项寄存器选项寄存器OPTION_REG PIC上海技术培训中心61Bit2-Bit0Bit2-Bit0PS2-PS0PS2-PS0:分频器倍率选择位分频器倍率选择位分频器倍率选择位分频器倍率选择位 PIC上海技术培训中心62Bit3PSA:前后分频器分配位,主动参数。0:分配给TMR0,作为TMR0的前分频器;1:分配给
35、WDT,作为WDT的后分频器。Bit4T0SE:TMR0用于计数器,计数脉冲信号边沿选择位,主动参数。0:RA4/T0CKI引脚上的上升沿增量;1:RA4/T0CKI引脚上的下降沿增量。Bit5T0CS:定时/计数器TMR0时钟源选择位,主动参数。0:用内部指令周期时钟(CLKOUT)作为TMR0的触发脉冲;1:用T0CKI引脚上的外部时钟作为TMR0的触发脉冲。Bit6INTEDG:INT中断信号触发边沿选择位,主动参数。0:BR0/INT引脚上的上升沿触发;1:BR0/INT引脚上的下降沿触发。Bit7RBPU:B端口弱上拉使能位,主动参数。0:RB0-RB7引脚弱上拉使能;1:RB0-R
36、B7引脚弱上拉不使能。PIC上海技术培训中心63 主要用于中断控制方式的设置。5中断控制寄存器中断控制寄存器INTCONPIC上海技术培训中心64端口寄存器端口寄存器PORTAPORTA(B B)()(C C)()(D D)()(E E)端口端口I/OI/O定义寄存器定义寄存器TRISATRISA(B B)()(C C)()(D D)()(E E)Di=0Di=0定义为输出状态定义为输出状态Di=1Di=1定义为输入状态定义为输入状态 6端口寄存器端口寄存器PIC上海技术培训中心65 指令是单片机的领导核心,就是指挥CPU按要求进行一系列操作的命令。一般来说,单片机都具有自己特有的指令系统,相
37、互之间大都互不兼容。PIC单片机系列按照不同用户的要求分成三个不同的应用档次。第第4章章 PIC指令系统指令系统 PIC上海技术培训中心66 指令的执行时间总是分解成两部分:取指过程和执行过程,取指的快慢直接与指令的字节数有关,而指令的执行快慢与时钟的振荡频率有关。在以往的单片机结构中,程序存储器和数据存储器的地址空间和数据传输通道都相互并用,必须采用分时操作顺序执行。而PIC单片机指令的执行过程是遵循着一种全新哈佛总线体系结构的原则,充分利用计算机系统在程序存储器和数据存储器之间地址空间的相互独立性,取指过程和执行程序可以流水线操作同时进行。4.1 指令流水线操作原则指令流水线操作原则 PI
38、C上海技术培训中心67Flush FetchFlush Fetch 4 4Fetch SUB_1Fetch SUB_1Tcy0Tcy1Tcy2Tcy3Tcy4Tcy0Tcy1Tcy2Tcy3Tcy4PICPIC单片机指令流水线示意单片机指令流水线示意单片机指令流水线示意单片机指令流水线示意Execute 1Execute 1Fetch 3Fetch 31.1.MOVLW 55hMOVLW 55h Fetch 1Fetch 1Execute 3Execute 3Fetch 2Fetch 2Execute 2Execute 2 Fetch 4Fetch 42.2.MOVWF PORTBMOVWF
39、PORTB3.3.CALL SUB_1CALL SUB_14.4.BSF PORTA,BIT3BSF PORTA,BIT3PIC上海技术培训中心68在在这这种种寻寻址址方方式式中中,操操作作数数或或其其中中之之一一(另另一一个个是是WW)是是立立即数,即数,随指令码携带,而无需再到其他地方去寻找。随指令码携带,而无需再到其他地方去寻找。l指令中的操作数为8-位常数.l使用立即数寻址方式的指令有:movlw,addlw,retlw,etc.如:如:ADDLWADDLW16H16H指令寻址方式说明指令寻址方式说明 1.1.寄存器立即寻址寄存器立即寻址寄存器立即寻址寄存器立即寻址14-14-位位位位
40、 立即寻址指令立即寻址指令立即寻址指令立即寻址指令PIC上海技术培训中心692.寄存器直接寻址寄存器直接寻址l7-位直接从指令中获取l2-位从STATUS寄存器中获取如:IORWF26H,09-9-位位位位 有效寄存器地址有效寄存器地址有效寄存器地址有效寄存器地址STATUS STATUS 寄存器寄存器寄存器寄存器14-14-位指令位指令位指令位指令7-7-位来自指令字位来自指令字位来自指令字位来自指令字2-2-位来自位来自位来自位来自STATUS STATUS 寄存器寄存器寄存器寄存器PIC上海技术培训中心703.寄存器间接寻址寄存器间接寻址ll8-8-位位间接地址来自间接地址来自FSR(F
41、SR(选择寄存器选择寄存器).).ll1-1-位位来自来自STATUSSTATUS寄存器寄存器.例如:例如:MOVWFINDFMOVWFINDFSTATUS STATUS 寄存器寄存器寄存器寄存器8-8-位位位位 FSR FSR 寄存器寄存器寄存器寄存器有效的有效的有效的有效的 9-9-位寄存器地址位寄存器地址位寄存器地址位寄存器地址8-8-位来自位来自位来自位来自 FSRFSR1-1-位来自位来自位来自位来自STATUS STATUS 寄存器寄存器寄存器寄存器这是一种比较特别的寻址方式,是通过两个寄存器INDF和FSR的组合而实现功能的。操作数是FSR寄存器内容位指针,所指向寄存器单元的内容
42、。PIC上海技术培训中心71间接寻址实例间接寻址实例运行机制:运行机制:aa)清从清从00 x20 to 0 x7Fx20 to 0 x7F所有的所有的RAMRAM区域区域 bb)间接地址载入间接地址载入FSRFSR c c)每一次对每一次对INDFINDF运行,由运行,由FSRFSR指向的寄存器被使用指向的寄存器被使用 例子:例子:movlwmovlw0 x200 x20movwfmovwfFSRFSRLOOPLOOP clrfclrfINDFINDFincfincfFSR,FFSR,FbtfssbtfssFSR,7FSR,7gotogotoLOOPLOOP0000h h0404h h202
43、0h h7 7FhFh数据记忆区数据记忆区数据记忆区数据记忆区PIC上海技术培训中心72这是PIC单片机的特色之一,它可以对所有的RAM数据存储器进行位寻址,即置位和清零等。如:BSF26H,4;(26H原为26H)4.位寻址位寻址PIC上海技术培训中心73 每条指令的字节长度为14位,主要由说明指令功能的操作码和参与指令处理的操作数组成。操作码部分,简称助记符,如表4-2核心助记符,是借用英语单词来间接表达和定义其操作功能。操作数部分,是按照操作码的操作功能,对操作数进行处理。根据操作数的源地址和目标地址的访问性质,可以有多种表现形式:主要有直接寻址、间接寻址、立即寻址和位寻址四类。4.2
44、指令集说明指令集说明 PIC上海技术培训中心74核心助记符核心助记符 PIC上海技术培训中心75指令系统补充字符说明指令系统补充字符说明 PIC上海技术培训中心76 数据传送类指令共有4条指令,主要功能是将数据从源地址(或立即数)传送至目标地址中。4.2.1 数据传送类指令数据传送类指令 PIC上海技术培训中心77【例题4-1】请利用数据传送类指令编写一段子程序,将立即数20H传送到通用寄存器20H中。【例题4-2】请利用数据传送类指令编写一段子程序,将通用寄存器20H和30H中的内容进行交换。PIC上海技术培训中心78 算术运算类指令是PIC单片机指令系统中,承担运算功能的重要部分,共有6条
45、指令。主要有加减指令、增量和减量指令 4.2.2 算术运算类指令算术运算类指令 PIC上海技术培训中心79【例题4-3】请将通用寄存器20H、30H构成的16位数据与通用寄存器40H、50H构成的16位数据相加后放入40H、50H 中,已知其和不会超出65535。PIC上海技术培训中心80 逻辑运算类指令是一组比较复杂的指令,形式较多,可以对位和字节进行逻辑操作。主要有与、或、异或、清零、置位、取反和左右移位等14条指令 4.2.3 逻辑运算类指令逻辑运算类指令 PIC上海技术培训中心81【例题4-4】请将数据存储器20H和30H中的数据分别与立即数20H、30H相与和相或后相加,结果放入40
46、H存储器中,请编写相应的程序。【例题4-5】请编写一个完整的程序,将数据存储器20H低4位和30H高4位组合成一个八位二进制数据,并从RC端口输出。PIC上海技术培训中心82 控制转移类指令,是在指令系统中形式灵活、功能较强的一组指令,共11条。它们是构成程序循环和跳转的关键要素,一般可以分为有条件跳转和无条件跳转两大类。4.2.4 控制转移类指令控制转移类指令 PIC上海技术培训中心83 这是一种比较特殊的转移形式,根据位测试或加减1后的内容判断条件的成立与否,而决定程序继续执行还是间跳执行指令。当前判断语句A下一条语句B 再下一条语句C1.相对转移间跳相对转移间跳 PIC上海技术培训中心8
47、4 PIC指令系统的绝对转移,主要由CALL和GOTO语句引出。在指令机器码内部本身并没有携带完整的转移目标地址,只包含低11位地址,而高2位将由PCLATH寄存器给出。【例题4-6】请将通用寄存器单元20H-2FH,分别对应赋值20H-2FH,请编写相应的软件程序。2.绝对转移和调用绝对转移和调用 PIC上海技术培训中心85【例题4-7】请分析以下程序片段,并指出当程序执行完后,涉及到的所有存储器单元的结果。MOVLW 22HMOVWF 22HMOVWF FSRADDWF INDF,FINCF INDFSWAPF 22H,WRLF22H,WDECF FSR,FMOVWFINDFBSFINDF
48、,7【例题4-6】编写散转指令程序 PIC上海技术培训中心86 Microchip公司为PIC系列单片机配备了功能强大、基于Windows、易学易用的软件集成开发环境MPLAB。该开发环境可以使人们在自己的微机系统上,对PIC系列单片机进行程序的创建、录入、编辑以及汇编,还能方便而灵活地实现程序的模拟运行和动态调试,可以对实际应用系统进行在线仿真和功能模块开发。第第5章章 PIC集成开发系统集成开发系统 PIC上海技术培训中心87 PIC单片机指令系统和其它单片机一样,是较为低级的语言系统,是一套控制和指挥CPU工作的编码,即机器语言。单片机只能识别和执行由二进制数组成的机器语言,然而,这样一
49、种二进制代码的机器语言是很难为人们直接理解和分析。为了能较好表达人们的设计思路,便于记忆和使用,人们在低级语言之上设计出一种新的符号语言,即汇编语言。第第6章章 汇编语言程序设计汇编语言程序设计 PIC上海技术培训中心88 PIC单片机指令系统和其它单片机一样,是较为低级的语言系统,是一套控制和指挥CPU工作的编码,即机器语言。为了能较好表达人们的设计思路,便于记忆和使用,人们在低级语言之上设计出一种新的符号语言,即汇编语言。6.1 汇编语言指令格式汇编语言指令格式 PIC上海技术培训中心89 根据指令的功能和作用,只有操作码是必须存在的,它主要决定了指令的操作性质,而其它部分是指令语句的重要
50、补充和说明,有时可以缺省。PIC上海技术培训中心90 标号位于指令助记符前面,它一般是用于表示指令所在的地址,例如表示主程序或子程序的起始地址、转移语句的入口地址等。1.标号标号 PIC上海技术培训中心91标号并不是指令的必须部分,只有那些欲被其他语句引用的指令之前,才必须附加标号。标号不一定和语句同行,可以单独在语句上方作为一行使用。标号最多可以由32个字母、数字和其它一些字符组成,但第一个字符必须是字母或下划线。标号不能用系统保留字,即系统禁用指令助记符、寄存器名、标志符等作为标号,如:ADD、PCLATH等。一个标号只能表示一个地址,不允许多个地址用一个标号重复定义。标号的定义和引用必须