8051单片机基础知识.doc

上传人:laozhun 文档编号:4146243 上传时间:2023-04-07 格式:DOC 页数:122 大小:1.54MB
返回 下载 相关 举报
8051单片机基础知识.doc_第1页
第1页 / 共122页
8051单片机基础知识.doc_第2页
第2页 / 共122页
8051单片机基础知识.doc_第3页
第3页 / 共122页
8051单片机基础知识.doc_第4页
第4页 / 共122页
8051单片机基础知识.doc_第5页
第5页 / 共122页
点击查看更多>>
资源描述

《8051单片机基础知识.doc》由会员分享,可在线阅读,更多相关《8051单片机基础知识.doc(122页珍藏版)》请在三一办公上搜索。

1、8051单片机基础知识一8051单片机的特点8位CPU片内振荡器及时钟电路32根I/O线外部存储器寻址范围ROM、RAM各64K2个16位的定时器/计数器5个中断源,2个中断优先级全双工串行口布尔处理器二MCS-51系列单片机性能表ROM形式片内ROM(字节)片内RAM(字节)寻址范围I/O中断源计数器并行口串行口片内ROM片内EPROM外接EPROM8051875180314K128264K216481580C5187C5180C314K128264K21648158052875280328K256264K216481680C5287C5280C328K256264K2164817三中央处理

2、器 中央处理器(CPU)由运算器和控制逻辑构成,其中包括若干SFR(特殊功能寄存器)。以ALU为中心的运算器:ALU(算术逻辑单元)能对数据进行加、减、乘、除等算术运算;“与”、“或”、“异或”等逻辑运算以及位操作运算。程序状态字PSW: D7 D6 D5 D4 D3 D2 D1 D0CYACF0RS1RS0OVP CY进位标志。有进位/借位时CY=1,否则CY=0AC半进位标志。当D3位向D4位产生进位/借位时AC=1,否则AC=0,常用于十进制调整运算中。F0用户可设定的标志位,可置位/复位,也可供测试。RS1,RS0四个通用寄存器组的选择位,该两位的四种组合状态用来选择03寄存器组。 R

3、S1,RS0与工作寄存器组的关系RS1RS0工作寄存器组000组(0007H)011组(080FH)102组(1017H)113组(181FH) OV溢出标志。当带符号数运算结果超出-128+127范围时OV=1,否则OV=0。 当无符号数乘法结果超过255时,或当无符号数除法的除数为0时OV=1,否则OV=0。 P奇偶校验标志。每条指令执行完,若A中1的个数为奇数时P=1,否则P=0, 即偶校验方式。四控制器、时钟电路和基本时序周期控制逻辑主要包括定时和控制逻辑、指令寄存器、译码器以及地址指针DPTR和程序 计数器PC等。 18051的时钟 时钟是时序的基础,8051片内由一个反相放大器构成

4、振荡器,可以由它产生时钟。时钟可以由两种方式产生:内部方式和外部方式 XTAL1 XTAL2 外部时钟 XTAL2 1.2M12MHz XTAL1 1030PF 1030PF VSS (a) 内部方式 (b) 外部方式 28051的基本时序周期 振荡周期:指振荡源的周期,若为内部产生方式时,为石英晶体的振荡周期。时钟周期:(称S周期)为振荡周期的两倍,时钟周期=振荡周期P1+振荡周期P2。机器周期:一个机器周期含6个时钟周期(S周期)。指令周期:完成一条指令占用的全部时间。8051的指令周期含14个机器周期,其 中多数为单周期指令,还有2周期指令和4周期指令。 3指令部件程序计数器PC:805

5、1的PC是16位的计数器,其内容为下一条待执行指令的地址, 可寻址范围64K。指令寄存器IR:IR用来存放当前正在执行的指令。指令译码器ID:ID对IR中指令操作码进行分析解释,产生相应的控制信号。数据指针DPTR:DPTR是16位地址寄存器,既可以用于寻址外部数据存储器,也可 以寻址外部程序存储器中的表格数据。DPTR也可以寻址64K地址空间。五存贮器组织RAM 外部 RAM SFRRAM位寻址工作寄存器组(03)8051单片机物理上有四个存贮空间:片内程序存贮器和片外程序存贮器、片内数据存贮器和片外数据存贮器。 FF FFFF 外部ROM FFFF 80 1000 30外部ROMEA=0内

