单片机学教程PPt第2章-内部硬件架构及资源课件_第1页
单片机学教程PPt第2章-内部硬件架构及资源课件_第2页
单片机学教程PPt第2章-内部硬件架构及资源课件_第3页
单片机学教程PPt第2章-内部硬件架构及资源课件_第4页
单片机学教程PPt第2章-内部硬件架构及资源课件_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

第2章单片机内部硬件架构及资源本讲重点: 1.MCS-51单片机的内部结构; 2.单片机的引脚与I/O口结构; 3.存储器、堆栈与特殊功能寄存器; 4.单片机工作的基本时序; 5.这一章以一些记忆性的为主,为后续章节提供了实现的内部硬件架构和物质保障; 6.(复习)自己总结一下,51单片机内部涉及哪些寄存器,写出这些寄存器的英文全称,写出一些SFR有哪些位组成 1精选课件2.1单片机发展史 2.1.1单片机的产生与发展

2.1.2单片机与计算机之异同 2.1.3单片机的特点2.2MCS-51单片机内部结构 2.2.1MCS-51单片机系列区别 2.2.2MCS-51单片机基本特性 2.2.3单片机的引脚定义2.3并行输入/输出接口 2.3.1单片机的引脚(P1口) 2.3.2单片机的引脚(P0口) 2.3.3单片机的引脚(P2口) 2.3.4单片机的引脚(P3口)2精选课件2.4单片机中几个重要的结构存储器、堆栈、SFR 2.4.1单片机的存储器——几个有关的概念: 2.4.289C51单片机存储器配置 2.4.3堆栈 2.4.489C51特殊功能寄存器2.5单片机工作的基本时序 2.5.1机器周期和指令周期 2.5.2MCS-51指令的取指/执行时序 2.5.3访问外部ROM和RAM的时序 2.5.4读外部数据RAM时序 2.5.5写外部数据RAM的时序2.6单片机的工作方式 2.6.1 复位方式 2.6.2 程序执行方式 2.6.3节电工作方式3精选课件2.1单片机发展史(了解)2.1.1单片机的产生与发展

第1阶段(1971~1976):单片机发展的初级阶段第2阶段(1976~1980):低性能单片机阶段MCS-48系列第3阶段(1980~1983):高性能实用性很强的单片机阶段

MCS-51系列第4阶段(1983~80年代末):16位(全功能)单片机阶段.MCS-96系列8098/8096、80C198/80C196,第5阶段(90年代):(量体裁衣)单片机在集成度、多元化,功能、速度、可靠性、应用领域等全方位向更高水平发展.DSP,32位单片机ARM4精选课件单片机与嵌入式:微控制器MCU(Micro-ControllerUnit)嵌入式微控制器(EmbeddedMicrocontroller)单片机应用领域:测控系统、智能仪表、智能接口、办公自动化、光机电一体化设备、通讯设备、网络设备、汽车电子、消费类电子产品、智能楼宇设备……单片机的多种型号:IntelAtmel(89AVR)Motorola(M68HC08)TI(MSP430)PhilipsWinbond(华邦)Microchip(微芯PIC)………5精选课件Atmel标准型:AT89C51AT89C52AT89lv51AT89lv52低档型:AT89C1051AT89C2051(2Kflash)(20PIN)高档型:AT89S51AT89S52ISP功能AVR….PhilipsP80CXXP87CXXP89CXXP87LPC7XXTIMSP430PIC系列6精选课件1.组成: CPU(进行运算、控制)RAM(数据存储器) I/O口(串口、并口等)ROM(程序存储器)

PC机:上述部件以独立器件形式安装在主板上.包括:键盘、显示器、鼠标、硬/软/光驱、音箱、打印机、扫描仪…等外设

