《ATC单片机的结构单片机.pptx》由会员分享,可在线阅读,更多相关《ATC单片机的结构单片机.pptx(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1ATC单片机的结构单片机的结构(jigu)单片机单片机PPT课课件件第一页,共81页。22023/2/62.1 AT89C51单片机的基本单片机的基本(jbn)结构结构nAT89C51是具有MCS-51内核、片内带有4KB的flash ROM的单片机,图2-1为AT89C51基本结构示意图。n从图中可以(ky)看出,单片机有一条内部总线,各个功能模块都挂在这条总线上,通过内部总线传送数据信息和控制信息。AT89C51主要由以下部件组成。第1页/共81页第二页,共81页。32023/2/6AT89C51单片机基本单片机基本(jbn)结构结构示意图示意图第2页/共81页第三页,共81页。4
2、2023/2/6第3页/共81页第四页,共81页。52023/2/6AT89C51主要组成主要组成(z chn)部件部件1CPUCPU是单片机的核心部分,CPU包括两个基本部分:运算器和控制器。(1)运算器运算器即算术逻辑运算单元ALU(Arithmetic Logic Uint),是进行(jnxng)算术或逻辑运算的部件,可以对半字节(4位)和单字节(8位)数据进行(jnxng)操作。例如可实现加、减、乘、除等算术运算和与、或、异或、取反、移位等逻辑运算。操作的结果一般送回累加器 ACC(Accumulator),而其状态信息送至程序状态寄存器PSW(Program Status Word)
3、。(2)控制器控制器是用来控制计算机工作的部件。控制器接收来自存储器的指令,进行(jnxng)译码,并通过定时和控制电路,在规定时刻发出指令所需的各种控制信息和CPU外部所需的各种控制信号,使各部分协调工作,完成指令所规定的操作。第4页/共81页第五页,共81页。62023/2/62内部内部(nib)数据存储数据存储器器2内部数据存储器内部数据存储器AT89C51芯片内共有芯片内共有256B(地址为:(地址为:00HFFH)的数据存储器,其中高)的数据存储器,其中高128B(地址为:(地址为:80HFFH)被专用寄存器占用,能作为寄存器供用户使用)被专用寄存器占用,能作为寄存器供用户使用(sh
4、yng)的只是低的只是低128B(地址为:(地址为:00H7FH),用于存放可读写的数据,如程序执行过程中的变量。),用于存放可读写的数据,如程序执行过程中的变量。第5页/共81页第六页,共81页。72023/2/63内部程序存储器内部程序存储器AT89C51共有共有4KB(地址为:(地址为:0000H0FFFH)的)的flash程序存储器,用于存放程序、原始数据或表格常数。程序存储器,用于存放程序、原始数据或表格常数。4定时定时/计数计数(j sh)器器AT89C51共有两个共有两个16位的定时位的定时/计数计数(j sh)器,每个定时器,每个定时/计数计数(j sh)器都可以设置成计数器都
5、可以设置成计数(j sh)方式,用于对外部事件进行计数方式,用于对外部事件进行计数(j sh);也可以设置成定时方式,并可以根据计数;也可以设置成定时方式,并可以根据计数(j sh)或定时的结果实现对单片机运行的控制。或定时的结果实现对单片机运行的控制。第6页/共81页第七页,共81页。82023/2/65并行并行I/O口口AT89C51 共有共有4个个8位的位的I/O口(口(P0、Pl、P2、P3)。每个)。每个8位的口,既可用作输入口,也可用作输出口,每个口即可以位的口,既可用作输入口,也可用作输出口,每个口即可以8位同步读写,又可对每一位进行单独的操作,十分的方便位同步读写,又可对每一位
6、进行单独的操作,十分的方便(fngbin)。6串行口串行口AT89C51 单片机有一个全双工的串行接口,以实现单片机和其他设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。单片机有一个全双工的串行接口,以实现单片机和其他设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。第7页/共81页第八页,共81页。92023/2/67中断控制系统中断控制系统AT89C51 单片机有较强的中断系统,可以满足控制应用的需要。单片机有较强的中断系统,可以满足控制应用的需要。AT89C51 的中断系统有的中断系统有
7、 5个中断源,包括两个外中断、两个定时个中断源,包括两个外中断、两个定时/计数中断和一个串行口中断。计数中断和一个串行口中断。8时钟电路时钟电路(dinl)AT89C51 芯片的内部有时钟电路芯片的内部有时钟电路(dinl),但石英晶体和微调电容需外接。时钟电路,但石英晶体和微调电容需外接。时钟电路(dinl)为单片机产生时钟脉冲序列。为单片机产生时钟脉冲序列。第8页/共81页第九页,共81页。102023/2/62.1.2 AT89C51单片机的引脚功能单片机的引脚功能(gngnng)AT89C51单片机采用 40脚双列直插式的 DIP40封装,还提供较小尺寸表面封装形式的 PQFP/TQF
8、P44,其引脚排列如图 2-2所示。为使结构更加紧凑(jncu),单片机的许多引脚具有双重功能。第9页/共81页第十页,共81页。112023/2/6第10页/共81页第十一页,共81页。122023/2/6第11页/共81页第十二页,共81页。132023/2/6引脚功能引脚功能(gngnng)(gngnng)40 40个引脚大致可分为个引脚大致可分为4 4类:电源、时钟、类:电源、时钟、控制和控制和I/OI/O引脚。引脚。第12页/共81页第十三页,共81页。142023/2/6 电源电源:VCC-:VCC-芯片电源,接芯片电源,接+5V+5V;VSS-VSS-接地端;接地端;时钟时钟:X
9、TAL1:XTAL1、XTAL2-XTAL2-晶体振荡电路反相输入端和输出端。晶体振荡电路反相输入端和输出端。控制线控制线:控制线共有控制线共有4 4根,根,ALE/PROG:ALE/PROG:地址锁存允许地址锁存允许/片内片内EPROMEPROM编程脉冲编程脉冲 ALE ALE功能:用来锁存功能:用来锁存P0P0口送出的低口送出的低8 8位地址位地址 PROG PROG功能:片内有功能:片内有EPROMEPROM的芯片,在的芯片,在EPROMEPROM编程期间,此引脚输入编编程期间,此引脚输入编程脉冲。程脉冲。PSEN:PSEN:外外ROMROM读选通信号。读选通信号。RST/VPD:RST
10、/VPD:复位复位/备用电源。备用电源。RST RST(ResetReset)功能:复位信号输入端。)功能:复位信号输入端。VPD VPD功能:在功能:在VccVcc掉电情况下,接备用电源。掉电情况下,接备用电源。EA/Vpp:EA/Vpp:内外内外ROMROM选择选择(xunz)/(xunz)/片内片内EPROMEPROM编程电源。编程电源。EA EA功能:内外功能:内外ROMROM选择选择(xunz)(xunz)端。端。Vpp Vpp功能:片内有功能:片内有EPROMEPROM的芯片,在的芯片,在EPROMEPROM编程期间,施加编程电源编程期间,施加编程电源VppVpp。第13页/共81
11、页第十四页,共81页。152023/2/6 I/O I/O I/O I/O线线线线 80C51 80C51 80C51 80C51共有共有共有共有4 4 4 4个个个个8 8 8 8位并行位并行位并行位并行I/OI/OI/OI/O端口:端口:端口:端口:P0P0P0P0、P1P1P1P1、P2P2P2P2、P3P3P3P3口,共口,共口,共口,共32323232个引脚。个引脚。个引脚。个引脚。P3P3P3P3口还具有口还具有口还具有口还具有(jyu)(jyu)(jyu)(jyu)第二功能,第二功能,第二功能,第二功能,用于特殊信号输入输出和控制信号(属控制总线)。用于特殊信号输入输出和控制信号
12、(属控制总线)。用于特殊信号输入输出和控制信号(属控制总线)。用于特殊信号输入输出和控制信号(属控制总线)。P3.0 RXDP3.0 RXD:串行口输入端;:串行口输入端;P3.1 TXDP3.1 TXD:串行口输出端;:串行口输出端;P3.2 INT0P3.2 INT0:外部中断:外部中断0 0请求请求(qngqi)(qngqi)输入端;输入端;P3.3 INT1P3.3 INT1:外部中断:外部中断1 1请求请求(qngqi)(qngqi)输入端;输入端;P3.4 T0P3.4 T0:定时:定时/计数器计数器0 0外部信号输入端;外部信号输入端;P3.5 T1P3.5 T1:定时:定时/计
13、数器计数器1 1外部信号输入端;外部信号输入端;P3.6 WRP3.6 WR:外:外RAMRAM写选通信号输出端;写选通信号输出端;P3.7 RDP3.7 RD:外:外RAMRAM读选通信号输出端。读选通信号输出端。第14页/共81页第十五页,共81页。162023/2/6P3口的第二口的第二(d r)功能表功能表表表2-1 P3口的第二功能表口的第二功能表端口端口引脚(引脚(DIP40封装)封装)第二功能第二功能P3.010RXD(串行输入口)(串行输入口)P3.111TXD(串行输出口)(串行输出口)P3.212INT0(外部中断(外部中断0输入)输入)P3.313INT1(外部中断(外部
14、中断1输入)输入)P3.414T0(定时(定时/计数器计数器0的外部计数输入)的外部计数输入)P3.515T1(定时(定时/计数器计数器1的外部计数输入)的外部计数输入)P3.616WR(外部数据存储器写脉冲输出)(外部数据存储器写脉冲输出)P3.717RD(外部数据存储器读脉冲输出)(外部数据存储器读脉冲输出)第15页/共81页第十六页,共81页。172023/2/62.2 AT89C51单片机的存储器配置单片机的存储器配置(pizh)一般微机通常是程序和数据共用一个存储空间,属于“冯诺依曼”(Von Neumann)结构(jigu)。而单片机的存储器组织结构(jigu)则把程序存储空间和数
15、据存储空间严格区分开来,属于“哈佛”(Harvard)结构(jigu)。第16页/共81页第十七页,共81页。182023/2/62.2 AT89C51单片机的存储器配置单片机的存储器配置(pizh)AT89C51单片机存储器在物理结构上分成(fn chn)四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。从用户使用的角度,即从逻辑上考虑,则有三个存储空间:片内外统一编址的64KB程序存储器地址空间(0000H FFFFH)、256B的片内数据存储器地址空间(00H FFH)及片外数据存储器地址空间(0000H FFFFH)。CPU在访问三个不同的逻辑空间时,通过采
16、用不同形式的指令,来产生相应的存储器选通信号,访问程序存储器使用MOVC指令、访问片内数据存储器使用MOV指令、访问片外数据存储器使用MOVX指令第17页/共81页第十八页,共81页。192023/2/6程序程序(chngx)存存储器储器 n n89C51单片机内部(nib)有4K的程序存储器,0000H0FFFH;n n程序从0000H开始;n n有一些特殊功能的区域,如中断入口地址。第18页/共81页第十九页,共81页。202023/2/6特殊功能特殊功能寄存器寄存器(21个个SFR)内部内部RAM128B00H7FH80HFFH外部外部RAM(64KB)0000HFFFFHWERD外部外
17、部ROM(60KB)EA=0/1内部内部ROM(4KB)EA=1外部外部ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH第19页/共81页第二十页,共81页。212023/2/6AT89C51AT89C51程序程序程序程序(chngx)(chngx)存储器配存储器配存储器配存储器配置置置置第20页/共81页第二十一页,共81页。222023/2/6中断(zhngdun)入口地址表:中断源入口地址外部中断00003H定时器0000BH外部中断10013H定时器1001BH串行口0023H第21页/共81页第二十二页,共81页。232023/2/6数据数据(shj)存储器存
18、储器 内部数据存储器在物理上分为两个不同的存储空间内部数据存储器在物理上分为两个不同的存储空间:数据存储器空间(低数据存储器空间(低128128单元)单元)特殊特殊(tsh)(tsh)功能寄存器空间(高功能寄存器空间(高128128单元)。单元)。这这两两个个空空间间是是相相连连的的。从从用用户户角角度度而而言言,低低128128单单元元才是真正的数据存储器。才是真正的数据存储器。第22页/共81页第二十三页,共81页。242023/2/6MCS51MCS51数据数据数据数据(shj)(shj)存储器配置存储器配置存储器配置存储器配置第23页/共81页第二十四页,共81页。252023/2/6
19、AT89C51AT89C51低低低低128B128B的片内数据的片内数据的片内数据的片内数据(shj)(shj)存储器存储器存储器存储器数据存储器由数据存储器由RAMRAM构成,一旦掉电,其数据将丢失。构成,一旦掉电,其数据将丢失。低低128B128B的数据存储器(地址范围:的数据存储器(地址范围:00H7FH00H7FH)用于存放)用于存放程序运算的中间结果的暂存,用作缓存、堆栈等。程序运算的中间结果的暂存,用作缓存、堆栈等。低低128B128B的数据存储器的存储器配置如图的数据存储器的存储器配置如图2-42-4。数据存储器空间(低数据存储器空间(低128128单元单元(dnyun)(dny
20、un))按功能划分为:)按功能划分为:通用寄存器区通用寄存器区位寻址区位寻址区用户区用户区第24页/共81页第二十五页,共81页。262023/2/6AT89C51AT89C51低低低低128B128B的片内数据的片内数据的片内数据的片内数据(shj)(shj)存储器存储器存储器存储器 用户RAM区工作寄存器区位寻址区00H2FH30H7FH1FH20H工作寄存器3区工作寄存器2区工作寄存器1区工作寄存器0区07H00H08H0FH10H17H18H1FH第25页/共81页第二十六页,共81页。272023/2/61)片内片内RAM工作寄存器区:工作寄存器区:字节地址字节地址(dzh):00H
21、1FH位寻址区:位寻址区:字节地址字节地址(dzh):20H2FH位地址位地址(dzh)为:为:00H7FH数据缓冲区数据缓冲区/堆堆栈区:栈区:字节地址字节地址(dzh):00H7FH一般使用一般使用30H7FH第26页/共81页第二十七页,共81页。282023/2/6工作工作工作工作(gngzu)(gngzu)寄存器区寄存器区寄存器区寄存器区1.在低128B的RAM区中,将地址00H1FH共32个单元设为工作寄存器区,分为4组,每组由8个单元按序组成通用寄存器R0R7。通用寄存器R0R7不仅用于暂存中间结果,而且是CPU指令中寻址方式不可缺少(qusho)的工作单元。任一时刻CPU只能选
22、用一组工作寄存器为当前工作寄存器。CPU复位后,自动选中第0组工作寄存器,即R0的地址为00H、R1的地址为01H、R7的地址为07H。同理当选择寄存器组1时,R0的地址为08H。2.可以通过程序对程序状态字PSW中的RS1、RS0位进行设置,以实现工作寄存器组的切换,对应关系如表2-2。表2-2 工作寄存器选择RS1RS0寄存器组片内RAM地址00第0组00H07H01第1组08H0FH10第2组10H17H11第3组18H1FH第27页/共81页第二十八页,共81页。292023/2/6位寻址区位寻址区地址为20H2FH的16个RAM(字节)单元,既可以作为一般的数据存储器按字节读写,又可
23、以按位存取。16个RAM单元,每个单元8位,共有128位,将每一位分配一个地址,称为位地址,地址编码00FFH。AT89C51单片机可以对位(du wi)直接进行操作,程序中常常将一些计算或运行中的状态、标记等作为位变量(布尔变量)存放在位寻址区。表2-3是位地址的分布表。由表2-3可见,字节地址和位地址都是用8位的二进制表示,理解上容易产生混淆。字节地址单元的数据是8位二进制数,而位地址的数据仅是1位二进制数。例如,字节地址2AH单元的数为0,表示位地址50H57H中8个单元的数均为0,又例如位地址28H的数为0表示字节地址25H的D0位(最低位)为0。也可以用“字节地址.位”表示位地址,例
24、如25H.1(字节地址25H的第1位D1)等于位地址29H。第28页/共81页第二十九页,共81页。302023/2/6位寻址区位寻址区位寻址区位寻址区n nRAM中的20H2FH的16个单元除了可作为一般RAM单元进行(jnxng)字节寻址外,还可进行(jnxng)位寻址,称作位寻址区。n n位寻址区共有16个RAM单元,合计128位,位地址为00H7FH。80C51单片机具有位处理机(又称布尔处理机)功能,位处理机的存储空间就包括这个位寻址区。表2-3为位寻址区的位地址表。第29页/共81页第三十页,共81页。312023/2/6位寻址区(20H2FH)16个字节。16*8=128位,每一
25、位都有一个位地址,范围(fnwi)为:00H7FH,位地址区也可作为一般RAM使用。位寻址区位寻址区第30页/共81页第三十一页,共81页。322023/2/6用户用户(yngh)RAM区区n n在在30H7FH30H7FH区的区的8080个个RAMRAM单元为用户单元为用户RAMRAM区,只能区,只能按字节存取。按字节存取。30H7FH30H7FH区是真正的数据缓冲区。由于区是真正的数据缓冲区。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的用同样的指令访问,这三个区的单元既有自己独特的功能,又可统
26、一调度使用。因此,前两区未使用的单功能,又可统一调度使用。因此,前两区未使用的单元也可用为一般的用户元也可用为一般的用户RAMRAM单元,使容量较小的片内单元,使容量较小的片内RAMRAM得以充分利用。程序设计时,将中间的计算结果,得以充分利用。程序设计时,将中间的计算结果,作为变量存放在该区域作为变量存放在该区域(qy)(qy)。n n对这部分区域对这部分区域(qy)(qy)的使用不作任何规定和限制,但的使用不作任何规定和限制,但应当说明的是,堆栈一般开辟在此区。应当说明的是,堆栈一般开辟在此区。第31页/共81页第三十二页,共81页。332023/2/6*关于堆栈堆栈:是一个特殊的存储区域
27、;特点(tdin):“后进先出”。单片机的堆栈是地址增加型,即压入数据时地址指针增加。堆站的操作有压入:PUSH弹出:POP第32页/共81页第三十三页,共81页。342023/2/6堆栈堆栈(duzhn)操作示意图操作示意图第33页/共81页第三十四页,共81页。352023/2/6第34页/共81页第三十五页,共81页。362023/2/6AT89C51AT89C51的特殊功能的特殊功能的特殊功能的特殊功能(gngnng)(gngnng)寄存器寄存器寄存器寄存器 SFR SFR(高(高(高(高128128单元)单元)单元)单元)n n内部RAM的高128单元是给特殊寄存器使用的,因此称之为
28、专用寄存器区,其单元地址为80HFFH。因为(yn wi)这些寄存器的功能已作专门规定,所以称其为专用寄存器或特殊功能寄存器(Special Function Registers)。特殊功能寄存器的总数为21个,仅占用了80HFFH中的很小一部分。表中给出了这些特殊功能寄存器的符号、名称和地址等。第35页/共81页第三十六页,共81页。372023/2/6特殊功能寄存器特殊功能寄存器特殊功能寄存器特殊功能寄存器SFRSFR占用字节地址:占用字节地址:占用字节地址:占用字节地址:80H80HFFHFFH位寻址寄存器:位寻址寄存器:位寻址寄存器:位寻址寄存器:其字节地址可被其字节地址可被其字节地址
29、可被其字节地址可被8 8整除整除整除整除(zhngch)(zhngch)。专用寄存器:专用寄存器:专用寄存器:专用寄存器:A A、B B、PSWPSW、DPTRDPTR、SPSPI/OI/O接口寄存器:接口寄存器:接口寄存器:接口寄存器:P0 P0、P1P1、P2P2、P3P3、SBUFSBUF、TMODTMOD、TCONTCON、SCON SCON 第36页/共81页第三十七页,共81页。382023/2/6特殊功能寄存器符号极其(jq)分布表 第37页/共81页第三十八页,共81页。392023/2/6第38页/共81页第三十九页,共81页。402023/2/6n n2121个个特特殊殊功
30、功能能寄寄存存器器是是不不连连读读地地分分散散在在内内部部RAMRAM的的高高128128单单元元之中,尽管其中还有许多空闲地址,但用户不能使用。之中,尽管其中还有许多空闲地址,但用户不能使用。n n程程序序计计数数器器PCPC是是独独立立于于SFRSFR之之外外的的唯唯一一的的一一个个不不可可寻寻址址的的专专用用寄寄存存器器。PCPC不不占占RAMRAM单单元元,在在物物理理上上是是独独立立存存在在的的。它它不不包括在包括在2121个特殊功能寄存器中。个特殊功能寄存器中。n n在在2121个个特特殊殊功功能能寄寄存存器器中中,有有1111个个寄寄存存器器不不仅仅可可以以字字节节寻寻址址,也也
31、可可以以进进行行位位寻寻址址。凡凡是是能能进进行行位位寻寻址址的的SFRSFR,其其特特征征是是字字节节地址都能被地址都能被8 8整除(字节地址的末位是整除(字节地址的末位是0 0或或8 8)。)。n nIPIP中中有有3 3位位、IEIE中中有有2 2位位、PSWPSW中中有有一一位位对对用用户户无无实实际际意意义义,所所以以直直接接寻寻址址位位为为8282位位;再再加加上上数数据据(shj)(shj)存存储储器器中中的的128128位位,89C5189C51共计有共计有210210位可寻址位。位可寻址位。第39页/共81页第四十页,共81页。412023/2/6(1)程序计数器PCPC是一
32、个16位的计数器。其内容为将要执行的指令地址,寻址范围达64KB。PC有自动加1功能(gngnng),从而实现程序的顺序执行。PC没有地址,是不可寻址的(但在物理上是存在的),因此用户无法对它进行读写;但可以通过转移、调用返回等指令改变其内容,以实现程序的转移。第40页/共81页第四十一页,共81页。422023/2/6(2)累加器A累加器A为8位寄存器,是最常用的专用寄存器,功能较多。它既可用于存放(cnfng)操作数,也可用来存放(cnfng)中间结果。89C51单片机中大部分单操作数指令的操作数就取自累加器,许多双操作数指令中的一个操作数也取自累加器。加、减、乘、除运算指令的运算结果都存
33、放(cnfng)在累加器A或AB寄存器对中。第41页/共81页第四十二页,共81页。432023/2/6(3)B寄存器B寄存器是一个8位寄存器,主要用于乘除运算。乘法运算时,B是乘数。乘法操作后,乘积的高8位存于B中。除法运算时,B存放(cnfng)除数。除法操作后,余数存于B中。此外,B寄存器也可作为一般数据寄存器使用。第42页/共81页第四十三页,共81页。442023/2/6(4)程序状态字PSW(PROGRAM STATUS WORD)程序状态字PSW是一个8位寄存器,用于存放程序运行的状态信息。其中,有些位的状态是程序执行的结果,是由硬件自动置位的;而有些位的状态则采用软件的方法来设
34、定。PSW的位状态可以用专门指令进行(jnxng)测试,也可以用指令读出。一些条件转移指令会根据PSW有关位的状态进行(jnxng)程序转移。PSW的各位含义如图所示。其中PSW.1为保留位,未用。第43页/共81页第四十四页,共81页。452023/2/6程序(chngx)状态字PSW 位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位含义CYACF0RS1RS0OV/P第44页/共81页第四十五页,共81页。462023/2/6n nCY(PSW.7)CY(PSW.7):进位标志位:进位标志位:进位标志位:进位标志位n nCYCY是是是是PSWPSW中中
35、中中最最最最常常常常用用用用的的的的标标标标志志志志位位位位,其其其其功功功功能能能能有有有有二二二二:一一一一是是是是存存存存放放放放算算算算术术术术运运运运算算算算的的的的进进进进位位位位标标标标志志志志;二二二二是是是是在在在在位位位位操操操操作作作作中中中中作作作作累累累累加加加加位位位位使使使使用用用用。位位位位传传传传送送送送、位位位位与与与与、位位位位或或或或操操操操作作作作,操操操操作作作作数数数数之之之之一一一一为为为为进进进进位位位位标标标标志志志志位。位。位。位。n nAC(PSW.6)AC(PSW.6):辅助进位位:辅助进位位:辅助进位位:辅助进位位n n当当当当进进进
36、进行行行行加加加加法法法法或或或或减减减减法法法法操操操操作作作作而而而而产产产产生生生生由由由由低低低低4 4位位位位向向向向高高高高4 4位位位位的的的的进进进进位位位位或或或或借借借借位位位位(ji(ji wi)wi)时时时时,由由由由硬硬硬硬件件件件将将将将ACAC置置置置1 1;否否否否则则则则就就就就被被被被清清清清除除除除。ACAC还用于十进制调整,同还用于十进制调整,同还用于十进制调整,同还用于十进制调整,同DA A DA A 指令结合起来使用。指令结合起来使用。指令结合起来使用。指令结合起来使用。第45页/共81页第四十六页,共81页。472023/2/6n nF0(PSW.
37、5)F0(PSW.5):用户标志位:用户标志位:用户标志位:用户标志位n n它它它它是是是是用用用用户户户户定定定定义义义义的的的的一一一一个个个个(y(y)状状状状态态态态标标标标记记记记,可可可可以以以以用用用用软软软软件件件件来来来来使使使使它它它它置置置置位位位位或或或或清清清清除除除除,也也也也可可可可用用用用软软软软件件件件测测测测试试试试F0F0以以以以控控控控制制制制程程程程序序序序的的的的流流流流向。向。向。向。n nRS1RS1、RS0RS0(PSW.4PSW.4,PSW.3PSW.3):当前寄存器区选择位):当前寄存器区选择位):当前寄存器区选择位):当前寄存器区选择位n
38、 n用用用用软软软软件件件件来来来来置置置置位位位位或或或或清清清清除除除除,以以以以选选选选择择择择和和和和确确确确定定定定当当当当前前前前工工工工作作作作寄寄寄寄存存存存器区。器区。器区。器区。n n 第46页/共81页第四十七页,共81页。482023/2/6n nOV(PSW.2)OV(PSW.2)溢出标志位溢出标志位溢出标志位溢出标志位n n 在在在在带带带带符符符符号号号号数数数数运运运运算算算算中中中中,OVOV1 1,表表表表示示示示加加加加减减减减运运运运算算算算结结结结果果果果(ji(ji gu)gu)超超超超出出出出了了了了累累累累加加加加器器器器所所所所能能能能表表表表
39、示示示示的的的的符符符符号号号号数数数数的的的的有有有有效效效效范范范范围围围围(128128127127),即即即即产产产产生生生生了了了了溢溢溢溢出出出出,因因因因此此此此运运运运算算算算结结结结果果果果(ji(ji gu)gu)是是是是错错错错误误误误的的的的;否否否否则则则则OVOV0 0,运运运运算算算算结结结结果果果果(ji gu)(ji gu)正确,无溢出。正确,无溢出。正确,无溢出。正确,无溢出。n n 在在在在乘乘乘乘法法法法运运运运行行行行中中中中,OVOV1 1,表表表表示示示示乘乘乘乘积积积积超超超超过过过过255255,即即即即乘乘乘乘积积积积分分分分别别别别放放放放
40、在在在在B B与与与与A A中中中中;否否否否则则则则OVOV0 0,表表表表示示示示乘乘乘乘积积积积只只只只放在中。放在中。放在中。放在中。n n 在在在在除除除除法法法法运运运运行行行行中中中中,OVOV1 1,表表表表示示示示除除除除数数数数为为为为0 0,除除除除法法法法不不不不能能能能进进进进行行行行;否否否否则则则则,OVOV0 0,表表表表示示示示除除除除数数数数不不不不为为为为0 0,除除除除法法法法可可可可正常进行。正常进行。正常进行。正常进行。第47页/共81页第四十八页,共81页。492023/2/6n n(PSW.0):奇偶位):奇偶位n n每每个个指指令令周周期期都都
41、由由硬硬件件来来置置位位或或清清除除,以以表表示示累累加加器器中中1的的个个数数的的奇奇偶偶性性。P1,则则累累加加器器中中1的的个个数数为为奇奇数数;若若P=0,则则累累加加器器中中1的的个个数数为为 偶偶 数数。在在 串串 行行 通通 讯讯(tngxn)中中用用于于校校验验数数据据的的正确性。正确性。第48页/共81页第四十九页,共81页。502023/2/6(5)栈指针栈指针SP栈栈指指针针SP是是一一个个8位位专专用用寄寄存存器器。它它指指示示出出堆堆栈栈顶顶部部在在内内部部数数据据存存储储器器中中的的位位置置。系系统统复复位位后后,SP初初始始化化为为07H,使使得得堆堆栈栈向向上上
42、由由08H单单元元开开始始。考考虑虑到到08H1FH单单元元属属于于工工作作(gngzu)寄寄存存器器区区,若若程程序序设设计计中中要要用用到到这这些些区区,最最好好把把SP的的值值置置为为1FH或或更更大大一一些些,一一般般将将堆堆栈栈开开辟辟在在30H7FH区区域域中中。SP的的值值越越小小,堆堆栈栈深深度度就就越越深,但最大为深,但最大为128字节。字节。第49页/共81页第五十页,共81页。512023/2/6n nSP的值除了可以用软件直接(zhji)改 变 外(MOV SP,#DATA),在执行堆栈操作,程序调用、子程序返回及中断返回等指令时,SP的值自动增量或减量。堆栈操作指令为
43、:n nPUSH ACC (压入堆栈)n nPOP ACC (弹出堆栈)第50页/共81页第五十一页,共81页。522023/2/6(6)(6)数据指针数据指针DPTRDPTR数据指针数据指针DPTRDPTR是唯一是唯一(wi y)1(wi y)1个个1616位的可寻址的专用寄存器;位的可寻址的专用寄存器;由由两两个个8 8位位寄寄存存器器DPHDPH和和DPLDPL拼拼装装而而成成,其其中中DPHDPH为为DPTRDPTR的的高高8 8位位,DPLDPL为为DPTRDPTR的的低低8 8位位。它它既既可可作作为为一一个个1616位位寄寄存存器器来来使使用,也可作为用,也可作为2 2个独立的个
44、独立的8 8位寄存器(位寄存器(DPHDPH和和DPLDPL)来使用。)来使用。DPTRDPTR通通常常用用来来存存放放1616位位地地址址。既既可可访访问问外外部部RAMRAM,也也可可访访问问ROMROM。例如:。例如:MOVMOVDPTRDPTR,#2000H#2000HMOVX MOVX A A,PPTR PPTR ;将外;将外RAM2000HRAM2000H单元内容单元内容AAMOVC MOVC A A,A+DPTRA+DPTR;访问;访问ROMROM指令指令 第51页/共81页第五十二页,共81页。532023/2/6(7)端口P0P3专用寄存器P0、P1、P2和P3分别是I/O口
45、P0P3的锁存器。在89C51中,I/O 和RAM统一编址,既可以字节寻址,也可以位寻址,使用起来较方便(fngbin)。有关P0P3的详细情况,在后续内容中介绍。第52页/共81页第五十三页,共81页。542023/2/6一个单片机的简单一个单片机的简单一个单片机的简单一个单片机的简单(jindn)(jindn)(jindn)(jindn)应用系统应用系统应用系统应用系统第53页/共81页第五十四页,共81页。552023/2/6特殊功能寄存器P0P3分别是I/O端口P0P3的锁存器。AT89C51单片机是把I/O当作一般的特殊功能寄存器使用,不专设端口操作指令,使用方便。当I/O端口某一位
46、用于输入信号(读端口)时,对应的锁存器必须先置1。例如在例1-1中P32作为输入端口,在判断P32状态前必须先将P32置1。P32=1;/P32作为输入端口必须先置1if(P32=0)/P32是低电平?如果S1按下,P32为低P20=1;/S1按下,则P20输出(shch)高电平,报警灯亮else/如果S1没有按下P20=0;/则P20输出(shch)低电平,报警灯灭第54页/共81页第五十五页,共81页。562023/2/6(8)串行数据缓冲器SBUF串行数据缓冲器SBUF用于存放欲发送(f sn)或接收的数据,它实际上由两个独立的寄存器组成,一个是发送(f sn)缓冲器,另一个是接收缓冲器
47、。当要发送(f sn)的数据传送到SBUF时,进入的是发送(f sn)缓冲器,当要从SBUF取数据时,则取自接收缓冲器,取走的是刚接收到的数据。第55页/共81页第五十六页,共81页。572023/2/6(9)定时器/计数器80C51单片机有两个16位定时器/计数器T0和T1,它们分别(fnbi)由两个独立的8位寄存器组成,共有4个独立的寄存器:TH0,TL0,TH1,TL1,可对这4个寄存器寻址,但不能把T0和T1当成16位寄存器来访问。第56页/共81页第五十七页,共81页。582023/2/6(10)其它控制寄存器IP、IE、TMOD、TCON、SCON和PCON寄存器分别包含有中断系统
48、、定时器/计数器、串行口和供电(n din)方式的控制和状态位,这些寄存器将在以后内容中介绍。第57页/共81页第五十八页,共81页。592023/2/6AT89C51的片外数据的片外数据(shj)存储器存储器 外部数据存储器又称外部RAM,当片内RAM的容量不能满足要求时,可通过总线端口和其他I/O口扩展外部数据RAM,其最大容量可达64K字节。外部数据存储器和内部数据存储器的功能基本相同,但外部数据存储器不能用于堆栈操作(cozu),对外部外部数据存储器的访问只能使用间接寻址方式。第58页/共81页第五十九页,共81页。602023/2/6特殊功能特殊功能寄存器寄存器(21个个SFR)内部
49、内部RAM128B00H7FH80HFFH外部外部RAM(64KB)0000HFFFFHWERD外部外部ROM(60KB)EA=0/1内部内部ROM(4KB)EA=1外部外部ROM(4KB)EA=0PSEN0000H0FFFH1000HFFFFH第59页/共81页第六十页,共81页。612023/2/6AT89C52AT89C52的存储器配置的存储器配置的存储器配置的存储器配置(pizh)(pizh)AT89C52相当于MCS-51单片机中的52子系列,与51子系列的AT89C51相比,片内的程序(chngx)存储器flash ROM增加到了8KB,片内的数据存储器增加了128B。AT89C5
50、2的存储器结构如图2-7所示。外部外部ROM(56KB)EA=0/1内部内部ROM(8KB)EA=1外部外部ROM(8KB)EA=0PSEN0000H1FFFH2000HFFFFH特殊功能寄存器(27个SFR)内部RAM低128B00H7FH80HFFH内部RAM高128B内部(nib)数据存储器 内、外程序存储器 第60页/共81页第六十一页,共81页。622023/2/689C5189C51的存储器配置的存储器配置的存储器配置的存储器配置(pizh)(pizh)小结小结小结小结 89C5189C51的的片片内内集集成成有有一一定定容容量量的的程程序序存存储储器器和和数数据据存存储储器器(1