部分单片机硬件基础知识_第1页
部分单片机硬件基础知识_第2页
部分单片机硬件基础知识_第3页
部分单片机硬件基础知识_第4页
部分单片机硬件基础知识_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

第二讲:单片机硬件基础,本讲重点:MCS-51的基本特性;单片机的引脚与I/O口结构;存储器、堆栈与特殊功能寄存器;低功耗运行方式最小系统设计,MCS-51单片机基本特性,8位的CPU,片内有振荡器和时钟电路,工作频率为112MHz(Atmel89Cxx为024MHz)片内有128/256字节RAM片内有4K/8K字节程序存储器ROM可寻址片外64K字节数据存储器RAM可寻址片外64K字节程序存储器ROM片内21/26个特殊功能寄存器(SFR)4个8位的并行I/O口(PIO)1个全双工串行口(SIO/UART)2/3个16位定时器/计数器(TIMER/COUNTER)可处理5/6个中断源,两级中断优先级内置1个布尔处理器和1个布尔累加器(Cy)MCS-51指令集含111条指令,MCS-51系列单片机配置一览表,注意:今后将会经常提到ATMEL的AT89C2051/51/52等MCU!,.,.,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,RST/VPD,RXDP3.0,TXDP3.1,INT0P3.2,INT1P3.3,T0P3.4,T1P3.5,WRP3.6,RDP3.7,XTAL2,XTAL1,VCC,VSS,EA/VPP,ALE/PROG,PSEN,1,20,21,40,MCS-51,MCS51单片机的硬件结构,硬件结构,CPU,时钟电路,RAM,定时/计数器,并行接口,串行接口,中断系统,T0T1,P0P1P2P3,TXDRXD,INT0INT1,ROM,MCS51单片机的基本组成框图,MCS-51单片机内部结构展开图,1288RAM,RAM地址寄存器,P3口,P1口,P2口,P0口,锁存器,锁存器,锁存器,锁存器,中断控制定时/计数器串行I/O口,SP,寄存器B,累加器A,暂存器1,暂存器2,程序状态字PSW,指令寄存器IR,指令译码器ID,数据指针DPTR,缓冲器,程序计数器,PC增1,程序地址寄存器AR,定时与控制,4K8ROM,ALU,CPU,CPU,单片机的引脚定义,从一片集成电路的角度去认识单片机,认识单片机的引脚,MCS-51单片机40脚Vcc,GND2XTAL1,XTAL22RESET1EA/Vpp1ALE/PROG1PSEN1,P0.0P0.78P1.0P1.78P2.0P2.78P3.0P3.78,单片机的引脚(电源端),Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。,单片机的引脚(晶振端),Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)不同的单片机可以允许不同的工作电压,不同的单片机表现出的功耗也不同。,XTAL1,XTAL2:片内振荡电路输入/输出端,单片机的引脚(晶振端),Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入/输出端,1545pfx2,112MHz(MCS-51)024MHz(Atmel-89C),XTAL1,XTAL2,也可以由XTAL1端接入外部时钟,此时应将XTAL2接地:,XTAL2,XTAL1,外部时钟,通常外接一个晶振两个电容,单片机的引脚(晶振端),Vcc,GND:正电源端与接地端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端,CPU总是按照一定的时钟节拍与时序工作:,振荡周期/时钟周期:Tc=晶振频率fosc(或外加频率)的倒数状态周期:Ts=2个时钟周期(Tc)(很少用到此概念)机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)指令周期:Ti:执行一条指令所需的机器周期(Tm)数,牢牢记住:振荡周期=晶振频率fosc的倒数;,1个机器周期=12个振荡周期;,1个指令周期=1、2、4个机器周期,单片机的引脚(复位端),Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS),复位使单片机进入某种确定的初始状态:PC值归零(0000H);各个SFR被赋予初始值(见P.42):P0P3=0FFH,Acc=0,B=0,TH0=0,TL0=0,TH1=0,TL0=0,SP=7,PSW=0退出处于节电工作方式的停顿状态、退出一切程序进程、退出程序的死循环,从头开始。,单片机的引脚(复位端),Vcc,GND:电源端(+5V/3.3V/2.7V)XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端(正脉冲有效,宽度8mS),PC与SFR复位状态表,单片机的引脚(复位端),+5V,10uF,10K,Vcc,RST,GND,上电复位,10uF,10K,Vcc,RST,GND,手动亮绿灯REDO:SETBP1.3;P1.3作输入口必先置1CHECK:JNBP1.3,CHECK;检测通道是否被阻断?LOOP:;有入侵者,报警!AJMPREDO;再跳回去检测,任务三:红外防盗报警,P1.3口用于输入状态检测的语句:,红外线光路通畅时,P1.3端低电平红外线光路阻断时,P1.3端高电平,单片机的引脚(P0口),P0.0P0.7:双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,Vcc,MOVP0,#0FFH;作I/O总线用;MOVXDPTR,A;作地址/数据总线用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制,引脚P0.X,3,4,控制=0时,此脚作输入口(事先必须对它写“1”),0,0,1,0,0,截止,截止,=0,Vcc,单片机的引脚(P0口),P0.0P0.7:双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(1)输出地址/数据=0时,1,0,1,1,=0,导通,截止,=0,Vcc,单片机的引脚(P0口),P0.0P0.7:双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址/数据,控制=1,引脚P0.X,3,4,控制=1时,此脚作地址/数据复用口:(2)输出地址/数据=1时,1,1,0,0,=1,截止,导通,=1,Vcc,单片机的引脚(P0口),P0.0P0.7:双向I/O(内置场效应管上拉)寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P2口),P2.0P2.7:双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址高8位,控制,引脚P2.X,3,内部上拉电阻,Vcc,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址高8位,控制,引脚P2.X,控制=0时,此脚作通用输出口:输出=1时,1,1,0,截止,3,内部上拉电阻,1,1,Vcc,=1,=0,单片机的引脚(P2口),P2.0P2.7:双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址高8位,控制,引脚P2.X,控制=0时,此脚作通用输出口:输出=0时,0,0,1,导通,3,内部上拉电阻,0,0,Vcc,=0,=0,单片机的引脚(P2口),P2.0P2.7:双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址高8位,控制=1,引脚P2.X,控制=1时,此脚作高8位地址A8A15输出口:当输出=1时,1,0,截止,3,内部上拉电阻,1,=1,Vcc,=1,单片机的引脚(P2口),P2.0P2.7:双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,地址高8位,控制=1,引脚P2.X,0,1,导通,3,内部上拉电阻,0,=0,Vcc,=0,控制=1时,此脚作高8位地址A8A15输出口:当输出=0时,单片机的引脚(P2口),P2.0P2.7:双向I/O(内置了上拉电阻)寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。,单片机的引脚(P3口),P3.0P3.7:双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,第二功能输出,引脚P3.X,3,内部上拉电阻,Vcc,第二功能输入,4,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,第二功能输出(WR,RD,TxD),引脚P3.X,3,内部上拉电阻,Vcc,4,第二功能输出时,内部自动D=1,1,1,1,反相器,单片机的引脚(P3口),P3.0P3.7:双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。,2,1,D,Q,CK,/Q,读引脚,读锁存器,写锁存器,内部总线,此端自动1,引脚P3.X,3,内部上拉电阻,Vcc,第二功能输入(RxD,T0,T1,INT0,INT1),4,第二功能输入时,信号经缓冲器4直接进入内总线,1,1,1,0,截止,单片机的引脚(P3口),P3.0P3.7:双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。,P3口第二功能表(P.31表23),51单片机的8个特殊引脚,Vcc,GND:电源端XTAL1,XTAL2:片内振荡电路输入、输出端RESET:复位端正脉冲有效(宽度8mS)EA/Vpp:寻址外部ROM控制端。低有效片内有ROM时应当接高电平。ALE/PROG:地址锁存允许控制端。PSEN:选通外部ROM的读(OE)控制端。低有效,小结,51单片机的4个8位的I/O口,P0.0P0.7:8位数据口和输出低8位地址复用口(复用时是双向口;不复用时也是准双向口)P1.0P1.7:通用I/O口(准双向口),P2.0P2.7:输出高8位地址(用于寻址时是输出口;不寻址时是准双向口)P3.0P3.7:具有特定的第二功能(准双向口),注意:在不外扩ROM/RAM时,P0P3均可作通用I/O口使用,而且都是准双向I/O口(例如:AT89C51)!,小结,存储器、堆栈、SFR,数据存储器RAM(RandomAccessMemory)程序存储器ROM(ReadOnlyMemory)闪速存储器FlashMemoryEPROM(UV)ErazibleProgrammableROMEEPROM/E2PROMElectricalErasableProgrammableROM静态存储器SRAMStaticRAM(动态存储器DRAMDynamicRAM)按字节寻址:每个字节(8个位)占一个地址按位寻址:有的存储器每一个位就有一个地址,单片机的存储器几个有关的概念:,89C51单片机存储器配置,片内RAM128字节(00H7FH);片内RAM前32个单元是工作寄存器区(00H1FH)片内RAM有128个可按位寻址的位,占16个单元。位地址编号为:00H7FH,分布在20H2FH单元片内21个特殊功能寄存器(SFR)中:地址号能被8整除的SFR中的各位也可按位寻址可寻址片外RAM64K字节(0000HFFFFH)可寻址片外ROM64K字节(0000HFFFFH)片内FlashROM4K字节(000HFFFH),存储器配置(片内RAM),片内RAM128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH其中92个位可位寻址,80H,FFH,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,89C51128字节,片内RAM前32个单元是工作寄存器区(00H1FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,存储器配置(片内RAM),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器区3,工作寄存器区2,工作寄存器区1,工作寄存器区0,0FH,10H,17H,18H,片内RAM前32个单元是工作寄存器区(00H1FH),存储器配置(片内RAM),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,片内RAM中有128个可按位寻址的位。位地址:00H7FH分布在:20H2FH单元,存储器配置(片内RAM),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,27H,22H,21H,20H,26H,24H,25H,23H,28H,2FH,单元地址,0706050403020100,0F0E0D0C0B0A0908,1716151413121110,1F1E1D1C1B1A1918,2726252423222120,2F2E2D2C2B2A2928,3736353433323130,3F3E3D3C3B3A3938,4746454443424140,7F7E7D7C7B7A7978,位地址,总共128个可按位寻址的位,片内RAM中有128个可按位寻址的位。位地址:00H7FH分布在:20H2FH单元,存储器配置(片内RAM),可寻址片外RAM64K字节(0000HFFFFH);可寻址片外ROM64K字节(0000HFFFFH);片内FlashROM4K字节(000HFFFH);,FFFFH,0000H,可寻址片外RAM,64K字节,FFFFH,0000H,可寻址片外ROM,64K字节,FFFH,000H,可寻址片内FlashROM,4K字节,89C51,7FH,00H,片内RAM,128字节,FFH,80H,存储器配置(片内RAM),堆栈:在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。,功用:1)子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,下一个进栈的数据将存在此,数据进栈,已经进栈的数据存放在此,初始SP,复位后SP=07H,数据进栈时:首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增1,仍指着栈顶,堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,当前要出栈的数据,数据出栈,SP-1指向下一个将要出栈的数据,初始SP,堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SP-1指向新的栈顶,也就是下一个将要出栈的数据,数据出栈,初始SP,堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,89C51特殊功能寄存器(SFR),特殊功能寄存器SFR(专用寄存器)专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。,不同的SFR管理不同的硬件模块,负责不同的功能各司其职换言之:要让单片机实现预订的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。,程序计数器PC(ProgramCounter)PC不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊!,特点:它是16位的按机器周期自动增1计数器,一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值,总指向下一条指令所在首地址(当前PC值),特殊功能寄存器(PC),89C51有21个SFR(89C52有26个)P3940已知的P0、P1、P2、P3等四个8位I/O口分别由名为P0、P1、P2、P3四个SFR代表。,堆栈指针寄存器SP(StackPointer):总是指向栈顶,压栈时先(SP)+1然后数据进栈;弹栈时数据先出栈然后(SP)-1。,累加器ACC:一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输)。,副累加器B:一个经常与ACC配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也经常当作普通寄存器使用。,特殊功能寄存器(P0P3,SP,A,B),程序状态字寄存器PSW:,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。,AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DAA”指令时自动要判断这一位,我们可以暂时不关心它。,F0(PSW.5)可由用户定义的标志位。,PSW.6,PSW.5,特殊功能寄存器(PSW),程序状态字寄存器PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。,RS1,RS0=01则选择了工作寄存器组1区R0R7分别代表08H0FH单元。,RS1,RS0=10则选择了工作寄存器组2区R0R7分别代表10H17H单元。,RS1,RS0=11则选择了工作寄存器组3区R0R7分别代表18H1FH单元。,PSW.4PSW.3,RS1,RS0=00则选择了工作寄存器组0区R0R7分别代表00H07H单元。,片内RAM前32个单元(00H1FH)是工作寄存器区(由PSW中的RS1,RS0决定),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器区3,工作寄存器区2,工作寄存器区1,工作寄存器区0,程序状态字寄存器PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,OV(PSW.2)溢出标志位。OV=1时特指累加器在进行带符号数(-128+127)运算时出错(超出范围);OV=0时未出错。,PSW.1未定义。,P(PSW.0)奇偶标志位。P=1表示累加器中“1”的个数为奇数P=0表示累加器中“1”的个数为偶数CPU随时监视着ACC中的“1”的个数,并反映在PSW中,PSW.2,PSW.1,PC与SFR复位状态表,回顾,89C51单片机存储器配置,片内RAM128字节(00H7FH);片内RAM前32个单元是工作寄存器区(00H1FH)片内RAM有128个可按位寻址的位,占16个单元。位地址编号为:00H7FH分布在:20H2FH单元片内21个特殊功能寄存器(SFR)中:地址号能被8整除的SFR中的各位也可按位寻址可寻址片外RAM64K字节(0000HFFFFH)可寻址片外ROM64K字节(0000HFFFFH)片内FlashROM4K字节(000HFFFH),小结,存储器配置(片内RAM),片内RAM128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH其中92个位可位寻址,80H,FFH,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,

温馨提示

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

评论

0/150

提交评论