单片机原理与技术计算机基础1.1
计算机软件1.2
80C51体系结构概要1.3
第 1章概 述
1.1 计算机基础
1.1.1 计算机的基本结构图 1-1 计算机的基本结构图
1.1.2 常用的名词术语和二进编码
1.位、字节、字及字长
位( bit)。“位”指一个二进制位。
它是计算机中信息存储的最小单位。
字节( Byte)。“字节”指相邻的 8
个二进制位。 1024个字节构成 1个千字节,
用 KB表示。 1024KB构成 1个兆字节,用
MB表示。 1024MB构成 1个千兆字节,用
GB表示。 B,KB,MB,GB都是计算机存储器容量的单位。
字( Word)和字长。“字”是计算机内部进行数据传递处理的基本单位。通常它与计算机内部的寄存器、运算装置、总线宽度相一致。
2.数字编码
为便于机器识别和转换,计算机中的十进制数的每一位用二进制编码表示,这就是所谓的十进制数的二进制编码,简称二 — 十进制编码( BCD码)。
3,字符编码字母、数字、符号等各种字符也必须按特定的规则用 二进制编码才能在计算机中表示。
字符的 编码方式很多,世界上最普遍采用的一种 字符 编码是 ASCII码。
4,汉字编码
( 1) 外部码
( 2)内部码
( 3)交换码
( 4)输出码
1.1.3 指令程序和指令系统
就拿两个数相加这一最简单的运算来说,就需要以下几步(假定要运算的数已在存储器中)。
第一步:把第一个数从它所在的存储单元( location)中取出来,送至运算器;
第二步:把第二个数从它所在的存储单元中取出来,送至运算器;
第三步:相加;
第四步:把相加的结果,送至存储器中指定的单元。
指令通常分成操作码( opcode,即
operation code)和操作数( operand)
两大部分。操作码表示计算机执行什么操作;操作数是此指令要操作的对象。指令中的操作数部分常规定参加操作的数的本身或操作数所在的地址。
1.1.4 初级计算机
1,CPU的结构图 1-3 微型机结构图图 1-4 一个模型机的 CPU结构图 1-5 模型机的存储器结构图图 1-6 存储器读操作示意图图 1-7 存储器写操作示意图
1.1.5 简单程序举例
若要求机器把两个数 7和 10相加。在编程序时首先要查一下机器的指令系统,看机器能用什么指令完成这样的操作。查到可用表 1-1所示的 3条指令完成两数相加的操作。
名 称 助 记 符 操 作 码 说 明立即数取入累加器 MOV AL,n
10110000 B0
n n
这是一条两字节指令,把指令第二字节的立即数 n送累加器 AL
加立即数 ADD AL,n 00000100 04 n n
这是一条两字节指令,累加器
AL中的内容与指令第二字节的立即数相加,结果在
AL中停 机 HLT 11110100 F4 停止操作表 1-1 完成两数相加的指令
第一条指令 1011 0000 ( MOV AL,n)
0000 0111 ( n=7)
第二条指令 0000 0100 ( ADD AL,n)
0000 1010 ( n=10)
第三条指令 1111 0100 ( HLT)
总共是 3条指令 5个字节。
图 1-8 指令的存放图 1-9 取第一条指令的操作示意图图 1-10 取立即数的操作示意图图 1-11 取第二条指令的操作示意图图 1-12 执行第二条指令的操作示意图
1.1.6 寻址方式
1.立即寻址( immediate addressing)
上例中的操作数就包含在指令中,这种规定操作数的方式,称为立即寻址。指令中的操作数称为立即数。
2.寄存器寻址( register addressing)
若操作数在某一寄存器中,这种寻址方
式称为寄存器寻址。例如指令
MOV AL,BL
3,直接寻址 ( direct addressing)
MOV AL,[n]
1010 0000
n (8位 )
图 1-13 直接寻址方式示意图
4.寄存器间接寻址
MOV AL,[BL]
图 1-14 寄存器间接寻址方式示意图图 1-15 寄存器间接寻址加法指令示意图
ADD AL,[BL]
指令名称 寻 址 方 式 助 记 符 操 作 码 说 明取数指令立即寻址 MOV AL,n B0 n
把指令第二字节的立即数送累加器( AL)中;
n→AL
立即寻址 MOV BL,n B3 n
把指令第二字节的立即数送至寄存器( BL)中;
n→BL
表 1-2 4种寻址方式及相应的指令指令名称 寻 址 方 式 助 记 符 操 作 码 说 明取数指今寄存器寻址
MOV AL,
BL 8A C3
把 BL中的内容送至 AL中;
BL→AL ①
MOV BL,
AL 8A D8
把 AL中的内容送至 BL中,
AL→BL ①
寄存器间接寻址
MOV AL,
[ BL] 8A 07
以 BL中的内容为操作数的地址,操作数送至 AL中;
[ BL] → AL②
直接寻址 MOV AL,[ n] A0 n
指令中的第二字节为操作数的地址,操作数送至 AL
中;[ n] → AL②
续表指令名称 寻 址 方 式 助 记 符 操 作 码 说 明存数指令直接寻址 MOV [ n],AL A2 n
指令中的第二字节为地址,把
AL中的内容存入此地址单元; AL→ [ n]
寄存器间接寻址 MOV [ BL],AL 88 07
以 BL中的内容作为地址,把
AL中的内容存入此地址单元; AL→
[ BL]
续表指令名称 寻 址 方 式 助 记 符 操 作 码 说 明加法指令立即寻址 ADD AL,n 04 n n为立即数; AL+n→AL
寄存器寻址 ADD AL,BL 02 C3 BL中的内容为操作数;AL+BL→AL
寄存器间接寻址
ADD AL,
[ BL] 02 07
以 BL中的内容为操作数的地址;
AL+[ BL] → AL
续表图 1-16 程序在存储器中存放示意图图 1-17 取出第一条指令后 CPU的状态图图 1-18 直接寻址方式操作示意图图 1-19 取操作数过程示意图图 1-20 计算机的基本硬件结构图 1-21 三总线的微型机结构图 1-22 典型的三总线结构
1.2 计算机软件
1.2.1 系统软件
以上这些都是由机器的设计者提供的,
为了使用和管理计算机的软件,统称为系统软件。
系统软件包括:
① 各种语言和它们的汇编或解释、编译程序;
② 机器的监控管理程序( moniter)、
调试程序( debug)、故障检查和诊断程序;
③ 程序库(为了扩大计算机的功能,
便于用户使用,机器中设置了各种标准子程序,这些子程序的总和就形成了程序库);
④ 操作系统。
1.2.2 应用软件
用户利用计算机和它所提供的各种系统软件,来编制解决用户各种实际问题的程序,称之为应用软件。应用软件也可以逐步标准化、模块化,逐步形成解决各种典型问题的应用程序的组合,将其称为软件包( package)。
1.2.3 支撑 ( 或称为支持 ) 软件
1.3 80C51体系结构概要
1.3.1 80C51简介表 1-3 不同 ROM的 80C51系列编号图 1-23 8051核的方框图图 1-24 8051的体系结构图
1.3.2 80C51单片机的 CPU结构图 1-25 80C51单片机功能方框图图 1-26 80C51的 CPU
( 1)运算电路
( 2)控制电路
( 3) CPU的通用寄存器
( 4) CPU的系统寄存器
图 1-27 CPU的通用寄存器体位名分类 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0
状态位 CY AC OV P
控制位 RS1 RS0
保留位 F0 --
表 1-4 PSW的位分配