6、部ROMEA=1 00FF 20 0000 00 0000六片内并行接口 8051的芯片引脚中没有专门的地址总线和数据总线,在向外扩展存贮器和接口时,由P2口输出地址总线的高8位A15A8,由P0口输出地址总线的低8位A7A0,同时对P0口采用总线复用技术,P0口兼作8位双向数据总线D7D0,即由P0口分时输出低8位地址或输入/输出8位数据,在不作总线扩展时,P0口和P2口可以作为普通I/O口使用。 P1口只能用作I/O口。 P3口的每一位都有各自的第二功能,见下表:通道位第二功能注释P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0输入P3.3INT1外部中断1输入P

7、3.4T0计数器0计数输入P3.5T1计数器1计数输入P3.6WR外部数据RAM写选通信号P3.7RD外部数据RAM读选通信号七8051内部资源1 串行口 8051单片机内部有一个可编程的、全双工的串行接口,串行收发存贮在特殊功能 寄存器SFR中的串行数据缓冲器SBUF中的数据,SBUF占用内部RAM地址99H。 但在机器内部,实际上有两个数据缓冲器:发送缓冲器和接收缓冲器,因此,可以同 时保留收/发数据,进行收/发操作,但收/发操作都是对同一地址99H进行的。2 定时器/计数器 8051内部有两个16位可编程定时器/计数器,记为T0和T1,最大计数值为216-1;可编程是指它们的工作方式由指

8、令来设定,或者当计数器用,或者当定时器用,并且计数(定时)的范围也可以由指令来设置。这种控制功能是通过定时器方式控制寄存器TMOD来完成的。定时器在计到规定的定时值时可以向CPU发出中断申请,从而完成某种定时控制功能。在计数状态下同样也可以申请中断,定时器控制寄存器TCON用来负责定时器的启动、停止以及中断管理。 在定时工作时,时钟由单片机内部提供,即系统时钟经过12分频后作为定时器的时钟。计数工作时,时钟脉冲(计数脉冲)由T0和T1(即P3.4,P3.5)输入。3 中断系统 8051的中断系统允许接受5个独立的中断源,即两个外部中断申请,两个定时器/计数器中断以及一个串行口中断。 外部中断申

9、请通过INT0和INT1(即P3.2和P3.3)输入,输入方式可以是电平触发(低电平有效),也可以是边沿触发(下降沿有效)。两个定时器中断请求是定时器溢出时向CPU提出的,即当定时器由状态全1转为全0时发出的。第五个中断请求是由串行口发出的,串行口每发送完一个数据或接收完一个数据,就可提出一次中断申请。 8051单片机可以设置两个中断优先级,即高优先级和低优先级,由中断优先控制寄存器IP来控制。 八8051的芯片引脚8051单片机是采用40引脚双列直插封装的芯片,有些引脚具有两种功能,引脚功能如下: (T2)P1.0 1 40 VCC (T2EX)P1.1 2 39 P0.0(AD0) P1.

10、2 3 38 P0.1(AD1) P1.3 4 37 P0.2(AD2) P1.4 5 36 P0.3(AD3) P1.5 6 35 P0.4(AD4) P1.6 7 34 P0.5(AD5) P1.7 8 33 P0.6(AD6) RST/VPD 9 32 P0.7(AD7) (RXD)P3.0 10 31 EA/VPP (TXD)P3.1 11 30 ALE/PROG (INT0)P3.2 12 29 PSEN (INT1)P3.3 13 28 P2.7(A15) (T0)P3.4 14 27 P2.6(A14) (T1)P3.5 15 26 P2.5(A13) (WR)P3.6 16 2

11、5 P2.4(A12) (RD)P3.7 17 24 P2.3(A11) XTAL2 18 23 P2.2(A10) XTAL1 19 22 P2.1(A9) VSS 20 21 P2.0(A8)VCC(40) 电源+5VVSS(20) 接地XTAL1(19)和XTAL2(18) 使用内部振荡电路时,用来接石英晶体和电容;使用外部 时钟时,用来输入时钟脉冲。P0口(3932) 双向I/O口,既可以作地址/数据总线口,也可以作为普通I/O口用。P1口(18) 准双向通用I/O口。P2口(2128) 准双向口,既可以作地址总线口输出地址高8位,也可以作普通I/O 口用。P3口(1017) 多用途端

