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

下载本文档

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

文档简介

.,1,第2章单片机内部硬件架构及资源,本讲重点:1.MCS-51单片机的内部结构;2.单片机的引脚与I/O口结构;3.存储器、堆栈与特殊功能寄存器;4.单片机工作的基本时序;5.这一章以一些记忆性的为主,为后续章节提供了实现的内部硬件架构和物质保障;6.(复习)自己总结一下,51单片机内部涉及哪些寄存器,写出这些寄存器的英文全称,写出一些SFR有哪些位组成,.,2,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口),.,3,2.4单片机中几个重要的结构存储器、堆栈、SFR2.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节电工作方式,.,4,2.1单片机发展史(了解),2.1.1单片机的产生与发展第1阶段(19711976):单片机发展的初级阶段第2阶段(19761980):低性能单片机阶段MCS-48系列第3阶段(19801983):高性能实用性很强的单片机阶段MCS-51系列第4阶段(198380年代末):16位(全功能)单片机阶段.MCS-96系列8098/8096、80C198/80C196,第5阶段(90年代):(量体裁衣)单片机在集成度、多元化,功能、速度、可靠性、应用领域等全方位向更高水平发展.DSP,32位单片机ARM,.,5,单片机与嵌入式:微控制器MCU(Micro-ControllerUnit)嵌入式微控制器(EmbeddedMicrocontroller),单片机应用领域:测控系统、智能仪表、智能接口、办公自动化、光机电一体化设备、通讯设备、网络设备、汽车电子、消费类电子产品、智能楼宇设备,单片机的多种型号:IntelAtmel(89AVR)Motorola(M68HC08)TI(MSP430)PhilipsWinbond(华邦)Microchip(微芯PIC),.,6,Atmel标准型:AT89C51AT89C52AT89lv51AT89lv52低档型:AT89C1051AT89C2051(2Kflash)(20PIN)高档型:AT89S51AT89S52ISP功能AVR.,PhilipsP80CXXP87CXXP89CXXP87LPC7XX,TIMSP430,PIC系列,.,7,1.组成:CPU(进行运算、控制)RAM(数据存储器)I/O口(串口、并口等)ROM(程序存储器)PC机:上述部件以独立器件形式安装在主板上.包括:键盘、显示器、鼠标、硬/软/光驱、音箱、打印机、扫描仪等外设单片机:上述部件被集成到单芯片中,只是一片集成电路.(8/16/20/28/32/40/48/100条引脚).,2.1.2单片机与计算机之异同,2.功能:PC机:数据运算、采集、处理、存储、传输;单片机:控制(或受控于)外设,测控,往往嵌入某个仪器/设备/系统中,使其达到智能化的效果.,.,8,3.应用特点:PC机:体积大,功耗大,价格高(3000),用途较固定,属通用计算机.易于学习掌握和使用,但用于控制时必须安装一定的应用软件.单片机:体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机.是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专门的硬件和软件.,4.联系单片机的应用开发,软件编程环境(keil)、硬件SCH,PCB的设计(Protel)都是在PC个人电脑上进行的,.,9,2.1.3单片机的特点控制功能强,指令丰富.如转移,逻辑判断,位操作等;体积小,可靠性高,结构灵活,易于组成各种微机应用系统.低功耗、低电压;便于制作便携式、网络化等产品;外部设备接口集成度高SOC(SystemOnChip).如:可以集成AD/DA/LCD驱动/串口/USB/CAN/PWM等单片机与单片机系统:单片机是指一块芯片,它不能完成特定的应用任务;单片机系统指在一块单片机芯片的基础上,扩展了显示、键盘、以及其它外围芯片,构成的系统,.,10,2.2.1MCS-51单片机系列区别(强调,考试),2.2MCS-51单片机内部结构,.,11,表中列出了MCS-51系列单片机的两个子系列,在4个性能上略有差异.在本子系列内各类芯片的主要区别在于片内有无ROM或EPROM;MCS-51与MCS-52子系列间所不同的是:(1)片内程序存储器ROM从4KB增至8KB;(2)片内数据存储器由128个字节增至256个字节;(3)定时器/计数器增加了1个;(3)中断源增加了12个.对于制造工艺为CHMOS的单片机,由于采用CMOS技术制造,因此具有低功耗的特点,如8051功耗约为630mW,而80C51的功耗只有120mW.,.,12,2.2.2MCS-51单片机基本特性(内部资源),1.8位的CPU,片内有振荡器和时钟电路,工作频率为112MHz(Atmel89Cxx为024MHz)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条指令,.,13,内部结构框图(了解),.,14,MCS-51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件.运算部件以算术逻辑单元ALU(ArithmeticLogicUnit)为核心,包括累加器ACC(Accumulator)、寄存器B、暂存器、程序状态字PSW等许多部件.它能实现数据的算术逻辑运算、位变量处理和数据传输操作.MCS-51单片机(51子系列)内带有两个16位定时器/计数器T0和T1,它们均可作为定时器或计数器使用.,.,15,从一片集成电路的角度去认识单片机,DIP-40封装P0.0P0.7(39-32)8P1.0P1.7(1-8)8P2.0P2.7(21-28)8P3.0P3.7(10-17)8Vcc(40),GND(20)2XTAL1,XTAL2(18/19)2RESET(9)1EA*/Vpp(31)1ALE/PROG*(30)1PSEN*(29)1,2.2.3单片机的引脚(pin),Protel99中的位置ProtelDOSSchematicLibraries.ddbProtelDOSSchematicIntel.lib8031,.,16,44只引脚方形(PLCC)封装方式为(4只没有用),.,17,.,18,(1)Vcc(40),GND(20):正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同.(2)XTAL1,XTAL2(18,19):Crystal片内振荡电路输入/输出端,晶振实物图片,.,19,也可以由XTAL1端接入外部时钟,此时应将XTAL2接地:,典型晶振电路(OSCOscillator)通常外接一个晶振两个电容,.,20,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个机器周期(后面提到),.,21,(3)RESET(9):复位端(正脉冲有效,两个机器周期(2us-12MHz)的高电平信号使系统复位)复位使单片机进入某种确定的初始状态:(1)PC(ProgrameCounter)值归零(0000H)(2)各个SFR被赋予初始值(3)退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始.,.,22,PC与SFR(SpecialFunctionRegister)特殊功能寄存器特殊功能寄存器复位状态表(记忆!),.,23,+5V,10uF,8.2k,Vcc,RST,GND,上电复位阻容复位,10uF,10K,Vcc,RST,GND,手动(少用)(5)内部RAM和外部RAM存在地址重叠,但不会造成操作混乱,通过不同的指令来区别:访问内部RAM,用MOV指令,访问外部RAM,用MOVX指令,NOTE:,.,51,几个特殊的ROM空间,涉及到后面中断知识,.,52,2.4.3堆栈(stack)在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出or后进先出(LIFO/FILO)-LastInFirstOut的,顺序存储原则,这个RAM区叫堆栈-子弹夹(flash),1.功用:1)在调用子程序和中断服务程序时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈.2)保护现场/恢复现场(PUSH/POP)3)数据传输,.,53,复位后SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增1,仍指向栈顶,2.堆栈区由SFR的堆栈指针SP(StackPointer)管理,就51单片机而言,SP指示的是堆栈空间栈顶的地址(记忆)堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置(MOVSP,#60H).,.,54,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据.然后SP再自动减1,仍指向栈顶,.,55,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据.然后SP再自动减1,仍指向栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SP-1指向新的栈顶,也就是下一个将要出栈的数据,数据出栈,初始SP,.,56,ProgrammingTip:Bydefault,the8052initializestheStackPointer(SP)to07h,whenthemicrocontrollerisbooted.Thismeansthatthestackwillstartataddress08handexpandupwards.Ifyouwillbeusingthealternateregisterbanks(banks1,2or3),youmustinitializethestackpointertoanaddressabovethehighestregisterbankyouwillbeusing,otherwisethestackwilloverwriteyouralternateregisterbanks.Similarly,ifyouwillbeusingbitvariables,itisusuallyagoodideatoinitializethestackpointertosomevaluegreaterthan2Fhtoguaranteethatyourbitvariablesareprotectedfromthestack.(翻译),.,57,2.4.489C51特殊功能寄存器(SFR)SpecialFunctionRegister,1.作用:专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器.2.不同的SFR管理不同的硬件模块,负责不同的功能各司其职,换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求).,.,58,ProgrammingTip#1:SFRsareusedtocontrolthewaythe8052functions.EachSFRhasaspecificpurposeandformat.Notalladdressesabove80hareassignedtoSFRs.However,thisareamayNOTbeusedasadditionalRAMmemoryevenifagivenaddresshasnotbeenassignedtoanSFR.ProgrammingTip#2:Sincedirectaccesstoaddresses80hthroughFFhreferstoSFRs,directaccesscannotbeusedtoaccessInternalRAMaddresses80hthroughFFh.Theupper128bytesofInternalRAMmustbeaccessedusingIndirectAddressing,.,59,特点:(看下一页的图)1.PC不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊!2.它是系统内部唯一的一个不可寻址的16位寄存器,按机器周期自动加1计数器(记忆)3.PC总是指向下一条指令所在首地址(当前PC值)4.PC没有地址,不可寻址,用户无法对它进行读写,复位后,PC=0000H,系统从ROM:0000h单元开始执行程序5.一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值,程序计数器PC(ProgramCounter)记忆,.,60,内部结构框图(了解),.,61,89C51有21个SFR1-4.P0:P0口锁存器(Latch)80hP1:P1口锁存器90hP2:P2口锁存器0A0hP3:P3口锁存器0B0h(看上面那张图)BITADDRESSABLESETBP1.05.堆栈指针寄存器SP(StackPointer)81h总是指向栈顶,压栈时:先(SP)+1,后数据进栈;弹栈时:数据先出栈,然后(SP)-1.(注意这个顺序),.,62,6.累加器ACC(Accumulator)Bitaddressable0E0H一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输).JBACC.7,NEXT7.寄存器BBitaddressable0F0H一个经常与ACC配合在一起使用的特殊功能寄存器(如:乘法MULAB、除法DIVAB),此外,它也经常当作普通寄存器使用.,.,63,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赋以一定的含义,判断标志(有时用到),.,64,RS1(PSW.4)、RS0(PSW.3)RegisterBankSelect工作寄存器组选择位RS1,RS0=00则选择了工作寄存器组0区R0R7分别代表00H07H单元.movpsw,#00hRS1,RS0=01则选择了工作寄存器组1区R0R7分别代表08H0FH单元.movpsw,#08hRS1,RS0=10则选择了工作寄存器组2区R0R7分别代表10H17H单元.movpsw,#10hRS1,RS0=11则选择了工作寄存器组3区R0R7分别代表18H1FH单元.movpsw,#18hsetbrs1setbrs0,.,65,ProgrammingTip:Ifyouonlyusethefirstregisterbank(i.e.bank0),youmayuseInternalRAMlocations08hthrough1Fhforyourownuse.Ifyouplantouseregisterbanks1,2,or3,beverycarefulaboutusingaddressesbelow20hasyoumayendupoverwritingthevalueofRregistersfromotherregisterbanks.,.,66,片内RAM前32个单元(00H1FH)是工作寄存器区(由PSW中的RS1,RS0决定)系统复位后,PSW=00H,自动选择00-07h单元,工作寄存器区0,默认设置,.,67,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中,.,68,9-10.DPTR(DataPointer)数据指针寄存器82H,83H单片机内部唯一的一个可以供用户使用的16位寄存器(比较:PC16位不可寻址),用来存放16位地址值,以便用间接寻址或变址寻址片外存储器.MOVDPTR,#4000HDPTR可分成DPL(LOW)和DPH(HIGH)两个8位寄存器分别使用.(变形金刚)PUSHDPTR(X)Register16-RAM8PUSHDPL(V)PUSHDPH(V),.,69,此外还有如下寄存器,它们将在后面章节介绍(蓝色勾BITADDRESSABLE)11.IP(InterruptPriorities)中断优先级控制寄存器12.IE(InterruptEnable)中断允许控制寄存器13.TMOD(TimerModeRegister)定时器/计数器方式控制寄存器14.TCON(TimerControlRegister)定时器/计数器控制寄存器.15-16.TH0,TL0(Timer0Low/High)定时器/计数器017-18.TH1,TL1(Timer1Low/High)定时器/计数器119.SCON(SerialControlRegister)串行端口控制寄存器20.SBUF(SerialBufferRegister)串行数据缓冲器21.PCON(PowerControlRegister)电源控制寄存器,.,70,11个可位寻址的寄存器,bitaddressable,.,71,2.5单片机工作的基本时序,2.5.1机器周期和指令周期(1)振荡周期Tc(Clock):也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期.(晶振频率的倒数)(2)状态周期Ts(Status):每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的.(少用)(3)机器周期Tm(Machine):一个机器周期包含6个状态周期S1-S6,也就是12个时钟周期.在一个机器周期内,CPU可以完成一个独立的操作.(12MHz1us6MHz2us记忆在定时器中用到)(4)指令周期Ti:它是指CPU完

温馨提示

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

评论

0/150

提交评论