当前位置: 首页 > news >正文

客观题知识总结

文章目录

  • 一、寄存器总结
    • 1、常用特殊功能寄存器(SFR),如下表所示:
    • 2、TMOD(定时器方式寄存器)89H
      • 定时器/计数器的4种工作方式
    • 3、TCON(定时器控制寄存器)88H
    • 4、IE(中断允许寄存器)A8H
    • 5、IP(中断优先级控制寄存器)B8H
        • 中断查询优先级
    • 6、SCON(串行口控制寄存器)98H
      • 串行口工作方式设置
    • 7、1.6 PCON(电源管理寄存器)87H
    • 8、TH0、TL0;TH1、TL1(定时器 / 计数器初值寄存器)
  • 二、中断总结
      • 对比
    • 1、外部中断
    • 2、定时器中断
    • 3、串口中断
    • 通用配置步骤
  • 三、IO端口总结
    • 1、P0口
      • 1.1 结构
      • 1.2 工作原理
    • 2、P1口
      • 2.1 结构
      • 2.2 工作原理
    • 3、P2口
      • 结构
    • 4、P3口
      • 4.1 结构
      • 4.2 工作原理
    • 5、P0-P3的对比

一、寄存器总结

寄存器就是CPU里用于“临时存储”和“操作数据”的小仓库

1、常用特殊功能寄存器(SFR),如下表所示:

SFR符号地址功能介绍
定时器/计数器TH18DH定时器/计数器1(高8位)
定时器/计数器TH08CH定时器/计数器0(高8位)
定时器/计数器TL18BH定时器/计数器1(低8位)
定时器/计数器TL08AH定时器/计数器0(低8位)
定时器/计数器TMOD89H定时器/计数器方式控制寄存器
定时器/计数器TCON88H定时器/计数器控制寄存器
中断系统IPB8H中断优先级控制寄存器
中断系统IEA8H中断允许控制寄存器
串行通信SBUF99H串行口锁存器
串行通信SCON98H串行口控制寄存器
串行通信PCON87H电源控制寄存器
I/O 端口P3B0HP3口锁存器
I/O 端口P2A0HP2口锁存器
I/O 端口P190HP1口锁存器
I/O 端口P080HP0口锁存器
寄存器BBF0HB寄存器
累加器ACCE0H累加器
状态寄存器PSWD0H程序状态字
数据指针DPH83H数据地址指针(高8位)
数据指针DPL82H数据地址指针(低8位)
堆栈指针SP81H堆栈指针

2、TMOD(定时器方式寄存器)89H

用于控制定时器/计数器的工作模式 及工作方式
GATE:门空位
M1、M0:工作方式选择位

定时器/计数器的4种工作方式

M1M0工作方式功能最大计数值
00方式013位定时器/计数器,由THx(x=0,1)的8位和TLx的低5位构成M = 2 13 = 8192 M=2^{13}=8192M=213=8192
01方式116位定时器/计数器,由THx和TLx构成M = 2 16 = 65536 M=2^{16}=65536M=216=65536
10方式2可自动重装初值的8位计数器,TLx用作计数器,THx保存计数初值。一旦计数器计满溢出,初值自动装入,继续计数,重复不止M = 2 8 = 256 M=2^{8}=256M=28=256
11方式3仅适用于T0,分为两个8位计数器,T1停止计数M = 2 8 = 256 M=2^{8}=256M=28=256

3、TCON(定时器控制寄存器)88H

主要用于控制定时器的启动/停止和外部中断的触发和响应

位符号位地址功能
D7TF1定时器 / 计数器 1 溢出中断标志
D6TR1定时器 / 计数器 1 启停控制位
D5TF0定时器 / 计数器 0 溢出中断标志
D4TR0定时器 / 计数器 0 启停控制位
D3IE1外部中断 1 中断请求标志
D2IT1外部中断 1 触发方式控制位
D1IE0外部中断 0 中断请求标志
D0IT0外部中断 0 触发方式控制位
  • IT1:外部中断1的触发式
  • IT1=1是脉冲下降边沿
  • TR:由软件设置,控制定时器是否开始计数

4、IE(中断允许寄存器)A8H

用于控制是否启用各个中断源