12、口,既可以作普通I/O口用,也可以按每位定义的第二功能 操作。ALE/PROG(30) 地址锁存信号输出端。在访问片外存贮器时,ALE为有效高电平时, P0口输出地址低8位,可以用ALE信号做外部地址锁存信号。 fALE =1/6fOSC,可以作系统中其它芯片的时钟源。第二功能PROG是 对8751的EPROM编程时的编程脉冲输入端。RST/VPD(9) 复位信号输入端。8051接通电源后,在时钟电路作用下,该脚上出现 两个机器周期(24个振荡周期)以上的高电平,使内部复位。第二功 能是VPD,即备用电源输入端,当主电源VCC发生故障,降低到低电 平规定值时,VPD将为RAM提供备用电源,以保

13、证存贮在RAM中 的信号不丢失。EA/VPP(31) 内部和外部程序存贮器选择线。EA=0时访问外部ROM(0000HFFFFH); EA=1时,地址0000H0FFFH空间访问内部ROM ,地址1000HFFFFH 空间访问外部ROM。PSEN(29) 片外程序存贮器选通信号,低电平有效。对8052单片机,由于内部多一 个定时器,还需要附加别的输入端,为此,又借用P1.0和P1.7作为定 时器2的输入T2和T2EX。九单片机的工作方式 单片机的工作方式包括:复位方式、单步执行方式、低功耗操作方式以及EPROM编程和校验方式。1 复位方式 RST引脚是复位信号的输入端。复位信号是高电平有效,高

14、电平有效的持续时间 应为24个振荡周期以上,若时钟频率为6MHZ,则复位信号至少应持续4微秒以上, 才可以使单片机复位,复位以后,07H写入栈指针SP,P0口P3口均置1(允许输入), 程序计数器PC和其它特殊功能寄存器SFR全部请“0”。只要该脚保持高电平,8051 便循环复位。当RST端由高变低后,8051由ROM的0000H开始执行程序。8051的 复位操作不影响内部RAM的内容。当VCC加电后,RAM的内容是随机的。 单片机的复位方式有上电自动复位和手工复位两种:上电复位电路和按钮复位电 路。 22F +5V +5V RST 200K IN4148 200 1K RESET 22F (

15、a)上电复位电路 (b)按钮复位电路 只要VCC上升时间不超过1ms,通过在VCC和RST引脚之间加一个10f的电 容,就可以实现自动上电复位,即打开电源就可以自动复位。 2 程序执行方式 程序执行方式是单片机的基本工作方式。所执行的程序可以在内部ROM、外部 ROM或者同时放在内外ROM中,若程序放在外部ROM中(如对8031),则应使EA=0; 否则可令EA=1。由于复位之后PC=0000H,所以程序总是从地址0000H开始的,通 常在0000H单元开始存放一条转移指令,从而使程序跳转到真正的程序入口地址。3 单步执行方式 单步执行方式是使程序的执行处于外加脉冲(通常用一个按键产生)的控制

16、下, 一条指令一条指令地执行,即按一次键,执行一条指令。 单步执行方式可以利用8051的中断控制来实现。其中断系统规定:从中断服务程 序返回以后至少要执行一条指令后才能重新进入中断。将外加脉冲加到INT0输入, 平时为低电平,通过编程规定INT0信号是低电平有效,因此不来脉冲时总是处于响 应中断的状态,在中断服务程序中要安排这样的指令: JNB P3.2 $ ;若INT0=0,不往下执行 JB P3.2 $ ;若INT0=1, 不往下执行 RETI ;返回主程序执行一条指令 因此,只有INT0上来一个正脉冲,才能通过第一、第二两条指令,返回主程序 并执行一条指令。由于INT0此时已回到0,故重

17、新进入中断,在第一条指令处等待正 脉冲的到来,从而实现来一个脉冲执行一条指令的单步操作。4 低功耗操作方式 CMOS型单片机由两种低功耗操作方式:节电操作方式和掉电操作方式。在节电 方式时,CPU停止工作,而RAM、定时器、串行口和中断系统继续工作。在掉电方 式时,仅给片内RAM供电,片内所有其它的电路均不工作。5 EPROM编程和校验方式 对于内部集成有EPROM的8051单片机,可以进入编程或校验方式。 内部EPROM编程 编程时,时钟频率应在4MHZ6MHZ的范围内,其余有关引脚的接发和用法 如下: P1口和P2口的P2.0P2.3为EPROM的4K的高地址输入,P1口为低8位地 址;