单片机:上述部件被集成到单芯片中,只是一片集成电路.(8/16/20/28/32/40/48/100……条引脚).2.1.2单片机与计算机之异同2.功能:PC机:数据运算、采集、处理、存储、传输;单片机:控制(或受控于)外设,测控,往往嵌入某个仪器/设备/系统中,使其达到智能化的效果.7精选课件3.应用特点:PC机: 体积大,功耗大,价格高(3000…),用途较固定,属通用计算机.易于学习掌握和使用,但用于控制时必须安装一定的应用软件.单片机: 体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机.是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专门的硬件和软件.4.联系 单片机的应用开发,软件编程环境(keil)、硬件SCH,PCB的设计(Protel)都是在PC个人电脑上进行的8精选课件2.1.3单片机的特点控制功能强,指令丰富.如转移,逻辑判断,位操作等;体积小,可靠性高,结构灵活,易于组成各种微机应用系统.低功耗、低电压;便于制作便携式、网络化等产品;外部设备接口集成度高SOC(SystemOnChip).如:可以集成AD/DA/LCD驱动/串口/USB/CAN/PWM等单片机与单片机系统:单片机是指一块芯片,它不能完成特定的应用任务;单片机系统指在一块单片机芯片的基础上,扩展了显示、键盘、以及其它外围芯片,构成的系统9精选课件系列片内存储器(字节)定时器计数器并行I/O串行I/O中断源片内ROM片内RAM无romless有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字节)875187C51(4K字节)128字节2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字节)875287C52(8K字节)256字节3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(FLASHDIP-20封装)1282151589C51(4K)/89C52(8K)/89S51(40条引脚DIP封装)128/2562/33215/62.2.1MCS-51单片机系列区别(强调,考试)2.2MCS-51单片机内部结构10精选课件表中列出了MCS-51系列单片机的两个子系列,在4个性能上略有差异.在本子系列内各类芯片的主要区别在于片内有无ROM或EPROM;

MCS-51与MCS-52子系列间所不同的是: (1)片内程序存储器ROM从4KB增至8KB; (2)片内数据存储器由128个字节增至256个字节; (3)定时器/计数器增加了1个; (3)中断源增加了1~2个.

对于制造工艺为CHMOS的单片机,由于采用CMOS技术制造,因此具有低功耗的特点,如8051功耗约为630mW,而80C51的功耗只有120mW.11精选课件2.2.2MCS-51单片机基本特性(内部资源)1.8位的CPU,片内有振荡器和时钟电路,工作频率为1~12MHz(Atmel89Cxx为0~24MHz)2.片内有128字节RAM3.片内有0K/4K字节程序存储器ROM4.可寻址片外64K字节数据存储器RAM(216=65536=1024*64)5.可寻址片外64K字节程序存储器ROM(少用了)6.片内21个特殊功能寄存器(SFR-SpecialFunctionRegister)7.4个8位并行I/O口(P0-P3)8.1个全双工串行口(UART)9.2个16位定时器/计数器(TIMER/COUNTER)10.可处理5个中断源,两级中断优先级11.内置1个布尔处理器Cy和1个累加器ACC12.MCS-51指令集含111条指令12精选课件内部结构框图(了解)13精选课件 MCS-51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件.

运算部件以算术逻辑单元ALU(ArithmeticLogicUnit)为核心,包括累加器ACC(Accumulator)、寄存器B、暂存器、程序状态字PSW等许多部件.它能实现数据的算术逻辑运算、位变量处理和数据传输操作. MCS-51单片机(51子系列)内带有两个16位定时器/计数器T0和T1,它们均可作为定时器或计数器使用.14精选课件从一片集成电路的角度去认识单片机DIP-40封装P0.0—P0.7(39-32) 8P1.0—P1.7(1-8) 8P2.0—P2.7(21-28) 8P3.0—P3.7(10-17) 8Vcc(40),GND(20) 2XTAL1,XTAL2(18/19) 2RESET(9) 1EA*/Vpp(31) 1ALE/PROG*(30) 1PSEN*(29) 12.2.3单片机的引脚(pin)Protel99中的位置ProtelDOSSchematicLibraries.ddbProtelDOSSchematicIntel.lib803115精选课件44只引脚方形(PLCC)封装方式为(4只没有用)16精选课件17精选课件(1)Vcc(40),GND(20):正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同.(2)XTAL1,XTAL2(18,19):Crystal片内振荡电路输入/输出端晶振实物图片18精选课件也可以由XTAL1端接入外部时钟,此时应将XTAL2接地:1~12MHz(MCS-51)15~45pFXTAL1XTAL2XTAL2XTAL1外部时钟典型晶振电路(OSCOscillator)通常外接一个晶振两个电容19精选课件CPU总是按照一定的时钟节拍与时序工作(后面有详细叙述)1.振荡周期/时钟周期Tc:(clock)(记忆)