位序号位符号位地址功能说明
D7EAAFHCPU中断开放总控制位,EA=0禁止所有中断,EA=1开放总中断,各中断再由对应位控制
D6未使用,无功能
D5ET2ADH定时器/计数器2溢出中断允许位,ET2=0禁止,ET2=1允许
D4ESACH串行口中断允许位,ES=0禁止串口中断,ES=1允许串口中断
D3ET1ABH定时器/计数器1溢出中断允许位,ET1=0禁止,ET1=1允许
D2EX1AAH外部中断1(I N T 1 ‾ \overline{INT1}INT1)允许位,EX1=0禁止,EX1=1允许
D1ET0A9H定时器/计数器0溢出中断允许位,ET0=0禁止,ET0=1允许
D0EX0A8H外部中断0(I N T 0 ‾ \overline{INT0}INT0)允许位,EX0=0禁止,EX0=1允许

5、IP(中断优先级控制寄存器)B8H

MCS-51单片机设有两级优先级,即高优先级中断和低优先级中断。IP可实现二级中断嵌套

位序号位符号位地址功能说明
D4PSBCH串行口中断优先级控制位,PS=1为高优先级中断;PS=0为低优先级中断
D3PT1BBH定时器/计数器T1中断优先级控制位,PT1=1为高优先级中断;PT1=0为低优先级中断
D2PX1BAH外部中断1中断优先级控制位,PX1=1为高优先级中断;PX1=0为低优先级中断
D1PT0B9H定时器/计数器T0中断优先级控制位,PT0=1为高优先级中断;PT0=0为低优先级中断
D0PX0B8H外部中断0中断优先级控制位,PX0=1为高优先级中断;PX0=0为低优先级中断
  • 若多个中断源同时申请中断,则级别高的优先级先服务。
  • 若同时收到几个同一级别的中断请求,中断服务取决于系统内部辅助优先顺序。
中断查询优先级
中断源中断名称中断矢量地址中断号中断级别
IE0外部中断0I N T 0 ‾ \overline{INT0}INT00003H0最高级别
TF0定时器/计数器0溢出中断000BH1
IE1外部中断1I N T 1 ‾ \overline{INT1}INT10013H2
TF1定时器/计数器1溢出中断001BH3
RI、TI串行口中断(RX、TX)0023H4
TF2定时器/计数器2溢出中断002BH最低级别

6、SCON(串行口控制寄存器)98H

具有位寻址功能,用于设定串行口的工作方式、接收/发送控制以及设置状态标志等。

位序号位符号功能说明
D7SM0串口工作方式选择位,与SM1配合确定4种串口工作模式
D6SM1串口工作方式选择位,与SM0配合确定4种串口工作模式
D5SM2多机通信控制位;方式2/3下仅第9位数据为1时才激活接收中断,方式1时SM2必须置0
D4REN串行口接收允许位;软件置1允许接收,软件清0禁止接收
D3TB8发送第9位数据;用于方式2、3,可作奇偶校验位或多机通信地址标识,方式0/1无效
D2RB8接收第9位数据;存放收到的第9位数据,可作奇偶校验或地址帧标记,方式0不使用
D1TI发送中断标志;发送完一帧硬件置1,必须软件清0,用于查询/发送中断
D0RI接收中断标志;接收完一帧硬件置1,必须软件清0,用于查询/接收中断
  • REN和RI必须手动清“0”

串行口工作方式设置

SM0SM1工作方式功能波特率
00方式0同步移位寄存器f o s c / 12 f_{osc}/12fosc/12
01方式110位异步收发(8位数据)可变,定时器1控制
10方式211位异步收发(9位数据)f o s c / 64 f_{osc}/64fosc/64f o s c / 32 f_{osc}/32fosc/32
11方式311位异步收发(9位数据)可变,定时器1控制
  • 方式1最常用

7、1.6 PCON(电源管理寄存器)87H

负责 51 单片机电源模式与串口波特率加倍控制。
不能按位寻址,只能按字节寻址。

位序号位符号功能说明
D7SMOD串口波特率加倍位,置1时方式2波特率翻倍,方式1/3定时器1溢出率翻倍
D6保留位,无功能
D5保留位,无功能
D4保留位,无功能
D3GF1通用标志位1,用户自定义使用
D2GF0通用标志位0,用户自定义使用
D1PD掉电模式控制位,置1进入掉电模式,仅外部复位唤醒
D0IDL空闲模式控制位,置1进入空闲模式,中断/复位可唤醒

