第1章 基础知识_第1页
第1章 基础知识_第2页
第1章 基础知识_第3页
第1章 基础知识_第4页
第1章 基础知识_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录第1章概论第2章MCS-51系列单片机的资源配置第3章MCS-51系列单片机的指令系统及汇编语言程序设计第4章单片机的C语言第5章MCS-51系列单片机的片内接口及中断第6章MCS-51系列单片机的扩展技术第7章单片机应用系统接口技术第8章单片机应用系统设计第9章单片机应用系统设计实例照明能源触摸智能仪表连接第1章计算机基础知识主要内容:有符号数的表示微型计算机工作原理单片机的概念及特点9章节:1.1计算机中的信息及表示1.2微型计算机的基本结构和工作原理1.3单片微型计算机101.1信息在计算机中的表示1.1.1数在计算机内的表示计算机中的数通常有两种:无符号数和有符号数。

无符号数<-----

二进制形式表示

例如:123表示成01111011B。

有符号数---

机器数,它的数值称为机器数的真值。11符号位数值位机器数在计算机中有三种表示法:

原码、反码和补码。+0-1机器数在计算机中表示:12一.原码符号位绝对值注意:(1)原码表示范围为-(2n-1-1)~+(2n-1-1),例如:8位的范围为-127~+127。(2)原码表示时,-0的编码为10000000,+0的编码为00000000。(假设机器字长为8位)【例1-1】求+67、-25的原码(机器字长8位)因为

+67

=67=1000011B

-25

=25=11001B所以[+67]原=01000011B[-25]原=10011001B格式:13二.反码符号位0绝对值符号位1绝对值各位取反格式:正数负数注意:(1)反码表示范围为-(2n-1-1)~+(2n-1-1),例如:8位的范围为-127~+127。(2)反码表示时,-0的编码为11111111,+0的编码为00000000。(假设机器字长为8位)14三.补码

【例1-3】求+67、-25的补码(机器字长8位)。因为[+67]原=01000011B[-25]原=10011001B所以[+67]补=01000011B[-25]补=11100111B

符号位0绝对值符号位1绝对值各位取反格式:正数负数+115注意:(1)补码表示范围为-(2n-1-1)~+(2n-1),例如:8位的范围为-128~+127。(2)补码表示时,-0的编码为00000000,+0的编码为00000000。(假设机器字长为8位)[X]补

[-X]补

【例1-4】已知+25的补码为00011001B,用求补运算求-25的补码。因为[25]补

[-25]补所以

[-25]补=11100110+1=11100111B16求补运算:一个二进制数,符号位和数值位一起取反,末位加1。求补运算具有以下的特点:174.补码的加减运算补码的加、减法运算规则如下:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补=[X]补+{[Y]补}求补即:补码表示时,求两个数之和[X+Y]补,直接用两个数相加([X]补+[Y]补);求两个数之差[X-Y]补,可以直接用两个数相减[X]补-[Y]补,也可以先对减数[Y]补求补运算,然后再与被减数[X]补相加。18【例1-5】假设计算机字长为8位,完成下列补码运算。① (+25)+(+32)因为 [+25]补=00011001B[+32]补=00100000B [+25]补=00

011001+ [+32]补=00100

0

0

0所以[(+25)+(+32)]补=[+25]补+[+32]补=00111001B=[+57]补00111001② (+25)+(-32)因为 [+25]补=00011001B[-32]补=11100000B [+25]补=00

011001+ [-32]补=11

100

0

0

0所以[(+25)+(-32)]补=[+25]补+[-32]补=11111001B=[-7]补1111100119(+25)-(+32)因为[+25]补=00011001B[+32]补=00100000B{[+32]补}求补=11011111+1=11100000B [+25]补=00011001- [+32]补=00100000[+25]补=00011001+ [-32]补=11100000

1 1111100111111001所以[(+25)-(+32)]补=[+25]补+[-32]补

=[+25]补+{[+32]补}求补

=11111001B=[-7]补借位1自动丢失20(+25)-(-32)因为[+25]补=00011001B[-32]补=11100000B{[-32]补}求补=00011111+1=00100000B [+25]补=00011001- [-32]补=11100000 [+25]补=00011001+ [+32]补=0010000010011100100111001借位1自动丢失所以[(+25)-(-32)]补=[+25]补+[-32]补

