51单片机笔记(一)
微机原理——51单片机
简介
单片机是单片微型计算机的简称,是典型的嵌入式微控制器。由运算器、控制器、存储器、输入输出设备构成。
单片机具有以下特点
- 体积小、使用灵活、成本低、易于产业化
- 可靠性好,适应温度范围宽
- 易扩展
- 系统内无监控或系统管理程序
1.1 数制
1.1.1 二进制、十六进制
以2为基数的数制叫二进制,后缀用B表示,例如1000 1001B
以16为基数的数制叫十六进制,后缀用H表示,如果第一个数字是字母要加前缀0,例如:0AAH,19H
1.1.2 一般进制转十进制
利用以下公式:
N
=
∑
i
=
−
m
n
=
1
X
i
∗
j
i
N=\sum_{i=-m}^{n=1} X_i*j^i
N=i=−m∑n=1Xi∗ji
N表示十进制的值,Xi表示第i位系数,j表示数制的基数,
j
i
j^i
ji表示第i位的权
1.1.3 二进制转十六进制
每4位二进制转1位十六进制,例如:0010 1111B=2FH
1.2 码制
在计算机中有三种码,分别是原码,反码与补码。
存储在计算机中的数,一字节有8位,分为有符号数和无符号数,对于有符号数,在计算机中约定,最高位1表示负数,0表示正数,引入反码补码可以将减法变为加法,从而减轻电子电路的设计工作。
1.2.1 反码补码的计算
对于一个正数,它的反码和补码等于它的原码
对于一个负数,它的反码等于这个数非符号位取反加符号位,它的补码等于反码加一
通过补码进行的计算,计算结果依旧是补码
1.2.2 BCD码
就是只用0-9的二进制位表示,对于1010,1011,1100,1101,1110,1111这6个编码不用。
这样更加直观的表示,也节省硬件电路的转换时间。
1.2.3 ASCII码
ASCII用7位二进制来表示,可以分为高3位组和低4位组,分别表示符号的列序和行序。
结构及工作原理
MSC-51系列单片机为例
2.1 内部部件
51单片机内部结构包括:
- CPU
- 运算器:包括ALU、布尔处理器、累加器ACC、寄存器B、暂存器TMP1、TMP2、程序状态字PSW,十进制调整电路
- 控制器
- 内部存储器
- ROM:程序存储器,是只读存储器
- RAM:数据存储器,随机存储器,又分为片内和片外。其中片内只有256B可用,其中高128B作为专用存储器,用户可用存储器只有128B。
- 定时器:MCS-51有两个16位的定时器/计数器
- 中断系统控制器:有5个中断源,2个外部中断,定时中断2个,串行口中断1个
- 并行I/O口:有4个并行的8位I/O口,P0,P1,P2,P3
- 全双工串行口
- OSC:是指单片机的时钟电路,一般典型的工作频率是6MHz和12MHz
2.2 管脚作用
2.3 不同结构
- 哈佛结构
- 冯·诺伊曼结构
2.4 存储器编码逻辑
2.4.1 程序存储器ROM
有内部存储器4k,一般不需要外部ROM,编码也是直接从内部到外部,没用中间跳跃。
2.4.2 数据存储器RAM
80C51有256B的RAM,其中128B是特殊分别寄存器(SFR),剩下的128B又分为三个部分,工作寄存器(32个字节,4组不同的工作寄存器,00H-1FH),位寻址区(16字节,20H-2FH,128位,后面128位用在SFR上了),开放区(80字节,30H-7FH)
2.4.3 时钟与时序
- 振荡周期:晶体振动一次的时间
- 状态周期:两个振荡周期等一一个状态周期
- 机器周期:每6个状态周期一个机器周期
- 指令周期:1~4个机器周期(没有3机器周期的指令)