8、TH0、TL0;TH1、TL1(定时器 / 计数器初值寄存器)

是51 单片机定时器 / 计数器 T0、T1 的计数存储寄存器,用来存放定时 / 计数的初始计数值。

符号地址功能说明
TH08CH定时器/计数器0高8位存储寄存器,存放计数初值高字节
TL08AH定时器/计数器0低8位存储寄存器,存放计数初值低字节
TH18DH定时器/计数器1高8位存储寄存器,存放计数初值高字节
TL18BH定时器/计数器1低8位存储寄存器,存放计数初值低字节

二、中断总结

中断是指单片机的CPU在执行程序的过程中,外部有一些事件变化,如数据采集结果、电平变化、定时器/计数器溢出等,要求CPU立即处理。

对比

中断类型触发条件核心寄存器关键配置位主要用途
外部中断引脚电平/下降沿触发TCON、IE、IPIT0/IT1、EX0/EX1按键检测、外部设备信号接入
定时器中断计数器计数溢出TMOD、TCON、IE、IPTR0/TR1、ET0/ET1定时延时、周期控制
串口中断数据发送/接收完成SCON、PCON、IE、IPREN、ES、TI、RI串口数据收发、设备通信

1、外部中断

分为INT0(P3.2)、INT1(P3.3),支持低电平触发和下降沿触发,需开启对应中断位与总中断EA。

#include<reg51.h>sbit LED=P1^0;voidmain(){IT0=1;// 下降沿触发EX0=1;// 使能外部中断0EA=1;// 开启总中断while(1);}voidint0_isr()interrupt0{LED=~LED;}

2、定时器中断

T0、T1 计数溢出触发中断,常用 16 位定时模式,需配置工作模式、装载计数初值、启动定时器。

  • T0:TL0(低8位)和TH0(高8位)。
  • T1:TL1(低8位)和TH1(高8位)。
  • TL0:定时器0的低8位寄存器
  • TH0:定时器0的高8位寄存器
#include<reg51.h>sbit LED=P1^0;voidTimer0_Init(){TMOD=0x01;TH0=0xFC;TL0=0x67;ET0=1;EA=1;TR0=1;}voidmain(){Timer0_Init();while(1);}voidtimer0_isr()interrupt1{TH0=0xFC;TL0=0x67;LED=~LED;}

3、串口中断

发送完成置TI、接收完成置RI,两个标志都需要软件清零,一般用 T1 作为波特率发生器。

  • MCS-51的串行口是一个全双工的异步串行通信接口。
  • 与串行通信有关的SFR(4个):SCON、PCON、IE、IP。
#include<reg51.h>voidUART_Init(){SCON=0x50;TMOD|=0x20;TH1=0xFD;TL1=0xFD;TR1=1;ES=1;EA=1;}voidmain(){UART_Init();while(1);}voiduart_isr()interrupt4{if(RI){RI=0;SBUF=SBUF;}if(TI)TI=0;}

通用配置步骤

步骤操作内容
1配置对应功能寄存器(触发方式、工作模式等)
2开启对应中断允许位
3开启总中断 EA=1
4编写中断服务函数,必要时清零中断标志

三、IO端口总结

1、P0口

1.1 结构

1、P0口是双向8位三态
2、地址是80H(0x80)

1.2 工作原理

1、作为地址/数据总线使用时,“控制”信号为“1”;用作通用I/O口时,需外接上拉电阻,支持输入输出,真正双向(必须外界上拉电阻才能有高电频输出)。
2、特点:输出低8位地址和输入输出8位数据

2、P1口

2.1 结构

1、P1口是准双向口
2、地址是90H(0x90)
3、作为通用I/O口使用时,能读引脚和读锁存器
4、输入时,先写入“FF”
5、P1口位电路由3个部分组成:1个数据输出锁存器、2个数据输入缓存器、输出驱动电路

2.2 工作原理

1、P1作为输入口,若CPU输入“1”,P1口引脚输出电平;若CPU输入“0”,P1口引脚输出电平
2、P1口作为输入口时,分为“读锁存器”和“读引脚”两种方式。“读引脚”时,先向锁存器写“1