=[+25]补+{[-32]补}求补

=00111001B=[+57]补四.十进制数的表示

十进制编码又称为BCD码。分压缩BCD码和非压缩BCD码。压缩BCD码又称为8421码,它是用四位二进制编码来表示一位十进制符号。21例如:十进制数124的压缩BCD码为000100100100。

十进制数4.56的压缩BCD码为0100.01010110。十进制符号压缩BCD编码十进制符号压缩BCD编码0000050101100016011020010701113001181000401009100122

非压缩BCD码是用八位二进制来表示一位十进制符号,其中低四位二进制编码与压缩BCD码相同,高四位任取。例如:十进制数124的非压缩BCD码为 001100010011001000110100。1.1.2字符在计算机内的表示美国信息交换标准代码ASCII码AmericanStandardCodeforInformationInterchange23数字符号0~9:30H—39h26个大写字母:41H—5AH26个小写字母:61H—7AH1.2微型计算机的基本结构和工作原理

现在的计算机采用冯·诺伊曼结构,由运算器、控制器、存贮器、输入设备和输出设备五大部分组成。集成运算器和控制器的这一块集成电路称为中央处理器或微处理器,简称CPU。1.2.1微型计算机的发展1971年诞生,一般分为以下几代:第一代(1971~1973):4位和低档8位微处理器第二代(1974~1977):中高档8位微处理器第三代(1978~1984):16位微处理器第四代(1985~1992):32位微处理器第五代(1993~1999):超级32位Pentium(奔腾)微处理器第六代(2000年以后):64位高档微处理器241.2.2微型计算机的基本结构中央处理器(CPU)随机存储器RAMI/O接口电路I/O设备2I/O接口电路只读存储器ROM数据总线(双向)地址总线(单向)控制总线I/O设备1微型计算机由中央处理器、存储器、输入/输出设备和系统总线等组成251.2.3微处理器8086总线

地址总线(20位)

ALU数据总线(16位)

地址加法器

队列总线

指令队列

总线接口部件(BIU)

123456

CS

IP

内部通信寄存器

总线

控制

逻辑

数据总线

ALU

标志寄存器

EU

控制器

指令执行部件(EU)

(16位)

(8位)

ES

DS

SS

AX

BX

CX

DX

BP

SP

SI

DI

AHAL

BHBL

CHCL

DHDL

由运算器、控制器、寄存器组和片内总线组成261、执行单元(EU)执行部件由运算器(ALU)、通用寄存器、标态寄存器和EU控制系统等组成。EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。总线接口部件BIU同外部总线连接,为执行部件EU完成全部的总线操作,并且计算、形成20位的内部存储器的物理地址,达到寻址1M字节内存地址空间的目的。2、总线接口单元(BIU)内部分为两个部分:27内部寄存器