对于12MHz,1个振荡周期=1/12us 振荡周期=1/fosc2.状态周期Ts:(很少用到此概念)Ts(status)=2个时钟周期(Tc)3.机器周期:Tm(machine)=6个状态周期(Ts)=12个振荡周期(Tc) (记忆)对于12MHz,1个机器周期=1us6MHz呢?4.指令周期:

Ti(instruction):执行一条指令所需的机器周期(Tm)数(如DJNZR7,$两个机器周期)NOTE: 1个指令周期=1、2、4个机器周期(后面提到)20精选课件(3)RESET(9):复位端(正脉冲有效,两个机器周期(2us-12MHz)的高电平信号使系统复位)复位使单片机进入某种确定的初始状态:(1)PC(ProgrameCounter)值归零(0000H)(2)各个SFR被赋予初始值(3)退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始.21精选课件PC与SFR(SpecialFunctionRegister)特殊功能寄存器特殊功能寄存器复位状态表(记忆!)寄存器复位状态寄存器复位状态PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07H(特殊,记忆)TH100HDPTR0000HTL100HP0~P3FFH(特殊,记忆)SCON00HIPXX000000BSBUFXXHIE0X000000BPCON0XXX0000BTMOD00H22精选课件+5V10uF8.2kVccRSTGND上电复位阻容复位10uF10KVccRSTGND手动&上电复位1K+5V>>有些芯片也需要复位电平,如果器要求和单片机相同,可以和RST相连典型复位电路(Reset记忆)23精选课件扩展:使用MAX706(24-26自学,实验用到)up监控器MAX706MAX706内部由时基信号发生器,看门狗定时器,复位信号发生器及掉电电压比较器构成,其中时基信号发生器提供看门狗定时器定时脉冲,芯片的引脚如图所示,各引脚愈义如下:PFI(PowerFailVoltageMonitorInput)电源故障电压监控输入PFO*(Power-FailOutput)电源故障输出,当监控电压PFI<1.25V,PFO变低.WDI(WatchdogInput)看门狗输入RESET高电平复位信号输出端MR*(Manual-ResetInput)手动复位WDO*(WatchdogOutput)看门狗输出MAx706P的典型应用电路如图24精选课件25精选课件复位功能 手动复位:当接在MR*引脚上的按键按下,MR*接收低电平信号,RESET变为高电平,延时时间为200ms,使8XX51复位. 当电源电压降至4.4V以下,内部的电压比较器使RESET变为高电平使单片机复位,直到Vcc上升到正常值.26精选课件4.EA*/Vpp:(ExternalAccess)(31脚)

寻址外部ROM控制端/编程电源输入端.EA*:低有效(理解记忆!难点)(1)接地GND:使用的是ROMless的MCU时(2)接高电平Vcc(常用):片内有ROM,对8051而言当PC<0FFFH(4k),CPU首先访问片内ROM,当PC>0FFFH,且外部有扩展ROM时,CPU自动转向外部ROM的程序Vpp:对片内ROM编程时编程正电源加到此端.(了解)27精选课件(5)ALE(AddressLatchEnable)

/PROG*:(30脚) 地址锁存允许/编程脉冲输入端.

ALE:P0口寻址外部低8位地址时接外部锁存器G(LE)端;当访问外部存储器时,ALE信号的负跳变将P0口上的低8位地址送入锁存器;

