PIC上海技术培训中心课件_第1页
PIC上海技术培训中心课件_第2页
PIC上海技术培训中心课件_第3页
PIC上海技术培训中心课件_第4页
PIC上海技术培训中心课件_第5页
已阅读5页,还剩629页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PIC单片机原理及应用(第二版)美国微芯公司授权上海技术培训中心2005.01PIC上海技术培训中心1PIC单片机原理及应用(第二版)PIC上海技术培训中心1第1章微型计算机概论

微型计算机是一种既有快速运算能力,又有极强逻辑判断能力和大容量存储功能的电子设备,它是20世纪人类最卓越的科学发明之一。本章介绍微型计算机的基础知识,主要内容有微型计算机的发展历史及应用领域、计算机硬件、软件系统的基本组成。

PIC上海技术培训中心2第1章微型计算机概论

PIC上海技术培训中心21.1微型计算机的发展历史及应用

我们今天所说的计算机,是指利用电子技术实现计算并具有逻辑判断和程序存储功能的设备。

PIC上海技术培训中心31.1微型计算机的发展历史及应用PIC上海技术培

1.1.1微型计算机的发展历史

从计算机发展的历史看,微型计算机已属于第四代计算机,而微型计算机的发展又已经历了四代。

PIC上海技术培训中心41.1.1微型计算机的发展历史从计算机发展1.1.2微型计算机的应用

科学计算

数据处理

过程控制

计算机辅助设计/辅助制造(CAD/CAM)

计算机网络

PIC上海技术培训中心51.1.2微型计算机的应用PIC上海技术培训中1.1.3微型计算机系统主要技术指标

字长:计算机的字长取8的整数倍数,如8位、16位、32位、64位等

速度:计算机的速度指标可用主频及运算速度来评价(G)、(万次/秒)存储系统容量:内存和外存(M)(G)PIC上海技术培训中心61.1.3微型计算机系统主要技术指标PIC上海技术培训中1.2微型计算机系统的组成

计算机的硬件通常包括运算器、存储器、控制器、输入设备及输出设备等五个部分

PIC上海技术培训中心71.2微型计算机系统的组成计算机的1.2.2软件系统

软件系统是一台计算机中的系统软件、应用软件、程序设计语言和支持软件及各种文档的总称。系统软件:包括操作系统、服务程序、汇编程序、解释程序和编译程序等。应用软件:是用汇编语言或高级语言为解决某种实际问题而编写的程序。程序设计语言:通常分为面向机器的汇编语言和面向用户的高级语言。

PIC上海技术培训中心81.2.2软件系统软件系统是一台计算机中

1.3微控制器系统

在计算机的发展历史上,特别是在第一台小型控制器件形成以后,沿着两条完全不同的用途、不同的价格、和不同的技术内涵,而被充实于我们的日常生活中。

PIC上海技术培训中心91.3微控制器系统PIC上海技术培训中心91.3.1单片机系统

单片机的发展过程和性能的日益完善,实际上是对传统控制技术的一场革命,开创了微控技术的新天地。现代控制系统的核心内涵就是嵌入式计算机应用系统(MCU),而单片机就是最典型、最广泛、最普及的嵌入式计算机应用系统。

PIC上海技术培训中心101.3.1单片机系统单片机的发展过程单片机的降临,主要也是源于其性能价格比。一般单片机用于控制的目的,而对于其承担的计算功能却要求不高,只要能按照一定的程式进行在线检测和即时控制工作。目前,各个单片机生产厂家还是立足于8位单片机的竞争,因为从其降临以来,一直成为应用最广泛的器件。2002年美国MICROCHIP和MOTOROLA两家公司,已占据着世界8位单片机产量最高的前两个芯片制造商。PIC上海技术培训中心11PIC上海技术培训中心11

一般的单片机的结构可以用图1.2所示的方块图描述,用三大总线(DB、AB、CB)实现模块之间的信息传递。单片机内部结构PIC上海技术培训中心12

单片机内部结构PIC上海技术培训中心12

单片机的主要应用

人有所思,单片机就可为。单片机的应用必将随着社会的发展和技术的进步,而获得更广阔应用。(系列化的单片机?).电信.家用电器.工业控制.仪器仪表.汽车.玩具PIC上海技术培训中心13

单片机的主要应用

人有所思,单单片机有哪些特点

单片机具备体积小、价格低、性能强、速度快、用途广、可靠性高、灵活性强等优点,它与通用的计算机相比,还具有以下一些特点:.存储器ROM和RAM的相互独立.采用面向控制的指令系统.输入/输出端口的强大功能PIC上海技术培训中心14单片机有哪些特点

单片机具备体积1.3.2PIC系列单片机

PIC系列单片机,可以满足用户的各种需要。从中档产品PIC16F877作为切入点,提供非常完备、易学易用的MPLAB-ICD集成开发环境。特别是对于单片机的新手,仿佛从茫然迷惑的大海搭上一艘便捷平稳的小船,感到非常轻松自如。

PIC上海技术培训中心151.3.2PIC系列单片机 PIC第2章PIC单片微机的组成

PIC(PeripheryInterfaceChip)单片微机是美国Microchip公司生产的PIC系列单片机。PIC系列单片机的硬件系统设计简洁,指令系统设计精炼。在所有的单片机品种中,PIC具有性能完善、功能强大、学习容易、开发应用方便、人机界面友好等突出优点。

