1、单片机的基本结构和工作原理单片机的单片机的组成组成和和内部结构内部结构2.1单片机的单片机的外部引脚外部引脚及及功能功能2.2单片机的单片机的存储器结构存储器结构2.3单片机的单片机的I/O电路电路2.4单片机的单片机的辅助电路辅助电路2.5单片机的单片机的工作时序工作时序和和工作方式工作方式2.6单片机的组成和内部结构-单片机的组成p 一个8位CPU;p 一个片内振荡器及时钟电路;p 4K字节ROM储器(8031没有片内ROM);p 128字节RAM数据存储器(增强型为256字节);p 两个16位定时器/计数器(增强型为三个);p 可寻址64KB外部数据存储器和64KB外部程序存储器空间的控
2、制电路;p 32条可编程的I/O口(四个8位并行I/O端口);p 一个可编程全双工串行口;p 具有五个中断源、两个优先级嵌套中断结构(增强型为六个中断源)。单片机的组成和内部结构-单片机的组成单片机的组成和内部结构-单片机的内部逻辑结构n单片机的核心部件是一个8位高性能中央处理器CPU。n它的作用是读入和分析每条指令,根据各指令的功能要求,控制单片机的各功能部件,具体地执行指令的操作。nCPU由运算器、控制器和一些寄存器构成。单片机的组成和内部结构-CPU的内部结构u包括:算术/逻辑运算单元ALU、布尔处理器、累加器ACC、寄存器B、暂存器、程序状态字PSW等部件。u功能:实现数据的算术逻辑运
3、算、位变量处理和数据传送等操作。单片机的组成和内部结构-CPU的内部结构一、运算器1算术逻辑单元ALU单片机的组成和内部结构-CPU的内部结构运算器的核心部件,实质上是全加器对数据进行加、减、乘、除等算术运算以及对数据进行与、或、异或、循环、置1、清0等逻辑运算不能由程序读写!不能由程序读写!2、累加器ACC或A是一个8位寄存器,很多运算都要通过累加器提供操作数,多数运算结果也在ACC中存放。常用作访问外部存储器的地址寄存器。一个8位寄存器,用于寄存等待执行的指令。控制信号为1时,P0口输出地址/数据信息第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间,有效宽度为一个状态周期。S
4、CON:串行口控制计数器具有五个中断源、两个优先级嵌套中断结构(增强型为六个中断源)。控制信号为1时,P2口为地址口片内程序存储器ROM 4KB(0000H0FFFH)单片机CPU执行一条指令所需的时间单片机I/O电路-P0口单片机辅助电路-单片机最小系统指为单片机提供时钟信号的振荡源的周期或外部输入时钟的周期访问外部存储器时,下降沿将80C51存储器的特点:单片机的存储器结构-数据存储器在最高位有进位(加法时)或有借位(减法时),则Cy=1,否则Cy=0。8位寄存器,表示地址(E0H),使用最频繁的寄存器程序存储器用于存放编好的程序和表格常数。P1 P2 P1 P2单片机的组成和内部结构-C
5、PU的内部结构3、B寄存器暂时存储数据总线或其他寄存器送来的操作数 不能由程序读写4、暂存寄存器(TMP1和TMP2)5、程序状态字寄存器(PSW)一个8位的专用寄存器,主要用于存放当前运算结果的状态B寄存器是为乘法和除法而设置的,在进行乘法和除法运算时A和B组成寄存器对,记为AB。在不执行乘法和除法时,B寄存器可以作为一个普通寄存器使用。二、控制器 控制器是单片机的指挥控制部件。功能:n接受来自程序存储器中的指令n并对指令进行译码和分析n并根据指令的性质控制单片机各功能部件从而保证单片机各部分能自动而协调的工作。单片机的组成和内部结构-CPU的内部结构包括:时序电路、程序计数器、指针寄存器、
6、指令译码器、数据指针、堆栈指针、操作控制部件等。1、程序计数器(PC)16位专用寄存器,用于存放一条将要执行指令的地址,具有自动加1功能。CPU取址时,PC内容先送至对应的寄存器,后从程序存储器中取出指令,PC内容自动加1.执行转移、子程序调用指令和中断响应时,PC内容不再加1 单片机复位时,PC装入0000H单片机的组成和内部结构-CPU的内部结构2、指令寄存器(IR)一个8位寄存器,用于寄存等待执行的指令。不能由程序读写不能由程序读写源程序 ORG 0000H LJMP START ORG 0040HSTART:MOV SP,#5FH;设堆栈 LOOP:NOP LJMP LOOP;循环 E
7、ND;结束目标文件也就是最终写入EPROM的文件:02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FFFF FF FF FF FF FF FF FF 75 81 5F 00 02 00 433、指令译码器(ID)对指令寄存器中的指令进行译码。不能由程序读写4、数据指针(DPTR)一个16位专用寄存器,通常在访问外部数据存储器
8、时作地址指针5、堆栈指针(SP)一个8位专用寄存器,用于存放堆栈栈顶地址6、定时与控制电路 产生各种控制信号,协调各功能部件的工作单片机的组成和内部结构-CPU的内部结构单片机的外部引脚及功能-引脚和封装DIP40封装PLCC44封装控制引脚并行I/O口引脚电源及时钟引脚(1)电源及时钟引脚:VCC、VSS;XTAL1、XTAL2(2)I/O口引脚:P0、P1、P2、P3(3)控制引脚:PSENppV/EAPROGALE/PDRST/V引脚逻辑图XTAL1XTAL2EA/VppPSEN ALE/PROGRST/VPD VCC VSS 80C51 P0 P1 P2 P3 P0.0P0.7 P1.
9、0P1.7 P2.0P2.7 P3.0P3.7 单片机的外部引脚及功能-引脚分类单片机的外部引脚及功能-I/O端口(1)P0口 (32-39脚)p 8位准双向I/O口p低8位地址总线及数据总线分时复用口 p可带8个LSTTL负载P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2
10、.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-I/O端口(2)P1口 (1-8脚)p 8位准双向I/O口p对于52子系列,P1.0与P1.1还有第二功能 p可带4个LSTTL负载P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.
11、3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-I/O端口(3)P2口 (21-28脚)p 8位准双向I/O口p高8位地址总线 p可带4个LSTTL负载P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR
12、 P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-I/O端口(4)P3口 (10-17脚)p 8位准双向I/O口p每位都具有第二功能 p可带4个LSTTL负载引脚转义引脚功能说明P3.0RXD串行数据接收端P3.1TXD串行数据发送端P3.
13、2INT0外部中断0请求P3.3INT1外部中断1请求P3.4T0计数器0外部输入P3.5T1计数器1外部输入P3.6WR外部数据存储器写P3.7RD外部数据存储器读P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0805187518031123456789
14、10111213141516171819204039383736353433323130292827262524232221P0的低8位地址送入锁存器。MOV 90H,20H单片机的存储器结构-特殊功能存储器与指针相关的(3个)IE:中断允许控制寄存器一个8位寄存器,用于寄存等待执行的指令。5、程序状态字寄存器(PSW)4KB(0000H0fffH)IDL:待机方式控制为。PCON不能进行位操作,只能按字节操作可带8个LSTTL负载4、数据指针(DPTR)数据出栈时先弹出数据,SP再减1。单片机辅助电路-复位电路第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间,有效宽度为一个状态
15、周期。IE:中断允许控制寄存器单片机的存储器结构-特殊功能存储器单片机I/O电路-P0口不需外部功能扩展时,都可以作典型的并行I/O端口,P3还可以作第二功能口。VPD:备用电源输入端B寄存器是为乘法和除法而设置的,在进行乘法和除法运算时A和B组成寄存器对,记为AB。单片机的外部引脚及功能-控制引脚(1)(9脚):RST:复位信号输入端 VPD:备用电源输入端PDRST/V上电复位电路持续出现两个机器周期以上的高电平时复位单片机若接备用电源(+5V),VCC掉电时能为内部RAM供电,以保证RAM中的数据不丢失。80519RSTCR+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P
16、1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-控制引脚(2)(30脚)ALE:地址锁存允许信号输出端 访问外部存储器时,访
17、问外部存储器时,下降沿下降沿将将 P0的低的低8位地址送入锁存器。位地址送入锁存器。PROG:编程脉冲输入端 对对8751编程写入时使用编程写入时使用PROGALE/P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0805187518031123456789
18、10111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-控制引脚(3)(29脚)外部程序存储器读选通信号低电平有效 从外部程序存储器读取指令时,每个机器周期产生2次该信号 PSENP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSEN
19、P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-控制引脚(4)(31脚)EA:内外程序存储器选择控制 EA=1,访问片内程序存储器 PC值超过片内程序存储器地址 自动转向外部程序存储器 EA=0,只访问外部程序存储器 Vpp:提供编程高电压 对于8751,接+21V或+12VppV/EAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.
20、1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-控制引脚(5)电源及时钟引脚(a)VCC +5V电源(40脚)(b)VSS 地 (20脚)P1.0P1.1P1.2P1.3P
21、1.4P1.5P1.6P1.7RST/VPDRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST/VP
22、DRXDP3.0TXD P3.1INT0 P3.2INT1 P3.3T0P3.4T1P3.5WR P3.6RD P3.7XTAL2XTAL1VSSVCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VPPALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.080518751803112345678910111213141516171819204039383736353433323130292827262524232221单片机的外部引脚及功能-控制引脚(c)XTAL1 (19脚)接外部晶体的一端 接外部时钟信号(CHMOS)(d)XTA
23、L2 (18脚)接外部晶体的另一端 悬空(CHMOS)XTAL1XTAL230 pF30 pFC2C1单片机 内部时钟方式 外部时钟方式(CHMOS)(1)单片机功能多,引脚数少,因而许多引脚都具有第二功能。(2)单片机对外呈现3总线形式:由P2、P0口组成16位地址总线;由P0口分时复用为数据总线;由控制引脚与P3口组成控制总线。引脚逻辑图XTAL1XTAL2EA/VppPSEN ALE/PROGRST/VPD VCC VSS 8051 P0 P1 P2 P3 P0.0P0.7 P1.0P1.7 P2.0P2.7 P3.0P3.7 单片机的外部引脚及功能-控制引脚地址总线(AB)805187
24、518031P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7PSENEAALERST用户I/O控制总线(CB)锁存器P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0ALEA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0VCCVSS数据总线(DB)VCCVSS单片机的外部引脚及功能-三总线写入信息后不易改写的存储器。断电后,其中的信息保留不变。用来存放固定的程序或数据,如系统监控
25、程序、常数表格等。CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。RAM按功能不同ROM单片机的存储器结构-基本概念RAM按功能不同双极型MOS型ROMEEPROMEPROM掩膜ROM可编程ROM(PROM)FlashROM静态RAM动态RAM可擦除ROM单片机的存储器结构-基本概念EPROM型,程序通过写入装置写入ALE信号是地址锁存信号。单片机I/O电路-P0口单片机的存储器结构-程序存储器如果地址/数据的状态为“1”RST:复位信号输入端与端口相关的(7个)P0的低8位地址送入锁存器。8位寄存器,寄存
26、当前指令执行后的状态,为下条或以后指令的执行提供状态条件。(4)P3口 (10-17脚)单片机的外部引脚及功能-三总线IDL:待机方式控制为。P0作地址数据总线(当EA=0或“MOVX”类传送时C=1)是单片机自动完成任务的工作方式,顺序执行它的作用是读入和分析每条指令,根据各指令的功能要求,控制单片机的各功能部件,具体地执行指令的操作。3:INT1(外部中断1输入)第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间,有效宽度为一个状态周期。单片机I/O电路-P0口一个8位的专用寄存器,主要用于存放当前运算结果的状态SCON:串行口控制计数器FF FF FF FF FF FF FF
27、 FF高8位字节寄存器用DPH表示;不能由程序读写外部程序存储器读选通信号GF1、GE0:通用标志位1算术逻辑单元ALUALE:地址锁存允许信号输出端若接备用电源(+5V),VCC掉电时能为内部RAM供电,以保证RAM中的数据不丢失。访问外部RAM的双周期指令时序因为作输入端口时,要先执行输出“1”的操作,所以这种口不是真正的双向I/O口,被称为准双向口。一个8位寄存器,用于寄存等待执行的指令。(d)XTAL2 (18脚)(1)(9脚):MCS-51系列单片机除乘法、除法指令是4周期指令外,其余都是单周期指令或双周期指令。片内程序存储器ROM 4KB(0000H0FFFH)ALE信号是地址锁存
28、信号。读锁存器(“读-修改-写”类指令,如ANL P0,A)FF FF FF FF FF FF FF FF从外部程序存储器读取指令时,单片机的工作时序和工作方式-时序的基本概念第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间,有效宽度为一个状态周期。单片机的存储器结构-分类80C51存储器的特点:采用哈佛结构,物理上把程序存储器与数据存储器独立分开。ROM、RAM分别具有各自的功能、寻址系统和控制信号。片内程序存储器ROM 4KB(0000H0FFFH)片内数据存储器RAM 128B(00H7FH)特殊功能寄存器SFR 128B(80HFFH)单片机的存储器结构-基本概念程序存储
29、器程序存储器FFH80H7FH00H SFR内部 RAM内部数据内部数据存储器存储器外部ROM60KBEA=0EA=10000H0FFFH1000HFFFFH内部ROM 4KB外部ROM 4KB外部数据外部数据存储器存储器外部RAM 64KB0000HFFFFH单片机的存储器结构-基本概念RAM1.按物理地址不同片内片外ROM片内片外普通RAM:128B(00H7fH)SFR:128B(80HFFH)64KB(0000H0fffH)4KB(0000H0fffH)60KB(1000H0fffH)或64KB(0000H0fffH)单片机的存储器结构-分类64KB程序存储器2.按寻址方式不同64KB
30、片外数据存储器256B片内数据存储器(包括SFR)MOVCMOVMOVX单片机的存储器结构-分类程序存储器3.按功能不同位地址空间特殊功能寄存器片内数据存储器片外数据存储器单片机的存储器结构-分类程序存储器用于存放编好的程序和表格常数。程序存储器用于存放编好的程序和表格常数。80C51单片机的程序计数器PC是16位的计数器,因此可寻址64KB的程序存储器。单片机的存储器结构-程序存储器无ROM型,要在片外扩展程序存储器掩膜ROM型,程序由芯片生产厂写入EPROM型,程序通过写入装置写入Flash ROM型,程序可以电写入(常用)片内片内ROMROM的配置形式的配置形式单片机的存储器结构-程序存
31、储器片外片外ROMROM的配置形式的配置形式无内部ROM,使用外部ROM,这是EA引脚必须接低电平 EA EA引脚接高电平引脚接高电平-片内片内单片机的存储器结构-片内外程序存储器的选择 EA EA引脚接地引脚接地-片外片外单片机的存储器结构-片内外程序存储器的选择单片机的存储器结构-程序存储器低端几个特殊单元低端几个特殊单元单片机的存储器结构-程序存储器指令代码及其观察指令代码及其观察单片机的存储器结构-数据存储器片片内、内、片片外外数据存储器概况数据存储器概况 片内片内RAMRAM及及SFR SFR 片外片外RAM RAM 数数据据存存储储器器片外片外RAM:64KB(扩展的)(扩展的)片
32、内片内RAM:128B(固有的)(固有的)只能用只能用MOV指令访问指令访问只能用只能用MOVX指令访问指令访问单片机的存储器结构-数据存储器片内片内RAMRAM详图详图 单片机的存储器结构-数据存储器工作寄存器区(含寄存器组工作寄存器区(含寄存器组0 3)寄存器组寄存器组0:地址:地址00H07H 寄存器组寄存器组1:地址:地址08H0FH 寄存器组寄存器组2:地址:地址10H17H 寄存器组寄存器组3:地址:地址18H1FH当前工作寄存器组当前工作寄存器组选择选择通过设置通过设置RS1和和RS0 PSW寄存器中:寄存器中:单片机的存储器结构-数据存储器读锁存器(“读-修改-写”类指令,如A
33、NL P0,A)单片机的存储器结构-基本概念单片机的存储器结构-数据存储器可带8个LSTTL负载END;控制信号为1时,P2口为地址口第一次在S1P2和S2P1期间,第二次在S4P2和S5P1期间,有效宽度为一个状态周期。FF FF FF FF FF FF FF FF1算术逻辑单元ALU一个16位专用寄存器,通常在访问外部数据存储器时作地址指针EPROM型,程序通过写入装置写入8位寄存器,寄存当前指令执行后的状态,为下条或以后指令的执行提供状态条件。4堆栈指针SPD7 D6 D5 D4 D3 D2 D1 D0标准的准双向I/O口。因为从引脚读出的电平有时不正确。内部时钟方式:在XTAL1和XT
34、AL2之间连上晶振和电容。(d)XTAL2 (18脚)(2)I/O口引脚:P0、P1、P2、P3用来存放固定的程序或数据,如系统监控程序、常数表格等。一个16位专用寄存器,通常在访问外部数据存储器时作地址指针外部程序存储器读选通信号位寻址区位寻址区 字节字节地址地址位地址位地址D7D6D5D4D3D2D1D020H07H06H05H04H03H02H01H00H21H0FH0EH0DH0CH0BH0AH09H08H22H17H16H15H14H13H12H11H10H23H1FH1EH1DH1CH1BH1AH19H18H24H27H26H25H24H23H22H21H20H25H2FH2EH2
35、DH2CH2BH2AH29H28H26H37H36H35H34H33H32H31H30H27H3FH3EH3DH3CH3BH3AH39H38H28H47H46H45H44H43H42H41H40H29H4FH4EH4DH4CH4BH4AH49H48H2AH57H56H55H54H53H52H51H50H2BH5FH5EH5DH5CH5BH5AH59H58H2CH67H66H65H64H63H62H61H60H2DH6FH6EH6DH6CH6BH6AH69H68H2EH77H76H75H74H73H72H71H70H2FH7FH7EH7DH7CH7BH7AH79H78HMOV A,20HMOV
36、C,20H 累加器累加器 位累加器位累加器 单片机的存储器结构-数据存储器普通存储区普通存储区 30H7FH,共80字节 数据缓冲 堆栈 SP指示栈顶 复位时SP=07H 系统初始化通常重新设置单片机的存储器结构-数据存储器RAM内容查看内容查看 单片机的存储器结构-数据存储器80C51单片机的CPU采用特殊功能寄存器对各功能部件进行集中控制。80C51包括21个SFR,离散的分布在80H0FFH的RAM空间中。读写SFR区没用到的单元无意义。单片机的存储器结构-特殊功能存储器2023-1-2848SFR的名称及其分布单片机的存储器结构-特殊功能存储器2023-1-2849SFR中的位地址分布
37、中的位地址分布MOV P1.0,C MOV P1,20HMOV 90H,20HMOV 90H,C 单片机的存储器结构-特殊功能存储器SFR分类:与ALU相关的(3个)累加器ACC寄存器B程序状态字PSW D7HD6HD5H D4HD3HD2HD1HD0H Cy AC F0 RS1 RS0 OV PPSW位地址位地址单片机的存储器结构-特殊功能存储器与指针相关的(3个)堆栈指针SP数据指针DPTR(由DPH和DPL组成)与端口相关的(7个)P0、P1、P2、P3SCON:串行口控制计数器SBUF :串行数据缓冲器PCON :串行通信波特率倍增寄存器单片机的存储器结构-特殊功能存储器与中断相关的(
38、2个)IE:中断允许控制寄存器IP:中断优先级控制寄存器与定时/计数器相关的(6个)TH0、TL0、TH1、TL1:分别是定时器0、定时器1的计数初值寄存器TMOD:定时器工作模式寄存器TCON:定时器控制寄存器单片机的存储器结构-特殊功能存储器1累加器ACC 8位寄存器,表示地址(位寄存器,表示地址(E0H),使用最频繁的寄存器),使用最频繁的寄存器(1)为ALU提供操作数、存放运算结果。(2)大部分指令要通过累加器ACC进行,通常用A表示。(3)80C51的部分指令规则将累加器旁路,提高了指令的操作速度,增强了实时性。单片机的存储器结构-特殊功能存储器2程序状态字寄存器PSW p8位寄存器
39、,寄存当前指令执行后的状态,为下条或以后指令的执行提供状态条件。pPSW的重要特点是可以编程。各位的定义如下:字节地址字节地址D0HCyACF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0单片机的存储器结构-特殊功能存储器(1)Cy(PSW.7)进位、借位标志位p在最高位有进位(加法时)或有借位(减法时),则Cy=1,否则Cy=0。p在布尔(位)处理器中作位累加器使用,常用“C”表示。字节地址D0HCyACF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0单
40、片机的存储器结构-特殊功能存储器(2)AC(PSW.6)辅助进位标志位 当低4位相加(或相减)时,若D3位向D4位 有进位(或借位),则AC=1,否则AC=0。字节地址D0HCyAcF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0单片机的存储器结构-特殊功能存储器(3)F0(PSW.5)用户标志位 可由用户通过软件定义(置位或清0)和检测。字节地址D0HCyAcF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0单片机的存储器结构-特殊功能存储器(4)RS1、
41、RS0(PSW.4、PSW.3)工作寄存器组选择位 用于选择内部4个工作寄存器组的某组。字节地址D0HCyAcF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0单片机的存储器结构-特殊功能存储器工作寄存器组的选择工作寄存器组的选择 181FH3组1 11017H2组1 0080FH1组0 10007H0组0 0R0R7地址寄存器组RS1 RS0单片机的存储器结构-特殊功能存储器(5)OV(PSW.2)溢出标志位 用于带符号数运算的溢出。当两个带符号数进行运算时,OV逻辑表达式为OV=C7 C6。字节地址D0HCyAcF0RS1
42、RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0单片机的存储器结构-特殊功能存储器(6)(PSW.1)保留位(7)P(PSW.0)奇偶校验标志位 P=1,ACC中“1”的个数为奇数 P=0,ACC中“1”的个数为偶数字节地址D0HCyAcF0RS1RS0OV-PPSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0单片机的存储器结构-特殊功能存储器3.数据指针DPTR 16位特殊功能寄存器,可分为2个8位寄存器:高8位字节寄存器用DPH表示;低8位字节寄存器用DPL表示。常用作访问外部存储器的地
43、址寄存器。寻址范围为64KB。单片机的存储器结构-特殊功能存储器 4堆栈指针SP 8位特殊功能寄存器,总是指向栈顶。堆栈操作遵循“后进先出”的原则,并由压入指令 (PUSH)和弹出指令(POP)完成。数据入栈时SP先加1,然后压入数据;数据出栈时先弹出数据,SP再减1。80C51的堆栈是向地址增大方向生成的。主机复位后,SP的初始值为07H,为避免与工作寄存器、位寄存器重叠,通常设在30H7FH。工作寄存器一直使用0组时,SP也可默认初始值而不做改变单片机的存储器结构-特殊功能存储器堆栈操作演示 如(A)=23H,(B)=0F5H PUSH A PUSH B POP 30H POP 31H0F
44、5H23H23H0F5H0F5H23HAB31H30HSP=07HSP=08HSP=09H单片机的存储器结构-特殊功能存储器有4个8位并行I/O端口,占32根引脚。每位都有自己的锁存器(即特殊寄存器P0P3)、输出驱动器和输入缓冲器。不需外部功能扩展时,都可以作典型的并行I/O端口,P3还可以作第二功能口。进行外部功能扩展时,P2口作高8位地址线,P0口为低8位地址/数据线复用,P1作典型的I/O口。单片机I/O电路EA=1,访问片内程序存储器单片机的工作时序和工作方式-时序的基本概念完成一个基本操作所需的时间称为机器周期。单片机的外部引脚及功能-控制引脚ROM、RAM分别具有各自的功能、寻址
45、系统和控制信号。IE:中断允许控制寄存器需要外接上拉电阻,一般选R=4.用于带符号数运算的溢出。P0、P1、P2、P3单片机的存储器结构-基本概念P0的低8位地址送入锁存器。单片机辅助电路-复位电路(3)80C51的部分指令规则将累加器旁路,提高了指令的操作速度,增强了实时性。P0作地址数据总线(当EA=0或“MOVX”类传送时C=1)单片机的存储器结构-特殊功能存储器一个8位寄存器,用于寄存等待执行的指令。外部程序存储器读选通信号工作寄存器区(含寄存器组0 3)一个8位的专用寄存器,主要用于存放当前运算结果的状态单片机的组成和内部结构-CPU的内部结构PCON不能进行位操作,只能按字节操作p
46、 当控制信号为0时,P0口输入数据或作I/O口p 控制信号为1时,P0口输出地址/数据信息输出锁存器两个输入缓冲器输出驱动电路P0口内部结构输出控制电路P0口结构 单片机I/O电路-P0口1.P0作通用I/O口(当EA=1或“MOV”传送时C=0)截止0控制电平为“0”,锁存器的Q与T2接通与门封锁,T1截止,P0口的输出是漏极开路电路需要外接上拉电阻,一般选R=4.7K或5.1K。0VCCR单片机I/O电路-P0口01(1)输)输出出时时00010VCC截止1导通R单片机I/O电路-P0口(2)输)输入入时时 读锁存器(“读-修改-写”类指令,如ANL P0,A)读引脚(“MOV”类指令,如
47、MOV A,P0),要先写“1”10P0作通用I/O时为:准双向口!单片机I/O电路-P0口截止导通读引脚时为什么要先给锁存器写“1”?D QCLK QMUXP0.x读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址/数据控制VCCT1T2P0口引脚00复位后进行输入操作10有效输入送入内部总线先进行输出操作,再进行输入操作010输入可能无法正确送入内部总线11VCCR单片机I/O电路-P0口 为使输入信号正确送入内部总线,要在输入操作前,内部总线先输出1,使T2截至。因为作输入端口时,要先执行输出“1”的操作,所以这种口不是真正的双向I/O口,被称为准双向口。截止D QCLK
48、QMUXP0.x读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址/数据控制VCCT1T2P0口引脚0010有效001VCCR单片机I/O电路-P0口为什么需要读锁存器?D QCLK QMUXP0.x读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址/数据控制VCCT1T200指令的目地操作单元为P0口时,如ANL P0,A,此时指令要读取锁存器的内容。有效11导通0因为从引脚读出的电平有时不正确。01有效先修改VCCVCCR“读-修改-写”单片机I/O电路-P0口2.P0作地址数据总线(当EA=0或“MOVX”类传送时C=1)地址/数据信息分时出现在输出引脚。控制
49、电平为“1”,与门打开,地址/数据信息与T1接通。1110地址/数据信息经反相器与T2接通。上下两个FET处于反相,构成了推拉式的输出电路,其负载能力大大增强。(1)输出时单片机I/O电路-P0口D QCLK QMUXP0.x读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址/数据数据控制控制VCCT1T2P0P0口口引脚引脚如果地址/数据的状态为“1”111012.P0作地址数据总线(当EA=0或“MOVX”类传送时C=1)单片机I/O电路-P0口D QCLK QMUXP0.x读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址地址/数据数据控制控制VCCT1T
50、2P0P0口口引脚引脚如果地址/数据的状态为“0”10100此时,P0口不需要外接上拉电阻!2.P0作地址数据总线(当EA=0或“MOVX”类传送时C=1)单片机I/O电路-P0口先输出地址,此时控制电平为“1”(C=1)2.P0作地址数据总线(当EA=0或“MOVX”类传送时C=1)(2)输入时单片机I/O电路-P0口0 1D QCLK QMUXP0.x读锁存器读锁存器内部总线内部总线写锁存器写锁存器读引脚读引脚地址/数据控制VCCT1T2P0口引脚 输入数据前无需额外操作,此时输入数据前无需额外操作,此时P0口是真正的双向口。口是真正的双向口。10有效00高阻抗状态0再自动将控制电平转为“