18、P2.4P2.6以及PSEN应为低电平; P0口为编程数据输入; P2.7和RST应为高电平,RST的高电平可为2.5V,其余的都以TTL的高低电 平为准; EA/VPP端加+12.5V的编程脉冲,此电压要求稳定,不能大于12.5V,否则会 破坏EPROM; 在EA/VPP出现正脉冲期间,ALE/PROG端上加50ms的负脉冲,完成一次写 入。 8751的EPROM编程一般要用专门的单片机编程器来完成。 EPROM程序校验 在程序的保密位尚未设置,无论在写入的当时或写入之后,均可将片上程序存 贮器的内容读出进行校验。 程序存贮器的保密位 8751内部有一个保密位,一旦将该位写入便建立了保险,就

19、可禁止任何外部 对片内程序存贮器进行读写。保密位一旦写入,内部程序存贮器便不能被写入和读 出校验,而且也不能执行外部程序存贮器的程序。只有EPROM全部擦除时,保密 位才能被一起擦除,也才可以再次写入。十8051的系统扩展 1外部总线的扩展(见下图): ALE 11 P0.7 3 G 2 A7 P0.6 4 5 A6 P0.5 7 6 A5 P0.4 8 9 A4 地址锁存器(74LS373)的引脚和接口 P0.3 13 12 A3 P0.2 14 15 A2 P0.1 17 16 A1 P0.0 18 OE 19 A0 1 8 P2 A15A8 XTAL1 ALE地址锁 存 8 (AB) X

20、TAL2 8 A7A0 8 8 P0 D7D0 (DB) RXD WR TXD RD PSEN EA ALE INT0 (CB) VCC INT1 T0 VSS T1 RST MCS-51外部三总线示意图 2外部程序存贮器的扩展 性能 数据存贮器与程序存贮器的片外64K扩展地址空间完全重叠(0000HFFFFH), 它们并联在外部系统总线上,至于哪类存贮器选通操作,由控制信号确定。外部 程序存贮器的读信号PSEN,它由MOVC指令产生。 扩展的外部程序存贮器的地址指针为程序计数器PC和数据指针DPTR。 扩展的外部程序存贮器多使用EPROM型。 时序 一个机器周期 S1 S2 S3 S4 S5

21、 S6 S1 S2 S3 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1ALEPSEN TPLIVP2 PCH PCH OUT PCH OUT PCH TAVIVP0 PCL PCL PCL 指令输入 指令输入 指令输入 外部程序存贮器的扩展方法 A连接 外部ROM P2.0P2.7 高位地址线及片选CE ALE CLK 8031 O0 O7 低8位地址线A0A7 P0.0P0.7 I0 I7 数据线D0D7 EA PSEN 输出允许OE B常用EPROM芯片管脚和封装 27256271282764273227512275122732276

22、42712827256 1VPPVPPVPPA15VCCVCCVCCVCCVCC282A12A12A12A12A14PGMPGMA14273A7A7A7A7A7A13A13A13A13A13264A6A6A6A6A6A8A8A8A8A8255A5A5A5A5A5A9A9A9A9A9246A4A4A4A4A4A11A11A11A11A11237A3A3A3A3A3OE/VPPOE/VPPOEOEOE228A2A2A2A2A2A10A10A10A10A10219A1A1A1A1A1CECECECECE2010A0A0A0A0A0O7O7O7O7O71911O0O0O0O0O0O6O6O6O6O61

23、812O1O1O1O1O1O5O5O5O5O51713O2O2O2O2O2O4O4O4O4O41614GNDGND GNDGNDGNDO3O3O3O3O315 C扩展方法:线选法和译码法(常用) 3外部数据存贮器的扩展 性能 外部RAM的寻址范围为64K,并与外部I/O接口统一编址,外部RAM和外部I/O 接口的读写控制信号位RD和WR,它们由MOVX指令产生。 外部RAM在64K范围寻址时,地址指针为DPRT,若对外部RAM按页面寻址(256 字节为一页),则用R0或R1作页内地址指针,P2口作页地址指针。 时序:该时序由两个机器周期组成,第一个周期为取指周期,的二周期为读/写周 期。 S2