不访问外部存储器时,ALE端以固定的振荡器振荡频率的1/6速率输出正脉冲信号,作为对外的时钟信号或定时脉冲ffosc/6(记忆!)

PROG*对片内ROM编程时编程脉冲由此端加入(了解)28精选课件例1:SRAM6264的扩展89C516264P0.0-P0.7ALEP2.7P2.0-P2.48D8QOEA8-A12A0-A7D0-D7G(LE)EAOECE2*RDWRWECE1*+5V锁存器74LS37329精选课件8031锁存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM(6)PSEN*

(ProgramStoreEnable)

低有效(29脚)寻址外部程序存储器时选通外部ROM的读控制端(OE*)Note:读取外部ROM时,每个机器周期产生两次PSEN有效信号,执行片内ROM取指时,不产生PSEN信号30精选课件综述(记忆,重要,记住这几个结论!)P0.0—P0.7:双向8位数据口和输出低8位地址,内部无上拉电阻,做为普通I/O口使用时,外部一般接10k上拉电阻P1.0--P1.7:内置了上拉电阻的8位准双向(……)I/O口P2.0—P2.7:内置了上拉电阻的8位准双向I/O口 寻址外部程序存储器时,输出高8位地址; 不接外部程序存储器时,可作为8位准双向I/O口使用.P3.0—P3.7:内置了上拉电阻的8位准双向I/0口 它具有特定的第二功能.不使用它的第二功能时,可作为8位准双向I/O口.2.3并行输入/输出接口31精选课件排阻的实物图片

32精选课件P3口第二功能表(重要)引脚第二功能P3.0RxD(ReceiveData):串行口接收数据输入端P3.1TxD(TransmitData):串行口发送数据输出端P3.2INT0*(External0Interrupt):外部中断申请输入端0P3.3INT1*(External1Interrupt):外部中断申请输入端1P3.4T0(clocksourcefortimer0):外部计数脉冲输入端0P3.5T1(clocksourcefortimer0):外部计数脉冲输入端1P3.6WR*(Write):写外设控制信号输出端P3.7RD*(Read):读外设控制信号输出端33精选课件准双向口:在输入数据时,应先把口线置1,使两个输出FET关断,使管脚“浮置”,成为高阻状态,这样才能正确的输入数据,这就是所谓的准双向口在准双向口作为输入口时,应先置1锁存器,即先向该I/O口写“1”,使该I/O口工作于输入方式,然后再读引脚.(记忆)比如,要将P1口的状态读入到累加器A中,软件实现方法如下:MOVP1,#0FFH ;P1口置为输入方式MOVA,P1 ;读P1口状态到累加器A中34精选课件简单测控实例原理图35精选课件P1.3作输入端口光路通畅,R亮2K光路阻断,R暗400KR亮<2.2KR暗

>250K36精选课件JOB3:CLRP1.1;亮绿灯REDO:SETBP1.3;P1.3作输入口必先置1CHECK:JNBP1.3,CHECK;检测通道是否被阻断?LOOP:…………;有入侵者,报警! AJMPREDO;再跳回去检测任务:红外防盗报警(用到后面程序知识了)P1.3口用于输入状态检测的语句:

R亮<2.2k,红外线光路通畅时,P1.3=低电平R暗>250k,红外线光路阻断时,P1.3=高电平37精选课件(4)并行口的负载能力

P0、P1、P2、P3口的电平与CMOS和TTL电平兼容.P0口的每一位口线可以驱动8个LSTTL负载.(800uA) 在作为通用I/O口时,由于输出驱动电路是漏极开路方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻; 当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻.38精选课件P1、P2、P3口的每一位能驱动4个LSTTL(400uA)负载.它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻.

