版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章80C51的结构和原理教学目的
了解单片机的内部结构与主要型号。掌握单片机引脚信号功能定义。掌握单片机的存储器空间分配及各I/O口的特点。掌握单片机的复位电路、时钟电路及指令时序。学习重点和难点单片机的结构特点。存储器配置与空间的分布。程序状态寄存器(PSW)。单片机的指令时序。1第2章80C51的结构和原理2.780C51的并行口结构与操作2.180C51系列概述2.280C51的基本结构及内部结构2.380C51典型产品资源配置与引脚封装2.480C51的时钟与时序2.680C51的存储器组织2.580C51的复位22.180C51系列概述2.1.1MCS-51系列(1)MCS-51是Intel公司生产的一个单片机系列名称。(2)该系列生产工艺有两种:型号中凡带有字母“C”的即为CHMOS芯片HMOS工艺(高密度短沟道MOS工艺)。H:高速度和高密度;与TTL电平兼容CHMOS工艺(互补金属氧化物的HMOS工艺)。C:低功耗;CHMOS与TTL和COMS电平都兼容80C51和MCS-51的关系8051是MCS-51系列单片机的典型品种。以8051为基核开发出的CHMOS工艺单片机产品统称为80C51。8051的功耗为630mW,而80C51的功耗只有120mW。32.1.280C51系列以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。
﹡Intel的:80C31、80C51、87C51,80C32、80C52、87C52等;
﹡ATMEL的:89C51、89C52、89C2051等;52.280C51的基本结构及内部结构2.2.180C51的基本结构框图68051单片机的结构框图如图所示,可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:1个8位微处理器(CPU)。1个时钟电路。4KB程序存储器。256B数据存储器。2个16位定时/计数器。64KB扩展总线控制电路。4个8位并行I/O接口P0~P3。1个全双工串行I/O接口。5个中断源,其中包括2个优先级嵌套中断。
7一、80C51微处理器(CPU)二、80C51片内存储器(ROM、RAM)三、80C51的I/O口及功能单元2.2.280C51的内部结构四、80C51特殊功能寄存器(SFR)9一、80C51微处理器(CPU)
CPU即中央处理器,是单片机的核心部件,是计算机的控制指挥中心。由运算器和控制器两部分组成。运算器电路以算术逻辑单元(ALU,ArithmeticLogicUnit)为核心,由暂存器1、暂存器2、累加器(A,Accumulator)、寄存器B、程序状态寄存器(PSW,ProgramStatusWord)及布尔处理机共同组成。它的主要任务是完成算术运算、逻辑运算、位运算和数据传送等操作,运算结果的状态由程序状态寄存器(PSW)保存。控制器电路包括程序计数器(PC)、PC增1寄存器、指令寄存器(IR)、指令译码器(ID)、数据指针(DPTR)、堆栈指针(SP)、缓冲器及定时控制电路等。控制器电路完成指挥控制工作,协调单片机各部分正常工作。10运算器CPU算术/逻辑部件ALU(ArithmeticLogicUnit)累加器ACC
(Accumulator)程序状态字寄存器PSW(ProgramStatusWord)暂存寄存器寄存器B控制器堆栈指针SP数据指针DPTR程序计数器PC指令寄存器IR指令译码器ID11三、80C51的I/O口及功能单元四个8位的并行口,即P0~P3。它们均为双向口,既可作为输入,又可作为输出。每个口各有8条I/O线。
有一个全双工的串行口(利用P3口的两个引脚P3.0和P3.1);有2个16位的定时/计数器;有1套完善的中断系统。
13四、80C51特殊功能寄存器(SFR)21个特殊功能寄存器单元,地址范围是只用到了80H~FFH中的21个字节单元,且这些单元是离散分布的。142.380C51典型产品资源配置与引脚2.3.180C51典型产品资源配置152.3.280C51的引脚封装总线型非总线型178051的40个引脚可分为:电源引脚2根时钟引脚2根控制引脚4根I/O引脚32根由于8051单片机是高性能的单片机,同时受到引脚数目的限制,所以有部分引脚具有第二功能。
188051引脚的功能描述(一)
电源引脚(2根)
VCC(40脚):电源端,接+5V电源。VSS(20脚):接地端。时钟引脚(2根)XTAL1(19脚):接外部晶振和微调电容的一端。采用外部时钟电路时,对HMOS型工艺的单片机,此引脚应接地;对CHMOS型而言,此引脚应接外部时钟的输入端。XTAL2(18脚):接外部晶振和微调电容的另一端。使用外部时钟时,对HMOS型工艺的单片机,此引脚应接外部时钟的输入端;对CHMOS型而言,此引脚悬空。19
EA/VPP(31脚):外部程序存储器地址允许输入端/编程电压输入端。当EA接高电平时,CPU执行片内ROM指令,但当PC值超过0FFFH时,将自动转去执行片外ROM指令;当EA接低电平时,CPU只执行片外ROM指令。对于8031,由于其无片内ROM,故其EA必须接低电平。该引脚的第二功能VPP是对8751片内EPROM编程写入时,作为21V编程电压的输入端。PSEN(29脚):片外ROM读选通信号端。在读片外ROM时,PSEN有效,为低电平,以实现对片外ROM的读操作。
控制引脚(4根)218051引脚的功能描述(三)I/O引脚(4×8=32根)
P0.0~P0.7(39~32脚):P0口的8位双向I/O口线。P0口即可作地址/数据总线使用,又可作通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。P1.0~P1.7(1~8脚):P1口的8位准双向I/O口线。
P1口作为通用的I/O口使用。P2.0~P2.7(21~28脚):P2口的8位准双向I/O口线。
P2口即可作为通用的I/O口使用,也可作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。P3.0~P3.7(10~17脚):P3口的8位准双向I/O口线。
P3口除了作为通用的I/O口使用之外,每个引脚还具有第二功能。
222.480C51的时钟与时序一、80C51的时钟产生方式内部时钟
外部时钟时钟:用来为单片机芯片内部各种微操作提供时间基准时序:微操作的时间次序232.外部时钟方式外部时钟方式是把外部已有的时钟信号引入到单片机内。8051:外部时钟由XTAL2输入,直接送入内部时钟电路,XTAL1接地;80C51:外部时钟由XTAL1输入,XTAL2悬空。外部时钟信号为高电平持续时间要大于20ns,且频率低于12MHz的方波。
25二、80C51的时钟信号一个机器周期包含12个晶荡周期或6个时钟周期
指令的执行时间称作指令周期(单、双、四周期)262.580C51的复位复位是单片机的初始化操作。复位功能是把PC初始化为0000H,使CPU从0000H单元开始执行程序;复位操作同时还对其他一些寄存器有影响,但内部RAM的数据是不变的。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。2.5.1复位功能29单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。常见的复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的。按键手动复位是通过复位端经电阻与电源VCC接通而实现的,它兼备上电复位功能。
(a)上电自动复位(b)按键手动复位
2.5.2复位电路30PC=0000H,所以程序从0000H地址单元开始执行;启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM的内容;特殊功能寄存器复位后的状态是确定的:P0~P3=FFH,各口可用于输出,也可用于输入;SP=07H,第一个入栈内容将写入08H单元;IP、IE和PCON的有效位为0,各中断源处于低优先级且均被关断、串行通讯的波特率不加倍;PSW=00H,当前工作寄存器为0组。2.5.3复位状态312.680C51的存储器组织﹡RAM,在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。﹡ROM,断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。
322.6.180C51的程序存储器ROM程序存储器ROM用来存放程序、常数或表格等。
80C51:4KB的掩膜ROM,87C51:4KB的EPROM,80C31:没有ROM(使用时必须使EA接低电平)。
PC是16位的计数器,所以能寻址64KB的ROM。实例观察332.6.280C51的数据存储器配置
片内片外0000H~007FH重叠区域访问需要采用不同的寻址方式片外RAM不能进行堆栈操作34数据存储器RAM主要用来存放运算的中间结果和数据等。在80C51中,其存储空间分布如下:片内RAM为128B存储单元,地址范围为00H~7FH。片外RAM最多可扩至64KB存储单元,地址范围为0000H~FFFFH。35一、工作寄存器区通用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组00H30H2FH20H1FH...36通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器0组寄存器区4组(32B).........RS1、RS0=00R7R6R5R4R3R2R1R000H01H02H03H04H05H06H07H00H30H2FH20H1FH...37通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器1组R7R6R5R4R3R2R1R008H09H0AH0BH0CH0DH0EH0FH寄存器区4组(32B).........RS1、RS0=0100H30H2FH20H1FH...38通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器2组R7R6R5R4R3R2R1R010H11H12H13H14H15H16H17H寄存器区4组(32B).........RS1、RS0=1000H30H2FH20H1FH...39通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组寄存器3组R7R6R5R4R3R2R1R018H19H1AH1BH1CH1DH1EH1FH寄存器区4组(32B).........RS1、RS0=1100H30H2FH20H1FH...4041通用RAM区
(80B)位地址区
(16B)7FH寄存器3组寄存器2组寄存器1组寄存器0组位地址区20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH00H01H02H03H04H05H06H07H08H0FH10H7FH78H70H68H60H58H50H48H40H38H30H28H20H77H6FH67H18H5FH57H4FH47H3FH37H2FH27H1FH17H........................D7D6D5D4D3D2D1D0.........00H30H2FH20H1FH...二、位寻址区(20H~2FH)41通用RAM区
(80B)位地址区
(16B)00H30H2FH20H1FH7FH寄存器3组寄存器2组寄存器1组寄存器0组通用RAM区............共80个字节,作为一般的数据缓冲区并可设置堆栈区,栈顶的位置由SP寄存器指示。复位时SP的初值为07H,在系统初始化时可以重新设置。三、通用RAM区实例观察422.6.380C51的特殊功能寄存器一、与运算器相关的寄存器(3个)二、指针类寄存器(3个)三、与口相关的寄存器(7个)四、与中断相关的寄存器(2个)五、与定时器/计数器相关的寄存器(6个)43ARegister(Accumulator):累加器,通常用A或ACC表示。可字节寻址(E0H),也可位寻址(E0H~E7H)
它是一个寄存器,而不是一个做加法的部件。在运算器做运算时其中一个数一定是在ACC中。BRegister:暂存寄存器。暂存寄存器。在做乘、除法时放乘数或除数及结果。PSW(ProgramStatusWord):
PSW是8位寄存器,用于作为程序运行状态的标志。这是一个很重要的部件,里面存放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。一、与运算器相关的寄存器(3个)44
当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标志位置1或清0。这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步进行方向提供依据。PSW寄存器中各位的名称、位置及各标志位的作用说明如下:D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVPPSW位地址PSW45
CY:进位标志。
加减运算时,保存最高位进位、借位状态。
AC:半进位标志。
例:78H+97H01111000+10010111100001111
D7HD6HD5HD4HD3HD2HD1H
D0H
CY
ACF0RS1RS0OVPPSW位地址有进位CY=1没有半进位AY=046
RS1、RS0:工作寄存器组选择位。
00选择工作寄存器0组
01选择工作寄存器1组
10选择工作寄存器2组
11选择工作寄存器3组
P:奇偶校验位,它用来表示累加器A内容中二进制数位“1”的个数的奇偶性。若为奇数,则P=1,否则为0。例:某运算结果是78H(),P=0。D7HD6HD5HD4HD3HD2HD1H
D0HCY
ACF0
RS1
RS0OV
PPSW位地址47F0:用户标志位。作为软件标志,由编程人员决定何时使用。OV:溢出标志位。有符号数运算时,如果发生溢出,OV置“1”,否则清“0”。D7HD6HD5HD4HD3HD2HD1H
D0HCY
AC
F0RS1RS0
OVPPSW位地址48SP(StackPointer):
堆栈指针,8位寄存器,用来指定堆栈的栈顶位置,初值为07H。它是加1计数。堆栈操作遵循“后进先出”的原则入栈操作时:SP先加1,数据再压入SP指向的单元。出栈操作时:先将SP指向的单元的数据弹出,SP再减1,这时SP指向的单元是新的栈顶。80C51单片机的堆栈区是向地址增大的方向生成的。DPTR(DataPointer)(分成DPH、DPL两个):数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。二、指针类寄存器(3个)49P0、P1、P2、P3:四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。SCON(SerialControlRegister)SBUF(SerialDateBuffer)
PCON(PowerControlRegister)
三、与口相关的寄存器(7个)四、与中断相关的寄存器(2个)IP(InterruptPriorityRegister)IE(InterruptEnableRegister)50TMOD
(Timer/Counter
ModeRegister)
定时器工作模式寄存器。TCON(Timer/Counter
ControlRegister)
定时器控制寄存器。TH0、TL0、TH1、TL1:分别是T0、T1的记数初值寄存器。五、与定时器/计数器相关的寄存器(6个)512.780C51的并行口结构与操作8051单片机有4个8位并行I/O端口,称为P0、P1、P2和P3口,每个端口都各有8条I/O口线,每条I/O口线都能独立地用作输入或输出。在无片外扩展存储器的系统中,这四个I/O口都可以作为通用I/O口使用。在有片外扩展存储器的系统中,P2口送出高8位地址,P0口分时送出低8位地址和8位数据。
522.6.1P0口、P2口的结构
一、
P0口的结构当不需要外部ROM和外部RAM时,P0、P2口做I/O口用;当需要外部ROM和外部RAM时,P0低8为地址、数据总线,P2高8位地址53二、
P2口的结构图中的控制信号C决定转换开关MUX的位置:当C=0时,MUX拨向下方,P0口为通用I/O口;当控制信号C=1时,MUX拨向上方,P0口作为地址总线使用。在实际应用中,P2口通常作为高8位地址总线使用。
542.6.2P1口、P3口的结构
一、
P1口的结构
P1口是唯一的单功能口,仅能作为通用I/O口使用。由于在其输出端接有上拉电阻,故可以直接输出而无需外接上拉电阻。同P0口一样,当作输入口时,必须先向锁存器写“1”,使场效应管T截止。
55二、
P3口的结构
P3口用作通用I/O口时,第二输出功能信号W=1,P3口的每一位都可定义为输入或输出,其工作原理同P1口类似。在真正的应用电路中,P3口的第二功能显得更为重要。56
P3口的第二功能
引脚第二功能功能说明P3.0RXD串行口输入P3.1TXD串行口输出P3.2外部中断0输入P3.3外部中断1输入P3.4T0定时器/计数器0计数输入P3.5T1定时器/计数器1计数输入P3.6片外RAM写选通信号(输出)P3.7片外RAM读选通信号(输出)572.7.3并行口的负载能力
P0、P1、P2、P3口的电平与CMOS和TTL电平兼容。P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。
由于单片机口线仅能提供几毫安的电流,当作为输出驱动一般的晶体管的基极时,应在口与晶体管的基极之间串接限流电阻。
58P1口输出功能应用实例【例1】
P1口做输出口,控制八只发光二极管循环点亮(P1口输出低电平时发光二极管被点亮)。
解:由于发光二极管低电平点亮,所以,需要哪个发光二极管点亮,只需在相应的端口输出逻辑0即可。由于每个发光二极管点亮后要持续一段时间才熄灭,再使下个发光二极管点亮,因此需要编写延时子程序,供主程序反复调用。本例中,延时子程序采用指令循环来实现。59地址机器码程序注释ORG0000H0000H021000LJMPMAINORG1000H1000H74FEMAIN:MOVA,#0FEH1002HF590LOOP:MOVP1,A1004H12100ALCALLDELAY;延时1007H23RLA;左移位1008H80F8SJMPLOOP;循环100AH7FFFDELAY:MOVR7,#0FFH;延时子程序100CH7EFAL1:MOVR6,#0FAH100EHDEFEDJNZR6,$1010HDFFADJNZR7,L11012H22RETEN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于服务价格调整的通知2026年5篇范本
- 工程飞检总结课件
- 铁路列车长行车安全与服务保障考核表
- 市政管道顶进验收方案
- 雨水花园种植施工方案
- 歌唱春天课件
- 工程测量测绘技术课件
- 工程承包法律培训课件
- 歌唱比赛模板课件
- 工程变更制作课件
- 浙江省宁波市2026年七年级上学期期中数学试卷附答案
- ISO 14001-2026 新版标准深度解读:修订变化与企业实施指南
- 国开2026年秋《公共行政学》形考任务1-3答案
- 干部轮岗交流管理工作指南
- 美国白宫 科学:一个新的黄金时代 致总统的报告
- 医疗机构流感疫情应急应对演练脚本
- CSCO胰腺癌诊疗指南(2026版)
- 2026年企业首席质量官培训考核试题(完整版)试题及答案
- 2026年及未来5年市场数据中国官能化SSBR行业市场需求预测及投资规划建议报告
- 2025~2026学年天津市河北区九年级上学期期中物理试卷
- 2026山东黄金集团公开招聘(1115人)笔试参考题库附带答案详解
评论
0/150
提交评论