PIC上海技术培训中心16第2章PIC单片微机的组成PIC(P2.1PIC系列单片机概述

Microchip公司是一家专门致力于单片机开发、研制和生产的制造商,其产品设计起点高,技术领先,性能优越。它不是在一般微型计算机CPU的基础上加以改造,而是独树一帜,采用全新的流水线结构、单字节指令体系、嵌入闪存以及10位A/D转换器,使之具有卓越的性能,代表着单片机发展的新方向。PIC系列单片机,具有高、中、低三个档次,可以满足不同用户开发的需要,适合在各个领域中的应用。它具有如下特点:2.1.1PIC系列单片机特点PIC上海技术培训中心172.1PIC系列单片机概述Microch单片机总线结构

单片微型计算机通常采用两种体系结构:一种是普林斯顿体系结构;另一种是哈佛体系结构。在普林斯顿体系结构中,其程序存储器和数据存储器统一编址,也就是说两种存储器位于同一逻辑空间。这种单片机的取指令和存取数据必须分时地进行,影响了执行指令的速度。

哈佛体系结构的程序存储器和数据存储器独立编址,也就是说两种存储器有不同的逻辑空间。

PIC上海技术培训中心18单片机总线结构单片微型计算机通常采用两种体系结

PIC系列单片机采用哈佛总线结构,在芯片内部数据总线和指令总线分离,容许采用不同的字节宽度。这样,就为实现指令提取和执行的“流水作业”提供结构保证,即在执行一条指令的同时对下一条指令进行取指操作。两总线的分离,也为PIC实现全部指令的单字节化和单周期化创造条件,从而大大提高CPU执行指令的速度和工作效率。1.哈佛总线结构

PIC上海技术培训中心19PIC系列单片机采用哈佛总线结构,在芯片内部数据单片机总线结构比较

从同一存储器空间取指令和取操作数据。限制了数据流量。

从两个独立的存储空间分别取指令和存取操作数。数据流量增加。针对程序区和数据区可以设计不同的数据线宽度。程序和数据存储器冯-纽曼结构8-位CPU程序存储器数据存储器8-位12/14/16-位哈佛结构CPUPIC上海技术培训中心20单片机总线结构比较从同一存储器空间取指令和

PIC系列单片机的指令系统,由于采用RISC技术,和一般单片机指令系统通常有上百条指令相比要少得多。2.RISC技术

PIC上海技术培训中心21PIC系列单片机的指令系统,由于采用RISC技术

PIC系列单片机只有4种寻址方式:寄存器间接寻址、立即数寻址、直接寻址和位寻址,比较容易掌握。PIC系列单片机的程序、数据、堆栈三者各自采用互相独立的地址空间,前两者的地址访问需要用户特别注意四个分区的范围,而堆栈过程用户不必参与和操心。代码压缩率,就是指相同程序存储器空间所能容纳有效指令的数量。3.指令特色

PIC上海技术培训中心22PIC系列单片机只有4种寻址方式:寄存器间接寻址由于PIC系列单片机采用CMOS结构,使其功率消耗极低,是目前世界上最低功耗的单片机品种之一。其中有些型号,在4MHz时钟下工作时耗电不超过2mA,而在睡眠模式下耗电可低到1μA以下。因此,PIC系列单片机,尤其适用于野外移动仪表的控制以及户外免维护的控制系统。5.功耗低

PIC上海技术培训中心23由于PIC系列单片机采用CMOS结构,使其功率消耗

I/0端口驱动负载的能力较强,每个输出引脚可以驱动多达20-25mA的负载,既能够高电平直接驱动发光二极管LED、光电藕合器、小型继电器等,也可以低电平直接驱动,这样可大大简化控制电路。不过,请读者注意,每个引脚的驱动能力并不表示端口引脚同时都具有这样的功效。一般端口驱动能力约60-70mA,而所有输入输出驱动小于200mA,详细数据可参考有关数据手册。6.驱动能力强

PIC上海技术培训中心24I/0端口驱动负载的能力较强,每个输出引脚可以驱PIC主要是采用哈佛总线结构,可以同时进行指令读取和指令执行的流水线作业方式。如:MCS-5112M,指令执行时间为1s~4sPIC12M时钟周期,指令执行时间为0.3~0.6s

7.运行速度高PIC上海技术培训中心25PIC主要是采用哈佛总线结构,可以同时

PIC系列单片机的一些型号具有同步串行口,可以满足I2C(主控/从动)和SPI(主控)总线要求。I2C和SPI(SerialPeripheralInterface)分别是PHILIPS公司和MOTOROLA公司研制的两种广泛流行的串行总线标准,是一种在芯片之间实现同步串行数据传输的技术。利用单片机串行总线端口可以方便而灵活地扩展外围器件,目前已在许多电子产品中得到广泛应用。8.同步串行数据传送方式

PIC上海技术培训中心26PIC系列单片机的一些型号具有同步串行口,可以满

2.1.2PIC16F877的结构

从其执行功能考虑,可以将单片机分成两大组件,即基本功能模块和专用功能模块。PIC上海技术培训中心272.1.2PIC16F877的结构

PIC上海技术培训中心28PIC上海技术培训中心28

PICl6F87X系列单片机有双列直插式28引脚和40引脚及表面贴装式44引脚等几种封装形式。多数I/O引脚都设计有第2功能,甚至第3功能。采用引脚复用技术,以便使单片机增加功能而又不增大体积和引脚数量。2.1.3PIC16F877的引脚

PIC上海技术培训中心29PICl6F87X系列单片机有双列直插式28引脚PIC上海技术培训中心30PIC上海技术培训中心30

F877单片机内部配置了较完善的多个存储器,可分为数据存储器和程序存储器两种,为一般用户提供很大的方便。但它们在形式上,具有很丰富的内涵。

2.2存储器概述

PIC上海技术培训中心31F877单片机内部配置了较完善的多个存储器,可分

F877单片机内部配置了8K╳l4位的闪烁(FLASH)程序存储器,可以很方便进行在线擦除和烧写,寿命可达1000次以上。在PIC系列单片机教学实验和科研开发中,显示出无穷的魅力和宽广的应用前景。相应的地址编码范围为0000H~lFFFH。2.2.1程序存储器

PIC上海技术培训中心32F877单片机内部配置了8K╳l4位的闪烁(程序存储器结构

PIC上海技术培训中心33程序存储器结构PIC上海技术培训中心33

F877单片机内部配置两类数据存储器,普通RAM数据存储器和EEPROM失电保持数据存储器。

RAM总的地址空间为512个单元,其中包括部分无效单元,但每一个有效单位均可以象寄存器一样进行移位、置位、复位和位测试等操作。PIC单片机的数据存储器和其他单片机一样,在配置结构上可分为通用寄存器和特殊功能寄存器两大类,前者给用户使用,而后者通常定义给某些功能模块,是一种具有特殊目的的功能寄存器。2.2.2数据存储器

PIC上海技术培训中心34F877单片机内部配置两类数据存储器,普通RAM数据存储同时在PIC16F877片内又配置另一种可掉电保护的数据存储器EEPROM,共有256×8位宽的存储单元,可以长期存放用户或系统的重要参数:如时间、配置及数据表格等,是一种非常重要的硬件资源。PIC上海技术培训中心35同时在PIC16F877片内又配置另一种可掉电保护的数据数据存储器单元功能分配

体(BANK)0体(BANK)1体(BANK)2体(BANK)3

PIC上海技术培训中心36数据存储器单元功能分配体(BANK)0体(BANK)存储器是单片机中一个非常重要的部件,专门用于存放指令、数据和运算结果。分析F877单片机存储器构架,可以从其配置的三大模块着手进行,它们是:8K╳l4位FLASH程序存储器512╳8位数据存储器RAM256╳8位可掉电保护数据的EEPROM存储器模块。第3章PIC存储器

PIC上海技术培训中心37存储器是单片机中一个非常重要的部件,专门用于存放存储器从使用功能上来分,可分为随机存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)两类。3.1存储器分类

PIC上海技术培训中心38存储器从使用功能上来分,可分为随机存储器RAM(

F877程序存储器具有13位宽的程序计数器PC。PC指针所产生的13位地址最大可寻址的程序存储器空间为8K,相应的地址编码范围为0000H~lFFFH。F877归属于中档单片机,其指令字节宽度为14位,内部构架配置了8K╳l4位的闪烁FLASH程序存储器。3.2程序存储器构架

PIC上海技术培训中心39F877程序存储器具有13位宽的程序计数器PC。一般将整个程序存储器以2KB为单位进行分页(PAGE),如图3-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~1FFFHPIC上海技术培训中心40一般将整个程序存储器以2KB为单位进行分PIC上海技术培训中心41PIC上海技术培训中心41PIC上海技术培训中心42PIC上海技术培训中心42PIC16F877单片机架构程序存储器最大8K字(13位)程序存储空间程序空间按页面划分,每页2K字(11位);最多四页。页面选择PCLATH<4:3>复位向量地址0000h中断向量地址0004hPage00000h0004h07FFhInterruptResetPage10800h0FFFhPage21000h17FFhPage31800h1FFFhPCLATH<4:3>=00PCLATH<4:3>=01PCLATH<4:3>=10PCLATH<4:3>=11PIC上海技术培训中心43PIC16F877单片机架构程序存储器最大8K字(13位程序存储器中有2个单元地址比较特殊,除了具备同其他单元地址一样的普通用途外,还具有专门用途:0000H:用作单片机系统的复位矢量;0004H:用作系统特殊模块的中断矢量。

复位矢量中断矢量PIC上海技术培训中心44程序存储器中有2个单元地址比较特殊,除了具备同其他

F877用于存储数据的RAM单元比一般单片机RAM的功能要强大得多,它除了具备普通RAM的功能之外,每一个单元都能实现移位、置位、复位和位测试等通常由寄存器才能完成的功能操作。3.3数据存储器构架PIC上海技术培训中心45F877用于存储数据的RAM单元比一般单片机RA

RAM数据存储器和FLASH程序存储器一样在空间构架上,进行类似方式进行分区。按横向排列,分为4个“体”(BANK),从左到右分别记为“体0”、“体1”、“体2”和“体3”,每个体为128个8位宽的存储器单元。RP1:RP0体域寄存器地址00体0:000H~07FH01体1:080H~0FFH10体2:100H~l7FH11体3:180H~lFFH

数据存储器分区PIC上海技术培训中心46RAM数据存储器和FLASH程序存储器一样在空间

数据存储器四个存储体每个128字节特殊功能寄存器存储体选择通过Status中的RP0,1和IRP512单元368有效GPRGPRsSFRsBank0000h01Fh020h07FhGPRsSFRsBank1080h09Fh0A0h0FFh0F0hGPRsSFRsBank2100h11Fh120h17Fh170hGPRsSFRsBank3180h19Fh1A0h1FFh1F0hRP<1:0>RP<1:0>RP<1:0>RP<1:0>=00=01=10=11PIC上海技术培训中心47

数据存储器四个存储体每个128字节GPRsSFRsBaPIC上海技术培训中心48PIC上海技术培训中心48有些寄存器单元在4个体上是互相映射的,如状态寄存器STATUS、间接寻址寄存器INDF、程序计数器低8位PCL、文件选择寄存器FSR、程序计数器高8位PCLATH和中断控制寄存器INTCON。所谓互为映射就是说,在4个体内的相同位置,物理上对应同一个寄存器单元,所以该单元具备4个不同的地址。

互相映射PIC上海技术培训中心49有些寄存器单元在4个体上是互相映射的,如状态寄存器

F877单片机的通用寄存器GPR(GeneralPurposeRegisters),可由用户自行支配存放随机数据。地址区域:F0H~FFH、170H~l7FH和1F0H~1FFH,都可以索引(或映射)到体0的16个RAM单元。这样安排是为了便于中断服务程序的设计和数据处理,就可以在程序设计中能够有效突破体的限制而定义通用的变量函数3.3.1通用寄存器

PIC上海技术培训中心50F877单片机的通用寄存器GPR(General特殊功能寄存器SFR(SpecialFunctionRegisters)是用于专用目的的寄存器,每个寄存器单元,甚至其中的每一位,都有它自己特定的名称和用途。主要涉及PIC内核结构、外围功能模块的配置和数据通信方式的定义,是单片机赖于正常运行的工作平台。所以,特殊功能寄存器又称为专用寄存器。可以依据它们不同的用途分为两类:一类是与CPU内核相关的寄存器;另一类是与外围模块相关的寄存器。3.3.2特殊功能寄存器

PIC上海技术培训中心51特殊功能寄存器SFR(SpecialFuncti状态寄存器的内容用来记录算术逻辑单元ALU的运算结果状态、CPU的特殊运行状态以及RAM数据存储器体间选择等信息。1.状态寄存器STATUS

PIC上海技术培训中心52状态寄存器的内容用来记录算术逻辑单元ALU的运算Bit0/C:进位/借位标志,被动参数。0:执行加法(或减法)指令时,如果最高位无进位(或有借位);1:执行加法(或减法)指令时,如果最高位有进位(或无借位)。Bit1/DC:辅助进位/借位标志,被动参数。0:执行加法(或减法)指令时,如果低4位向高4位无进位(或有借位);1:执行加法(或减法)指令时,如果低4位向高4位有进位(或无借位)。Bit2/Z:零标志,被动参数。0:算术或逻辑运算结果不为0;1:算术或逻辑运算结果为全0。

状态标志位

PIC上海技术培训中心53Bit0/C:进位/借位标志,被动参数。状态标志位PIC上Bit6-Bit5/RP1-RP0:RAM数据存储器体选位,仅用于直接寻址。两位复合选择RAM数据存储器4个体,具体关系如下:

RP1、RP0=00选中体0

RP1、RP0=01选中体1

RP1、RP0=10选中体2

RP1、RP0=11选中体3Bit7/IRP:RAM数据存储器体选位,仅用于间接寻址。0:选择数据存储器低位体:即体0(FSR的Bit7=0)或体1(FSR的Bit7=1);1:选择数据存储器高位体:即体2(FSR的Bit7=0)或体3(FSR的Bit7=1)。

数据存储器体选位

PIC上海技术培训中心54Bit6-Bit5/RP1-RP0:RAM数据存储器体选在RAM数据存储器中,有一个非常特别的寄存器INDF它的专有功能是与FSR寄存器配合,实现间接寻址。当访问地址INDF时,实际上是访问以FSR内容为地址的数据存储器RAM单元。

2.间接寻址的寄存器INDF和FSR

PIC上海技术培训中心55在RAM数据存储器中,有一个非常特别的寄存器IND在直接寻址中,体选码来自状态寄存器STATUS的RP1和RPO位,体内的单元地址直接来自指令机器码。而在间接寻址中,体选码由STATUS的IRP位和FSR寄存器的BIT7组成

直接寻址/间接寻址方式的示意图

PIC上海技术培训中心56在直接寻址中,体选码来自状态寄存器STATUS的RP程序计数器PC指针宽13位,它的内容指向CPU将要执行的下一条指令所在程序存储器单元的地址。

低8位PCL有自己的地址,可读可写;而高5位PCH和其它单片机不一样,即没有自己的地址,不能用软件访问,也就不能直接写人,只能用寄存器PCLATH装载的方式进行间接写人。

3.与PC相关的寄存器PCL和PCLATH

PIC上海技术培训中心57程序计数器PC指针宽13位,它的内容指向CPU将两种情况下PC值的装入过程

PCLATH对于高5位PCH的装载分两种情况:一种情况是当执行以PCL为目标的写操作指令时,PC的低8位来自算术逻辑单元ALU,PC的高5位来自PCLATH的低5位;另一种情况是当执行跳转指令GOTO或调用子程序指令CALL时,PC的低11位来自指令码中直接携带的11位地址,高2位由PCLATH3-4提供。

PIC上海技术培训中心58两种情况下PC值的装入过程PCLATH对于高5程序存储器:PC绝对寻址OPCODEkkkk14-位call和goto指令kkkkkkk通过CALL和GOTO修改PC(程序指针)kkkkkkkkkxxxkkxxxPCLATH寄存器有效的13-位程序存储器地址11-位来自指令2-位来自PCLATHkkkkPIC上海技术培训中心59程序存储器:PC绝对寻址OPCODEkkkk14-位PCH<5>PCL<8>13-位程序指针PCLATH<5>内部数据总线<8>558movlw HIGHDelaymovwf PCLATHmovlw LOWDelaymovwf PCL

*对于读PC值时:仅从PCL读低8位值,

PCH不会被载入到PCLATH程序存储器:PC相对寻址PIC上海技术培训中心60PCH<5>PCL<8>13-位程序指针PCLATH<主要用于设置定时/计数器TMR0、前后分频器、外部INT中断以及B端口的弱上拉功能等各种控制位。

4.选项寄存器OPTION_REG

PIC上海技术培训中心61主要用于设置定时/计数器TMR0、前后分频器、外部Bit2-Bit0/PS2-PS0:分频器倍率选择位

PIC上海技术培训中心62Bit2-Bit0/PS2-PS0:分频器倍率选择位PICBit3/PSA:前后分频器分配位,主动参数。0:分配给TMR0,作为TMR0的前分频器;1:分配给WDT,作为WDT的后分频器。Bit4/T0SE:TMR0用于计数器,计数脉冲信号边沿选择位,主动参数。0:RA4/T0CKI引脚上的上升沿增量;1:RA4/T0CKI引脚上的下降沿增量。Bit5/T0CS:定时/计数器TMR0时钟源选择位,主动参数。0:用内部指令周期时钟(CLKOUT)作为TMR0的触发脉冲;1:用T0CKI引脚上的外部时钟作为TMR0的触发脉冲。Bit6/INTEDG:INT中断信号触发边沿选择位,主动参数。0:BR0/INT引脚上的上升沿触发;1:BR0/INT引脚上的下降沿触发。Bit7/RBPU:B端口弱上拉使能位,主动参数。0:RB0-RB7引脚弱上拉使能;1:RB0-RB7引脚弱上拉不使能。

PIC上海技术培训中心63Bit3/PSA:前后分频器分配位,主动参数。PIC上海技术主要用于中断控制方式的设置。5.中断控制寄存器INTCONPIC上海技术培训中心64主要用于中断控制方式的设置。5.中断控制寄存器IN端口寄存器PORTA(B)(C)(D)(E)端口I/O定义寄存器TRISA(B)(C)(D)(E)Di=0定义为输出状态Di=1定义为输入状态

6.端口寄存器PIC上海技术培训中心656.端口寄存器PIC上海技术培训中心65指令是单片机的领导核心,就是指挥CPU按要求进行一系列操作的命令。一般来说,单片机都具有自己特有的指令系统,相互之间大都互不兼容。

PIC单片机系列按照不同用户的要求分成三个不同的应用档次。

第4章PIC指令系统

PIC上海技术培训中心66指令是单片机的领导核心,就是指挥CPU按要求进行一指令的执行时间总是分解成两部分:取指过程和执行过程,取指的快慢直接与指令的字节数有关,而指令的执行快慢与时钟的振荡频率有关。

在以往的单片机结构中,程序存储器和数据存储器的地址空间和数据传输通道都相互并用,必须采用分时操作顺序执行。而PIC单片机指令的执行过程是遵循着一种全新哈佛总线体系结构的原则,充分利用计算机系统在程序存储器和数据存储器之间地址空间的相互独立性,取指过程和执行程序可以流水线操作同时进行。

4.1指令流水线操作原则

PIC上海技术培训中心67指令的执行时间总是分解成两部分:取指过程和执行过程FlushFetch4FetchSUB_1

Tcy0Tcy1Tcy2Tcy3Tcy4

PIC单片机指令流水线示意

Execute1Fetch31.MOVLW55h

Fetch1Execute3Fetch2Execute2

Fetch42.MOVWFPORTB3.CALLSUB_14.BSFPORTA,BIT3PIC上海技术培训中心68FlushFetch4FetchSUB_1

在这种寻址方式中,操作数或其中之一(另一个是W)是立即数,随指令码携带,而无需再到其他地方去寻找。指令中的操作数为8-位常数.使用立即数寻址方式的指令有:movlw,addlw,retlw,etc.如:ADDLW 16H指令寻址方式说明1.寄存器立即寻址14-位立即寻址指令OPCODEkkkkkkkkPIC上海技术培训中心69指令寻址方式说明1.寄存器立即寻址14-位立即寻址指2.寄存器直接寻址7-位直接从指令中获取2-位从‘STATUS’寄存器中获取如:IORWF 26H,09-位有效寄存器地址IRPRP1RP0OPCODETOPDZDCCSTATUS寄存器14-位指令fffffffRP1RP0fffffff7-位来自指令字2-位来自STATUS寄存器PIC上海技术培训中心702.寄存器直接寻址7-位直接从指令中获取9-位有效寄存器3.寄存器间接寻址8-位间接地址来自FSR(选择寄存器).1-位来自STATUS寄存器.例如:MOVWFINDFIRPfffffffffIRPRP1RP0TOPDZDCCfffffffSTATUS寄存器8-位FSR寄存器有效的9-位寄存器地址8-位来自FSR1-位来自STATUS寄存器

这是一种比较特别的寻址方式,是通过两个寄存器INDF和FSR的组合而实现功能的。操作数是FSR寄存器内容位指针,所指向寄存器单元的内容。

PIC上海技术培训中心713.寄存器间接寻址8-位间接地址来自FSR(选择寄存器间接寻址实例运行机制:

a)清从0x20to0x7F所有的RAM区域

b)间接地址载入FSRc)每一次对‘INDF’运行,由FSR指向的寄存器被使用例子:

movlw 0x20 movwf FSRLOOP clrf INDF incf FSR,F btfss FSR,7 goto LOOP <nextinstruction>0000000000000000FSR=20hINDF00h04h20h7Fh数据记忆区PIC上海技术培训中心72间接寻址实例运行机制: movlw 0x20000000这是PIC单片机的特色之一,它可以对所有的RAM数据存储器进行位寻址,即置位和清零等。如:BSF26H,4 ;(26H原为26H)4.位寻址PIC上海技术培训中心73这是PIC单片机的特色之一,它可以对所每条指令的字节长度为14位,主要由说明指令功能的操作码和参与指令处理的操作数组成。

操作码部分,简称助记符,如表4-2核心助记符,是借用英语单词来间接表达和定义其操作功能。

操作数部分,是按照操作码的操作功能,对操作数进行处理。

根据操作数的源地址和目标地址的访问性质,可以有多种表现形式:主要有直接寻址、间接寻址、立即寻址和位寻址四类。

4.2指令集说明

PIC上海技术培训中心74每条指令的字节长度为14位,主要由说明指令功能的核心助记符

PIC上海技术培训中心75核心助记符PIC上海技术培训中心75指令系统补充字符说明

PIC上海技术培训中心76指令系统补充字符说明PIC上海技术培训中心76数据传送类指令共有4条指令,主要功能是将数据从源地址(或立即数)传送至目标地址中。4.2.1数据传送类指令

PIC上海技术培训中心77数据传送类指令共有4条指令,主要功能是将数据从源地【例题4-1】请利用数据传送类指令编写一段子程序,将立即数20H传送到通用寄存器20H中。

【例题4-2】请利用数据传送类指令编写一段子程序,将通用寄存器20H和30H中的内容进行交换。

PIC上海技术培训中心78【例题4-1】请利用数据传送类指令编写一段子程序,将立即算术运算类指令是PIC单片机指令系统中,承担运算功能的重要部分,共有6条指令。主要有加减指令、增量和减量指令

4.2.2算术运算类指令

PIC上海技术培训中心79算术运算类指令是PIC单片机指令系统中,承担运算功【例题4-3】请将通用寄存器20H、30H构成的16位数据与通用寄存器40H、50H构成的16位数据相加后放入40H、50H中,已知其和不会超出65535。

PIC上海技术培训中心80【例题4-3】请将通用寄存器20H、30H构成的16位数

逻辑运算类指令是一组比较复杂的指令,形式较多,可以对位和字节进行逻辑操作。主要有与、或、异或、清零、置位、取反和左右移位等14条指令

4.2.3逻辑运算类指令

PIC上海技术培训中心81逻辑运算类指令是一组比较复杂的指令,形式较多,可以【例题4-4】请将数据存储器20H和30H中的数据分别与立即数20H、30H相与和相或后相加,结果放入40H存储器中,请编写相应的程序。

【例题4-5】请编写一个完整的程序,将数据存储器20H低4位和30H高4位组合成一个八位二进制数据,并从RC端口输出。

PIC上海技术培训中心82【例题4-4】请将数据存储器20H和30H中的数据分别与

控制转移类指令,是在指令系统中形式灵活、功能较强的一组指令,共11条。它们是构成程序循环和跳转的关键要素,一般可以分为有条件跳转和无条件跳转两大类。

4.2.4控制转移类指令

PIC上海技术培训中心83控制转移类指令,是在指令系统中形式灵活、功能较强这是一种比较特殊的转移形式,根据位测试或加减1后的内容判断条件的成立与否,而决定程序继续执行还是间跳执行指令。

当前判断语句A

下一条语句B再下一条语句C1.相对转移间跳

PIC上海技术培训中心84这是一种比较特殊的转移形式,根据位测试或加减1后PIC指令系统的绝对转移,主要由CALL和GOTO语句引出。在指令机器码内部本身并没有携带完整的转移目标地址,只包含低11位地址,而高2位将由PCLATH寄存器给出。 【例题4-6】请将通用寄存器单元20H-2FH,分别对应赋值20H-2FH,请编写相应的软件程序。

2.绝对转移和调用

PIC上海技术培训中心85PIC指令系统的绝对转移,主要由CALL和GOT【例题4-7】请分析以下程序片段,并指出当程序执行完后,涉及到的所有存储器单元的结果。

MOVLW 22H MOVWF 22H MOVWF FSR ADDWF INDF,F INCF INDF SWAPF 22H,W RLF 22H,W DECF FSR,F MOVWFINDF BSF INDF,7【例题4-6】编写散转指令程序PIC上海技术培训中心86【例题4-7】PIC上海技术培训中心86Microchip公司为PIC系列单片机配备了功能强大、基于Windows、易学易用的软件集成开发环境MPLAB。该开发环境可以使人们在自己的微机系统上,对PIC系列单片机进行程序的创建、录入、编辑以及汇编,还能方便而灵活地实现程序的模拟运行和动态调试,可以对实际应用系统进行在线仿真和功能模块开发。

第5章PIC集成开发系统

PIC上海技术培训中心87Microchip公司为PIC系列单片机配备了功能PIC单片机指令系统和其它单片机一样,是较为低级的语言系统,是一套控制和指挥CPU工作的编码,即机器语言。单片机只能识别和执行由二进制数组成的机器语言,然而,这样一种二进制代码的机器语言是很难为人们直接理解和分析。为了能较好表达人们的设计思路,便于记忆和使用,人们在低级语言之上设计出一种新的符号语言,即汇编语言。

第6章汇编语言程序设计

PIC上海技术培训中心88PIC单片机指令系统和其它单片机一样,是较为低级PIC单片机指令系统和其它单片机一样,是较为低级的语言系统,是一套控制和指挥CPU工作的编码,即机器语言。为了能较好表达人们的设计思路,便于记忆和使用,人们在低级语言之上设计出一种新的符号语言,即汇编语言。

6.1汇编语言指令格式

PIC上海技术培训中心89PIC单片机指令系统和其它单片机一样,是较为低级根据指令的功能和作用,只有操作码是必须存在的,它主要决定了指令的操作性质,而其它部分是指令语句的重要补充和说明,有时可以缺省。PIC上海技术培训中心90根据指令的功能和作用,只有操作码是必须存在的,它标号位于指令助记符前面,它一般是用于表示指令所在的地址,例如表示主程序或子程序的起始地址、转移语句的入口地址等。

1.标号

PIC上海技术培训中心91标号位于指令助记符前面,它一般是用于表示指令所在标号并不是指令的必须部分,只有那些欲被其他语句引用的指令之前,才必须附加标号。标号不一定和语句同行,可以单独在语句上方作为一行使用。标号最多可以由32个字母、数字和其它一些字符组成,但第一个字符必须是字母或下划线。标号不能用系统保留字,即系统禁用指令助记符、寄存器名、标志符等作为标号,如:ADD、PCLATH等。一个标号只能表示一个地址,不允许多个地址用一个标号重复定义。标号的定义和引用必须一致,其中的大小写可以混写但必须相同。标号必须顶格书写,结束不用冒号。

使用标号的要点是:

PIC上海技术培训中心92标号并不是指令的必须部分,只有那些欲被其他语句引用的指令之前操作码决定着指令的操作类型和操作性质,是汇编语言语句中的核心要素,每一条汇编指令都不可缺少,而其它三部分有些指令可以缺省。

2.操作码

PIC上海技术培训中心93操作码决定着指令的操作类型和操作性质,是汇编语言操作码所对应的指令助记符,其中的符号大小写可以混写,而不会影响操作码的含意,这一点和标号、操作数符号变量的表达方式是有本质区别。指令助记符不能顶格书写,当前面没有标号时,必须至少保留一个空格。操作码核心助记符部分比较简单,初学者必须熟悉复合助记符部分的功能。

有关操作码(指令助记符)的要点是:

PIC上海技术培训中心94操作码所对应的指令助记符,其中的符号大小写可以混写,而不会影在PIC汇编语言语句中,操作数的形式和内容最为丰富,它是指令助记符操作的对象,一般以数据或地址的形式出现,也可以用符号变量所表示的数据或地址。

3.操作数

PIC上海技术培训中心95在PIC汇编语言语句中,操作数的形式和内容最为丰使用操作数的要点是:

若操作数有二项,中间应该用逗号(半角)分开。以A、B、C、D、E、F开头的数,前面应加0作为引导。MPASM编辑环境默认进制为十六进制,也可按用户需要进行重新设置。操作数部分的符号变量必须区分大小写。重视d参数的应用,目标地址为:F(d=1);W(d=0)。

PIC上海技术培训中心96使用操作数的要点是:若操作数有二项,中间应该用逗号(各种进制168的表示形式

PIC上海技术培训中心97各种进制168的表示形式PIC上海技术培训中心97注释内容用分号引出,是汇编语言语句功能的一种补充说明,主要是便于人们阅读、分析、修改和程序的调试。

4.注释

PIC上海技术培训中心98注释内容用分号引出,是汇编语言语句功能的一种补充说

用(半角)分号引出注释内容,可以紧跟指令之后,也可以独立一行或多行书写,但每一行均需由分号引出。注释内容可以英文书写,也能用中文书写(来源于文本编辑内容)。

使用注释的要点是:PIC上海技术培训中心99使用注释的要点是:PIC上海技术培训中心99 各种单片机的汇编程序除了指令系统语句以外,一般都还定义许多非正式指令的语句,即伪指令。大多数伪指令汇编时并不产生机器码,仅为源程序提供汇编控制信息。6.2系统伪指令

PIC上海技术培训中心100 各种单片机的汇编程序除了指令系统语句以外,一般都还定义格式:ORGnnnn说明:ORG伪指令指出紧跟在该伪指令后的机器码指令的汇编地址,即经汇编后生成的机器码目标程序或数据块在单片机程序存储器中的起始存放地址。1.定位伪指令:ORG(Origin)

PIC上海技术培训中心101格式:ORGnnnn1.定位伪指令:ORG(O格式:符号名 EQUnn说明:EQU伪指令几乎每一个程序中都用到,其操作含意是使EQU两端的值相等。一般在PIC的程序设计中,原则上每次遇到新的符号参数,都必须在前面补充定义符号名的初始数值或存储器地址。符号名一旦被EQU赋值,其值便不能被再重新定义。这里的符号名,既可以是PIC中的特殊功能寄存器、一个常数,或者是表示一个通用数据存储器地址。

2.赋值伪指令:EQU(Equate)

PIC上海技术培训中心102格式:符号名 EQUnn2.赋值伪指令实际上对于伪指令:ABCEQU 20H,其中ABC既可以认为是符号变量,因为ABC代表20H地址;又可以认为是符号常量,因为ABC可以代表符号常量20H。所以对于一个定义的符号量,应结合引用的指令进行分析才能真正确定符号量的类型。分析ABCEQU 20HPIC上海技术培训中心103实际上对于伪指令:ABCEQU 20H,其中【例题6-2】正确区别符号变量和符号常量之间的关系ABC EQU 20H ;定义符号量ABCORG 0000HNOP MOVLW77H MOVWF20H MOVLW88H MOVFABC,0 ;ABC为数据存储器地址20H MOVLWABC;ABC为常量20H NOPENDPIC上海技术培训中心104【例题6-2】正确区别符号变量和符号常量之间的关系PIC上海在符号名定义和引用过程中,必须保证大小写属性的一致性,注意不能混合使用以及所代表角色功能。如果有定义:ABC EQU 20H 在引用符号名ABC时,不能改变其大小写的属性,即Abc、aBC或ABc与ABC是不一样的,在汇编时均会发生出错信息。PIC上海技术培训中心105在符号名定义和引用过程中,必须保证大小写属性的一格式:END说明:END伪指令表示汇编语言源程序(*.ASM)的结束,MPASM汇编器汇编时遇到END就认为程序已结束,对其后的程序段不再进行汇编。3.程序结束伪指令:END

PIC上海技术培训中心106格式:END3.程序结束伪指令:ENDPIC上海格式:LIST[可选项,可选项,]说明:LIST伪指令用于设置各种汇编参数,以便控制整个汇编过程或对打印输出的列表文件进行格式化。1)P=<设置微控制器类型即单片机型号>例如:P=16F8772)R=<定义默认的数值进位制的基数>例如:R=DEC(十进制);R=HEX(十六进制);R=BIN(二进制);默认为十六进制。4.列表选项伪指令:LIST

PIC上海技术培训中心107格式:LIST[可选项,可选项,]4.列表格式:INCLUDE“文件名”说明:INCLUDE伪指令的主要功能是将外部预先编写好的指定文件纳入本源程序的汇编内容,这样可以减少重复劳动,提高编程效率。如:P16F877.INC为F877单片机的复位矢量、专用寄存器的地址及其控制位和状态位的位地址的原始定义,有些参考书把P16F877.INC称为F877的头文件。5.外调程序伪指令:INCLUDE

PIC上海技术培训中心108格式:INCLUDE“文件名”5.外调程序伪指令格式:RADIX<进制表达式>说明:RADIX伪指令用于设置在MPLAB-ICD集成开发环境中采用的进制方式,如定义十进制、八进制和十六进制等参数,MPLAB-ICD集成开发系统缺省为十六进制。例如:RADIXDEC;定义为十进制

RADIXHEX;定义为十六进制

RADIXOCT;定义为八进制6.进制定义伪指令:RADIX

PIC上海技术培训中心109格式:RADIX<进制表达式>6.进制定义伪在PIC单片机中,有两个概念是令初学者感到头痛的事情,也是本课程的难点和重点,对于正确进行程序设计至关重要。一个是数据存储器四体的体选方式,需要时刻考虑每一个访问的特殊功能寄存器和通用数据存储器的体位;另一个是程序存储器四页的页选方式,特别是在发生转移或跳转时,须密切注意是否会发生页面转换。6.3存储器选择方式

PIC上海技术培训中心110在PIC单片机中,有两个概念是令初学者感到头痛的

F877单片机的数据存储器是一个具有空间为512字节的存储器,其中只有19个字节是无效存储单元。为了能完全选择512字节内的数据,需要9根地址线。而根据9根地址线的组合方式不同,形成两种迥然不同的寻址方式:即直接寻址和间接寻址。6.3.1数据存储器体选方式

PIC上海技术培训中心111F877单片机的数据存储器是一个具有空间为512根据直接寻址和间接寻址操作码携带址址信息情况,一般把512字节(包括无效地址)的数据存储器分成4个区域,在PIC中被称为“体”(BANK)。体0(000H~07FH)体1(080H~1FFH)体2(100H~17FH)体3(180H~1FFH)数据存储器体域

PIC上海技术培训中心112根据直接寻址和间接寻址操作码携带址址信息情况,一在指令机器码中操作数所携带的寻址信息是低7位地址,这不是一个完备的数据信息,每一个体中均会有一个相关的地址与之对应。要惟一确定地址单元,还必须依托其它的数据线进行复合选择。利用状态标志STATUS位中的RP1和RP0,与直接寻址机器码中低7位地址共同选择相应数据存储器的内容参与操作。1.直接寻址访问数据存储器

PIC上海技术培训中心113在指令机器码中操作数所携带的寻址信息是低7位地址在指令机器码中真正携带的寻址信息是低8位地址,这也不是一个完备的数据信息,在整个数据存储器中有二个相关的地址与之对应。要惟一确定地址单元,也必须依托另一根数据线进行复合选择。主要是依托状态标志位的IRP,才能准确选择相应数据存储器的内容参与操作。

2.间接寻址访问数据存储器

PIC上海技术培训中心114在指令机器码中真正携带的寻址信息是低8位地址,这

F877单片机的程序存储器(FLASH)是一个具有空间为8K×14位的存储器,其中14位为单元字节长度。为了能完全选择8K的程序存储器,需要合成13根地址选择线。6.3.2程序存储器页选方式

PIC上海技术培训中心115F877单片机的程序存储器(FLASH)是一个具复位地址0000H,直接给出13根地址选择线;中断地址0004H,直接给出13根地址选择线;指令寄存器,是在每一个指令的执行周期自动加1而形成当前程序的执行方向;执行以PCL为目标地址的算术逻辑类指令;调用子程序方式,即CALL语句以及相应的返回语句(RETRUN、RETFIE、RETLW)。转移指令方式,即GOTO语句;程序存储器指令语句的选择主要有以下几种途径:

PIC上海技术培训中心116复位地址0000H,直接给出13根地址选择线;程序存储器指令执行以PCL为目标地址的算术逻辑类指令执行跳转指令(call、goto、retrun、retfie、retlw)两类指令的执行过程中的装载效能

PIC上海技术培训中心117执行以PCL为目标地址的算术逻辑类指令两类指令的执行过程中的ABC EQU 20H ORG 0100HBANKSELABC

MOVLW 00H ;常数00送入WMOVWF ABC ;W送入ABC存储器中ORG 0100HPAGESELABC GOTO ABC ;转移至ABCORG 1000HABCMOVLW 00H ;常数00送入WMOVWF 20H ;W送入20H中补充伪指令PAGESEL、BANKSELPIC上海技术培训中心118ABC EQU 20H 补充伪指令PAGESE在程序设计中,除主程序以外还有一部分很重要的内容就是关于子程序的设计,它是为完成特定的目的而构成的复合程序。6.4常用子程序的设计PIC上海技术培训中心119在程序设计中,除主程序以外还有一部分很重要的内容转移和循环程序,主要是通过跳转、判断和位测试指令来构成的。

1.跳转指令

GOTO2.判断指令

INCFSZ、DECFSZ

3.位测试指令BTFSS、BTFSC6.4.1转移和循环子程序PIC上海技术培训中心120转移和循环程序,主要是通过跳转、判断和位测试指令

【例题6-6】比较两个数据寄存器20H和30H内容的大小,将较大的数送入40H中。 【例题6-6】请将通用寄存器单元20H-2FH,分别对应赋值20H-2FH,请编写相应的软件程序。【例题6-7】假定RB0接入一个按键K,当K按下时,RB0为高电平,而K为常态时,RB0为低电平。请编写按键K的监控扫描片段程序,DELAY10MS为10M延迟程序,程序框图如6-4所示。PIC上海技术培训中心121【例题6-6】比较两个数据寄存器20H和30H内容单片机的延时程序,在程序设计中具有很重要的地位。延时的设计,一般可以通过两种方式:硬件延时和软件延时。所谓硬件延时,就是由单片机系统的定时器实现;而软件延时,是通过循环程序实现。一般来说,前者适用于精确定量延时,而后者常用于初略定性延时。【例题6-8】简单循环的软件延时子程序。【例题6-9】请编写10MS软件延时子程序。【例题6-10】请编写1S软件延时子程序。6.4.2软件延时子程序

PIC上海技术培训中心122单片机的延时程序,在程序设计中具有很重要的地位。数据查表子程序在某些特殊场合是非常有用的,如共阴极LED八段显示器以及其它具有固定显示模式的场合,需根据其显示数值去查找对应参考数据库编码输出。6.4.3数据查表子程序

PIC上海技术培训中心123数据查表子程序在某些特殊场合是非常有用的,如共阴

【例题6-11】将RC端口与共阴极LED八段显示器相连,从0-9循环显示,间隔时间为1秒,请编写相应的软件程序。八段显示数值(0-9)编码

PIC上海技术培训中心124【例题6-11】将RC端口与共阴极LED八段显示00000000XXXXXXXXPIC单片机架构PC相对寻址查表实例

movlw HIGHDecode movwf PCLATH movf DisplayValue,W call Decode movwf PORTB goto ContinueDecode addwf PCL,F retlw B’00111111’;decode0 retlw B’00000110’;decode1 retlw B’01011011’;decode2 retlw B’01001111’;decode3 retlw B’01100110’;decode4 retlw B’01101101’;decode5 retlw B’01111101’;decode6 retlw B’00000111’;decode7 retlw B’01111111’;decode8 retlw B’01101111’;decode9ContinuebegafdcRB0RB1RB2RB3RB4RB5RB6bcdefgW寄存器I/OB口011011010000010101101101gafdcbePIC上海技术培训中心12500000000XXXXXXXXPIC单片机架构PC相对寻址

【例题6-12】将RC端口与八个LED显示器相连,请按照表6-4即跑马灯流动显示方式,间隔时间为1秒,请编写相应的软件程序。PIC上海技术培训中心126【例题6-12】将RC端口与八个LED显示器相连在PIC指令系统中并没有类似的语句,但如果借助于PIC单片机指令的特殊功能,同样可以轻松地构成分支跳转。分支跳转实际上是多条件判断指令,条件本身是一个整数或事件,而跳转出口应该是整数的信息返回或事件功能内容的具体表现。在程序形式上,分支功能跳转子程序与数据查表子程序的结构类似,只是它是用GOTO语句替代了RETLW语句。

6.4.4分支功能跳转子程序PIC上海技术培训中心127在PIC指令系统中并没有类似的语句,但如果借助于假定W为某个按键的输入值

JIANGN ADDWF PCL,F ;确定相对偏移量

GOTO PKEY0 ;执行PKEY0键盘定义功能

GOTO PKEY1 ;执行PKEY1键盘定义功能

GOTO PKEY2 ;执行PKEY2键盘定义功能 . . .GOTO PKEYN ;执行PKEYN键盘定义功能

PIC上海技术培训中心128假定W为某个按键的输入值PIC上海技术培训中心1本节给出一些常用的数学运算类子程序,主要有加、减、乘、除等子程序,还有为外扩系统设计中的数码显示所需的BCD码和二进制数据的互换子程序。均涉及入口条件及出口条件,在调用时务必加以注意。一般入口条件是指参与操作的相关源数据,用S1、S2(source)等表示,而操作结果用R1、R2(result)等表示。高低8位数据分别用H、L表示,另外用Z表示中8位数据。可以将这些固定变量参数定义在PIC16F877的头文件内,并且单元定义位于映射区域70H~7FH,这样就可以不受程序所在页面的影响。6.4.4常用数学运算类子程序PIC上海技术培训中心129本节给出一些常用的数学运算类子程序,主要有加、减、将两个无符号16位数相加,编写双精度运算程序。将两个无符号16位数相减,编写双精度运算程序。将两个无符号16位数相乘,编写双精度运算程序。将两个无符号16位数相除,编写双精度运算程序。将一个5位数(<65535)的BCD码转换成二进制数。将一个16位二进制数转换成BCD码(<65535)PIC上海技术培训中心130将两个无符号16位数相加,编写双精度运算程序。PIC上海技单片机的性能优劣在很大程度上取决于I/O端口功能的强弱,F877PDIP型单片机共有40个管脚,其中有33个是I/O引脚。33个I/O引脚归属于5个端口,分别为PORTA(6)、PORTB(8)、PORTC(8)、PORTD(8)、PORTE(3),其中括号内的数字为该端口的位数。第7章输入输出端口

PIC上海技术培训中心131单片机的性能优劣在很大程度上取决于I/O端口功能

F877单片机有5个I/O端口,它们的设计思想和内部结构都是不同的,即使同一个端口各个引脚的内部结构也存在差异。但就其通用的输入/输出功能,基本具有类同的线路结构。7.1I/O端口功能的通用结构

PIC上海技术培训中心132F877单片机有5个I/O端口,它们的设计思想基本端口内部结构

PIC上海技术培训中心133基本端口内部结构PIC上海技术培训中心133

F877单片机共有十个外围功能模块,几乎每一个或多或少都与I/O端口有关系,有些涉及到控制引脚,有些作为数据输入输出通道。 基本I/O端口功能的设置非常方便,只要对I/O端口的方向寄存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论