由于单片机口线仅能提供几毫安的电流,当作为输出驱动一般的晶体管的基极时,应在口与晶体管的基极之间串接限流电阻.39精选课件2.4单片机内部几个重要的结构存储器、堆栈、SFR(重要)40精选课件2.4.1单片机的存储器——几个有关的概念:几种存储器类型:RAM(RandomAccessMemory)数据存储器,存放检测的数据,中间变量(内存) (1)SRAM(StaticRAM) 静态存储器

(2)DRAM(DynamicRAM) 动态存储器ROM(ReadOnlyMemory) 程序存储器,存放应用程序(硬盘) (1)MASKROM掩膜-大量生产

(2)OTP(OneTimeProgrammable) 一次可编程ROM (3)EPROM(UV)(ErasableProgrammableROM)

(2764-M2764A)

用紫外线擦除的ROM(芯片中央有圆形的孔,几十分钟)

常用(4)EEPROM/E2PROM——ElectricalErasableProgrammableROM

用电擦除的ROM,掉电保存(24LC256X2816C)

常用 (5)FlashMemory闪速存储器(AT29C256)41精选课件2.4.289C51单片机存储器配置(难点重点)MCS51单片机,程序存储器与数据存储器分别编址---冯诺依曼结构8XC196/MSP430单片机,程序存储器与数据存储器统一编址普林斯顿结构7FH=127,FFH=255,FFFH=4K-1,FFFFH=64K-1(看懂这张图)42精选课件1.片内RAM低128字节(00H—7FH);(记忆)(1)00H-1FH:前32个单元是工作寄存器区(2)20H-2FH:128个可按位寻址的位,占16个单元,位地址编 号为:00H-7FH(3)30H-7FH:片内一般RAM,只能按字节寻址2.片内RAM高128字节(80-FFH)

