




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1二的结构和原理
本章将以MCS-51系列的8051为典型例子,详细介绍单片机的结构、性能、存储器结构及工作原理等内容。通过对这些内容的掌握,可以起到举一反三、触类旁通的作用。§2.1MCS-51单片机的结构以8051为例给出的单片机功能方块图如下:第1页/共58页MCS-51单片机组成框图时钟OSCCPU并行接口定时/计数器ROMRAMP0中断系统T0T1P1P2P3串行接口TXDRXDINT0INT1第2页/共58页8051的内部结构展开图128×8RAMRAM地址寄存器P3口P1口P2口P0口锁存器锁存器锁存器锁存器中断控制定时/计数器串行I/O口SP寄存器B累加器A暂存器1暂存器2程序状态字PSW指令寄存器IR指令译码器ID数据指针DPTR缓冲器程序计数器PC增1程序地址寄存器AR定时与控制4K×8ROMALUCPU第3页/共58页2.1.1CPU运算器CPU算术/逻辑部件ALU(ArithmeticLogicUnit)累加器ACC
(Accumulator)程序状态字寄存器PSW(ProgramStatusWord)暂存寄存器寄存器B控制器定时控制与条件转移逻辑电路程序计数器PC指令寄存器IR指令译码器ID第4页/共58页1.8051的时钟
时钟可以由两种方式产生:内部方式和外部方式。XTAL1内部方式XTAL2XTAL2外部方式XTAL1VSS外部时钟第5页/共58页(1)内部方式:在XTAL1和XTAL2端外接石英晶体作定时元件;时钟发生器对振荡脉冲二分频,即若石英频率fosc=6MHz,则时钟频率=3MHz;
fosc可在1.2MHz~12MHz选择;小电容可以取30pF左右。(2)外部方式:通过XTAL2接入外部时钟。第6页/共58页2.8051的基本时序周期
计算机工作要有严格的时序。事实上,计算机更象一个大钟,什么时候分针动,什么时候秒针动,什么时候时针动,都有严格的规定,一点也不能乱。基本时序单位:3.机器周期:一个机器周期包括6个时钟周期。4.指令周期:执行一条指令的时间。1.振荡周期:晶体振荡器的周期。2.状态周期:振荡周期2分频,也称时钟周期。第7页/共58页INTEL对每一条指令都给出了它的指令周期数,MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较慢,得要2个机器周期,还有两条指令要4个机器周期才行。
若fosc=6MHz,则8051的:振荡周期=1/6us;时钟周期=1/3us;机器周期=2us;指令周期=2~8us。第8页/共58页2.1.28051的片内存储器
8051单片机与一般微机的存储器配置方式很不相同。一般微机通常只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是RAM,并用同类访问指令,这种结构称为普林斯顿结构(冯·诺依曼结构)。第9页/共58页而MCS-51则不同:
8051在物理结构上设计成程序存储器与数据存储器独立分开的哈佛结构:
片内程序存储器4KB(ROM0000H~0FFFH)
片内数据存储器128B(RAM00H~7FH)第10页/共58页2.1.38051的I/O端口8051有四个8位并行双向I/O口P0、P1、P2、P3,
一个串行口2.1.48051的特殊功能寄存器SFR
8051内部有21个特殊功能寄存器,分别叫SP、IE、IP、PCON......(与内部RAM统一编址80H~FFH)第11页/共58页★§2.2MCS-51单片机的存储器组织8051在物理结构上有四个存储空间:
片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。new第12页/共58页64KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00HSFRRAM64KBRAM(I/O)0000HFFFFH片内片外片外程序存储器数据存储器第13页/共58页8051在逻辑上,即从用户角度上8051有三个存储空间:片内外统一编址的程序存储器
片内外不统一编址的数据存储器特殊功能寄存器(片内)第14页/共58页一、程序存储器及地址空间作用--程序存储器用于存放编好的程序和表格常数。①8051片内有4K字节ROM,片外用16位地址线最多可扩展64K字节ROM,两者是统一编址的。★如果EA端保持高电平,8051执行片内前4KB
ROM地址(0000H~0FFFH)中的程序。当寻址范围超过4KB(1000H~FFFFH)时,则从片外存储器取指令。★当EA端保持低电平时,8051的所有取指令操作均在片外程序存储器中进行,这时片外存储器可以从
0000H开始编址。第15页/共58页②在程序存储器中,有6个单元具有特殊功能0003H:外部中断0入口。000BH:定时器0溢出中断入口。0013H:外部中断1入口。001BH:定时器1溢出中断入口。0023H:串行口中断入口。
使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。0000H:8051复位后,PC=0000H,即程序从0000H
开始执行指令。第16页/共58页二、数据存储器及地址空间数据存储器片外RAM64KB,地址范围0000H~FFFFH片内RAM128B,地址范围00H~7FH第17页/共58页片内数据存储器空间分布图通用RAM区
(80B)位地址区
(16B)寄存器区4组(32B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器区4组(32B).........①由PSW中的2位RS1、RS0来决定选哪一组为当前工作寄存器:
RS1、RS0=00
选0组
RS1、RS0=01
选1组
RS1、RS0=10
选2组
RS1、RS0=11
选3组②在位地址区,每一个BIT都有一个
地址,共16×8=128位00H30H2FH20H1FH...第18页/共58页片内数据存储器空间分布图通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器0组寄存器区4组(32B).........RS1、RS0=00R7R6R5R4R3R2R1R000H01H02H03H04H05H06H07H00H30H2FH20H1FH...第19页/共58页片内数据存储器空间分布图通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器1组R7R6R5R4R3R2R1R008H09H0AH0BH0CH0DH0EH0FH寄存器区4组(32B).........RS1、RS0=0100H30H2FH20H1FH...第20页/共58页片内数据存储器空间分布图通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器2组R7R6R5R4R3R2R1R010H11H12H13H14H15H16H17H寄存器区4组(32B).........RS1、RS0=1000H30H2FH20H1FH...第21页/共58页片内数据存储器空间分布图通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器3组R7R6R5R4R3R2R1R018H19H1AH1BH1CH1DH1EH1FH寄存器区4组(32B).........RS1、RS0=1100H30H2FH20H1FH...第22页/共58页片内数据存储器空间分布图通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组位地址区20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH00H01H02H03H04H05H06H07H08H0FH10H7FH78H70H68H60H58H50H48H40H38H30H28H20H77H6FH67H1FH5FH57H4FH47H3FH37H2FH27H1FH17H........................D7D6D5D4D3D2D1D0.........00H30H2FH20H1FH...第23页/共58页片内数据存储器空间分布图通用RAM区
(80B)位地址区
(16B)00H30H2FH20H1FH7FH寄存器3组寄存器2组寄存器1组寄存器0组通用RAM区............共80个字节,作为一般的数据缓冲区并可设置堆栈区第24页/共58页三、特殊功能寄存器(21个字节)SFR
(SpecialFunctionalRegister)
见书P6表1-3①与ALU相关的(3个)
ARegister(Accumulator):累加器。累加器,通常用A或ACC表示。可字节寻址(E0H),
也可位寻址(E0H~E7H)
它是一个寄存器,而不是一个做加法的部件。在运算器做运算时其中一个数一定是在ACC中。
BRegister:暂存寄存器。
暂存寄存器。在做乘、除法时放乘数或除数及结果。
PSW(ProgramStatusWord
):程序状态字。
PSW是8位寄存器,用于作为程序运行状态的标志。这是一个很重要的部件,里面存放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。第25页/共58页它的各位功能如下:
当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步进行方向提供依据。PSW寄存器中各位的名称及位置如下表所示,下面说明各标志位的作用。D7D6D5D4D3D2D1D0CYACF0RS1RS0OVPPSW位地址第26页/共58页
CY:进位标志。
加减运算时,保存最高位进位、借位状态。
AC:半进位标志。
例:78H+97H01111000+10010111100001111
D7D6D5D4D3D2D1
D0
CYACF0RS1RS0OVPPSW位地址有进位CY=1没有半进位AC=0第27页/共58页
RS1、RS0:工作寄存器组选择位。
00选择工作寄存器0组
01选择工作寄存器1组
10选择工作寄存器2组
11选择工作寄存器3组
P:奇偶校验位,它用来表示累加器A内容中二进制数位
“1”的个数的奇偶性。若为奇数,则P=1,否则为0。例:某运算结果是78H(01111000),则P=0。D7D6D5D4D3D2D1
D0CY
ACF0
RS1
RS0OV
PPSW位地址第28页/共58页F0:用户标志位。作为软件标志,由编程人员决定何时使用。OV:溢出标志位。有符号数运算时,如果发生溢出,OV置“1”,否则清“0”。D7HD6HD5HD4HD3HD2HD1H
D0HCY
AC
F0RS1RS0
OVPPSW位地址第29页/共58页②与指针相关的(2个)
SP(Stack
Pointer):
堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H。它是加1计数.
DPTR(DataPointer)(分成DPH、DPL两个):数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。第30页/共58页P0、P1、P2、P3:四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。SCON(SerialControlRegister)
串行口控制器。SBUF
(Serial
DateBuffer)
串行数据缓冲器。
PCON(PowerControlRegister)
电源控制及波特率选择。
③与端口相关的(7个)第31页/共58页④与定时/计数器相关的(6个)TMOD(Timer/CounterModeRegister)
定时器工作模式寄存器。TCON(Timer/Counter
Control
Register)
定时器控制寄存器。TH0、TL0、TH1、TL1:分别是T0、T1的记数初值寄存器。IP(Interrupt
Priority
Register)
中断优先控制器。
IE(InterruptEnableRegister)
中断允许控制器。
⑤与中断相关的(2个)第32页/共58页课堂练习及思考题补充题:下列是关于8051单片机存储空间的描述,分析其对错:
a.特殊功能寄存器容量为21B,没有位地址。
b.外部数据存储器容量可达64kB,字节地址和位地址范围均为0000H~FFFFH
c.程序存储器容量可达64kB,字节地址和位地址范围均为0000H~FFFFH
第33页/共58页课堂练习及思考题补充题:下列是关于8051单片机存储空间的描述,分析其对错:
d.
内部数据存储器容量为128B,字节地址和位地址范围均为00H~7FHe.特殊功能寄存器容量为21B,有一部分特殊功能寄存器具有位地址。
f.程序存储器容量可达64kB,地址范围为0000H~FFFFH。第34页/共58页
2.MCS-51单片机的工作寄存器组如何选择?若PSW的RS1、RS0位的内容是01,那么此时工作寄存器R1的字节地址是多少?
3.MCS-51内部RAM的工作寄存器组一共有多少个存储单元?分为多少组?每组有多少个存储单元?分别以什么作为寄存器名?第35页/共58页4.8051存储空间的结构与8086/8088有什么不同?它的物理结构是怎样的?5.MCS-51单片机的内部数据存储器容量是多少?它有什么特点?第36页/共58页§2.3MCS-51单片机的并行端口结构与操作
8051单片机有4个I/O端口,每个端口都是8位准双向口,共占32根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输出驱动器和输入缓冲器。通常把4个端口笼统地表示为P0~P3。第37页/共58页
在无片外扩展存储器的系统中,这4个端口的每一位都可以作为准双向通用I/O端口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。下面简单介绍一下输入/输出端口结构。2.3.1P0口和P2口的结构第38页/共58页下图为P0口的某位P0.n(n=0~7)结构图,它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路及控制电路组成。从图中可以看出,P0口既可以作为I/O用,也可以作为地址/数据线用。DQCLKQMUXP0.n读锁存器内部总线写锁存器读引脚地址/数据控制VCCT1T2P0口引脚一、P0口的结构第39页/共58页1、P0口作为普通I/O口①输出时若驱动NMOS或其它拉流负载时,需要外接上拉电阻。P0的输出级可驱动8个LSTTL负载。②输入时----分读引脚或读锁存器读端口时实际上并不从外部读入数据,而只是把端口锁存器中的内容读入内部总线,经过某种运算和变换后,再写回到端口锁存器。读引脚时才真正地把外部数据读入到内部总线。第40页/共58页准双向口:在端口进行输入操作前,应先向端口锁存器写“1”,使场效应管截止,引脚处于悬浮状态,变为高阻抗输入。这就是所谓的准双向口。第41页/共58页2、P0作为地址/数据总线
在系统扩展时,P0端口作为地址/数据总线使用时,分为:P0引脚输出地址/输入数据P0引脚输出地址/数据信息第42页/共58页二、P2的内部结构1.P2口作为普通I/O口DQCLKQMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚CPU发出控制电平“0”
,使多路开关MUX倒向锁存器输出Q端,构成一个准双向口。其功能与P1相同。第43页/共58页
2.P2口作为地址总线在系统扩展片外程序存储器/数据存储器且容量超过256B时,CPU发出控制电平“1”,使多路开关MUX倒内部地址线。此时,P2输出高8位地址。DQCLKQMUXP2.n读锁存器内部总线写锁存器读引脚地址控制VCCRTP2口引脚第44页/共58页2.3.2P1口、P3口的内部结构
①P1口的一位的结构它由一个输出锁存器、两个三态输入缓冲器和输出驱动电路组成----准双向口。DQCLKQP1.n读锁存器内部总线写锁存器读引脚VCCRTP1口引脚第45页/共58页②P3的内部结构DQCLKQP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能一、作为通用I/O口与P1口类似----准双向口(W=1)W第46页/共58页②P3的内部结构DQCLKQP3.n读锁存器内部总线写锁存器读引脚VCCRTP3口引脚第二输入功能第二输出功能二、P3第二功能(Q=1)此时引脚部分输入(Q=1、W=1)
,部分输出(Q=1、W输出)
。W第47页/共58页P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制P3.7:RD外部读控制第48页/共58页课堂复习补充题:1.MCS-51单片机的哪些端口,有两种功能?分别是什么功能?2.在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务专员保密协议书范本
- 高端车展场地租赁及展会期间清洁维护协议
- 紧急电力抢修专用低压开关柜快速采购合同
- 城市绿化插花项目合作协议
- 门市部转让协议书范本
- 智能化厂房装修与智能控制系统集成合同
- UHPC超高性能混凝土浇筑技术
- 智慧医院建筑智能化建设方案
- 智慧生态茶园项目汇报
- 工厂环保培训
- 北京市通州区2023-2024学年八年级下学期期末考试物理试题【含答案、解析】
- 2025年四川省安全员《A证》考试题库
- 2024年山东省夏季普通高中学业水平合格考试历史试卷
- 园艺论文开题报告范文
- 数据质量管理实施手册
- 林业工程开工申请
- 清华大学《大学物理》各章节习题库及答案合集
- 《设备找正找平》课件
- 2024年度小红书商业MCN机构经营洞察报告
- 宠物医院服务行业可行性分析报告
- 输液港的输液与维护
评论
0/150
提交评论