460 likes | 559 Views
第一章 单片机概述 §1-1 计算机的特点及应用,典型单片机介绍 §1-2 带符号数的表示方法 §1-3 微型计算机的结构及工作过程. 第一章 单片机概述 §1-1 计算机的特点及应用,典型单机片介绍 一、计算机的发展历程 1 、 计算机的作用及模型 计算机作为一种计算工具,它的雏形最早可以追溯到中国古老的算盘、 17 世纪数学家巴斯卡尔发明并制造的加法器、莱布尼兹发明的机械式计算机、 19 世纪数学家巴比吉提出并试图制造的机械式 “ 分析机 ” 等等,到 20 世纪,计算机进入了迅猛的发展的时代。
E N D
第一章 单片机概述 §1-1 计算机的特点及应用,典型单片机介绍 §1-2 带符号数的表示方法 §1-3 微型计算机的结构及工作过程
第一章 单片机概述 §1-1 计算机的特点及应用,典型单机片介绍 一、计算机的发展历程 1、计算机的作用及模型 计算机作为一种计算工具,它的雏形最早可以追溯到中国古老的算盘、17世纪数学家巴斯卡尔发明并制造的加法器、莱布尼兹发明的机械式计算机、19世纪数学家巴比吉提出并试图制造的机械式“分析机”等等,到20世纪,计算机进入了迅猛的发展的时代。 现在,计算机不仅仅是计算的工具,它已经成为高效率的“智能工具”,已经在各行各业中大显身手。
二、计算机的基本结构 • (1)硬件: • 基本组成:运算器、控制器、存储器、 • 输入/输出设备及接口。 • — 冯 · 诺依曼结构 • 中心思想是存储程序原则: • 指令和数据一起以二进制的形式存放在存储器中。 • 由计算机之父美籍匈牙利数学家冯 · 诺依曼1945年3月提出,标志着电子计算机时代的真正开始。 • 结构框图如图1-1所示:
以微型计算机为基础,加上外围设备、电源、系统软件等就构成微型计算机系统以微型计算机为基础,加上外围设备、电源、系统软件等就构成微型计算机系统 • 微机系统的组成可小结如下:
三、微型机 • 1、微处理器、微型计算机、微型计算机系统 • (1) 中央处理器CentralProcessingUnit-CPU • 负责取指,执指,实现操作的核心部件,包括运算器和控制器两大组成部分。 • 如果中央处理器的电路集成在一片或少数几片大规模集成电路芯片上,就成为微处理器(MPU)。 • (2) 微型计算机、微型计算机系统 • 以微处理器为核心,加配存储部件和输入输出部件而成为微型计算机。
(2)软件 • 是计算机上运行的程序,是计算机系统中的逻辑部件而不是物理部件,是人的思维结果,它总是要通过某种物理介质来存储和表示的。其分类如下:
3、微型计算机的发展 • 1971年,美国Intel公司研制出了Intel4004微处理器芯片,以它为核心的MCS-4计算机,由该公司年轻工程师马西安·霍夫研制,标志了世界上第一台微机的诞生,至今,已经历了五代:
三、单片机概述 • 单片微型计算机:Single-Chip Microcomputer • One-Chip Microcomputer • 在一片芯片上集成CPU、存储器、I / O接口等组成一台完整的微型计算机。 • 单片机作为工业控制和数据处理的计算机,也被称为“微控制器”、 “微处理器”(Micro-controller, Micro-processor)。 • 主要有:4位、8位、16位、32位等。 • 1、单片机发展情况: • 从1974年12月,仙童(Fairchild)公司首先推出8位单片机F8,采用: • 双片形式F8(8位CPU+64RAM+2个并行I/O口)+3851(1K ROM+定时器/计数器+2个并行I/O)。 • 至今经历了四代
2、MCS-51单片机 • 属于高档单片机,是Intel公司的8位系列单片机,包括51和52两个子系列。两者的区别在于52子系列片内ROM、RAM的容量翻倍,定时计数器增加到3个。
单片机的供货状态: • 片内无ROM型:单片机片内无ROM,价格便宜,使用时必须另外配置程序存储器EPROM,实际上已成为8751。如8031、8032、80C31 • 片内ROM型:单片机片内带有掩膜ROM,用户无法更改其程序。如8051、8052,用于大规模专用产品。 • 片内EPROM型:单片机片内带有EPROM,用户通过高压脉冲可写入程序,但价格昂贵,使用较少。如8751、8752 • 3、单片机特点和应用 • 单片机由于CPU、存储器、I/O接口电路均集中于一块芯片上,其结构非常紧凑,价格便宜,但其功能却非常强大,因此大量用于智能家电行业、小型的工业控制系统中。
§1-2 计算机中数和编码 返回 • 一、数制及其转换 • 1、进位计数制的概念 • 使用有限个基本数码来表示数据,按进位的方法进行计数称为进位计数制。包含两大要素:基数和位权 • 基数:用来表示数据基本数码的个数J,≧此数后必须进位。 • 位权:数码在表示数据时所处的数位所具有的固定值J i。 • 简称“权”。 • 特点:1)基数为J,用0,1,…,J-1来表示数据,逢J进 1; • 2)各位的权为J i • 任意一个J进制数的表示方法为: • 其中ki=0,1,…,J-1 • m---小数部分位数, n---整数部分位数, i---正整数
2、计算机中常用进制 • (1)十进制(Decimal)表示法 • 特点:①基数为10,用0,1,…,9来表示数据,逢十进一; • ②各位的权为10i。 • 任意一个十进制数的表示方法为: • 其中k i=0,1,2,3,4,5,6,7,8,9 • 例如(273.45)D=2×102+7×101 +3×100+4×10-1+5×10-2 • (2)二进制( Binary )表示法 • 特点:①基数为2,用0,1两个数码来表示数据,逢二进一 • ②各位的权为2i。 • 任意一个二进制数的表示方法为: • 其中k i=0,1 • 例如(1011.101)B=1×23+0×22 +1×101+1×20+1×2-1+ • 0×2-2+1×2-3
(3)十六进制(Hexadecimal) 表示法 • 特点:①基数为16,用0-9和字母A,B,C,D,E,F • (对应十进制10-15)来表示数据,逢十六进一; • ②各位的权为16i。 • 任意一个十六进制数的表示方法为 • 其中k i= 0-F • 例如: • (55)H=5×161+5×160 • (A87.E79)H=A×162+8×161+7×160+E×16-1+ • 7×16-2+9×16-3 • 3、进制间的转换 • (1)J进制转换为十进制 • 按定义: 只需按权展开即可。
(2)十进制转换为J进制 • ①整数部分的转换 • 把十进制的整数不断除以所需要的基数J,直至商为零,取其余数,就能转换成以J为基数的数,称为除基取余法。 • ②小数部分的转换 • 要将一个十进制小数转换成J进制小数时,可不断将十进制小数部分乘以J,并取整,直至小数部分为零为止。称为乘基取整法。 • 例如:(25.3125)D=(11001.0101)B • (116.84375)D=(74.DB)H • 过程如下:
4、二进制与十六进制数的相互转换 • 由于二进制的基数是2,而十六进制的基数为16=24,即4位二进制数正好对应一位十六进制数,因此二者之间的转换十分方便。 • 使用8421权 • 例如: (B6.8)H= 10110110 . 1000=(10110110.1)B • (11011.011)B= 00011011 . 0110=(1B.6)H • 注意: • (1)以小数点为界,朝左右划分,整数部分不足4位高位加0,小数部分不足4位低位加0。 • (2)二进制与八进制之间也有类似的情况(23=8)。
二、二进制数的运算 • 1、算术运算 • (1)运算规则 • 加法:0+0=0,0+1=1,1+1=0进位1,1+1+1=1进位1; • 减法:0-0=0 , 1-0=1, 0-1=1借位1,1-1=0; • 乘法:0×0=0,0×1=0,1×0=0, 1×1=1; • (2)无符号数的运算 • ①加法:按照加法运算规则,从最低位开始逐位相加。两个4位的二进制数相加,其“和”可能超过4位,从而产生进位。 • ②减法:按照减法运算规则,从最低位开始逐位相减,与十 进制数相减类似,不够减时,应向高位借位。 • 记住,二进制的10相当于十进制的2。
③乘法:乘法运算可看作是被乘数自身多次移位相加,相加的次数由乘数的数值决定。③乘法:乘法运算可看作是被乘数自身多次移位相加,相加的次数由乘数的数值决定。 • ④除法:除法是乘法的逆运算,它是确定一个数可以从另一个数中减去多少次的过程。 • 例如:
2、基本逻辑运算 • 常用有“与”、“或”、“非”、“异或”等逻辑运算。 • (1)“与”:AND,“有0出0,全1出1”,C=A·B, • 运算规则:0·0=0, 0·1=0,1·0=0,1·1=1 • (2)“或”:OR,“有1出1,全0出0”,C=A + B, • 运算规则:0+0=0, 0+1=1, 1+0=1, 1+1=1 • (3)“非”:NOT,“求反”,C= • 运算规则: • (4)“异或”:XOR,“异则1,同则0”,C= A⊕B,运算规则:0⊕0=0, 1⊕0=1,0⊕1=1, 1⊕1=0 • 例如:DAH、99H两个数的四种运算方法如下:
与:DAH · 99H=98H; 或:DAH + 99H=DBH; • 异或:DAH + 99H=43H; • 如图: • 三、符号数的表示法 • 计算机只能识别0、1两种信息,那么“符号数” • 在计算机中如何表示呢?(8位二进制数) • 比如RAM中某单元的内容是 EFH →11101111B, • 代表十进制数多少呢? • 又如,+17,-17计算机是如何识别的呢?
试问:+17又是如何表示呢?(→ 00010001B) 1、机器数与真值 符号的数码化:将符号用“0正1负”表示,并以二进制数的最高位(D7位)作为符号位。 例如:(原码) +91=0 1011011 = 5BH; -91=1 1011011= -5BH;
机器数:数据在计算机中连同数码化的符号位一起表示的编码数。机器数:数据在计算机中连同数码化的符号位一起表示的编码数。 • 真 值:把机器数实际代表的数称为机器数的真值。 • 2、有符号数的表示方法 • 1)原码表示法 • D7位作为符号位(0正1负),D6-D0为原来的 • 二进制数值位。 • 例如: (+55)原 =0 0110111 • (- 55)原 =1 0110111
特点: • 1)8位二进制数表示的范围:-127~ +127; • 2)(+0)原=00000000B,(—0)原=10000000B; • 3)加、减运算困难。 • 2)反码表示法 • 正数的反码 = 正数的原码 • 负数的反码 = 相应正数的原码按位取反 • 例如:(+0)反= 0 0000000;(+127)反 = 0 1111111 • (- 0)反 = 1 1111111;(-127)反 = 1 0000000 • 特点: 1)范围 -127~ +127; • 2)+0、-0不相等; • 3)求真值时,若D7=1,则按位取反。
3)计算机内符号数的补码表示法 • (1)引例一:钟表调时 • 如图:10点→6点,可以逆时针拨,也可顺时针拨: • 逆拨: 10 – 4 = 6 (减) • 顺拨: 10 + 8 = 18 = 12 + 6 = 6 (加) • 在顺拨中,12可自然丢失,称为模;而8被称为是 • – 4的补码。
显然钟表采用十二进制,系统所能表示的最大量程显然钟表采用十二进制,系统所能表示的最大量程 • 为12,称之为模(基)。 • ∵ 8 = 12 – 4 =12 + (–4) • ∴ (– 4)补 = 12 – 4 =12 +(– 4) = 8 • 即: (X)补 = 模 + X • 补码的进一步解释: • 引例二:十进制数(以二位十进制数举例)70 - 100 =30 • 引例三:二进制数(以8位二进制数举例) • 40H +(-32H)补 =40H+CEH= 10EH = 256 + 0EH=0EH
(2)二进制补码的计算方法 • 正数的补码 = 正数的原码 • 负数的补码 = 反码加1(相应正数的原码按位取反,再加1) • 例如: (-127)补= 10000001 • (-1)补= 11111111 • 特点: • 1)补码的符号位作为数值的一部分,可以参加运算; • 2)0只有一种表示,即 + 0 = - 0 = 00000000;
四、常用编码 • 计算机中表示的数、字母、符号等都以二进制数表示的。 • 常用编码有以下几种: • 1、BCD码(Binary Code Decimal)表示法 • BCD码二—十进制数(BCD):用4位二进制数表示一个十进制数。因共有24=16种组合状态,故可选其中十种编码来表示0~9十个数字,不同的选法不同相应编码方案。分为有权码和无权码: • 有权码:8421、2421、5211、4311等 • 无权码:余3码、格雷码等 • (1)8421 BCD码 • 4位二进制码的权分别为8、4、2、1码,是一种最常用的编码。 • 特点: • ①0~9,由四位二进制数(0000~1001)表示; • ②逢“十”进一; • ③需DA调整,即加法运算和数(结果)大于9时,需加6修整。是否调整有DA A判别。
练习: (1001 0001 0111 0010)BCD=9172; • 求码48+69=?117 • 0100 1000 • + 0110 1001 • 1011 0001 • + 0110 0110 加6修正 • 1 0001 0111 • 低4位向高4位进位,表明低位和大于9,需加6修正,而高位由于获得进位而出现非法码,因此也需要加6修正,修正后,结果为117,正确。 • 思考:BCD码减法,如何修正?(求减数对9A的补码) • (2)余3码 • 在8421码的基础上,将每个代码加0011而形成。 • 特点:每个十进制数等于它减3,而且运算规则简单。 • 是:0011,0100,0101,0111,1000,1001,1010,1011,1100 • 35=(0011 0101)BCD • 1)十进制数±8,±18,±113的补码(负数F8;EEH;8FH), • 2)补码数1BH,C9H的真值 (+27;-55)
2、ASCII码 • American Standard Code for Information Interchange • (美国标准信息交换码) • 在计算机中,除要处理大量的数据信息外,还需处理一些 • 字母、符号,它们也要用二进制编码来表示。 • 目前,普遍采用的ASCII码用7位二进制编码来表示数符。 • 共有27=128种组合状态。它们是 • 52大小写英文字母; • 10个十进制数; • 7个标点符号; • 9个运算符号; • 50个其他符号。
§1-3 微型计算机基础 返回 • 一、微机的三总线结构 • 总线:微机系统中各部件和模块之间用于传送信息的一组公 用导线。一般包括,数据总线、地址总线和控制总线。 • 地址:内存由许多存储单元组成,每个存储单元(字节)有一个用于区分的编号,称为地址,一般用十六进制数表示。 • 微机的总线结构
1、数据总线(DB): • 传送数据,双向,CPU的位数和外部数据总线的位数一致。而数据可能是指令代码、状态量或控制量,也可能是真正的数据。 • 2、地址总线(AB): • 传送CPU发出的地址信息,单向,宽度(线数目)决定了CPU的可寻址范围。 • 例如:2根地址线,可寻址22=4个字节单元; • 16根地址线,可寻址216=64K字节单元; • 3、控制总线(CB): • 传送使微机协调工作的定时、控制信号,双向,但对于每一条具体的控制线,都有固定的功能。控制线数目受芯片引脚数量的限制。
8位微机的DB总是8位,AB总是16位,而CB的数目则随机型不同而不同。8位微机的DB总是8位,AB总是16位,而CB的数目则随机型不同而不同。 • 二、微处理器的基本结构 • 微处理器(CPU)是微型计算机的核心,内部采用单总线结构,由运算器和控制器两大部分组成。
微处理器典型结构如下图所示。 片内总线 ALU PSW TEMP B A 数据总线
1、运算器 • (1)算术逻辑单元ALU (arithmetic logic unit) • 是运算器的主要组成部分,是一个纯粹的运算部件,没有寄存功能。 • (2)累加器A (Accumulator) • 是CPU中使用最忙的关键寄存器。ALU进行运算时一个操作数必需来自累加器,同时也是运算结果的寄存场所。 • (3)标志寄存器PSW(Flag) • 存放微机执行一条指令后所处状态的信息。不同的计算机,标志有所不同。 • 常用的标志有:C、AC、OV、P等。
(4)暂存寄存器TEMP (temp register) • 用来存放参加ALU运算的另一个操作数,该操作数必须先暂存在TR中,以免数据发生冲突。 • (5)地址和数据缓冲器(ABuffer、DBuffer) • 协调CPU与存储器、I/O接口电路之间在运行速度、工作周期等方面必然存在的差异。 • (6)寄存器阵列(RA)(register array) • 包括通用寄存器和专用寄存器两种。 • 通用寄存器组:作为CPU内部的小容量高速存储器,来存放一些中间数据,以减少CPU对存储器的频繁访问 • 专用寄存器组:PC、SP、F、AB、DB等。 • 2、控制器 • 完成指令译码,并发出各个操作的控制信号, • 主要包括如下部件: • (1)程序计数器PC(program counter存放要读取的指令所在地址的专用寄存器。具有计数(加1)和接受转移地址的二种功能。
(2)指令寄存器IR (instruction register) • 存放CPU从ROM中取出的正要被执行的指令,使整个分析执行的过程,一直在该指令的控制下,而指令的操作码送ID,指令中的操作数,一般为参加运算的地址,被送到地址缓冲寄存器。 • (3)指令译码器ID (instruction decoded) • 接收IR送来的操作码并译码,生成与指令相应的特定操作的启动信息。 • (4)微操作控制部件 又称可编程逻辑阵列。ID送出的电平信号与外部时钟脉冲在该电路中组合,形成各种内部信号和外部控制信号。 • (a)微程序控制:微存储元中保持微码,每一个微码对应于一个最基本的微操作,又称微指令。指令译码以后,通过执行由这些微码确定的若干个微操作,即可完成某条指令的执行。 • (b)逻辑硬布线控制:指令译码后,控制器通过不同的逻辑门的组合,发出不同序列的控制时序信号,直接去执行一条指令中的各个操作。
控制信号(至运算器、存储器、I/O接口等) • 控制器的组成框图如下: 地址总线 微操作控制电路 程序计数器PC 操作码译码器 节拍发生器 操作码 地址码 时钟发生器 指令寄存器IR
三、存储器及其读写原理 • 1、有关常用术语 • (1)位(bit)、字节(Byte)、字(Word)、双字(DW)。 • 1B=8bit;1KB=1024B;1MB=1024KB;1GB=1024MB • (2)字长:计算机每个字所包含的二进制数码的位数。通常国际上以微处理器芯片外部数据总线的位数来确定计算机的字长。 • (3)内存:存放当前运算所需的程序和数据,容量较小、存取速度快,设在微机内部。多数为MOS电路组成的半导体存储器,如RAM、ROM、EPROM、EEPROM。 • (4)外存:存放大量暂时不直接参与运算的程序和数据,可成批转入内存。在微机中,一般为磁盘、光盘等。
2、存储器结构 • 计算机有两种存储结构: • 哈佛结构:程序存储器和数据存储器分开。 • 普林斯顿结构:程序存储器和数据存储器合并。 • 单片机为哈佛结构 • 注意 : (1)对于8位地址,可表示256个单元; • (2)每个单元可存放8位二进制数; • (3)注意单元内容与地址的区别;
四、CPU执行指令的过程 一条指令的执行过程包括取指和执指两个阶段。指令执行前,首先要一条指令的地址送到程序计数器PC中,然后开始执行指令。具体过程如下: 例如:执行指令 MOV A,#05H 机器码为: 第一单元74H(指令码);第二单元05H(数据码) 执行过程如下:
五、输入/输出设备及其接口 • I/O设备: • 简称外设,功能是为微机提供具体的输入输出手段。标准的I/O设备系指键盘和显示器。 • I/O接口: • 由于各种外设的工作速度、驱动方式差别很大,无法与CPU直接匹配,而需要一个接口电路来充当它们与CPU间的桥梁,起转换、协调作用。
本章小结 • 1、 计算机中的数制和常用编码、进位计数制及其转换、二进制常用编码(BCD码、ASCII码、 • 带符号数的表示方法(真值、原码、反码、补码)、二进制数的算术、逻缉运算 • 2、微型计算机基本结构、储器工作(读写)原理、微型计算机基本概念 • 重点:进位计数制及其转换、带符号数的表示方法(真值、原、反码、补码)极其转换 • 难点:补码的概念