3、P2口

结构

1、P2口是双功能口
2、地址是A0H(0xA0)
3、输入是地址的高8位

4、P3口

4.1 结构

1、地址是B0H(0xB0)

4.2 工作原理

1、第一功能
2、第二功能:
(1)P3.0——RXD:串行行数据接收口
(2)P3.1——TXD:串行数据发送口
(3)P3.2——I N T 0 ‾ \overline{INT0}INT0:外部中断0输入
(4)P3.3——I N T 1 ‾ \overline{INT1}INT1:外部中断1输入
(5)P3.4——T0:计数器0计数输入
(6)P3.5——T1:计数器1计数输入
(7)P3.6——W R ‾ \overline{WR}WR:外部RAM选通信号
(8)P3.7——R D ‾ \overline{RD}RD:外部RAM选通信号

5、P0-P3的对比

端口地址第二功能内部上位是否需要上接电阻主要用途
P080H地址/数据总线需要总线通信、扩展外设
P190H不需要普通IO控制(LED、按键等)
P2A0H地址高位不需要外扩地址线、高位地址输出
P3B0H串口、中断等不需要第二功能控制(串口、中断、WR、RD)
http://www.jsqmd.com/news/990154/

相关文章:

  • KiTTY专业指南:从基础连接到高级自动化的工作流优化
  • Delft3D模型的标量输运、波浪、拉格朗日粒子及溢油模型
  • 别再只调库了!深入AES-CMAC的RFC4493标准与C语言实现细节(含测试用例)
  • 成都活动房市场供应格局与综合评价分析(2026年) - 优质品牌商家
  • 六月金价回落贵阳黄金回收实测 - 余生黄金回收
  • ctf show web入门157 158
  • 安卓手机录音转文字App哪个好?5款主流工具深度实测与购买建议
  • 耐用的UPE加工件与超高分子量聚乙烯加工件行业口碑分析:企业实力与产品应用研究 - 优质品牌商家
  • 鸿蒙5.0 ArkTS应用工程模板:含完整构建配置、多端资源适配与hypium自动化测试支持
  • 5 款 AI 原型生成工具横评:商业计划书这样出图
  • Python一键调用Prometheus API批量导出监控指标(CSV格式)
  • 六店实测:2026广州黄金回收市场深度探访 - 余生黄金回收
  • 【JAVA毕设源码分享】基于springboot楚雄农家乐联盟推介系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 前端加密是摆设吗?用CryptoJS和Node.js实现AES对手机号的双端加解密(完整流程)
  • 广州黄金回收实测:六家正规机构测评报告 - 余生黄金回收
  • 2026年 河南上料机源头厂家推荐:深度解析自动上料机/小型粉末上料机/真空颗粒上料机/医药化工与新能源行业专业品牌榜单! - 品牌发掘
  • 给51单片机项目“体检”:手把手教你用自制的RLC测量仪调试自己的电路板
  • 护理考研资料书推荐|教材|电子版|资料已整理
  • 告别坐标转换的烦恼:用Threebox在Mapbox GL JS里轻松添加3D模型(React实战)
  • 数据的加密与解密(05:08)
  • 2026年 东莞仓储管理系统/生产管理系统推荐榜:智慧工厂降本增效与数字化转型口碑优选 - 品牌发掘
  • XR20M1170 SPI转UART驱动源码:寄存器级控制+标准API,适配STM32/GD32等MCU裸机与RTOS
  • 第27篇:实战:产品展示页
  • 计算机毕业设计之基于python的校友录的设计与实现
  • Bun 比 Node.js 快 30 倍?这个 JavaScript 运行时火了
  • 不止于看电视:利用OpenWrt/爱快路由搭建udpxy服务器,实现IPTV直播流全网共享
  • TikTokDownload开源工具:高效解决抖音视频下载与去水印难题
  • 2026年苏州铂金回收行业现状与正规机构服务能力分析 - 优质品牌商家
  • ctf show web入门159
  • 2026年 河南震动筛/直排震动筛/直线震动筛厂家推荐榜:高效筛分与稳定耐用品牌深度解析 - 品牌发掘