Tim - 单片机
type: channel
link: https://tim-wcx.ltd/index.php/tag/%E5%8D%95%E7%89%87%E6%9C%BA/
items: 单片机复习

单片机复习
type: item
date: 2022-06-07T14:10:00+00:00
description: 单片机复习第3章 单片机的结构和原理51单片机的基本组成image-20220607190521599​ XTAL1、XTAL2：晶振 ​ PSEN: 片外程序存储器读选通信号输出端, 低电平有效。 ​ EA：片外程序存储器读选通信号输出端, 低电平有效。 ​ RST：复位信号​ ALE：地址锁存信号​ RXD：串行数据接收​ TXD：串行数据发送​ INT0：外部中断0请求输入线​ INT1：外部中断1请求输入线​ T0：定时器/计数器0计数输入线​ T1：定时器/计数器1计数输入线​ WE：外部RAM写信号​ RD：外部RAM读信号​ P0：地址/数据总线，准双向IO​ P1：准双向IO​ P2：地址总线，准双向IO​ P3：控制总线，准双向IO51子系列单片机的存储器配置1、8051存储器地址空间片内、片外统一编址的程序存贮器ROM：64KB，地址：0000～0FFFFH；(低4KB，EA==0时外部ROM，否则内部ROM)MOVC指令访问PSEN片选读信号片外数据存贮器RAM：64KB，地址：0000～0FFFFH；MOVX指令访问RD和WR信号内部数据存贮器RAM：256B，地址：0~0FFH。MOV指令访问2、ROM芯片用途： 用于存放编好的程序和表格常数。保留单元地址入 口 地 址用 途0000H～0002H0000H复位后初始化引导程序0003H～000AH0003H外部中断0中断服务程序000BH～0012H000BH定时/计数器0中断服务程序0013H～001AH0013H外部中断1中断服务程序001BH～0022H001BH定时/计数器1中断服务程序0023H～002AH0023H串行口中断服务程序002BH～0032H002BH定时/计数器2中断服务程序(52子系列才有)3、RAM芯片用途：用于存放运算的中间结果、数据暂存和缓冲、标志位等。分类：片内RAM： 256字节；地址从0000～00FFH；片外RAM： 64K字节；地址从0000～FFFFH。片内RAM：高128单元80H~0FFH SFR​ 低128单元00H~7FH 真正的RAM内部RAM3.1 低128单元：1）存储器区：四组寄存器，每组8个寄存单元（8位），各组都以R0、R1、R2、R3、R4、R5、R6、R7作寄存单元编号。寄存器常用于存放操作数及中间结果等，由于它们的功能及使用不作预先规定因此称之为通用寄存器，有时也叫工作寄存器、四组通用寄存器占据内部RAM的00H～1FH单元地址。在任一时刻，CPU只能使用其中的一组寄存器，并且把正在使用的那组寄存器称之为当前寄存器组。到底是那一组由程序状态字寄存器PSW中RS0、RS1位的状态组合来决定。R0～R7寄存器与内部RAM的地址对应通用寄存器 名称地 址 第0组第1组第2组第3组 R000H08H10H18HR101H09H11H19HR202H0AH12H1AHR303H0BH13H1BHR404H0CH14H1CHR505H0DH15H1DHR606H0EH16H1EHR707H0FH17H1FH2） 位寻址区：地址：20H～2FH单元，共128位。位地址：00H～7FH。性质：既可作为一般RAM单元使用进行字节操作，也可以对单元中的每一位进行位操作，因此把该区称之为位寻址区。3） 用户RAM区：单元地址为30H～7FH，主要的数据缓冲区。把堆栈开辟在此区。3.2 高128单元：特殊功能寄存器区、专用寄存器区 简称SFR。单元地址：80H～FFH。（1）累加器A或ACC（Accumulator）==0E0H==8位寄存器，是最常用的专用寄存器大部分单操作数指令的操作数就取自ACC，许多双操作数指令中的一个操作数也取自累加器。（2） B寄存器 ==0F0H==8位寄存器，主要用于乘除运算。如 MUL ABB寄存器也可作为一般数据寄存器使用。如MOV B, #20H（3） 数据指针（DPTR）16位寄存器MCS-51中唯一的一个16位寄存器。DPH：DPTR高位字节 ==83H==DPL：DPTR低位字节 ==82H==作用：通常在访问外部RAM时作地址指针使用, 由于外部数据存储器的寻址范围64KB。DPTR既可按16位寄存器使用，也可以按两个8位寄存器分开使用。如： MOV DPTR， #1234H <==> MOV DPH， #12H；MOV DPL， #34H（4）程序计数器PC（Program Counter）PC：16位的计数器。其内容为将要执行的指令地址，寻址范围达64KB。 有自动加 1功能，从而实现程序的顺序执行、 但PC没有地址，是不可寻址的、因此无法对它进行读写。但可以通过转移、调用、返回等指令改变其内容，以实现程序的转移。（5）I/O端口P0～P3==（80H，…