24、 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 ALE PSEN RD / WR P2 PCH输出 DPH输出或P2输出 PCH输入 PCL 地址 数据 PCL 输出 输出 输入 输出 指令输入 地址输出有效 指令输入 PCL输出有效 PCL输出有效 外部数据存贮器的取指和读/写周期时序 扩展方法: 外部数据存贮器扩展时,地址总线和数据总线的连接方法同ROM的扩展相同, 控制信号中主要是读信号RD和写信号WR有所不同。8031的RD信号与外部RAM 的输出允许OE相连,8031的WR信号与外部RAM的写信号WR相连,外部RAM 的片选信号与外部I/O接口的片选信号统一译码产生。

25、十一8051的指令系统1 寻址方式:就是根据指令中给出的地址寻找真实操作数地址的方式。8051单片机的 寻址方式有七种: 寄存器寻址:MOV A,R0 ;A(R0) 8051可用寄存器寻址的空间是:R0R7,ACC,CY(位),DPTR,AB 直接寻址: MOV A,4FH ;A(4FH) 可用直接寻址的空间是:内部RAM第128字节(包括其中的可位寻址区)、 特殊功能寄存器。 寄存器间接寻址:MOV A,R1 ;A(R1) 8051中可以用R0或R1间接寻址片内或片外RAM的256字节范围,可以 用DPTR或PC间接寻址64K字节外部RAM或ROM。 立即寻址:MOV A,#6FH ;A6F

26、H 变址寻址:MOV A,A+DPTR ;A(R1)+(DPTR) 不论用DPTR或PC作为基址指针,变址寻址方式都只适用与8051的程序 存贮器,通常用于读取数据表。 相对寻址:SJMP rel ;PC(PC)+2+rel 位寻址:SETB bit ;(bit)1 8051可用于位寻址的空间是:内部RAM的可位寻址区和SFR中的字节地址 可以被8整除(即地址以“0”或“8”结尾)的寄存器所占空间。2 MCS-51指令系统 (一)传送、交换、栈出入指令助 记 符说 明字节数振荡器周期MOV A,Rn寄存器传送到累加器112MOV A,direct直接字节传送到累加器212MOV A,Ri间接R

27、AM传送到累加器112MOV A,#data 立即数传送到累加器212MOV Rn,A累加器传送到寄存器112MOV Rn,direct直接字节传送到寄存器224MOV Rn,#data立即数传送到寄存器212MOV direct,A累加器传送到直接字节212MOV direct,Rn寄存器传送到直接字节224MOV direct,direct直接字节传送到直接字节324MOV direct,Ri间接RAM传送到直接字节224MOV direct,#data立即数传送到直接字节324MOV Ri,A累加器传送到间接RAM112MOV Ri,direct 直接字节传送到间接RAM224MOV R

28、i,#data 立即数传送到间接RAM212MOV DPTR,#data1616位常数加载到数据指针324MOVC A,A+DPTR代码字节传送到累加器124MOVC A,A+PC代码字节传送到累加器124MOVX A,Ri外部RAM(8位地址)传送到ACC124MOVX A,DPTR外部RAM(16位地址)传送到ACC124MOVX Ri,AACC传送到外部RAM(8位地址)124MOVX DPTR,A ACC传送到外部RAM(16位地址)124PUSH direct直接字节压到堆栈224POP direct 从栈中弹出直接字节224XCH A,Rn寄存器和累加器交换112XCH A,dir

29、ect直接字节和累加器交换212XCH A,Ri间接RAM和累加器交换112XCHD A,Ri间接RAM和累加器交换低4位112SWAP A 累加器内部高、低四位交换112 (二)算术、逻辑运算指令助记符说 明字节数振荡器周期ADD A,Rn寄存器加到累加器112ADD A,direct直接字节加到累加器212ADD A,Ri间接RAM加到累加器112ADD A,#data立即数加到累计器212ADDC A,Rn寄存器加到累加器(带进位)112ADDC A,direct直接字节加到累加器(带进位)212ADDC A,Ri间接RAM加到累加器(带进位)112ADDC A,#data立即数加到累加器(带进位)212SUBB A,RnACC减去寄存器(带借位)112SUBB A,direct ACC减去直接字节(带借位)2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号