新闻动态

行业新闻企业新闻安博电竞

一天掌握C51单片机基础1-计算机数值与MCS51单片机

安博电竞

目录

简介

本笔记参考B站高宏亮老师的教学视频:点击观看

计算机的数值表示

源码

正数:首位 0,其余七位表示实际数值 负数:首位 1,其余七位表示实际数值

缺点是部分运算会出错,需要额外的算法对其进行处理,十分麻烦

反码

正数:首位 0,其余七位表示实际数值 负数:首位 1,其余七位为正数七位的逐位取反结果

例如:正数 01011100,则负数 10100011

缺点是正负运算或者负负运算都会少一个 1

补码

完美的编码方式,不会产生致命性错误,几乎所有计算机都使用该编码系统

正数:首位 0,其余七位表示实际数值 负数:首位 1,其余七位为正数七位的逐位取反后加一

例如:正数 01111000,负数 10000111

最后加一的作用就是为了抵消反码中出现的“误差 1”现象

MCS51 单片机

型号与构成

MCS-51 单片机型号对应参数解析图

chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

基本内部结构图

chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

常用器件介绍

常见控制部件

存储结构

程序存储器 ROM

为便于快速访问片内和片外 ROM,单片机自带控制线 EA,来决定使用内还是外 ROM EA=1,高电平,当 PC 大于某值时访问片外 ROM,其余时刻访问片内 ROM EA=0,低电平,片内 ROM 被忽略

ROM 存在七个特殊的地址 chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

数据存储器 RAM

内部寄存器分为以下几个主要区域

  • 工作寄存器:也称通用寄存器,每次存储 8 个信息,共 4 组,每组用 R0-R7 表示
  • 位寻址区
  • 一般 RAM 区:也称用户 RAM 区,80 字节
  • 堆栈区与堆栈指针,安装 LIFO 原则
  • 特殊功能寄存器:类似于一个自定义变量池,用户可以自定义,但是不可以挪作他用
  • 外部引脚与总线接口

    chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

    P0 口(P0.0-P0.7) 不接片外存储器与扩展 IO 口时,作为双向 IO 口使用; 反之,分时复用为低八位地址总线与双向数据总线;

    P1 口(P1.0-P1.7) 可做双向 IO 口

    P2 口(P2.0-P2.7)一般做双向 IO 口,扩展外存后可做高八位地址总线

    P3 口(P3.0-P3.7)除做双向 IO 口外,还可做特殊用途 chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

    控制线 chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

    MCS51 单片机通过不同信号对内外存储器进行读写操作; 片外数据存储器通过 RD\WR 指令读写; 片外程序存储器读通过 PSEN 指令实现;

    并行 IO 口工作原理

    主要有四大 IO 口,他们具有特殊锁存作用,分别是 P0 P1 P2 P3

    P1

    chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

    写入时: D=1,此时锁存器右下角 Q 为对 D 取反,得到 0,此时场效应管 V1=0,不导通,VCC=5v 直接通过上拉电阻输出信号 1 D=0,Q 取反得 1,此时 V1=1,场效应管导通,故与 VCC=5v 相互抵消,输出信号 0

    读入时: D=0,场效应管不导通,外界信号直接流入通过下方绕过

    P3

    chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

    读写流程和 P1 口几乎一致,只不过要注意第二功能区的与非门,即 1 和 1 取 0,1 和 0 取 1,以此类推

    P2

    chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

    MUX 数据选择器,可视为一单刀双掷开关,当控制=0 时,链接锁存器;当控制=1 时,链接地址总线;

    工作周期

    晶振

    XTAL1 以及 XTAL2 口为外接晶振口; 内部晶振由一个反相放大器构成

    复位方式

    外部电路使 RST 端出现连续两周期的高电平,此时执行复位;

    机器周期

    chatgpt,AI,人工智能,聊天机器人,女友聊天机器人,在线ai对话,二次元聊天

    指令周期

    定义:机器取一个指令并将其完整执行完毕的周期过程;

    一个指令周期一般由 1-2 个机器周期组成; 仅乘除运算需 4 机器周期完成;