




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MCS-51单片机的组成和内部结构MCS-51单片机系列包括51、52两个子系列51子系列有80C31、80C51、87C51和89C51四种机型52子系列也有四种机型,分别是80C32、80C52、87C52和89C52两子系列的区别是:51子系列有128B的片内RAM,4KB的ROM(不包括80C31),2个定时器/计数器及5个中断源。52子系列有256B的片内RAM,8KB的ROM(不包括80C32),3个16位定时器/计数器及6个中断源。OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerial外部中断晶振输入P0P1P2P3TXDRXD8051单片机OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXD程序8-bitdatabus数据总线16-bitaddressbus地址总线8-bitaddressbus地址总线外部中断晶振输入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXD中央处理器中断振荡器定时器串口外部中断晶振输入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23h外部中断晶振输入外部中断晶振输入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23H给我一条指令!!指令地址是什么?在这里OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23hMOVP3,23H外部中断晶振输入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23H外部中断晶振输入OscillatorInterruptCPUEPROMRAMTimer1Timer0I/OportsSerialP0P1P2P3TXDRXDMOVP3,23H外部中断晶振输入详细结构引脚P1P0P2P3CPU中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码。CPU负责控制、指挥和调度整个单元系统协调工作,完成运算和控制输入输出功能等操作。它由运算器、控制器及位处理器(布尔处理器)等组成。运算器包括算数逻辑单元、累加器A、寄存器B、暂存器(TEMP)及程序状态寄存器PSW等。ACC寄存器TMP2临时寄存器TMP1临时寄存器ALU运算单元PSW程序状态寄存器内部数据总线程序状态标志寄存器PSW反映ALU运算结果的标志寄存器。如计算加法时的进位、计算减法时的借位及ACC寄存器中数据的奇偶等标志同时还具有一些其它的标志,它是单片机编程时特别需要关注的寄存器
控制器主要任务:根据指令控制单片机各功能部件;包括:程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路及时序控制逻辑电路。存储器
数据存储器(RAM):51/52片内有128/256个8位用户读写数据存储单元和21/26个特殊功能寄存器
程序存储器(ROM):51/52有4KB/8KB的掩膜ROM,用于存放用户程序和常数(如原始数据或表格)等。当需要扩展片外ROM时,MCS-51对外有64KB程序存储器的寻址能力。MCS-51的存储器配置
MCS-51单片机的程序存储器和数据存储器的寻址空间是分开的,属于哈佛存储结构共有5个物理上相互独立的存储器空间用户角度看有3个存储空间:片内外统一编址的64KB程序存储器地址空间、64KB外部数据存储器地址空间、256B的片内数据存储地址空间VonNeumannarchitecture00010C0B0A0908070605040302JohnVonNeumann存储器配置类型冯·诺依曼VonNeumannarchitecture00010C0B0A09080706050403024B44016F2326A3554745DataProgram存储器配置类型存储器配置类型VonNeumannarrangementHarvardarrangement00010C0B0A09080706050403A02CBD五种类型的存储器ExternalRAMExternalROM8051InternalROMSpecialFunctionRegistersInternalRAMSFR,特殊功能寄存器00hFFh80h7FhFFFF0000内部RAMb.8052内存分配数据存储器00hFFh80h7FhFFFF0000内部RAM8052内存分配SFR特殊功能寄存器00hFFh80h7FhFFFF0000内部RAMSFR外部RAM8052内存分配数据存储器00hFFh80h7FhFFFF0000内部RAMSFR外部RAMROM8052内存分配内部外部DataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000内部RAM内部ROM外部ROM外部RAM8052如何判别使用哪类存储器?DataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOV内部RAM内部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOV内部RAM内部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOV(间接寻址)内部RAM内部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOVX(间接寻址)
内部RAM内部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOVC(间接寻址)内部RAM内部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000MOVC(间接寻址)内部RAM内部ROM外部ROM外部RAMDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000如何确定使用哪个程序存储器?内部RAM内部ROM外部ROM外部RAM40239133843753663573483393210311130122913281427152616251724182319222021P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0Vcc+5vP0.0P0.1P0.2P0.3P0.4P0.5P0.6VssGNDXTAL2P3.0RXDRSTP3.1TXDP3.2INT0P3.3INT1P3.4T0P3.5T1P3.6WRP3.7RDXTAL1P0.7Vpp/EAPROG/ALEPSEN8051EA=ExternalAccessEA为低则使用外部ROMEA为高则使用内部ROM+5VDataMemoryDataMemCodeMemoryCodeMemorySFRs0080FFFFFFFFFF0000EA=lowEA=high内部RAM内部ROM外部ROM外部RAM内部RAM001F202F307F32bytesR区(寄存器区)
16bytes位空间80bytes普通RAM00R区07080F1017181FRegisterBank0RegisterBank1RegisterBank2RegisterBank3R0R7R0R7R0R7R0R7当使用0区寄存器时MOVR7,#12H=MOV07H,#12H
001F202F307F4RegisterBanks16bytes可位寻址RAM80bytesRAM位空间可位寻址RAM如何区别位地址和字节地址?不同指令区分!如:INC7FH(字节)SETB7FH(位)001F202F307F4RegisterBanks16bytes可位寻址RAM80bytesRAM普通RAM区
(b)向上生长型进栈SP增加,出栈SP减小栈顶数据入数据出SPSPSP+1栈底数据出数据入SPSP-1SP(a)向下生长型进栈SP减小,出栈SP增加两种不同类型的堆栈8051堆栈BaseEndGrowingupwards基地址BaseEndGrowingdownwards写入新数据8051堆栈BaseEndGrowingupwards在内部RAM堆栈在哪儿?00hFFh80h7FhFFFF0000内部RAMSFR外部RAM程序存储器8051内存分配堆栈在内部RAMStackPointer栈指针SPStackPointer(8-bit)堆栈中最后一项的地址STACKStackPointerStackPointer当8051复位(RESET)时SP值为07h07h1110000008h09h0Ah06h05h04h03hBase内部RAMSFR外部RAM程序存储器SP是一个SFRSP在什么地方?PUSH36hStackPointer36h37h35hXXXXPOP37hStackPointer36h37h35hXXXX堆栈指针操作
MOVSP,#45h INCSP DECSP危险堆栈指针操作
MOVSP,#45h INCSP DECSP初始化堆栈指针
BEGIN:
MOVSP,#45h ;堆栈从46h开始特殊功能寄存器区地址范围:80H~FFH一是通用数据RAM区(51子系列单片机没有该区)二是特殊功能寄存器区。特殊功能寄存器(SFR)
地址范围:80H~FFH,与通用RAM的高128B地址,在逻辑上是重合的。51子系列单片机有21个特殊功能寄存器。52子系列比51子系列多了一个定时器/计数器T2,增加了5个特殊功能寄存器。
PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0~P3FFHSCON00HIP××000000BSBUF不定IE0×000000BPCON0×××0000BTMOD00H没有占用的地址单元读写均无效寻址方式:可以以字节寻址,部分也可以位寻址可位寻址的寄存器:地址是8的整倍数。有11个可位寻址寄存器。其字节和位的地址见表2.5所示位地址与位寻址区地址统一编址
累加器ACC(0E0H)累加器的助记符是A,当对累加器的位进行操作时,常用符号ACC,如累加器的D0位,表示为“ACC.0”。大部分单操作数指令的操作数取自累加器A。B寄存器(0F0H)B寄存器可以作为一般寄存器使用。但在乘除指令中,B寄存器有专门的用途。乘法指令中,两个操作数一个是累加器A,另一个必须是B寄存器。其结果存放在A、B寄存器对中。除法指令中,被除数是累加器A,除数是寄存器B,商数存放于A,余数存放于B寄存器。
程序状态寄存器PSW(0D0H)程序状态寄存器是一个8位寄存器。它包含了程序状态信息和一些可控制位。该寄存器各位的含义见表2.6所示
CyACFORS1RS0OV
P进位标志Cy:算术逻辑指令时,最高位D7有进(借)位,则Cy=1,否则Cy=0;在布尔处理器中,它起着“位累加器”的作用。17条布尔处理指令多数是针对CY来完成的。程序中写成C。
辅助进位标志AC:加(减)法运算时,如果低半字节的最高位D3有进(借)位,则AC=1,否则AC=0;AC在作BCD码运算而进行二~十进制调整时有用。Cy
ACFORS1RS0OV
P用户标志FO:是用户定义的一个状态标志。可通过软件对它置位、清零;在编程时,也常测试其状态进行程序分支。CyACFORS1RS0OV
PCyACFORS1RS0OV
P工作寄存器区选择位RS1、RS0:可借软件置位或清零,以选定4个工作寄存器区中的一个区投入工作。RS1RS0寄存器区00第0区01第1区10第2区11第3区溢出标志OV:作有符号数加法、减法时由硬件置位或清除,以指示运算结果是否溢出。CyACFORS1RS0OV
P奇偶标志P:每执行一条指令,单片机都能根据A中1的个数的奇偶自动令P置位或清零:奇为1,偶为0。串行通信的数据传输非常有用,通过奇偶校验可检验数据传输的正确与否。CyACFORS1RS0OV
PDPTR(83H、82H)数据指针DPTR是一个16位专用寄存器。它既可以是一个16位专用寄存器DPTR,有16位数的加一功能。也可以拆开,作为2个独立的8位寄存器DPH和DPL使用。DPTR是继程序计数器PC以外的第二个16位寄存器。用途:保持16位的地址,寻址片外64KB的数据存储器或程序存储器空间。大多数情况下只能作为两个8位寄存器使用,如将DPTR压栈应先压DPL后压DPH有“自加一”指令,没有“自减一”指令指针SP(81H)堆栈指针SP是一个8位的特殊功能寄存器MCS-51的堆栈指针具有自加一功能,指向栈顶压栈过程:SP先“自加一”而后将数据放入存储器单元出栈过程:先将SP指向单元数据送出,而后SP“自减一”程序计数器PC程序计数器PC不属于特殊功能寄存器。编程不能对它进行访问。一个16位程序地址寄存器。专门用于存放下一条要执行指令的地址。可寻址0000H-0FFFFH范围,64KB的程序存储器空间。当一条指令被取出后,PC的内容会自动增量,指向下一条要执行指令的地址。注意:PC在0000H~0FFFH范围内,执行片内ROM中的程序当PC的内容在1000H~0FFFFH范围时,CPU自动转向外部ROM执行程序P0-P3端口寄存器地址:80H,90H,0A0H,0B0H专用寄存器P0、P1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学办公室装修协议书
- 租用办学协议书
- 职工劳动协议书
- 负债归属协议书
- 手机店入股合同协议书
- 自考保过协议书
- 夫妻按揭房约定协议书
- 股票账户协议书
- 签订工资协议书
- 赔偿修车协议书
- 2025届福建省漳州市高三第三次教学质量检测生物试卷(解析版)
- 2025年茶叶加工工职业技能竞赛参考试题库500题(含答案)
- 2025甘肃陕煤集团韩城煤矿招聘250人笔试参考题库附带答案详解
- 2025年社区工作的理论与实务考试题及答案
- 《设计课件:构建高效数据集教程》
- 2025江苏中考:历史高频考点
- 普通测量学试题及答案
- 国家开放大学2025年《创业基础》形考任务3答案
- 医疗器械网络销售质量管理规范宣贯培训课件2025年
- 语文课程资源的开发与利用
- 2024年09月四川天府新区人民医院招聘6人笔试历年专业考点(难、易错点)附带答案详解
评论
0/150
提交评论