离散分布着21个特殊功能寄存器SFR(SpecialFunctionRegister)其中:地址号能被8整除的SFR中的可以按位寻址3.可寻址片外RAM64K字节(0000H—FFFFH)少用4.片内ROM4K字节(000H—FFFH)5.片外ROM64K字节(0000H—FFFFH)少用43精选课件1.片内RAM低128字节(00H-7FH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SFR分布在80H-FFH其中92个位可位寻址80HFFH所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据89C51128字节44精选课件00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区00FH10H17H18H(1)工作寄存器区片内RAM前32(8*4)个单元(00H—1FH)任意时刻只可以使用一组工作寄存器区默认设置45精选课件00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区(2)可按位寻址的字节单元20H—2FH单元片内RAM中128(8*16)个的位.位地址:00H—7FH

ProgrammingTip:IfyourprogramdoesnotusebitvariablesyoumayuseInternalRAMlocations20hthrough2Fhforyourownuse.Ifyouplantousebitvariablesbeverycarefulaboutusingaddressesfrom20hthrough2Fhasyoumayendupoverwritingthevalueofyourbits.46精选课件00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位地址总共128个可按位寻址的位(1)FINDBIT00H(2)FINDBIT20H.0(3)FLAGDATA20HFINDBITFLAG.047精选课件00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区可以供编程使用的单元,注意,只能当字节用,一共80个单元(3)30H-7FH:片内一般RAM,只能按字节寻址48精选课件片内FlashROM4K字节(0000H—0FFFH);可寻址片外ROM64K字节(0000H—FFFFH);对比:可寻址片外RAM64K字节(0000H—FFFFH);FFFFH0000H可寻址片外RAM64K字节FFFFH0000H可寻址片外ROM64K字节FFFH000H可寻址片内FlashROM4K字节89C517FH00H片内RAM128字节FFH80H49精选课件(1)程序存储器存放调试好的应用程序和表格常数(TAB:DB**H,**H,…….)(2)MCS-51采用16位的PC和16位的地址总线(P2+P0),使64k程序存储器空间连续、统一(3)对于内部有ROM的CPU,EA*接高电平,程序首先从内部ROM开始执行,当PC>0FFFH时,自动转向外部ROM(1000-0FFFFH)地址空间执行程序(4)对于内部没有ROM的CPU,EA*接低电平,迫使CPU从外部ROM取指令;(少用)(5)内部RAM和外部RAM存在地址重叠,但不会造成操作混乱,通过不同的指令来区别:访问内部RAM,用MOV指令,访问外部RAM,用MOVX指令NOTE:50精选课件符号名称中断引起原因中断服务程序入口(ROM空间)INT0外部中断0P3.2引脚的低电平或下降沿信号0003HT0定时器0溢出中断定时计数器0计数回零溢出000BHINT1外部中断1P3.3引脚的低电平或下降沿信号0013HT1定时器1溢出中断定时计数器1计数回零溢出001BHTI/RI串行口中断串行通信完成一帧数据发送或接收引起中断0023H几个特殊的ROM空间,涉及到后面中断知识51精选课件2.4.3堆栈(stack)在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出or后进先出(LIFO/FILO)-LastInFirstOut的,顺序存储原则,这个RAM区叫堆栈 ---子弹夹(flash)1.功用:1)在调用子程序和中断服务程序时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈.2)保护现场/恢复现场(PUSH/POP)3)数据传输52精选课件复位后SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增1,仍指向栈顶2.堆栈区由SFR的堆栈指针SP(StackPointer)管理,就51单片机而言,SP指示的是堆栈空间栈顶的地址(记忆) 堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置(MOVSP,#60H).00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP栈顶下一个进栈的数据将存在此数据进栈已经进栈的数据存放在此初始SP53精选课件从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据.然后SP再自动减1,仍指向栈顶……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP栈顶当前要出栈的数据数据出栈SP-1指向下一个将要出栈的数据初始SP54精选课件从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据.然后SP再自动减1,仍指向栈顶……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区SP-1指向新的栈顶,也就是下一个将要出栈的数据数据出栈初始SP55精选课件ProgrammingTip:Bydefault,the8052initializestheStackPointer(SP)to07h,whenthemicrocontrollerisbooted.Thismeansthatthestackwillstartataddress08handexpandupwards.Ifyouwillbeusingthealternateregisterbanks(banks1,2or3),youmustinitializethestackpointertoanaddressabovethehighestregisterbankyouwillbeusing,otherwisethestackwilloverwriteyouralternateregisterbanks.Similarly,ifyouwillbeusingbitvariables,itisusuallyagoodideatoinitializethestackpointertosomevaluegreaterthan2Fhtoguaranteethatyourbitvariablesareprotectedfromthestack.(翻译)56精选课件2.4.489C51特殊功能寄存器(SFR)SpecialFunctionRegister1.作用:专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器.2.不同的SFR管理不同的硬件模块,负责不同的功能——各司其职,换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求).57精选课件ProgrammingTip#1:SFRsareusedtocontrolthewaythe8052functions.EachSFRhasaspecificpurpose

andformat.Notalladdressesabove80hareassignedtoSFRs.However,thisareamayNOTbeused

asadditionalRAM

memoryevenifagivenaddresshasnotbeenassignedtoanSFR.

ProgrammingTip#2:Sincedirectaccesstoaddresses80hthroughFFhreferstoSFRs, directaccesscannotbeusedtoaccessInternalRAMaddresses80hthroughFFh.Theupper128bytesofInternalRAMmustbeaccessedusingIndirectAddressing58精选课件特点:(看下一页的图)1.PC不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊!!!2.它是系统内部唯一的一个不可寻址的16位寄存器,按机器周期自动加1计数器(记忆)3.PC总是指向下一条指令所在首地址(当前PC值)4.PC没有地址,不可寻址,用户无法对它进行读写,复位后,PC=0000H,系统从ROM:0000h单元开始执行程序5.一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值程序计数器PC(ProgramCounter)记忆59精选课件内部结构框图(了解)60精选课件89C51有21个SFR1-4.

P0:P0口锁存器(Latch)80h P1:P1口锁存器90h P2:P2口锁存器0A0h P3:P3口锁存器0B0h(看上面那张图)BITADDRESSABLESETBP1.05. 堆栈指针寄存器SP(StackPointer)81h 总是指向栈顶,压栈时:先(SP)+1,后数据进栈;弹栈时:数据先出栈,然后(SP)-1.(注意这个顺序)61精选课件6.累加器ACC(Accumulator)Bitaddressable0E0H

一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输…).JBACC.7,NEXT7.寄存器BBitaddressable0F0H一个经常与ACC配合在一起使用的特殊功能寄存器(如:乘法MULAB、除法DIVAB),此外,它也经常当作普通寄存器使用.62精选课件8.程序状态字寄存器PSW(ProgramStatusWord):Bitaddressable(0D0h)Cy(PSW.7CarryFlag)进位/借位标志位.若ACC在运算过程中,D7发生了进位或借位,则CY=1;否则=0.它也是布尔处理器的位累加器,可用于布尔操作.使用频繁,JC/JNC/CJNE/ADDC/SUBB多条指令(常用)AC(PSW.6AuxiliaryCarryFlag)半进位/借位标志位.若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0.机器在执行“DAA”指令时自动要判断这一位,我们可以暂时不关心它.(少用)F0(PSW.5GeneralPurposeStatusFlag0)用户可以根据需要对F0赋以一定的含义,判断标志(有时用到)CyACF0RS0OVPRS1PSW.7PSW.063精选课件RS1(PSW.4)、RS0(PSW.3)RegisterBankSelect

