第1章微型计算机基础知识1.1计算机中的数和数制一、计算机中的数制表示:最简单,可靠;运算规则最简单。(一)二进制数特点:1.具有两个不同的数字符号,即0和1。2.逢二进位。例如:111.11(二)十六进制数特点:1.具有16个数字符号,采用0~9和A~F。2.逢16进位小数点左边的权是16的正次幂小数点右边的权是16的负次幂二进制和十六进制数的转换1.十六进制转换为二进制2.二进制转换为十六进制数在机器中是用二进制表示的,但是,一个二进制数书写起来太长,且容易出错。我们在书写时用十六进制来表示。二进制编码(一)二进制编码的十进制数较常用的是8421BCD码,十进制数的每一位是用四位二进制编码来表示的,因此,称为二进制编码的十进制数(BCD一BinaryCodedDecimal)例题将一个BCD码为00111001的数转化为十六进制应表示为___________H。(二)字母与字符的编码ASCII码(AmericansStandardCodeforInformationInterchange美国标准信息交换码)(三)汉字的编码国家根据汉字的常用程序定出了一级和二级汉字字符集,并规定了编码,这就是中华人民共和国国家标准信息交换用汉字编码二进制数的运算(一)二进制加法二进制加法的规则为:①0+0=0②0+1=1+0=1③1+1=0进位1④l+1+l=l进位1(二)二进制减法二进制减法的运算规则为:①0一0=0②1一1=0③1一0=1④0一1=1有借位(三)二进制乘法二进制乘法的运算规则为:①0*0=0②0*1=0③1*0=1④1*1=1这是十分简单的,只有当两个1相乘时,积才为1,否则积为0。二进制的乘法也与十进制的类似:(四)二进制除法除法是乘法的逆运算,与十进制的类似带符号数的表示方法(一)带符号数:最高位为符号位:0表示正,1表示负(二)原码:(三)反码:正数的反码与原码同负数的反码表示为它的正数的按位取反(包括符号位)特点:1.“0”有两种表示法。2.-127~+127。3.当一个带符号数由反码表示时,最高位为符号位。当符号位为0(即正数)时,后面的七位为数值部分;当符号位为1(即负数)时,要按位取反,才表示它的二进制值(四)补码:正数的补码与原码同负数的反码表示为它的它的反码加1特点:1.“0”有一种表示法。2.-128~+1273.当一个带符号数由补码表示时,最高位为符号位。当符号位为0(即正数)时,后面的七位为数值部分;当符号位为1(即负数)时,要按位取反加1,才表示它的二进制值已知原码为00000001,则它的反码是______________,补码是_______________。已知原码为11001001,则它的反码是______________,补码是_______________。在计算机中,带符号数一般都以补码的形式在机器中存放和进行运算。补补补YXYX补补补补补补补补)()(YXYXYXYX关于补码运算1.2微型计算机结构现在绝大多数计算机使用冯·诺依曼的结构,也就是由运算器、控制器、存储器、输入设备和输出设备5个部分组成。微处理器微处理器是用一片或少数几片大规模集成电路组成的中央处理器(CPU,CentralProcessingUnit)。这些电路执行控制部件和算术逻辑部件的功能。微处理器的基本组成部分有:寄存器堆、运算器、时序控制电路以及数据和地址总线。微处理器能完成取指令、执行指令以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分,它可与存储器和外围电路芯片组成微型计算机。微型计算机微型计算机(Microcomputer)是指以微处理器为基础,配以内存储器及输入输出(I/O)接口电路和相应的辅助电路而构成的裸机。把微型计算机集成在一个芯片上即构成单片微型计算机(SingleChipMicrocomputer)。微型计算机系统由微型计算机配以相应的外围设备(如打印机、显示器、磁盘机和磁带机等)及其它专用电路、电源、面板、机架以及足够的软件构成的系统叫做微型计算机系统(MicrocomputerSystem)。微型计算机的结构和工作原理一、微型计算机功能部件1、中央处理器CPU微型计算机的核心部件,由运算器、控制器组成运算器运算器进行数据分析、计算和处理控制器处理程序指令,并协调各逻辑部件按一定时序工作。(1)算术逻辑单元ALU运算器的核心部件,执行算术运算、逻辑运算、移位、比较等各种数据处理的相关操作运算器特殊功能寄存器SFR累加器工作寄存器也叫通用寄存器,用来暂存ALU待处理的数据和中间结果。规定了特殊用途的寄存器,其内容会影响计算机的工作方式和过程使用最频繁的寄存器,配合ALU进行各种数据处理(2)寄存器组(1)指令部件读取程序指令、指令译码、修改程序指针控制器指令寄存器IR指令译码器ID程序计数器PC存放当前指令地址。CPU执行程序时,先按PC给出的地址到存储器取一条指令,PC自动加1。CPU执行完一条指令,再到存储器取下一条指令,…。暂存当前指令。指令操作码送指令译码器。将每条指令译码变成控制电平(2)时序部件时钟和内部分频电路。时钟信号经过分频,与指令译码信号组合,形成一定节拍的时序信号,控制各逻辑部件协调工作。控制器1)PC给出当前指令的存储地址PC=程序存储器地址程序代码0000H指令代码10001H指令代码20002H指令代码3…N指令代码nPC=PC=2)CPU到存储器取指令,PC自动加13)指令译码器对指令译码,CPU执行指令4)CPU到存储器取指令,PC=PC+15)CPU执行下一条指令,…CPU执行程序的简要过程2、存储器位b(bit):一个二进制位,信息最小单位字节B(Byte):8位为一个字节字长W(WordLength):一个字包含的二进制位数(1)存储器结构存储器功能:存放程序和数据等信息存储内容:程序或数据的二进制代码存储地址:存储器每个单元的位置编号存储器容量:指存储单元的多少,如存储器容量为1KB=1024×8位1KB存储器地址存储内容010011010101101011…102310100111存储器读:将信息从存储器中读入CPU存储器写:将信息从CPU写到存储器中(2)存储器的读写操作1KB存储器地址存储内容010011010101101011…102310100111CPU地址内容读写控制存储器的读写操作B、发出读写控制时序信号,对选定单元进行读或写A、CPU先送出一个确定的单元地址给存储器RAM:随机读写存储器。能方便读出和改写信息,但失电后信息将不复存在。RAM常用作数据存储器,暂存各种现场数据、运算结果和正在调试的程序。ROM:只读存储器。工作时从ROM中读出信息,不能随意改写。断电后信息不会丢失。ROM常用作程序存储器,存放已调试好的固定程序和常数。(3)存储器的分类注意所谓的只读和随机存取都是指在正常工作情况下而言,也就是在使用这块存储器的时候,而不是指制造这块芯片的时候。程序存储器:存放程序指令代码,每个指令周期CPU自动对程序存储器读操作。数据存储器存放待处理数据,数据存储器读写操作发生在CPU执行程序的过程中。3、I/O接口I/O接口是联系微型计算机与外部设备的桥梁,每一台外部设备必须通过I/O接口与计算机连接。微型计算机有多种功能I/O接口:PIO:并行I/O接口SIO:串行I/O接口CTC:定时计数器ADC、DAC:A/D、D/A转换器INT:中断输入口二、微型计算机结构特点微型计算机由大规模集成电路组成,其应用系统一般也采用特定功能的大规模集成电路器件和组件。总线(Bus)微型计算机各功能部件的连接线,各功能部件之间的公共信息通道。总线宽度:总线上能并行传送的二进制位数。内部总线CPU或单片机芯片内部各逻辑部件之间的信息传输线,通常为单总线结构。1、微型机的总线结构外部总线指微型机各功能芯片之间的信息传输线。CPU或单片机芯片应用系统的主要外部引线。系统总线微机系统各逻辑功能板卡之间的信息传输线。通常为统一标准总线。(3)控制总线CB单向三态。传送各种控制脉冲、联络、状态电平等信号,使存储器、I/O接口等部件协调工作。控制总线的根数根据微型计算机控制功能的需要而定。1KB存储器地址存储内容010011010101101011…102310100111CPU地址内容读写控制2、微型计算机总线的主要信号线(2)数据总线DB双向三态。传送程序和数据的二进制代码。数据总线宽度一般与微型机的字长相同。(1)地址总线AB单向三态。传送存储器和I/O接口的地址信息。地址总线宽度决定计算机寻址空间(最大寻址)。MCS-51有16根地址总线,寻址空间216=64K=655363、微处理器与外设之间数据传送的三种方式(1)查询结构简单,但信息交换速度慢,CPU效率低,通常用来实现CPU与低速外设间的信息交换。(2)中断当CPU需要输入输出时,若外设已准备好,CPU就暂停原执行的程序,转去执行输入输出任务,完成后,再继续执行原来的程序。中断方式适用于随机出现的服务(如:键盘、打印机)(3)DMA信息交换时,由DMA控制器控制总线直接在主存储器和外设之间进行数据交换。DMA利用中断申请归还总线使用权。DMA方式适用于高速成组的数据交换。三、微型计算机软件1、机器语言指令的二进制代码,又称指令代码。机器语言指令组成的程序称为目标程序。例如:ADDA,R0001010002、汇编语言与机器语言指令一一对应的英文单词缩写,称为指令助记符。汇编语言编写的程序称为汇编语言源程序。例如:ADDA,R03、高级语言语句和语法接近人们习惯的表达方式。高级语言编写的程序称为高级语言源程序。源程序通过编译得到机器能执行的目标程序汇编语言程序可以高效率利用计算机资源,目标程序占用内存少,执行速度快,适合于自动测控系统反应快速、结构紧凑的要求。实际应用中,常与C语言配合使用。高级语言程序容易掌握,通用性好,但编译程序系统开销大,目标程序占用内存多,且执行时间比较长,多用于科学计算、工业设计、企业管理。源程序目标程序编译程序