8086CPU有14个16位寄存器,分为5个组28291)通用寄存器组AX称为累加器,是算术运算时使用的主要寄存器,所有外部设备的输入输出指令只能使用AL或AX作为数据寄存器。BX称为基址寄存器,可以用作数据寄存器,在访问存储器时,可以存放被读写的存储单元的地址,是具有双重功能的寄存器。CX称为计数寄存器,可以用作数据寄存器,在字符串操作、循环操作和移位操作时用作计数器。DX称为数据寄存器,它可以用作数据寄存器,在乘、除法中作为辅助累加器,在输入输出操作中存放接口的地址。302)指针和变址寄存器组主要用来存放操作数的偏移地址(即操作数的段内地址)。SP称为堆栈指针寄存器,在堆栈操作中存放栈顶的偏移地址。BP称为基址指针寄存器,常用作堆栈区的基地址寄存器。SI称为源变址寄存器,主要用于在字符串操作中存放源操作数的偏移地址。DI称为目的变址寄存器,主要用于在字符串操作中存放目的操作数的偏移地址。313)段寄存器组段寄存器用来存放段的基址(即段的起始地址的高16位)。CS称为代码段段寄存器,代码段用来存放程序代码。CS中存放当前正在执行的代码段的段基址。DS称为数据段段寄存器,数据段用于存放当前使用的数据。DS中存放当前数据段的段基址。SS称为堆栈段段寄存器,堆栈段是内存中一段特殊的存储区。SS中存放堆栈段的段基址。ES称为附加数据段段寄存器,程序需要第二个数据段时,可以使用ES存放的该数据段的段基址。324)指令指针寄存器指令指针寄存器IP(instructionpointer)是一个16位的寄存器,IP存放下一条要执行的指令的偏移地址。8086中,由CS和IP控制着程序的执行顺序。在程序执行时,由EU控制器控制,通过BIU部件从CS和IP指向的内部存储器中取出当前执行的指令送执行部件执行,在取出的同时,指令指针寄存器IP会自动调整(加上当前指令的字节数)以指向下一条指令,以便程序能自动往后执行。当程序发生转移时,就必须把新的指令地址(目标地址)装入CS和IP,这通常由转移指令来实现。5)标志寄存器标志寄存器FLAGS共有9个标志位,其中6个为状态标志位,3个为控制标志位。ODITSZAPCC——进位标志位。P——奇偶标志位。A——半加标志位。Z——零标志位。S——符号标志位。T—陷阱标志位(单步标志位)。I——中断允许标志位。D——方向标志位。O—溢出标志位。331.2.4存储器指内部存储器(又称为主存或内存)。它是微型计算机的存储和记忆装置,用来存放微型计算机执行的程序和数据。存储单元内容和存储单元地址341.存储器的基本结构-------半导体存储器

地址译码器00单元01单元02单元┇┇FF单元000102FF地址单元内容ABCBI/O缓冲器控制逻辑DB图1.10存储器结构图35主要由地址译码器、存储矩阵、控制逻辑和三态双向缓冲器等部分组成。对内存单元的操作有两种:读和写。(1)读操作地址译码器0单元内容2BH┇┇FF单元内容05控制逻辑地址单元内容AB读信号DB052BHI/O缓冲器1)CPU通过地址总线送地址号05H至存储器地址译码器2)存储器中的地址译码器对它进行译码,找到05H号存储单元3)CPU发出读的控制命令,05H号存储单元中的内容2BH就出现在数据总线36(2)写操作写信号地址译码器0单元内容┇┇FF单元内容I/O缓冲器06地址单元内容ABDB061AH1AH控制逻辑1)CPU通过地址总线送地址号06H至存储器地址译码器2)存储器中的地址译码器对它进行译码,找到06H号存储单元3)数据寄存器中的内容1AH经数据总线送给存储器4)CPU发出写的控制命令,于是数据总线上的信息1AH就可以写入到06H号存储单元中372.存储器的分类

随机读写存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)。3.8086中的存储器总存储空间为1M字节,地址20位。由于8086的寄存器都是16位,不能直接提供20地址,因此,为了管理方便,8086把1M空间分成若干块(称为“逻辑段”),各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。每个逻辑段容量不超过64K字节,这样就可用16位寄存器提供地址访问。38物理地址与逻辑地址物理地址:送给存储器的20位地址。逻辑地址:程序中访问存储器的地址,“段基址:偏移地址”转换:物理地址=段基址×16+段内偏移地址例如:段基址:偏移地址分别是1200H:0345H则物理地址=1200H×16+0345H=12345H。391.2.5输入/输出设备及I/O接口电路1.I/O接口的功能

(1)数据的寄存和缓冲功能(2)信号转换功能(3)设备选择功能(4)外设的控制和监测功能(5)中断或DMA管理功能(6)可编程功能2.外部设备与CPU之间的数据传送方式

(1)无条件传送方式(2)查询传送方式(3)中断传送方式403.8086中的常用接口电路简介

8255A是Intel公司生产的可编程并行I/O接口芯片。8253是Intel公司生产的可编程计数/定时器接口电路。8251A是INTEL公司生产的可编程的串行通讯接口芯片。8259A是Intel公司生产的可编程中断控制器芯片。411.2.6总线按总线在微机结构中所处的位置不同,可把总线分为以下四类:(1)片内总线:(2)片级总线:(3)系统总线:(4)外部总线:按总线功能可分三类。(1)地址总线(AB):(2)数据总线(DB):(3)控制总线(CB):

