您好,欢迎访问三七文档
单片机原理及接口技术单击此处添加标题目录第1章微机基础知识第2章89C51单片机硬件结构和原理第3章指令系统第4章汇编语言程序设计知识第5章中断系统第6章定时器及应用第7章89C51串行口及串行通信技术第8章单片机小系统及扩展第9章应用系统配置及接口技术第10章系统实用程序第一章微机基础知识•§1.1微处理器、微机和单片机的概念•§1.2常用数制和编码•§1.3数据在计算机中的表示•§1.489C51单片机•§1.5思考题与习题§1.1微处理器、微机和单片机的概念Back§1.1.2存储器和输入输出接口§1.1.1微处理器(机)的组成概念1、微处理器3、单片机2、微型计算机微处理器(Microprocessor)是小型计算机或微型计算机的控制和处理部分。又称中央处理单元CPU(CentralProcessingUnit)。微型计算机(Microcomputer,简称微机MC)是具有完整运算及控制功能的计算机。包括微处理器(CPU)如图1-1所示。存储器接口适配器(输入输出接口电路)输入/输出(I/O)设备。图1-1微机的组成•微处理器由控制器、运算器和若干个寄存器组成;•I/O设备与微处理器的连接需要通过接口适配器(即I/O接口);•存储器是指微机内部的存储器(RAM、ROM和EPROM等芯片)。单片机(Single-ChipMicrocomputer)是将微处理器、一定容量RAM和ROM以及I/O口、定时器等电路集成在一块芯片上,构成单片微型计算机。微处理器RAMROMI/O口定时器单片微型计算机Back§1.1.1微处理器(机)的组成Back1、运算器2、控制器3、CPU中的主要寄存器计算机的模型微处理单元与存储器及I/O接口组成的计算机模型如图1-2所示。图中只画出CPU主要的寄存器和控制电路,并且假设所有的计数器、寄存器和总线都是8位宽度。ALU、计数器、寄存器和控制部分除在微处理器内通过内部总线相互联系以外,还通过外部总线和外部的存储器和输入/输出接口电路联系。外部总线一般分为数据总线、地址总线和控制总线,统称为系统总线。存储器包括RAM和ROM。微计算机通过输入/输出接口电路可与各种外围设备联接。图1-2一个计算机模型1、运算器Back1)、组成2)、作用3)、ALU的两个主要的输入来源4)、运算器的两个主要功能1)运算器的组成算术逻辑单元(简称ALU)Back运算器累加器寄存器2)运算器的作用是把传送到微处理器的数据进行运算或逻辑运算。举例ALU可对两个操作数进行加、减、与、或、比较大小等操作,最后将结果存入累加器。ALU执行不同的运算操作是由不同控制线上的信息所确定的。Back例如:两个数(7和9)相加,在相加之前,操作数9放在累加器中,7放在数据寄存器中,执行两数相加运算的控制线发出“加”操作信号,ALU即把两个数相加并把结果(16)存入累加器,取代累加器前面存放的数9。Back3)ALU的两个主要的输入来源输入来源数据寄存器累加器Back4)运算器的两个主要功能(1)执行各种算术运算。(2)执行各种逻辑运算,并进行逻辑测试。如零值测试或两个值的比较。Back2、控制器1)、控制器的组成2)、控制器的作用3)、控制器的主要功能BackBack控制器的组成程序计数器指令寄存器指令译码器时序产生器操作控制器1)控制器的组成2)作用它是发布命令的“决策机构”,即协调和指挥整个计算机系统的操作。Back3)控制器的主要功能对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。从内存中取出一条指令,并指出下一条指令在内存中的位置。Back3、CPU中的主要寄存器1)累加器(A)2)数据寄存器(DR)3)指令寄存器(IR)4)指令译码器(ID)6)地址寄存器(AR)5)程序计数器(PC)Back1)累加器(A)Back在算术和逻辑运算时,它具有双重功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。累加器是微处理器中最繁忙的寄存器。2)数据寄存器(DR)数据(缓冲)寄存器(DR)是通过数据总线(DBUS)向存储器(M)和输入/输出设备I/O送(写)或取(读)数据的暂存单元。Back3)指令寄存器(IR)指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时先把它从内存取到数据寄存器中,然后再传送到指令译码器中。Back4)指令译码器(ID)指令分为操作码和地址码字段,由二进制数字组成。当执行任何给定的指令,必须对操作码进行译码,以便确定所要求的操作。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向控制器发出具体操作的特定信号。Back5)程序计数器(PC)通常又称为指令地址计数器。在程序开始执行前,必须将其起始地址,即程序的第一条指令所在的内存单元地址送到PC。当执行指令时,CPU将自动修改PC的内容,使之总是保存将要执行的下一条指令的地址。由于大多数指令都是按顺序执行的,所以修改的过程通常是简单的加1操作。Back6)地址寄存器(AR)地址寄存器用来保存当前CPU所要访问的内存单元或I/O设备的地址。因为内存(I/O设备)和CPU之间存在着速度上的差别,所以必须使用地址寄存器来保存地址信息,直到内存(I/O设备)读/写操作完成为止。Back§1.1.2存储器和输入输出接口1、存储器2、I/O接口及外设Back1、存储器如图1-4所示。地址总线、数据总线和若干控制线把存储器和微处理器连接起来。存储器从CPU接收控制信号,以确定存储器执行读/写操作。地址总线将8位地址信息送入地址译码器,地址译码器的输出可以确定唯一的存储单元。数据总线用来传送存储器到CPU或CPU到存储器的数据信息。Back图1-4随机存取存储器2、I/O接口及外设每个外设与微处理器的连接必须经过接口适配器(I/O接口)。每个I/O接口及其对应的外设都有一个固定的地址,在CPU的控制下实现对外设的输入(读)和输出(写)操作。Back§1.2常用数制和编码Back§1.2.1数制及数制间转换§1.2.2计算机中常用编码§1.2.1数制及数制间转换Back1.数制——计数的进位制2、不同数制之间的转换1.数制——计数的进位制Back1.二进制:是“0”和“1”这样的数、逢2进位。按权展开时权的基数为2。用后缀字母“B”表示。如:1001=1×23+0×22+0×21+1×20=9(十进制数)2.十进制:是“0”—“9”之间的数、逢10进位。按权展开时权的基数为10。用后缀字母“D”表示。如:1135=1×103+1×102+3×101+5×1003.十六进制:是“0”—“9”,“A,B,C,D,E,F”之间的数、逢16进位。按权展开时权的基数为16。用后缀字母“H”表示。如:1C5H=1×162+12×161+5×160=453D2、不同数制之间的转换Back1、二进制、十六进制转化成十进制:将二、十六进制数按权展开相加即为相应的十进制数。如:1101=1×23+1×22+0×21+1×20=13D如:1FH=1×161+15×160=31D2、十进制转换成二进制数:将十进制数除2取余,商为0止余数倒置。如:11D=1011B3、十进制转换成十六进制数:将十进制数除16取余,商为0止余数倒置。如:100D=64H4、二进制转换成十六进制数:将二进制数以小数点为界四位一分,不足补0,用一位十六进制数代替四位二进制数。如:100111100B=000100111100B=13CH5、十六进制转换成二进制数:将十六进制数以小数点为界,用四位二进制数代替一位十六进制数。如:D4EH=110101001110B211余数2512212100116100余数166406§1.2.2计算机中常用编码Back1.BCD(BinaryCodedDecimal)码——二十进制码2.ASCII(AmericanStandardCodeforInformationInterchange)码1.BCD(BinaryCodedDecimal)码——二十进制码BackBCD码是一种二进制形式的十进制码,也称二十进制码。它用4位二进制数表示1位十进制数,最常用的是8421BCD码,见表1-2。–8421BCD码用0000H~1001H代表十进制数0~9,运算法则是逢十进一。8421BCD码每位的权分别是8,4,2,1,故得此名。–例如,1649的BCD码为0001011001001001。表1-28421BCD码表Back十进制数8421BCD码二进制数十进制数8421BCD码二进制数0000000008100010001000100019100110012001000101000010000101030011001111000100011011401000100120001001011005010101011300010011110160110011014000101001110701110111150001010111112.ASCII(AmericanStandardCodeforInformationInterchange)码Back–ASCII码是一种字符编码,是美国信息交换标准代码的简称,见表1-3。它由7位二进制数码构成,共有128个字符。–ASCII码主要用于微机与外设通信。当微机与ASCII码制的键盘、打印机及CRT等连用时,均以ASCII码形式进行数据传输。–例如,当按微机的某一键时,键盘中的单片机便将所按的键码转换成ASCII码传入微机进行相应处理。Back表1-3ASCII码字符表高位低位0123456789ABCDEF00000001001000110100010101100111100010011010101111001101111011110000NULSOHSTXETXEOTENQACKDELBSHTLFVTFFCRSOSI1001DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS2010SP!“#$%&‘()*+,-。、30110123456789:;=?4100@ABCDEFGHIJKLMNO5101PQRSTUVWXYZ[\]↑←6110、abcdefghijklmno7111pqrstuvwxyz{|}~DEL§1.3数据在计算机中的表示Back§1.3.1有符号数§1.3.2无符号数§1.3.1有符号数•有符号的8位二进制数用最高位D7表示数的正或负,•0代表“+”,1代表“-”,•D7称为符号位,D6~D0为数值位。BackD7D6—————D0符号位数值位•上述的8位带符号二进制数又有3种不同表达形式,即原码、反码和补码。•在计算机中,所有有符号数都是以补码形式存放的。Back1.原码一个二进制数,用最高位表示数的符号,其后各位表示数值本身,这种表示方法称为原码。原码的表示范围是-127~+127例如:X=+1011010B[X]原=01011010B;X=-1011010B[X]原=11011010B2.反码正数的反码与原码相同。符号位一定为0,其余位为数值位。负数的反码符号位为1,数值位将其原码的数值位逐位求反。反码的表示范围是-127~+127例如:X=-1011010B[X]原=11011010B[X]反=10100101B3.补码正数的补码与原码相同。负数的补码符号位为1,数值位将其原码的数值位逐位求反后加1,即负数的反码加1。补码的表示范围是-128~+127例如:X=-1011010B[X]补=10100110B通常计算机中的数用补码表示,用补码进行运算。一个很明显的优点是减法可以用补码的加法来运算。这里还要特别提示“溢出”的概念。溢出与进位不同,溢出是指有符号数的运算结果超出了数-128~+127的表示范围,破坏了符号位。
本文标题:李朝青单片机原理及接口技术--(第3版)---李朝青---1--10--ppt课件
链接地址:https://www.777doc.com/doc-4144571 .html