工作寄存器组选择位RS1,RS0=00则选择了工作寄存器组0区R0~R7分别代表00H~07H单元.movpsw,#00hRS1,RS0=01则选择了工作寄存器组1区R0~R7分别代表08H~0FH单元.movpsw,#08hRS1,RS0=10则选择了工作寄存器组2区

R0~R7分别代表10H~17H单元.movpsw,#10hRS1,RS0=11则选择了工作寄存器组3区R0~R7分别代表18H~1FH单元.movpsw,#18hsetbrs1 setbrs0CYACF0RS0OVPRS1PSW.7PSW.0PSW.4PSW.364精选课件ProgrammingTip:Ifyouonlyusethefirstregisterbank(i.e.bank0),youmayuseInternalRAMlocations08hthrough1Fhforyourownuse.Ifyouplantouseregisterbanks1,2,or3,beverycarefulaboutusingaddressesbelow20hasyoumayendupoverwritingthevalueof"R"registersfromotherregisterbanks.65精选课件片内RAM前32个单元(00H—1FH)是工作寄存器区(由PSW中的RS1,RS0决定) 系统复位后,PSW=00H,自动选择00-07h单元,工作寄存器区0,默认设置00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM区普通RAM区位寻址区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区3工作寄存器区2工作寄存器区1工作寄存器区066精选课件OV(PSW.2OverflowFlag)溢出标志位OV=1时特指累加器在进行带符号数(-128---+127)运算时出错(超出范围);OV=0时未出错.PSW.1保留位,未定义.P(PSW.0Parityofaccumulator)奇偶标志位P=1表示累加器中“1”的个数为奇数(odd)P=0表示累加器中“1”的个数为偶数(even)(通信一节提到)CPU随时监视着ACC中的“1”的个数,并反映在PSW中CYACF0RS0OVPRS1PSW.7PSW.0PSW.2PSW.167精选课件9-10.DPTR(DataPointer)数据指针寄存器82H,83H单片机内部唯一的一个可以供用户使用的16位寄存器(比较:PC16位不可寻址),用来存放16位地址值,以便用间接寻址或变址寻址片外存储器.MOVDPTR,#4000H DPTR可分成DPL(LOW)和DPH(HIGH)两个8位寄存器分别使用.(变形金刚)PUSHDPTR(X)Register16-RAM8PUSHDPL(V)PUSHDPH(V)68精选课件此外还有如下寄存器,它们将在后面章节介绍(蓝色勾BITADDRESSABLE)11. IP(InterruptPriorities)——中断优先级控制寄存器1

温馨提示

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

最新文档

评论

0/150

提交评论