总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。421.2.7微型计算机工作过程“存储程序”和“程序控制”指令是指计算机完成一个基本操作的命令。指令系统是一个计算机所能够处理的全部指令的集合。一条指令一般包括两个部分:操作码和操作数。例如计算3+5=?在执行程序之前需要做好如下几项工作:(1)用助记符号指令(汇编语言)编写程序(源程序);(2)用汇编软件(汇编程序)将源程序汇编成计算机能识别的机器语言程序;(3)将数据和程序通过输入设备送入存储器中存放。43假设上面例子的汇编语言源程序和机器语言程序如下:汇编语言 机器语言 功能MOVAL,03H 1011000000000011B ;把01送入

累加器A。ADDAL,05H 0000010000000101B ;02与A中内

容相加,结果存入A。HLT 11110100B ;停止操作。编译好的机器语言程序有5个字节,设放于存储器地址为00H开始的单元处。441.执行第一条指令的过程----(1)取第一条指令

J2I2ALUF内部数据总线ALBL00PLAIDB0HB0HCPUB0H01H04H02HF4H

3E

DB存储器PC00+1AR……DRIR②①AB③④⑤⑥⑦

读451)当前程序计数器PC或IP内容(00H)送地址寄存器AR。2)PC自动加1,等于01H,指向下一个存储器单元。这里指向第一条指令的操作数。3)地址寄存器AR的内容00H通过地址总线AB送至存储器,经地址译码器译码选中相应的00H单元。4)CPU发出存储器“读”命令。5)在读命令的控制下,所选中的00H单元的内容读至数据总线DB上。6)读出的内容经数据总线DB送至数据寄存器DR。7)指令译码。因为取出来的是指令的操作码,所以数据寄存器DR的内容被送至指令寄存器IR中,然后再送至指令译码器ID,译码后由控制器发出执行这条指令的各种控制命令。取第一条指令

46J2I2ALUF内部数据总线01HBL01PLAIDIR01HCPUB0H01H04H02HF4H

3E

DB存储器PC01+1AR……DR②①AB④⑤⑥⑦③AL

读1.执行第一条指令的过程----(2)执行第一条指令。

471)将当前程序计数器PC或IP的内容01H送至地址寄存器AR。2)PC自动加1,等于02H,这里指向下一条指令,为取下一条指令作准备。3)地址寄存器AR的内容01H通过地址总线AB送至存储器,经地址译码器译码后选中存储器01H单元。4)CPU发出存储器“读”命令。5)在读命令的控制下,所选中的01H存储单元的内容01H读至数据总线DB上。6)读出的内容经数据总线DB送至数据寄存器DR。7)因为经过译码已经知道读出送到累加器AL,所以数据寄存器DR的内容01H通过内部数据总线送至累加器AL。于是第一条指令执行完毕,操作数01H被送到累加器AL中。执行第一条指令。482.执行第二条指令的过程-----(1)取第二条指令。与取第一条指令同2)执行第二条指令。I1I2ALUF内部数据总线03HB03PLAIDIR02HCPUB0H01H04H02HF4H

3E

DB存储器PC03+1AR……DR②①AB④⑤⑥⑦③A

读⑧⑨⑩491)将当前程序计数器PC或IP的内容03H送至地址寄存器AR。2)PC自动加1,等于04H,这里指向下一条指令,为取下一条指令作准备。3)AR通过地址总线把地址03H送至存储器,经过译码,选中相应的单元,4)CPU发出存储器“读”命令。5)在读命令的控制下,所选中的03H存储单元的内容02H读至数据总线DB上。6)读出的内容经数据总线DB送至数据寄存器DR。7)数据寄存器DR的内容通过内部数据总线送至ALU的一个输入端。8)累加器AL中的内容01H送ALU的另一个输入端,在ALU中执行加法操作。9)相加的结果03H由ALU输出至累加器AL中。执行第二条指令503.执行第三条指令的过程

第二条指令执行结束后,程序计数器PC的值为04H,指向第三条指令在存储器中的首地址,进入第三条指令的执行过程。第三条指令的处理与前面完全相同,第三条指令的操作码F4H(HLT)取出经译码器译码后就停机。整个程序执行完毕。511.3单片机及其特点1.3.1单片机的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论