本笔记参考B站高宏亮老师的教学视频:点击观看
正数:首位 0,其余七位表示实际数值
负数:首位 1,其余七位表示实际数值
缺点是部分运算会出错,需要额外的算法对其进行处理,十分麻烦
正数:首位 0,其余七位表示实际数值
负数:首位 1,其余七位为正数七位的逐位取反结果
例如:正数 01011100,则负数 10100011
缺点是正负运算或者负负运算都会少一个 1
完美的编码方式,不会产生致命性错误,几乎所有计算机都使用该编码系统
正数:首位 0,其余七位表示实际数值
负数:首位 1,其余七位为正数七位的逐位取反后加一
例如:正数 01111000,负数 10000111
最后加一的作用就是为了抵消反码中出现的“误差 1”现象
MCS-51 单片机型号对应参数解析图
基本内部结构图
常用器件介绍
常见控制部件
程序存储器 ROM
为便于快速访问片内和片外 ROM,单片机自带控制线 EA,来决定使用内还是外 ROM
EA=1
,高电平,当 PC 大于某值时访问片外 ROM,其余时刻访问片内 ROM
EA=0
,低电平,片内 ROM 被忽略
数据存储器 RAM
内部寄存器分为以下几个主要区域
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 口外,还可做特殊用途
MCS51 单片机通过不同信号对内外存储器进行读写操作;
片外数据存储器通过 RD\WR 指令读写;
片外程序存储器读通过 PSEN 指令实现;
主要有四大 IO 口,他们具有特殊锁存作用,分别是 P0 P1 P2 P3
P1
写入时:
D=1,此时锁存器右下角 Q 为对 D 取反,得到 0,此时场效应管 V1=0,不导通,VCC=5v 直接通过上拉电阻输出信号 1
D=0,Q 取反得 1,此时 V1=1,场效应管导通,故与 VCC=5v 相互抵消,输出信号 0
读入时:
D=0,场效应管不导通,外界信号直接流入通过下方绕过
P3
读写流程和 P1 口几乎一致,只不过要注意第二功能区的与非门,即 1 和 1 取 0,1 和 0 取 1,以此类推
P2
MUX 数据选择器,可视为一单刀双掷开关,当控制=0 时,链接锁存器;当控制=1 时,链接地址总线;
晶振
XTAL1 以及 XTAL2 口为外接晶振口;
内部晶振由一个反相放大器构成
复位方式
外部电路使 RST 端出现连续两周期的高电平,此时执行复位;
机器周期
指令周期
定义:机器取一个指令并将其完整执行完毕的周期过程;
一个指令周期一般由 1-2 个机器周期组成;
仅乘除运算需 4 机器周期完成;