《我的课件单片机芯片的硬件结构》由会员分享,可在线阅读,更多相关《我的课件单片机芯片的硬件结构(74页珍藏版)》请在金锄头文库上搜索。
1、 本章内容本章内容单片机的逻辑结构及信号引脚单片机的逻辑结构及信号引脚单片机并行输入单片机并行输入/输出口电路输出口电路单片机的时钟电路与时序单片机的时钟电路与时序单片机的内部存储器单片机的内部存储器单片机的系统复位单片机的系统复位第二章第二章 80C51 80C51单片机的硬件结构单片机的硬件结构单片机的概述单片机的概述单片机低功耗工件模式单片机低功耗工件模式一、单片机的概述一、单片机的概述单片机是近代计算机技术开展的一个分支单片机是近代计算机技术开展的一个分支嵌入式嵌入式计算机系统。它是将计算机的主要部件:计算机系统。它是将计算机的主要部件:CPUCPU、RAMRAM、ROMROM、定时器
2、、定时器/ /计数器、输入计数器、输入/ /输出接口电路等集成在输出接口电路等集成在一块大规模的集成电路中,形成芯片级的微型计算一块大规模的集成电路中,形成芯片级的微型计算机称为单片微型计算机机称为单片微型计算机(Single Chip (Single Chip Microcomputer)Microcomputer)简称单片机简称单片机 。 随着单片机控制功能的增强和控制应用的普及,随着单片机控制功能的增强和控制应用的普及,又把它称为微控制器又把它称为微控制器icroController icroController UnitUnit或单片微控制器或单片微控制器SMCU(Single SMC
3、U(Single MicroController Unit)MicroController Unit)。嵌入式微处理器嵌入式微处理器EMPEMP由于位单片机的元由于位单片机的元器件数增多,故在位单片机中只把运算器控制器件数增多,故在位单片机中只把运算器控制器单独集成在一个芯片上,而把其余局部集成在另器单独集成在一个芯片上,而把其余局部集成在另处的芯片上,所以有嵌入式微处理器处的芯片上,所以有嵌入式微处理器EMP EMP Embedded MicroProcessor Embedded MicroProcessor 的称呼。的称呼。一、单片机的概念一、单片机的概念二、单片机的开展二、单片机的开展
4、 单片机技术开展过程可分为三个主要阶段:单片机技术开展过程可分为三个主要阶段: 单芯片微机形成阶段单芯片微机形成阶段 1976 1976年,年,IntelIntel公司推出了公司推出了MCS-48MCS-48系列单片机系列单片机 。8 8位位CPUCPU、1K1K字字节节ROMROM、6464字节字节RAMRAM、2727根根I/OI/O线和线和1 1个个8 8位定时位定时/ /计数器。计数器。特点是:存储器容量较小,寻址范围小不大于特点是:存储器容量较小,寻址范围小不大于4K4K,无串行,无串行接口,指令系统功能不强。接口,指令系统功能不强。性能完善提高阶段性能完善提高阶段 1980 198
5、0年,年,IntelIntel公司推出了公司推出了MCS-51MCS-51系列单片机:系列单片机:8 8位位CPUCPU、4K4K字节字节ROMROM、128128字节字节RAMRAM、4 4个个8 8位并口、位并口、1 1个全双工串行口、个全双工串行口、2 2个个1616位定时位定时/ /计数器。寻址范围计数器。寻址范围64K64K,并有控制功能较强的布尔处理器。,并有控制功能较强的布尔处理器。特点是:结构体系完善,性能已大大提高,面向控制的特点进特点是:结构体系完善,性能已大大提高,面向控制的特点进一步突出。现在,一步突出。现在,MCS-51MCS-51已成为公认的单片机经典机种已成为公认
6、的单片机经典机种 。 1 1、单片机的开展概述片机的开展概述 微控制器化阶微控制器化阶段段 1982 1982年,年,IntelIntel推出推出MCS-96MCS-96系列单片机。系列单片机。 芯片内集成:芯片内集成:1616位位CPUCPU、8K8K字节字节ROMROM、232232字节字节RAMRAM、5 5个个8 8位并口、位并口、1 1个全双工串行口、个全双工串行口、2 2个个1616位定时位定时/ /计数器。计数器。寻址范围寻址范围64K64K。片上还有。片上还有8 8路路1010位位ADCADC、1 1路路PWMPWM输出及高输出及高速速I/OI/O部件等。部件等。特点是:片内面
7、向测控系统外围电路增强,使单片机特点是:片内面向测控系统外围电路增强,使单片机可以方便灵活地用于复杂的自动测控系统及设备。可以方便灵活地用于复杂的自动测控系统及设备。“微控制器微控制器的称谓更能反响单片机的本质。的称谓更能反响单片机的本质。 80C51 80C51系列单片机产品繁多,主流地位已经形成,系列单片机产品繁多,主流地位已经形成,近年来推出的与近年来推出的与80C5180C51兼容的主要产品有:兼容的主要产品有: ATMELATMEL公司融入公司融入FlashFlash存储器技术的存储器技术的AT89AT89系列;系列; PhilipsPhilips公司的公司的80C5180C51、8
8、0C55280C552系列;系列; 华邦公司的华邦公司的W78C51W78C51、W77C51W77C51高速低价系列;高速低价系列; ADIADI公司的公司的ADC8xxADC8xx高精度高精度ADCADC系列;系列; LGLG公司的公司的GMS90/97GMS90/97低压高速系列;低压高速系列; MaximMaxim公司的公司的DS89C420DS89C420高速高速50MIPS50MIPS系列;系列; CygnalCygnal公司的公司的C8051FC8051F系列高速系列高速SOCSOC单片机。单片机。(2)(2)、80C5180C51单片机系列片机系列三、单片机的特点及应用三、单片
9、机的特点及应用 1. 1. 1. 1. 单片机的特点单片机的特点单片机的特点单片机的特点 体积小,重量轻体积小,重量轻电源单一,功耗低电源单一,功耗低功能强,价格低功能强,价格低运行速度快,抗干扰能力强,可靠性高运行速度快,抗干扰能力强,可靠性高可以嵌入到电子产品中可以嵌入到电子产品中可以嵌入到电子产品中可以嵌入到电子产品中嵌入式应用系统嵌入式应用系统嵌入式应用系统嵌入式应用系统2. 2. 单片机应用单片机应用 工业方面工业方面民用方面民用方面仪表方面仪表方面电讯方面电讯方面数据处理方面数据处理方面汽车方面汽车方面3 3 3 3、单片机的应用领域、单片机的应用领域、单片机的应用领域、单片机的应
10、用领域1)1)1)1)自动控制自动控制自动控制自动控制 单片机已在工业过程控制、机床控单片机已在工业过程控制、机床控制、机器人控制、汽车控制以及飞行器制、机器人控制、汽车控制以及飞行器制导系统等方面得到广泛的应用。制导系统等方面得到广泛的应用。 2)2)2)2)智能仪器仪表智能仪器仪表智能仪器仪表智能仪器仪表 由于单片机具有超微型化的特点,并且有无可比较的高性能价由于单片机具有超微型化的特点,并且有无可比较的高性能价由于单片机具有超微型化的特点,并且有无可比较的高性能价由于单片机具有超微型化的特点,并且有无可比较的高性能价格比,从而为仪器仪表的智能化提供了可能。格比,从而为仪器仪表的智能化提供
11、了可能。格比,从而为仪器仪表的智能化提供了可能。格比,从而为仪器仪表的智能化提供了可能。3)3)3)3)数据采集系统数据采集系统数据采集系统数据采集系统 由于单片机可提供多路由于单片机可提供多路由于单片机可提供多路由于单片机可提供多路A A A AD D D D输入通道,因此很适用于模拟量输入通道,因此很适用于模拟量输入通道,因此很适用于模拟量输入通道,因此很适用于模拟量( ( ( (温度、压力及流量等温度、压力及流量等温度、压力及流量等温度、压力及流量等) ) ) )输入采样系统。输入采样系统。输入采样系统。输入采样系统。4)4)4)4)计算机外设控制器计算机外设控制器计算机外设控制器计算机
12、外设控制器 智能化键盘、智能化显示器、智能化打印机、智能智能化键盘、智能化显示器、智能化打印机、智能智能化键盘、智能化显示器、智能化打印机、智能智能化键盘、智能化显示器、智能化打印机、智能化软盘和硬盘驱动器、智能化磁带驱动器化软盘和硬盘驱动器、智能化磁带驱动器化软盘和硬盘驱动器、智能化磁带驱动器化软盘和硬盘驱动器、智能化磁带驱动器 及智能化绘及智能化绘及智能化绘及智能化绘图仪等,均可用单片机作为控制器。图仪等,均可用单片机作为控制器。图仪等,均可用单片机作为控制器。图仪等,均可用单片机作为控制器。 5)5)5)5)家用电器家用电器家用电器家用电器 电饭锅、电子游戏机、电视机、录音机、组合音响、
13、电饭锅、电子游戏机、电视机、录音机、组合音响、电饭锅、电子游戏机、电视机、录音机、组合音响、电饭锅、电子游戏机、电视机、录音机、组合音响、录像机、洗衣机、电冰箱以及电子玩具等,都使用单片录像机、洗衣机、电冰箱以及电子玩具等,都使用单片录像机、洗衣机、电冰箱以及电子玩具等,都使用单片录像机、洗衣机、电冰箱以及电子玩具等,都使用单片机进行控制。机进行控制。机进行控制。机进行控制。 总之,单片机由于体积小、价格低、性能优越、可总之,单片机由于体积小、价格低、性能优越、可总之,单片机由于体积小、价格低、性能优越、可总之,单片机由于体积小、价格低、性能优越、可靠性高,已广泛地渗透到社会、生产、效劳等领域
14、,其靠性高,已广泛地渗透到社会、生产、效劳等领域,其靠性高,已广泛地渗透到社会、生产、效劳等领域,其靠性高,已广泛地渗透到社会、生产、效劳等领域,其应用前景是无限光明的;所以,工程技术人员有必要很应用前景是无限光明的;所以,工程技术人员有必要很应用前景是无限光明的;所以,工程技术人员有必要很应用前景是无限光明的;所以,工程技术人员有必要很好地掌握单片机原理及系统设计技术。好地掌握单片机原理及系统设计技术。好地掌握单片机原理及系统设计技术。好地掌握单片机原理及系统设计技术。输入设备运算器输出设备存贮器控制器运算器运算器+控制器控制器输入设备输入设备输出设备输出设备存储器存储器二、单片机逻辑结构及
15、信号引脚时钟电路CPUROMRAMT0 T1中断系统中断系统串行接口串行接口并行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定时计数器定时计数器单片机的结构框图单片机的结构框图中央处理器中央处理器CPU:8位,位,运算和控制运算和控制功能功能内部内部RAM:共:共256个个RAM单单元,用户使用元,用户使用前前128个单元,个单元,用于存放可读用于存放可读写数据,后写数据,后128个单元被个单元被专用存放器占专用存放器占用。用。内部内部ROM:4KB掩膜掩膜ROM,用于存放程,用于存放程序、原始数据序、原始数据和表格。和表格。定时定时/计数器:计数器:两个两个16位的定位
16、的定时时/计数器,实计数器,实现定时或计数现定时或计数功能。功能。并行并行I/O口:口:4个个8位的位的I/O口口P0、P1、P2、P3。串行口:串行口:一个全一个全双工串行口。双工串行口。中断控制系统:中断控制系统:5个中断源外个中断源外部中断部中断2个,定个,定时时/计数中断计数中断2 个,串行中断个,串行中断1个个时钟电路:时钟电路:可可产生时钟脉冲产生时钟脉冲序列,允许晶序列,允许晶振频率振频率6MHZ和和12MHZ1、8051单片机芯片内部逻辑结构单片机芯片内部逻辑结构1 1、中央处理器、中央处理器CPUCPU:8 8位,包括运算器和控制器两局部电路,位,包括运算器和控制器两局部电路
17、,有运算和控制功能。有运算和控制功能。1 1运算器运算器: :是单片机的运算部件,以是单片机的运算部件,以ALUALU为核心运算,运算为核心运算,运算和操作结果的状态由和操作结果的状态由PSWPSW保存。包括:算术逻辑单元保存。包括:算术逻辑单元ALUALU、累、累加器加器ACC ACC 、存放器、存放器B B 、程序状态字存放器、程序状态字存放器PSWPSW及两个暂存存放及两个暂存存放器器 。2 2控制器控制器: :是单片机的指挥控制部件,它接受来自存储器是单片机的指挥控制部件,它接受来自存储器的指令,进行译码,并通过定时和控制电路,在规定时刻发的指令,进行译码,并通过定时和控制电路,在规定
18、时刻发出指令所需的控制信息和出指令所需的控制信息和CUPCUP外部所需的各种控制信号,保证外部所需的各种控制信号,保证单片机各局部能自动而协调地工作。单片机各局部能自动而协调地工作。 控制器包括:程序计数器控制器包括:程序计数器PC PC 、PCPC加加1 1存放器、指令存放器、指令存放器存放器IR IR 、指令译码器、定时与控制电路等。、指令译码器、定时与控制电路等。2 2、内部数据存储器:包括、内部数据存储器:包括RAMRAM1281288 8和和RAMRAM地址存放器地址存放器等。共等。共256256个个RAMRAM单元,用户使用前单元,用户使用前128128个单元,用于存放个单元,用于
19、存放可读写数据,后可读写数据,后128128个单元被专用存放器占用。简称为内个单元被专用存放器占用。简称为内部部RAMRAM。3 3、内部程序存储器:包括、内部程序存储器:包括ROMROM4K4K8 8和程序地址存放器。和程序地址存放器。4KB4KB掩膜掩膜ROMROM,用于存放程序、原始数据和表格。称为内部,用于存放程序、原始数据和表格。称为内部ROMROM。 存储器具有记忆功能,用来存放数据和程序。计算机存储器具有记忆功能,用来存放数据和程序。计算机中的存储器主要有随机存储器中的存储器主要有随机存储器RAMRAM和只读存储器和只读存储器ROMROM两种。两种。 存储器的容量常以字节为单位表
20、示如下:存储器的容量常以字节为单位表示如下: 1Byte=8bit 1Byte=8bit 1024B=1KB 1024B=1KB 1024KB=1MB 1024KB=1MB 1024MB=1GB 1024MB=1GB 1024GB=1TB 1024GB=1TB4 4、定时、定时/ /计数器:两个计数器:两个1616位的定时位的定时/ /计数器,实计数器,实现定时或计数功能。现定时或计数功能。5 5、并行、并行I/OI/O口:口:4 4个个8 8位的双向位的双向I/OI/O口口P0P0、P1P1、P2P2、P3P3。实现数据的并行输入、输出。实现数据的并行输入、输出。6 6、串行口:一个全双工串
21、行口。实现单片机和、串行口:一个全双工串行口。实现单片机和其它数据设备之间的串行数据传送。其它数据设备之间的串行数据传送。7 7、中断控制系统:、中断控制系统:5 5个中断源外中断个中断源外中断2 2个,定个,定时时/ /计数中断计数中断2 2 个,串行中断个,串行中断1 1个。个。8 8、时钟电路:它的晶振和微调电容需要外接,可产生时、时钟电路:它的晶振和微调电容需要外接,可产生时钟脉冲序列,常用的晶振频率为钟脉冲序列,常用的晶振频率为6MHZ6MHZ和和12MHZ12MHZ。9 9、位处理器:又为布尔处理器,以状态存放器中的进位、位处理器:又为布尔处理器,以状态存放器中的进位标志位标志位C
22、 C为累加位,可进行置位、复位、取反、等于为累加位,可进行置位、复位、取反、等于0 0转换、等于转换、等于1 1转换且清转换且清0 0以及以及C C与可寻址位之间的传送、与可寻址位之间的传送、逻辑与、逻辑或等位操作。逻辑与、逻辑或等位操作。1010、总线:上述的部件都是通过总线连接起来的。总线、总线:上述的部件都是通过总线连接起来的。总线结构减少了单片机的连线和引脚,提高了集成度和可结构减少了单片机的连线和引脚,提高了集成度和可靠性。靠性。 80C51 80C51的内部总线由数据总线、地址总线和控制总的内部总线由数据总线、地址总线和控制总线。线。 2、80C51单片机信号引脚单片机信号引脚 1
23、主电源引脚Vss和VccVss20脚:接地。Vcc40脚:芯片电源+5 V。VPD功能:在Vcc掉电情况下,该引脚可接上备用电源,由VPD向片内RAM供电,确保片内RAM中的数据不丧失。 2时钟电路引脚XTALl和XTAL2 XTALl19脚:接外部晶体的一端。在片内它是振荡电路反向放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。 XTAL218脚:接外部晶体的另一端。在片内它是一个振荡电路反向放大电路的输出端,振荡电路的频率是晶体振荡频率。假设需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,
24、此引脚应悬浮。3 3控制信号引脚控制信号引脚RSTRST、ALEALEPROGPROG、PSENPSEN、EAEAVppVppRSTRST9 9脚:单片机刚接上电源时,其内部各存放器处于随脚:单片机刚接上电源时,其内部各存放器处于随机状态,在该脚输入两个机器周期机状态,在该脚输入两个机器周期2424个振荡周期以上的个振荡周期以上的高电平将使单片机进行复位高电平将使单片机进行复位RESETRESET操作,复位时操作,复位时 PC PC0000H 0000H 。ALEALEAddress Latch EnableAddress Latch Enable地址锁存控制信号:地址锁存控制信号: 1 1、
25、当访问外部存储器时,、当访问外部存储器时,ALEALE用于把用于把P0P0口输出的低口输出的低8 8位位地址送入锁存器锁存起来,以实现低位地址和数据的分时传地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。送。 2 2、即使不访问外部存储器,、即使不访问外部存储器,ALEALE端仍以振荡频率的端仍以振荡频率的1/61/6周期性地输出正脉冲信号,这可作为外部时钟周期性地输出正脉冲信号,这可作为外部时钟 或外部定时或外部定时信号。信号。 PROG PROG :对片内:对片内EPROMEPROM编程写入时的编程脉冲输入端。编程写入时的编程脉冲输入端。PSENPSENProgram Store
26、EnableProgram Store Enable外部程序存储器读选通信号:外部程序存储器读选通信号:80C5180C51读外读外ROMROM时,每个机器周期内时,每个机器周期内PSENPSEN二次有效输出。它二次有效输出。它可作为外可作为外ROMROM芯片输出允许芯片输出允许OEOE的选通信号。在读内的选通信号。在读内ROMROM或读或读外外RAMRAM时,时,PSENPSEN无效。无效。EAEAEnable AddressEnable Address内部、外部程序存储器访问控制内部、外部程序存储器访问控制1 1、当、当EAEA端输入高电平时,端输入高电平时,CPUCPU从片内从片内ROM
27、ROM开始执行程序,当开始执行程序,当PCPC值超过值超过4K4K0FFFH0FFFH时,将自动转向执行外时,将自动转向执行外ROMROM中的程序。中的程序。2 2、当、当EAEA端输入低电平时,那么只访问外端输入低电平时,那么只访问外ROMROM,不管芯片内有,不管芯片内有无内无内ROMROM。但对于。但对于80318031芯片,片内无芯片,片内无ROMROM,所以,所以EAEA必须接低必须接低电平接地。电平接地。VppVpp功能:片内有功能:片内有EPROMEPROM的芯片,在的芯片,在EPROMEPROM编程期间,此引脚编程期间,此引脚用于施加编程电源。用于施加编程电源。P3.0 P3.
28、0 :RXDRXD串行口数据接收;串行口数据接收;P3.1 P3.1 :TXDTXD串行口数据发送;串行口数据发送;P3.2 P3.2 : 外部中断外部中断0 0申请;申请;P3.3 P3.3 : 外部中断外部中断1 1申请;申请;P3.4 P3.4 :T0T0定时器定时器/ /计数器计数器0 0计数输入;计数输入;P3.5 P3.5 :T1T1定时器定时器/ /计数器计数器1 1计数输入;计数输入;P3.6 P3.6 : 外部外部RAM“RAM“写写选通控制输出;选通控制输出;P3.7 P3.7 : 外部外部RAM“RAM“读读选通控制输出。选通控制输出。一个引脚有多种功能,在使用时不会引起
29、混乱产生错误,因为一个引脚有多种功能,在使用时不会引起混乱产生错误,因为第一功能与第二功能信号是不同工作方式下的信号,故不会发第一功能与第二功能信号是不同工作方式下的信号,故不会发生使用上的矛盾。生使用上的矛盾。信号引脚第二功能使用:信号引脚第二功能使用: 1P3口的第二功能:当CPU不对P3口进行字节或位寻址时,内部硬件自动将口锁存器的Q端置1。这时,P3口作为第二功能使用。12345678910111213142827262524232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM
30、27641234567891011121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221 201918171615RAM6264 12345678910111213142827262524232221 201918171615RAM6264 二二. .单单片片机机的的存存储储器器8031875180C5189C51片内片内片内片内RAMRAM片内片内片内片内ROMROM256B字节4K64K64K0000HFFFFH(64K)(64K)内部外部外部(1)(1)数据
31、存储器数据存储器数据存储器数据存储器00HFFH7FH80H(高高128B128B)( (低低128B)128B)RAM专用专用存放器存放器00H00H07H07H08H08H0FH0FH10H10H17H17H18H18H1FH1FH0区区R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71区区2区区3区区工作寄存器区工作寄存器区位寻址区位寻址区(00H7FH)20H2FH7F 7807 0030H7FH数据缓冲区数据缓冲区/堆栈区堆栈区(用户(用户RAM区)区)内部内部RAMRAM存储器存储器 1 11 1第第第第 3 3 区区区区18H1FH18H1FH 0 10 1第第第
32、第 1 1 区区区区08H0FH08H0FHRS1 RS0RS1 RS0通用寄存通用寄存通用寄存通用寄存器区器区器区器区片内片内片内片内RAMRAM地址地址地址地址 0 00 0第第第第 0 0 区区区区00H07H00H07H 1 0 1 0第第第第 2 2 区区区区10H17H10H17H工作存放器区选择位工作存放器区选择位RS0RS0、RS1RS1PSW位地址 CY ACF0RS1RS0OV/P80C51 80C51 单片机内部共有单片机内部共有256256个数据存储器单元,通常把这个数据存储器单元,通常把这256256个单元按其功能划分为两局部:低个单元按其功能划分为两局部:低1281
33、28单元单元地址单元单元地址00H00H7FH7FH和高和高128128单元单元地址单元单元地址80H80HFFHFFH。其中低。其中低128128单元是单片机中供用户使用的数据存储器单元,即我们称单元是单片机中供用户使用的数据存储器单元,即我们称为内部为内部RAMRAM的存储器,按用途可分为的存储器,按用途可分为3 3个区域:个区域:1 1存放器区:地址存放器区:地址00H00H1FH1FH的前的前3232个单元称为存放器区。个单元称为存放器区。用途:用途: 作通用存放器作通用存放器R0R0R7R7,每组,每组8 8个共个共4 4组。组。 它们的功能与使用不作预先规定,称为通用存放器或工它们
34、的功能与使用不作预先规定,称为通用存放器或工作存放器。作存放器。4 4组通用存放器占据内部组通用存放器占据内部RAMRAM的的00H00H1FH1FH单元地单元地址。址。( ( ( (一内部数据存储器低一内部数据存储器低一内部数据存储器低一内部数据存储器低128128128128单元区单元区单元区单元区使用时应注意:使用时应注意:3232个单元的存放器区分为四组,使用时只能选其中一组存放器。个单元的存放器区分为四组,使用时只能选其中一组存放器。存放器的选组由程序状态字存放器的选组由程序状态字PSWPSW的的RS1RS1和和RS0RS0位定。位定。 RS1 RS0 RS1 RS0 选存放器组选存
35、放器组 0 0 0 0 0 0组组 0 1 1 0 1 1组组 1 0 2 1 0 2组组 1 1 3 1 1 3组组 初始化时或复位时,自动选中初始化时或复位时,自动选中0 0组。组。一旦选中一组,其它三组只能作为数据存储器使用,而不能作为存一旦选中一组,其它三组只能作为数据存储器使用,而不能作为存放器使用。放器使用。2 220H20H2FH2FH为位寻址区为位寻址区共共1616个单元,每单元有八个位,每位有一个个单元,每单元有八个位,每位有一个位地址,共位地址,共128128位,位地址范围为位,位地址范围为00H00H7FH7FH,该区既可位寻址,又可字节寻址。该区既可位寻址,又可字节寻址
36、。如如 MOV 20H MOV 20H,C (C (这里这里C C是是CyCy进位标志位,进位标志位,该指令是将该指令是将CyCy内容送内容送20H20H位位, ,如果如果CyCy1 1,位,位20H20H值为值为“1“1。除选中的存放器以外的存储器均可以作为通除选中的存放器以外的存储器均可以作为通用用RAMRAM区。区。 MSBMost Significant Bit MSBMost Significant Bit 最高有效位最高有效位LSBLeast Significant Bit LSBLeast Significant Bit 最低有效位最低有效位单元地址2FH2EH2DH2CH2BH
37、2AH29H28H27H26H25H24H23H22H21H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSB 位地址 LSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C040
38、47B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A020279797171696961615959515149494141393931312929212119191111090901017878707068686060585850504848404038383030282820201818101008080000RAM位寻址区位地址表位寻址区位地址表3 3用户用户RAMRAM区区在内部在内部RAM
39、RAM低低128128单元中,通用存放器占去单元中,通用存放器占去3232个单元,位个单元,位寻址区占去寻址区占去1616个单元,剩余个单元,剩余8080个单元,是供用户使用的个单元,是供用户使用的一般一般RAMRAM区,其单元地址为区,其单元地址为30H30H7FH7FH。此区只能以存储。此区只能以存储单元的形式来使用,一般把堆栈开辟在此区中。单元的形式来使用,一般把堆栈开辟在此区中。注:对注:对80C5180C51单片机只有单片机只有00H-7FH00H-7FH单元单元128128字节的字节的RAMRAM区。区。( ( ( (二内部数据存储器高二内部数据存储器高二内部数据存储器高二内部数据
40、存储器高128128128128单元区单元区单元区单元区有有2121个专用存放器个专用存放器SFRSFRSpecial Function Special Function RegisterRegister。 1111个可以进行个可以进行位寻址。位寻址。特别提示:对特别提示:对SFRSFR只能使用直接只能使用直接寻址方式,书写时寻址方式,书写时可使用存放器符号,可使用存放器符号,也可用存放器单元也可用存放器单元地址。地址。 累加器累加器A(Accumulator)A(Accumulator)是最常用的累加器;是最常用的累加器;功能:功能:、用于存放操作数,是、用于存放操作数,是ALUALU数据的
41、一个来源。大多数单操作数据的一个来源。大多数单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器;取自累加器;、是、是ALUALU运算结果的暂存单元,用于存放运算中间结果运算结果的暂存单元,用于存放运算中间结果 ;、是数据传送的中转站,单片机中的大局部数据传送都通、是数据传送的中转站,单片机中的大局部数据传送都通过累加器进行。过累加器进行。、在变址方式中把累加器作为变址存放器使用。、在变址方式中把累加器作为变址存放器使用。、专用存放器简介、专用存放器简介、专用存放器简介、专用存放器简介 B B存放器存放器、是、是8 8位的
42、存放器,主要用于乘法、除法指令,位的存放器,主要用于乘法、除法指令,用用B B存放器作为其中的一个操作数,即作为一般数存放器作为其中的一个操作数,即作为一般数据存放器使用;据存放器使用;、进行乘法运算时,、进行乘法运算时, B B 、A A分别存放乘数和被分别存放乘数和被乘数,运算的结果仍旧存放在乘数,运算的结果仍旧存放在A A、B B中,中,B B存放结果存放结果的高八位,的高八位,A A存放结果的低八位;存放结果的低八位;、进行除法运算时,、进行除法运算时,A A中存放被除数,中存放被除数,B B中存放中存放除数,运算后的结果的商存放在除数,运算后的结果的商存放在A A中,余数存放在中,余
43、数存放在B B中。中。 程序状态字程序状态字PSW(Program Status Word)PSW(Program Status Word)程序状态字程序状态字PSWPSW包含了程序的运行状态信息。包含了程序的运行状态信息。PSWPSW存放器各位功能、存放器各位功能、标志符号、位地址志符号、位地址功功 能能标 志志位位 地地 址址进位位标志志CYCYPSW.7PSW.7辅助助进位位标志志ACACPSW.6PSW.6溢出溢出标志志OVOVPSW.2PSW.2奇偶奇偶标志志P PPSW.0PSW.0用用户标志志F0F0PSW.5PSW.5用用户标志志F1PSW.1PSW.1寄存器区寄存器区选择Ms
44、bMsbRS1RS1PSW.4PSW.4寄存器区寄存器区选择LsbLsbRS0RS0PSW.3PSW.3PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0 CY AC F0RS1 RS0 OV F1 P位地址位地址位标志位标志CY(PSW.7)(Carry)CY(PSW.7)(Carry):进位:进位/ /借位标志。借位标志。在进行加法运算时,假设最高位有进位,在进行加法运算时,假设最高位有进位,CY=1CY=1,否那么,否那么CY=0CY=0。在进行减法运算时,假设被减数小于减数,在进行减法运算时,假设被减数小于减数,CY=1CY=1,否那么,否那么CY=0CY
45、=0。在布尔处理机中,。在布尔处理机中,CYCY被用作位累加器使用。被用作位累加器使用。AC(PSW.6)(Auxiliary Carry)AC(PSW.6)(Auxiliary Carry):辅助进位:辅助进位/ /借位标志。借位标志。当低半字节向高半字节有进当低半字节向高半字节有进/ /借位时,借位时,AC=1AC=1,否那么,否那么AC=0AC=0。该。该标志主要用于十进制调整。标志主要用于十进制调整。F0(PSW.5)(Flag 0)F0(PSW.5)(Flag 0):用户标志位,由用户定义,可由软件置位:用户标志位,由用户定义,可由软件置位或去除,以对程序的运行起指导作用。例如,用它
46、来控制程序或去除,以对程序的运行起指导作用。例如,用它来控制程序的转向。的转向。F0F0有三种表示方法:有三种表示方法:1 1位地址:位地址:D5HD5H,2 2位编号:位编号:PSW.5PSW.5,3 3位定义名:位定义名:F0F0。RS1RS1、RS0(PSW.4,PSW.3)RS0(PSW.4,PSW.3):存放器组选择控制位:存放器组选择控制位当当(RS1,RS0)=00(RS1,RS0)=00时,选择存放器组时,选择存放器组0 0区,区,R0R0对应地址为对应地址为00H00H,R7R7对应地址为对应地址为07H07H;当当(RS1,RS0)=01(RS1,RS0)=01时,选择时,
47、选择1 1组,组,R0R7R0R7对应对应08H08H0FH0FH;当当(RS1,RS0)=10(RS1,RS0)=10时,选择时,选择2 2组,组,R0R7R0R7对应对应10H10H17H17H;当当(RS1,RS0)=11(RS1,RS0)=11时,选择时,选择3 3组,组,R0R7R0R7对应对应18H18H1FH1FH。OV(PSW.2)(Overflow)OV(PSW.2)(Overflow):溢出标志,由硬件置位或去除。:溢出标志,由硬件置位或去除。执行带符号加、减法指令时,如果运算结果超出累加器所能表示的执行带符号加、减法指令时,如果运算结果超出累加器所能表示的范围范围-128
48、-128至至+127+127时,那么发生溢出,此时时,那么发生溢出,此时OV=1OV=1,否那么,否那么OV=0OV=0,结果只需从结果只需从A A取。取。具体判断方法:具体判断方法:当两数相加或相减时,如果位当两数相加或相减时,如果位7 7D7D7和位和位D6D6同时发生或不发同时发生或不发生进位或借位,或者那么生进位或借位,或者那么OV=0OV=0,否那么,否那么OV=1OV=1,说明运算结果产,说明运算结果产生溢出即大于生溢出即大于+127+127或小于或小于-128-128。当进行乘法运算时,如果乘积超出累加器当进行乘法运算时,如果乘积超出累加器A A所能表示的范围所能表示的范围0-2
49、550-255,那么发生溢出,乘积的高字节必须放置在存放器,那么发生溢出,乘积的高字节必须放置在存放器B B中,此时中,此时OV=1OV=1,否那么,否那么OV=0OV=0。当执行除法指令时,假设除数为当执行除法指令时,假设除数为0 0,OV=1OV=1,否那么,否那么OV=0OV=0。P(PSW.0)(Parity)P(PSW.0)(Parity):奇偶标志,假设:奇偶标志,假设A A中值为中值为1 1的个的个数为奇数,数为奇数,P=1P=1,否那么,否那么P=0P=0。 数据指针数据指针DPTR(Data Pointer)DPTR(Data Pointer) 指明访问的数据存储器的单元地址
50、,可寻址范指明访问的数据存储器的单元地址,可寻址范围为围为64KB64KB,数据指针为,数据指针为1616位,由位,由DPHDPH数据指针高数据指针高位字节、位字节、DPLDPL数据指针低位字节组成。数据指针低位字节组成。 在某些情况下,在某些情况下,DPHDPH、DPLDPL也可单独使用。此也可单独使用。此外,在变址寻址方式中,用数据指针作基址存放外,在变址寻址方式中,用数据指针作基址存放器,用于对程序存储器的访问。器,用于对程序存储器的访问。、专用存放器的单元寻址、专用存放器的单元寻址80C5180C51中专用存放器的名称、符号及地址见表中专用存放器的名称、符号及地址见表2.4(P28)2
51、.4(P28)。2121个专用存放器的字节寻址问题作如下说明:个专用存放器的字节寻址问题作如下说明:、2121个可寻址的专用存放器不连续地分散在内部高个可寻址的专用存放器不连续地分散在内部高128128单元中,尽管还剩余许多空闲单元,但用户并不能使单元中,尽管还剩余许多空闲单元,但用户并不能使用,如果访问了这些没有定义的单元,读出为不定数,而用,如果访问了这些没有定义的单元,读出为不定数,而写入的数被舍弃。写入的数被舍弃。、对专用存放器只能使用直接寻址方式,在指令中即、对专用存放器只能使用直接寻址方式,在指令中即可使用存放器符号表示,也可使用存放器地址表示。可使用存放器符号表示,也可使用存放器
52、地址表示。如:指令如:指令MOV A,P0 MOV A,P0 和指令和指令 MOV A,80H MOV A,80H是等同指令,因为是等同指令,因为80H80H就是就是P0P0口的地址。口的地址。、在、在P3-P0P3-P0口中,作为专用存放器的是它们的锁存器,口中,作为专用存放器的是它们的锁存器,由各位口线的锁存组成。由各位口线的锁存组成。、专用存放器的位寻址、专用存放器的位寻址在在2121个专用存放器中,有个专用存放器中,有1111个存放器是可以位寻址的,个存放器是可以位寻址的,即表即表2.42.4中带中带“的存放器。的存放器。80C5180C51专用存放器中可专用存放器中可寻址位共有寻址位
53、共有8383个,其中许多还有其专用名称,寻址时个,其中许多还有其专用名称,寻址时即可使用位地址,也可使用位名称。即可使用位地址,也可使用位名称。各存放器的位地址与位名称列于表各存放器的位地址与位名称列于表2.42.4。、程序计数器、程序计数器PC(Program Counter)PC(Program Counter) 程序计数器是程序计数器是1616位地址存放器,系统开机初始化位地址存放器,系统开机初始化时,时,PC=0000HPC=0000H,CPUCPU便从这一固定的入口地址开始执便从这一固定的入口地址开始执行程序,可寻址范围为行程序,可寻址范围为64KB64KB。 用于存放和指示下一条要
54、执行指令的起始地址,用于存放和指示下一条要执行指令的起始地址,因此也称为地址指针。因此也称为地址指针。 PC PC实际上是一个地址指示器,改变实际上是一个地址指示器,改变PCPC中的内容就中的内容就可以改变指令执行的次序,即改变程序执行的路线。可以改变指令执行的次序,即改变程序执行的路线。所以,所以,PCPC是维持单片机有秩序地执行程序的关键性存是维持单片机有秩序地执行程序的关键性存放器。放器。 执执行行调调用用子子程程序序或或发发生生中中断断时时,CPUCPU会会自自动动将将当当前前 PCPC值值压压入入堆堆栈栈,将将子子程程序序入入口口地地址址或或中中断断入入口口地地址址装装入入PCPC;
55、子子程程序序返返回回或或中中断断返返回回时时,恢恢复复原原有有被被压压入入堆堆栈的栈的PCPC值,继续执行原顺序程序指令。值,继续执行原顺序程序指令。五、程序计数器五、程序计数器PCPC PC PC不属于特殊功能存放器,不可访问,在物理结构上不属于特殊功能存放器,不可访问,在物理结构上是独立的。是独立的。 PC PC的根本工作方式有:的根本工作方式有: 自动加自动加1 1。CPUCPU从从ROMROM中每读一个字节,自动执行中每读一个字节,自动执行 PC+1PC PC+1PC; 执行转移指令时,执行转移指令时,PCPC会根据该指令要求修改下一次会根据该指令要求修改下一次 读读ROMROM新的地
56、址;新的地址;三、堆栈操作三、堆栈操作、堆栈是一种数据结构,它是在内、堆栈是一种数据结构,它是在内部的用户部的用户RAMRAM中开辟的。中开辟的。、堆栈:就是只允许在其一端进行、堆栈:就是只允许在其一端进行数据插入和数据删除操作的线性表。数据插入和数据删除操作的线性表。、对堆栈的操作包括压入、对堆栈的操作包括压入PUSHPUSH和弹出和弹出POPPOP两种方式,它总是指向两种方式,它总是指向栈顶。栈顶。数据写入堆栈称为插入运算,通常叫数据写入堆栈称为插入运算,通常叫入栈。入栈。数据从堆栈中读出称为删除运算,通数据从堆栈中读出称为删除运算,通常叫出栈。常叫出栈。、堆栈操作遵循、堆栈操作遵循“后进
57、先出后进先出的原那么:的原那么: 入栈操作时,入栈操作时,SPSP先加先加1 1,数据再压入,数据再压入SPSP指向的单元。指向的单元。 PUSH direct ;spsp+1,(sp)(direct) PUSH direct ;spsp+1,(sp)(direct) 出栈操作时,出栈操作时, 先将先将SPSP指向的单元的数据弹出,指向的单元的数据弹出,然后,然后,SPSP再减再减1 1,这时,这时SPSP指向的单元是新的栈顶。指向的单元是新的栈顶。POP direct ;(direct)(sp),spsp-1POP direct ;(direct)(sp),spsp-1 可见,可见,80C5
58、180C51单片机的堆栈区是向地址增大的方向生成的。单片机的堆栈区是向地址增大的方向生成的。如:如:PUSH ACC PUSH ACC ;A A中的数据进栈中的数据进栈 PUSH PSW PUSH PSW ;PSWPSW中数据进栈中数据进栈 ; ;执行效劳程序执行效劳程序 POP PSW POP PSW ;恢复;恢复PSWPSW内容内容 POP ACC POP ACC ;恢复;恢复A A中内容中内容该程序执行后,该程序执行后,A A和和PSWPSW存放器中的内容可以得到正确的恢复。存放器中的内容可以得到正确的恢复。、堆栈的功用:主要是为子程序调用和中断操作而设置的。、堆栈的功用:主要是为子程序
59、调用和中断操作而设置的。具体功能有两个:保护断点和保护现场。因为在计算机中无具体功能有两个:保护断点和保护现场。因为在计算机中无论是执行子程序调用操作还是执行中断操作,最终都要返回论是执行子程序调用操作还是执行中断操作,最终都要返回主程序。主程序。、堆栈指针:、堆栈指针:SPSP就是堆栈栈顶的存储单元地址。当系统复就是堆栈栈顶的存储单元地址。当系统复位后,位后,SPSP的内容为的内容为07H07H,但堆栈最好在,但堆栈最好在30H30H7FH7FH单元用户单元用户RAMRAM区中开辟,以免占用经常使用的珍贵的存放器区和位区中开辟,以免占用经常使用的珍贵的存放器区和位寻址区,所以要注意把寻址区,
60、所以要注意把SPSP值初始化为值初始化为30H30H。由于。由于SPSP可初始化可初始化为不同值,因此堆栈位置是浮动的。为不同值,因此堆栈位置是浮动的。、堆栈类型:有两种,向上生长型和向下生长型。、堆栈类型:有两种,向上生长型和向下生长型。向上生长型:栈底在低地址单元。随着数据进栈,地址递增,向上生长型:栈底在低地址单元。随着数据进栈,地址递增,SPSP的内容越来越大,指针上移;的内容越来越大,指针上移;向下生长型:栈底设在高地址单元。随着数据进栈,地址递向下生长型:栈底设在高地址单元。随着数据进栈,地址递减,减,SPSP内容越来越小,指针下移。内容越来越小,指针下移。、堆栈使用方式:、堆栈使
61、用方式:一种是自然方式,即在调用子程序或中断时,返回地址断一种是自然方式,即在调用子程序或中断时,返回地址断点自动进栈。程序返回时,断点再自动弹回点自动进栈。程序返回时,断点再自动弹回PCPC,无需用户,无需用户干预。干预。另一种是指令方式,使用专用的堆栈操作指令,进行进出栈另一种是指令方式,使用专用的堆栈操作指令,进行进出栈操作。其进栈指令为操作。其进栈指令为PUSHPUSH,出栈指令为,出栈指令为POPPOP。如现场保护就。如现场保护就是指令方式的进栈操作,而现场恢复那么是指令方式的出栈是指令方式的进栈操作,而现场恢复那么是指令方式的出栈操作。操作。( (四四) )程序存储器程序存储器程序
62、存储器程序存储器内部外部0000H0FFFH(4K)(4K)0000HFFFFH(64K)(64K)0000H0FFFH(4K)(4K)0000H0001H0002H(PC)0000H是程序执行的起始单元是程序执行的起始单元,在这三个单元存放一条在这三个单元存放一条无条件转移指令无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断外部中断0中断地址区中断地址区定时器定时器/计数器计数器0中断地址区中断地址区外部中断外部中断1中断地址区中断地址区定时器定时器/计数器计数器1中断地址区中断地址区串行口中断地址区串行口中断地址区8位位0FF
63、FH0FFEHEA=1EA=1 EA=0EA=0程序存储器资源分布程序存储器资源分布中断入口地址中断入口地址程序存储器用于存放编好的程序和表格常数。程序存储器用于存放编好的程序和表格常数。80C5180C51片内片内有有 4 KB ROM 4 KB ROM,片外,片外1616位地址线最多可扩展位地址线最多可扩展 64 KB ROM 64 KB ROM,两者是统一编址的。两者是统一编址的。如果端保持高电平,如果端保持高电平,80C5180C51的程序计数器的程序计数器PCPC在在 0000H 0000H0FFFH 0FFFH 范围内即前范围内即前4 KB4 KB地址是执行片内地址是执行片内ROM
64、ROM的程序。的程序。当寻址范围在当寻址范围在 1000H 1000HFFFFH FFFFH 时,那么从片外存储器取指时,那么从片外存储器取指令。令。当端保持低电平时,当端保持低电平时,80C5180C51的所有取指令操作均在片的所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从外程序存储器中进行,这时片外存储器可以从 0000H 0000H 开开始编址。始编址。(3)(3)单片机存储器结构特点单片机存储器结构特点一是把数据存储器和程序存储器截然分开,二是存一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。储器有内外之分。片内存储器的特点是使用方便,对于简单的应用系片内存储
65、器的特点是使用方便,对于简单的应用系统,有时只使用片内存储器就够了,但容量受限制,统,有时只使用片内存储器就够了,但容量受限制,所以在芯片之外另行扩展存储器,为了与芯片内固所以在芯片之外另行扩展存储器,为了与芯片内固有的存储器区别,通常把扩展的存储器称为外部存有的存储器区别,通常把扩展的存储器称为外部存储器。储器。ALEALEAddress Latch EnableAddress Latch Enable信号用于外部存储器信号用于外部存储器的地址锁存控制。的地址锁存控制。PSENPSEN信号用于外部程序存储器的读选通。信号用于外部程序存储器的读选通。EAEA信号用于内外程序存储器的访问控制。信
66、号用于内外程序存储器的访问控制。2.4、80C51单片机的并行单片机的并行/口口P0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0P3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.71234567891011121314151617181920403938373635343332313029282726252424222180C51 特点:特点:特点:特点: P0 P0:访问片外扩展存储器时
67、,:访问片外扩展存储器时, 复用为低复用为低8 8位地址线和数据线位地址线和数据线 P2P2:高:高8 8位地址线。位地址线。P1P1:双向:双向I/OI/O端口端口 P3P3:第二功能:第二功能一、一、 P0 P0口的逻辑结构口的逻辑结构 P0 P0口的字节地址为口的字节地址为80H80H,位地址为,位地址为80H80H87H87H。口的各位口线。口的各位口线具有完全相同又相互独立的电路具有完全相同又相互独立的电路,P0,P0口大多数是作为单片机系统口大多数是作为单片机系统的地址的地址/ /数据线使用。数据线使用。1 1地址数据分时复用功能地址数据分时复用功能 P0 P0口作为地址数据分时复
68、用口时,可分为两种情口作为地址数据分时复用口时,可分为两种情况:一种是从况:一种是从P0P0口输出地址或数据,另一种是从口输出地址或数据,另一种是从P0P0口输入口输入数据。数据。 1 1、在访问片外存储器需从、在访问片外存储器需从P0P0口输出地址或数据信号口输出地址或数据信号时,控制信号线应为高电平时,控制信号线应为高电平1 1,使转换开关,使转换开关MUXMUX把反相器的把反相器的输出端与输出端与T2T2接通,同时把与门翻开。接通,同时把与门翻开。 1 1当地址或数据信号为当地址或数据信号为“1“1时,经反相器反相使时,经反相器反相使T2T2截止,而经截止,而经“与与 门使门使T1T1导
69、通,导通,P0.xP0.x引脚上出现相应的引脚上出现相应的高电平高电平“1“1; 2 2当地址或数据信号为当地址或数据信号为“0“0时,经反相器使时,经反相器使T2T2导导通而通而T1T1截止,引脚上出现相应的低电平截止,引脚上出现相应的低电平“0“0。这样就将地。这样就将地址数据的信号输出。址数据的信号输出。 2 2、当从、当从P0P0口输入数据时,口输入数据时,执行一条取指操作或输执行一条取指操作或输入数据的指令,读引脚入数据的指令,读引脚读取端口引脚上的外部读取端口引脚上的外部信息,并翻开三态门,信息,并翻开三态门,引脚上的数据经缓冲器引脚上的数据经缓冲器送至内部总线。送至内部总线。P0
70、P0口作为地址口作为地址/ /数据总线数据总线使用时是一个真正的双使用时是一个真正的双向口。向口。2 2、 P0 P0用作通用用作通用I/OI/O口口 当系统不进行片外ROM扩展和片外RAM扩展时,P0用作通用I/O口。在这种情况下,单片机硬件自动使控制信号为“0,MUX开关接向锁存器的反相输出端。 CPU向端口输出数据时,因与门的输出为“0,使T1截止。当写脉冲加在锁存器时钟端CL上时,CPU执行端口的输出指令,内部数据总线上的数据在“写锁存器信号的作用下由D端进入锁存器,经锁存器的反向端送至场效应管T2,再经T2反向,在P0.X引脚出现的数据正好是内部总线的数据。如:“MOV P0,A或“
71、 MOV P0.1,C. 当要从P0口输入数据时,必须先向该端口锁存器写入“Q=1,使T2截止;CPU执行端口执行输入指令后,“读引脚信号经输入缓冲器进入内部数据总线。 二、二、二、二、 P1 P1 P1 P1口逻辑结构口逻辑结构口逻辑结构口逻辑结构 P1 P1 P1 P1口的字节地址为口的字节地址为口的字节地址为口的字节地址为90H90H90H90H,位地址为,位地址为,位地址为,位地址为90H90H90H90H97H97H97H97H,只能作通用,只能作通用,只能作通用,只能作通用I/OI/OI/OI/O口口口口使用。使用。使用。使用。 P1 P1 P1 P1口由一个输出锁存器、两个三态输
72、入缓冲器和输出驱动电路口由一个输出锁存器、两个三态输入缓冲器和输出驱动电路口由一个输出锁存器、两个三态输入缓冲器和输出驱动电路口由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成。它在结构上与组成。它在结构上与组成。它在结构上与组成。它在结构上与P0P0P0P0口的区别在于输出驱动局部,其输出局部由口的区别在于输出驱动局部,其输出局部由口的区别在于输出驱动局部,其输出局部由口的区别在于输出驱动局部,其输出局部由场效应管场效应管场效应管场效应管T T T T与内部上拉电阻组成。与内部上拉电阻组成。与内部上拉电阻组成。与内部上拉电阻组成。 从功能上来看,从功能上来看,80C5180C51的的P
73、1P1口只有一种功能,即通用数口只有一种功能,即通用数据输入输出据输入输出I/OI/O接口使用,每一位口线能独立地用作输入或接口使用,每一位口线能独立地用作输入或输出线。输出线。 当作为数据输出线时,假设将当作为数据输出线时,假设将“1“1写入口锁存器,写入口锁存器,Q Q端将使端将使T T截止,输出线由内部上拉电阻拉成高电平,输出为截止,输出线由内部上拉电阻拉成高电平,输出为“1“1。假设将。假设将“0“0写入口锁存器,写入口锁存器,Q Q端使端使T T导通,经导通,经T T反相,反相,输出输出“0“0。 当作为数据输入线时,必须先将当作为数据输入线时,必须先将“1“1写入锁存器,使写入锁存
74、器,使T T截止,该口线由内部上拉电阻拉成高电平,作高阻输入。截止,该口线由内部上拉电阻拉成高电平,作高阻输入。假设输入的是假设输入的是1 1,那么引脚维持高电平;假设输入的是,那么引脚维持高电平;假设输入的是0 0,那么引脚被下拉为低电平。引脚状态送到输入缓冲器,当那么引脚被下拉为低电平。引脚状态送到输入缓冲器,当接到来自接到来自CPUCPU的读命令后,三态门翻开,引脚状态传送到内的读命令后,三态门翻开,引脚状态传送到内部数据总线上。部数据总线上。 三、三、 P2 P2口逻辑结构口逻辑结构1 1、 P2 P2用作通用用作通用I/OI/O口,其字节地址为口,其字节地址为0A0H0A0H,位地址
75、为,位地址为0A0H0A0H0A7H0A7H。 当不在单片机芯片外部扩展ROM,只扩展256B的片外RAM时,仅用到了地址线的低8位,P2口仍可以作为通用I/O口使用。 作为通用I/O口使用: 执行输出指令时,内部数据总线的数据在“写锁存器信号的作用下由D端进入锁存器,经反相器后送至场效应管T,再经T反相,在P2.X引脚出现的数据正好是内部总线的数据。 P2 P2口用作输入时,数据可以读自口的锁口用作输入时,数据可以读自口的锁存器,也可以读自口的引脚。这要根据输入存器,也可以读自口的引脚。这要根据输入操作采用的是操作采用的是“读锁存器读锁存器指令还是指令还是“读引读引脚脚指令来决定。但须先使指
76、令来决定。但须先使Q=1Q=1,其功能和,其功能和使用方法与使用方法与P0P0、P1P1口相同。口相同。 2 2、P2P2口用作地址总线口用作地址总线 当需要在单片机芯片外部扩展当需要在单片机芯片外部扩展ROMROM或扩展的或扩展的RAMRAM容量超过容量超过256B256B字节时,字节时,单片机内硬件自动使控制单片机内硬件自动使控制C=1C=1,MUXMUX开关接向地址线,地址信号经反相开关接向地址线,地址信号经反相器和场效应管二次反相后从引脚输器和场效应管二次反相后从引脚输出,这时出,这时P2.XP2.X引脚的状态正好与地引脚的状态正好与地址线的信息相同,址线的信息相同,P2P2口输出地址
77、总口输出地址总线高线高8 8位位A8-A15A8-A15,供系统并行扩,供系统并行扩展用。展用。 对于对于80C5180C51单片机而言,单片机而言,P2P2口能作口能作为为I/OI/O口或地址总线用。口或地址总线用。 P2 P2口在作口在作为通用为通用I/OI/O口时,属于准双向口。这口时,属于准双向口。这时多路转接开关倒向锁存器时多路转接开关倒向锁存器Q Q端端 . .四、四、 P3 P3口逻辑结构口逻辑结构 P3P3口的字节地址为口的字节地址为0B0H0B0H,位地址为,位地址为0B0H0B0H0B7H0B7H。1 1、P3P3用作第一功能通用用作第一功能通用I/OI/O口口 对对P3P
78、3口进行字节或位寻址时,单片机内部的硬件自动将第二输口进行字节或位寻址时,单片机内部的硬件自动将第二输出功能线的出功能线的W W置置1 1。这时,对应的口线为通用。这时,对应的口线为通用I/OI/O口方式。口方式。 输出时,锁存器的状态为低电平,输出时,锁存器的状态为低电平,“与非门与非门翻开,翻开,T T通路,通路,P3P3口即为数据输出口。口即为数据输出口。 输入时,要先向口锁存器写入输入时,要先向口锁存器写入1 1,使引脚处于高阻输入状态。输,使引脚处于高阻输入状态。输入的数据在入的数据在“读引脚读引脚信号的作用下,引脚上的外部信号通过三态缓信号的作用下,引脚上的外部信号通过三态缓冲器送
79、入内部总线。冲器送入内部总线。 P3 P3口作为通用口作为通用I/OI/O口时,属于准双向口。口时,属于准双向口。 用作第二功能:用作第二功能: 当当P3P3口的某一位作为第二功口的某一位作为第二功能输出使用时,能输出使用时,CPUCPU将该位的锁将该位的锁存器置存器置1 1,使,使“与非门与非门和输出和输出状态只受状态只受“第二功能输出第二功能输出端端控制。第二功能输出信号经控制。第二功能输出信号经“与非门与非门和场效应管二次反相和场效应管二次反相输出到该位引脚上。输出到该位引脚上。 当当P3P3口的某一位作为第二功口的某一位作为第二功能输入使用时,该位的能输入使用时,该位的“第二第二功能输
80、出功能输出端和锁存器自行置端和锁存器自行置1 1,场效应管截止,该位引脚上,场效应管截止,该位引脚上信号经缓冲器送入信号经缓冲器送入“第二功能第二功能输入输入端。端。P3.0 P3.0 :RXDRXD串行口输入;串行口输入;P3.1 P3.1 :TXDTXD串行口输出;串行口输出;P3.2 P3.2 : 外部中断外部中断0 0输入;输入;P3.3 P3.3 : 外部中断外部中断1 1输入;输入;P3.4 P3.4 :T0T0定时器定时器0 0的外部输入;的外部输入;P3.5 P3.5 :T1T1定时器定时器1 1的外部输出;的外部输出;P3.6 P3.6 : 片外数据存储器片外数据存储器“写写
81、选通控制输出;选通控制输出;P3.7 P3.7 : 片外数据存储器片外数据存储器“读读选通控制输出。选通控制输出。2 2、P3P3用作第二功能使用用作第二功能使用 当当CPUCPU不对不对P3P3口进行字节或位寻址时,内部硬件自动将口口进行字节或位寻址时,内部硬件自动将口锁存器的锁存器的Q Q端置端置1 1。这时,。这时,P3P3口作为第二功能使用。口作为第二功能使用。80C5180C51口电路小结口电路小结: : 1 1、这四个口都是并行、这四个口都是并行I/OI/O口,都可用于数据口,都可用于数据的输入的输入/ /输出传送,但输出传送,但P0P0口和口和P2P2口除了可进行口除了可进行数据
82、的输入数据的输入/ /输出外,通常是用来构建系统的输出外,通常是用来构建系统的数据总线和地址总线,所以在口电路逻辑中数据总线和地址总线,所以在口电路逻辑中有一个多路转接开关有一个多路转接开关MUXMUX,以便进行两种用途,以便进行两种用途的转换。而的转换。而P1P1和和P3P3口没有构建数据和地址总口没有构建数据和地址总线的功能,因此在电路中没有线的功能,因此在电路中没有MUXMUX。2 2、在、在4 4个口中只有个口中只有P0P0一个口是真正的双向口,一个口是真正的双向口,而其余的而其余的3 3个口都准双向口。个口都准双向口。3 3、P3P3口的口线具有第二功能,为系统提供一口的口线具有第二
83、功能,为系统提供一些控制信号。些控制信号。四、时钟电路与时序四、时钟电路与时序一、时钟电路:单片机时钟电路由振荡电路和分一、时钟电路:单片机时钟电路由振荡电路和分频电路组成。频电路组成。振荡电路由反相器以及并联外接的石英晶体和电容构振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲;成,用于产生振荡脉冲;分频电路那么用于把振荡脉冲分频,以得到单片机工分频电路那么用于把振荡脉冲分频,以得到单片机工作所需要的时钟信号。作所需要的时钟信号。1XTAL1XTAL2C1C2晶振80c51至内部时钟电路内部振荡方式:内部振荡方式: 在引脚在引脚 XTAL1 XTAL1和和 XTAL2XTA
84、L2外接晶体振荡器外接晶体振荡器简称晶振如图简称晶振如图1 1所示。所示。XTAL1XTAL2GND80C51C01C02图图1 1 内部振荡方式内部振荡方式 单片机的时钟信号用来提供单片机内各种微操作时单片机的时钟信号用来提供单片机内各种微操作时间基准,间基准,80C5180C51单片机的时钟信号通常有两种电路形式:单片机的时钟信号通常有两种电路形式:内部振荡方式和外部振荡方式。内部振荡方式和外部振荡方式。电容器电容器C01C01、C02C02起稳定振起稳定振荡频率、快速起振的作用。荡频率、快速起振的作用。电容值一般为电容值一般为 5 530PF30PF。由于单片机内部有一个高增益运算放大器
85、,当外接晶由于单片机内部有一个高增益运算放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。振后,就构成了自激振荡器并产生振荡时钟脉冲。8XX51 外部振荡方式是把外部振荡方式是把已有的时钟信号引入单已有的时钟信号引入单片机。这种方式适宜用片机。这种方式适宜用于使单片机的时钟与外于使单片机的时钟与外部信号保持一致。外部部信号保持一致。外部振荡方式如图振荡方式如图2 2所示。所示。 对对HMOSHMOS的单片机的单片机80318031、8031AH8031AH等外部时钟信号由等外部时钟信号由XTAL2XTAL2引入,对于引入,对于CHMOSCHMOS的单片机的单片机8XCXX8XCXX,
86、外部时钟由,外部时钟由XTAL1XTAL1引入。引入。外部时钟XTAL1XTAL2GND80c51悬空外部时钟XTAL1XTAL2GND悬空CHMOSHMOS图图2 2外部振荡方式外部振荡方式80318031 CHMOS( CHMOS(互补金属氧化物互补金属氧化物HMOS)HMOS)是是CMOSCMOS和和HMOS(HMOS(高密度沟道高密度沟道MOSMOS工艺工艺) )的结合,除了保持的结合,除了保持HMOSHMOS高速度和高密度之外,还有高速度和高密度之外,还有CMOSCMOS低功耗的特点。低功耗的特点。 两类器件的功能是完全兼容的,区别在两类器件的功能是完全兼容的,区别在CHMOSCHM
87、OS器件具器件具有低功耗的特点。它所消耗的电流比有低功耗的特点。它所消耗的电流比HMOSHMOS器件少很多,原因器件少很多,原因是其采用了两种降低功耗的方式:空闲方式和掉电方式。是其采用了两种降低功耗的方式:空闲方式和掉电方式。 CHMOS CHMOS器件在掉电方式器件在掉电方式(CPU(CPU停止工作,片内停止工作,片内RAMRAM的数据的数据继续保持继续保持) )下时,消耗的电流可低于下时,消耗的电流可低于10A10A。 采用采用CHMOSCHMOS的器件在编号中用一个的器件在编号中用一个C C来加以区别来加以区别, , 如如 : : 80C5180C51,80C3180C31,89C51
88、89C51等。等。CMOS CMOS Complementary Metal Oxide SemiconductorComplementary Metal Oxide Semiconductor 指互指互补金属氧化物补金属氧化物( (共同构成的互补型共同构成的互补型MOSMOS集成电路制造工艺集成电路制造工艺 。CMOSCMOS指保存计算机根本启动信息指保存计算机根本启动信息( (如日期、时间启动设置等如日期、时间启动设置等) )的芯片。的芯片。 节拍与状态:把振荡脉冲的周期定义为节拍用节拍与状态:把振荡脉冲的周期定义为节拍用P P表示。振荡表示。振荡频率经单片机内的二分频器分频后就是单片机的
89、时钟信号,把频率经单片机内的二分频器分频后就是单片机的时钟信号,把时钟信号的周期定义为状态用时钟信号的周期定义为状态用S S表示。因此,一个状态包含表示。因此,一个状态包含2 2个节拍前半周期对应的节拍和后半周期对应的节拍个节拍前半周期对应的节拍和后半周期对应的节拍。机器周期机器周期MCMC:1 1个机器周期由个机器周期由6 6个状态周期个状态周期S1-S6S1-S6及及1212个个振荡周期振荡周期(S1P1(S1P1、S1P2S1P2、 S6P1 S6P1、S6P2)S6P2)组成。是计算机执行组成。是计算机执行一种根本操作的时间单位。因此机器周期就是振荡脉冲的十二一种根本操作的时间单位。因
90、此机器周期就是振荡脉冲的十二分频。分频。指令周期:是最大的时序定时单位,执行一条指令所需要的时指令周期:是最大的时序定时单位,执行一条指令所需要的时间称之为指令周期。指令周期以机器周期的数目来表示。根据间称之为指令周期。指令周期以机器周期的数目来表示。根据指令的不同,可包含有指令的不同,可包含有1,21,2或或4 4个机器周期。个机器周期。二、时序定时单位二、时序定时单位时序之间关系:时序之间关系:1 1、振荡脉冲周期拍节:、振荡脉冲周期拍节:P P:P=Tosc=1/fosc P=Tosc=1/fosc foscfosc:振荡脉冲频率振荡脉冲频率2 2、状态周期:、状态周期:S=2P=2To
91、sc=2/foscS=2P=2Tosc=2/fosc3 3、机器周期、机器周期=12Tosc=12/fosc =12Tosc=12/fosc 4 4、单指令周期、单指令周期= =机器周期机器周期5 5、双指令周期、双指令周期=2=2个机器周期个机器周期例:单片机外接晶振频率例:单片机外接晶振频率12MHZ12MHZ时的各种时序单位:时的各种时序单位: 拍节拍节=1/fosc=1/12MHZ=0.0833us=1/fosc=1/12MHZ=0.0833us 状态状态=2/fosc=2/12MHZ=0.167us=2/fosc=2/12MHZ=0.167us 机器周期机器周期=12/fosc=12
92、/12MHZ=1us=12/fosc=12/12MHZ=1us 指令周期指令周期=(1=(14)4)机器周期机器周期=1=14us 4us 五、五、80C5180C51单片机工作方式单片机工作方式单片机共有复位、程序执行、单步执行、掉电保护、单片机共有复位、程序执行、单步执行、掉电保护、低功耗以及低功耗以及EPROMEPROM编程和校验等编程和校验等6 6种工作方式。种工作方式。一复位方式和复位电路一复位方式和复位电路1 1、复位操作:、复位操作: 复位电路用于产生复位信号,通过复位电路用于产生复位信号,通过RSTRST引脚送入引脚送入单片机,进行复位操作。单片机,进行复位操作。复位是单片机的
93、初始化操作,其主要功能是把复位是单片机的初始化操作,其主要功能是把PCPC初始化为初始化为0000H0000H,使单片机从,使单片机从0000H0000H单元开始执行单元开始执行程序。程序。除除PCPC之外,复位操作还对其它一些专用存放器之外,复位操作还对其它一些专用存放器有影响,具体见下表。有影响,具体见下表。2 2、复位电路概述、复位电路概述在单片机系统中共使用过四种类型的复位电路,分别为:积分电在单片机系统中共使用过四种类型的复位电路,分别为:积分电路型、微分电路型、比较器型和看门狗型。其中前三种是在芯片路型、微分电路型、比较器型和看门狗型。其中前三种是在芯片外面用分立元件或集成电路芯片
94、搭建。而最后一种位于芯片内部,外面用分立元件或集成电路芯片搭建。而最后一种位于芯片内部,是单片机芯片的一局部。是单片机芯片的一局部。、积分电路型:是在积分电路的根底上形成的,用于产生低、积分电路型:是在积分电路的根底上形成的,用于产生低电平复位信号。电平复位信号。、微分电路型:是在微分电路的根底上形成的,用于产生高、微分电路型:是在微分电路的根底上形成的,用于产生高电平复位信号。电平复位信号。3 3、复位方式复位操作有上电自动复位和按键手动复位、复位方式复位操作有上电自动复位和按键手动复位两种方式。两种方式。上电自动复位是通过外部复位电路的电容充电来实现上电自动复位是通过外部复位电路的电容充电
95、来实现的。的。a a图图按键手动复位有电平方式和脉冲方式两种。其中按键按键手动复位有电平方式和脉冲方式两种。其中按键电平复位是通过使复位端经电阻与电平复位是通过使复位端经电阻与VccVcc电源接通而实电源接通而实现的。现的。b b图图按键脉冲复位是利用按键脉冲复位是利用RCRC微分电路产生的正脉冲来实现微分电路产生的正脉冲来实现的。的。c c图图3 3、复位信号及其产生:、复位信号及其产生:RSTRST引脚是复位信号的输入端,复位信号引脚是复位信号的输入端,复位信号是高电平有效,有效时间应持续是高电平有效,有效时间应持续2424个振荡脉个振荡脉冲周期以上。整个复位电路包括芯片内外两冲周期以上。
96、整个复位电路包括芯片内外两局部。局部。外部电路产生的复位信号外部电路产生的复位信号RSTRST送施密特触送施密特触发器,再由片内复位电路在每个机器周期的发器,再由片内复位电路在每个机器周期的S5P2S5P2时刻对施密特触发器的输出进行采样。时刻对施密特触发器的输出进行采样。然后才得到内部复位操作所需要的信号。然后才得到内部复位操作所需要的信号。二程序执行方式:二程序执行方式:程序执行方式是单片机的根本工作方式。由于复位后程序执行方式是单片机的根本工作方式。由于复位后PCPC0000H0000H,因此程序执行总是从地址,因此程序执行总是从地址0000H0000H开始。开始。三掉电保护方式:三掉电
97、保护方式:先把有用数据转存,然后再启用备用电源维持供电。先把有用数据转存,然后再启用备用电源维持供电。四四80C5180C51的低功耗方式:的低功耗方式:有两种,即待机方式和掉电保护方式。有两种,即待机方式和掉电保护方式。待机方式和掉电方式都是由专用存放器待机方式和掉电方式都是由专用存放器PCONPCON电源控电源控制存放器的有关位来控制的。制存放器的有关位来控制的。6 65 54 43 32 21 10 0 GF1 GF0 PD IDL位序位符号SMODSMOD:波特率倍增位,在串行通信时使用:波特率倍增位,在串行通信时使用GF0GF0:通用标志位:通用标志位GF1GF1:通用标志位:通用标
98、志位PDPD:掉电方式位,:掉电方式位,PDPD1 1,进入掉电方式,进入掉电方式IDLIDL:待机方式位,:待机方式位,IDLIDL1 1,进入待机方式,进入待机方式只要执行一条能使只要执行一条能使IDLIDL或或PDPD位为位为1 1的指令就可让单片的指令就可让单片机进入掉电或待机工作方式。机进入掉电或待机工作方式。待机方式:这时振荡器仍然工作,并向中断逻辑、待机方式:这时振荡器仍然工作,并向中断逻辑、串行口和定时器串行口和定时器/ /计数器电路提供时钟,但向计数器电路提供时钟,但向CPUCPU提提供时钟的电路被阻断,因此供时钟的电路被阻断,因此CPUCPU不能工作,与不能工作,与CPUC
99、PU有有关的关的SPSP、PCPC、PWSPWS、ACCACC及全部通用存放器也都被及全部通用存放器也都被“冻结冻结在原状态。在原状态。掉电保护方式:此时单片机一切工作都停止,只有掉电保护方式:此时单片机一切工作都停止,只有内部内部RAMRAM单元的内容被保存。其中单元的内容被保存。其中80C5180C51的备用电源的备用电源由由VccVcc端引入,端引入, Vcc Vcc正常后,硬件复位信号维持正常后,硬件复位信号维持10ms10ms即能使单片机既退出掉电方式。即能使单片机既退出掉电方式。内内部部数数据据总总线线外部地址总线外部地址总线ABAB外部数据总线外部数据总线DBDB外部控制总线外部控制总线CBCB内部控制信号内部控制信号时钟及清零时钟及清零四、单片机的工作过程四、单片机的工作过程取指过程取指过程例例: : MOV A,#09H MOV A,#09H 74H74H 09H09H ; ;把把09H09H送到累加器送到累加器A A中中执行过程执行过程PC=0000H0001H0000H0002H0 1 1 1 0 1 0 00 0 0 0 1 0 0 1(PC)(PC)0001H0002H0000H外部控制总线外部控制总线CBCB取指过程取指过程取指过程取指过程(PC)执行过程执行过程你知道你知道你知道你知道PCPC的作用吗的作用吗的作用吗的作用吗?