单片机第一章_第1页
单片机第一章_第2页
单片机第一章_第3页
单片机第一章_第4页
单片机第一章_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

九、微型计算机的概念㈠、微型计算机的组成1.计算机的基本结构输入设备运算器存储器输出设备控制器输入命令数据数据输出命令操作命令数据指令存取命令接口外围设备CPU内存主机2、微型计算机的基本结构3、微型计算机的结构特点

微型机的总线结构总线(Bus):微型计算机各功能部件的连接线,各功能部件之间的公共信息通道。总线宽度:总线上能并行传送的二进制位数。内部总线:CPU或单片机芯片内部各逻辑部件之间的信息传输线。通常为单总线结构。外部总线:指微型机各功能芯片之间的信息传输线。CPU或单片机芯片应用系统的主要外部引线。系统总线:微机系统各逻辑功能板卡之间的信息传输线。通常为统一标准总线。(3)控制总线CB单向三态。传送各种控制脉冲、联络、状态电平等信号,使存储器、I/O接口等部件协调工作。 控制总线的根数根据微型计算机控制功能的需要而定。3、微型计算机的结构特点

微型计算机总线的主要信号线1KB存储器地址

存储内容

010011010101101011…102310100111

CPU

地址内容读写控制(1)地址总线AB单向三态。传送存储器和I/O接口的地址信息。地址总线宽度决定计算机寻址空间(最大寻址)。(2)数据总线DB双向三态。传送程序和数据的二进制代码。数据总线宽度一般与微型机的字长相同。MCS-51有16根地址总线,寻址空间216=64K=655364、几个基本概念(1).计算机的字、字长、字节字:计算机中用一组二进制数码表示一个信息,这组二进制数码称为计算机的“字”。字长:CPU并行处理二进制的数据位数8位机、16位机、32位机和64位机。字节:8位二进制数称为一个字节(byte)。(2).运算速度、内存存取周期运算速度:CPU处理速度时钟频率、主频、每秒运算次数 6MHz、12MHz、24MHz、100MHz、300MHz。内存存取周期:内存读写速度50nS、70nS、200nS。(3)、存贮器容量

存储器是微型计算机内存放二进制信息的“仓库”。存贮单元地址存贮单元中的内容

存储器容量就是可以存储二进制信息的能力,其单位是字节(Byte)。每1024个字节称为1K字节(即1KB),

每1024K字节称为1M字节(即1MB),每1024M字节称为1G字节(即1GB)。4、几个基本概念(4).堆栈堆栈是按“先进后出”原则存取数据的存储区。MCS-51堆栈设在片内RAM区。数据入栈/出栈时,SP自动加1/减1,其内容始终为栈顶地址。复位时SP=07H。4、几个基本概念㈡、微型计算机的软件1.计算机语言(1)机器语言 指令的二进制代码,又称指令代码。机器语言指令组成的程序称目标程序。MCS-51两个寄存器相加的机器语言指令00101000.(2)汇编语言 与机器语言指令一一对应的英文单词缩写,称为指令助记符。汇编语言编写的程序称为汇编语言程序。

MCS-51两个寄存器相加汇编语言指令:ADDA,R0.(3)高级语言 语句和语法接近人们习惯的表达方式。高级语言编写的程序称为高级语言源程序。2.不同计算机语言的应用源程序目标程序编译程序

汇编语言程序可以高效率利用计算机资源,目标程序占用内存少,执行速度快,适合于自动测控系统反应快速、结构紧凑的要求。实际应用中,常与C语言配合使用。高级语言程序容易掌握,通用性好,但编译程序系统开销大,目标程序占用内存多,且执行时间比较长,多用于科学计算、工业设计、企业管理。源程序通过编译得到机器能执行的目标程序。3.微型计算机系统的组成微处理器(CPU)运算器控制器

系统软件(操作系统,编辑、编译程序,故障诊断,监控程序…)应用软件(科学计算,工业控制,数据处理…)程序设计语言(机器语言、汇编语言、高级语言)微型计算机系统硬件微型计算机(主机)软件外围设备存储器(内存)RAMROM外部设备辅助设备

输入设备(键盘、扫描仪、语音识别仪…)输出设备(显示器、打印机、绘图仪、…)辅助存储器(磁带、磁盘、光盘)输入/输出接口(PIO、SIO、CTC、ADC、DAC…)(I/O接口)

总线(AB、DB、CB)电源电路时钟电路4、计算机发展趋势微型化─便携式、低功耗.巨型化─尖端科技领域的信息处理,需要超大容量、高速度。智能化─模拟人类大脑思维和交流方式,多种处理能力。系列化、标准化─便于各种计算机硬、软件兼容和升级。网络化─网络计算机和信息高速公路。多机系统─大型设备、生产流水线集中管理(独立控制、故障分散、资源共享)。㈢、计算机中的数介绍计算机中数的表示方法和基本运算方法1、进位计数制⑴十进制ND有十个数码0~9、逢十进一。十进制用于计算机输入输出,人机交互。⑵二进制NB两个数码:0、1,逢二进一。二进制为机器中的数据形式。⑶十六进制NH十六个数码:0~9,A~F,逢十六进一。十六进制用于表示二进制数。⑷不同进位制数以下标或后缀区别,十进制数可不带下标如:101、101D、101B、101H、101H2.各种进位计数制(1)十进制ND

有十个数码:0~9,逢十进一。例:1234.5=1×103+2×102+3×101+4×100+5×10-1加权展开式以10称为基数,各位系数为0~9。一般表达式:ND=dn-1×10n-1+dn-2×10n-2+…+d0×100+d-1×10-1+…(2)二进制NB

两个数码:0、1,逢二进一。例1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3

加权展开式以2为基数,各位系数为0、1。一般表达式:NB=bn-1×2n-1+bn-2×2n-2+…+b0×20+b-1×2-1+…(3)十六进制NH

十六个数码0~9、A~F,逢十六进一。例:DFC.8=13×162+15×161+12×160+8×16-1

展开式以十六为基数,各位系数为0~9,A~F。一般表达式:NH=hn-1×16n-1+hn-2×16n-2+…+h0×160+h-1×16-1+…2.各种进位计数制3、不同进位计数制之间的转换

(1)、进位计数制的一般表达式:Nr=an-1rn-1+an-2rn-2+…+a1r1+a0r0+a-1r-1…+a-mr-m

一个r1进制的数转换成r2进制数的方法:

先展开,然后按r2进制的运算法则求和计算。(2)、二、十六进制数转换成十进制数先展开,然后按照十进制运算法则求和。举例:1011.1010B=1×23+1×21+1×20+1×2-1+1×2-3=11.625DFC.8H=13×162+15×161+12×160+8×16-1=3580.5(3)二进制与十六进制数之间的转换

24=16,四位二进制数对应一位十六进制数。举例:

3AF.2H=0011

1010

1111.0010=1110101111.001B

3AF2

1111101.11B=01111101.1100=7D.CH

7DC3、不同进位计数制之间的转换(4)十进制数转换成二、十六进制数3、不同进位计数制之间的转换整数、小数分别转换①、整数转换法“除基取余”:十进制整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。举例:

1. 39转换成二进制数

39=100111B

2391(b0) 2 191(b1) 2 91(b2) 2 40(b3) 2 20(b4) 2 11(b5) 02.

208转换成十六进制数208=D0H16208余01613余13=DH 0举例:②、小数转换法“乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。举例: (4)十进制数转换成二、十六进制数A、

0.625转换成二进制数 0.625 ×2 1.2501(b-1) × 2 0.500(b-2) × 2 1.0 1(b-3)0.625=0.101BB、

0.625转换成十六进制数0.625×16=10.0

0.625=0.AHC、

208.625转换成十六进制数208.625=D0.AH3、不同进位计数制之间的转换4、带符号数的表示方法

机器中,数的符号用“0”、“1”表示。

最高位作符号位,“0”表示“+”,“1”表示“-”(1)、机器数与真值机器数:机器中数的表示形式,其位数通常为8的倍数真值:机器数所代表的实际数值。举例:一个8位机器数与它的真值对应关系如下:真值:X1=+84=+1010100BX2=-84=-1010100B

机器数:[X1]机=01010100[X2]机=11010100有符号数通常使用三种表示方法:4、带符号数的表示方法(1)、原码(TrueForm)最高位为符号位,0表示“+”,1表示“-”。数值位与真值数值位相同。例:8位原码机器数:真值: x1=+1010100B x2=-1010100B

机器数: [x1]原=01010100[x2]原=11010100原码表示简单直观,但0的表示不唯一,加减运算复杂。(2)、反码(One’sComplement)4、带符号数的表示方法

正数的反码与原码表示相同。 负数反码符号位为1,数值位为原码数值各位取反。 例:8位反码机器数: x=+4:[x]原=00000100[x]反=00000100

x=-4:[x]原=10000100[x]反=111110114、带符号数的表示方法(3)、补码(Two’sComplement)正数的补码表示与原码相同。 负数补码的符号位为1,数值位等于反码加1。例:求8位补码机器数: x=+4[x]原=[x]反=[x]补=00000100 x=-4[x]原=10000100 [x]反=11111011[x]补=11111100 补码表示的优点:0的表示唯一,加减运算方便4、带符号数的表示方法(3)、补码(Two’sComplement)数的补码与“模”有关,“模”即计数系统的量程。当X<0,[X]补=模-|X|。举例:钟表对时。设时钟系统“模”为12,标准时间为7点整。9+[-2]补=9+10=7+12=7(舍弃模) 8位二进制数的模为:28=256 当X<0,[X]补=28-|X|=256-|X|=255-|X|+1 =[X]反码+1

4、带符号数的表示方法8位机器数表示的真值8位机器数十六进制二进制无符号数有符号数原码反码补码0001…7F80…EEEF000000000000000101111111……..1111111011111111……..100000000…1271282542551…+0+1…+127-0…-126-127+1+0…+127-127…-1-0+0+1…+127-128…-2-15.机器数与真值之间的转换

真值®机器数

①、X1=+127,X2=-127,求[X]原、[X]补

[X1]原=[X1]补=01111111=7FH [X2]原=11111111=FFH [X2]补=10000001=81H

②、X1=+255,X2=-255,求[X]原、[X]补

[X1]原=[X1]补=0000000011111111=00FFH [X2]原=1000000011111111=80FFH [X2]补=1111111100000001=FF01H

机器数®真值

*注意机器数表示(原码、补码)

*注意机器数符号位5、机器数与真值之间的转换

[X1]原=59H, [X2]原=D9H,求真值? [X1]原= [X2]原=01011001

11011001

X1=+1011001B=+89X2=-1011001B=-89

②[X1]补=59H,[X2]补=D9H,求真值

X1=+1011001B=+89 X2=-0100111B=-39

6.定点与浮点的表示

①定点整数:小数点固定在数值位之后。 ②定点小数:小数点固定在数值位之前符号位之后。

举例:求定点机器数5AH表示的真值。

用定点整数表示的真值:+1011010 用定点小数表示的真值:+0.101101(1).定点数

小数点位置固定的机器数。运算简便,表示范围小

二进制数浮点表示:

B=±S×2±J

S-尾数,为小数或整数。J-阶码,为整数(2).浮点数

小数点位置不固定。表示范围大,运算复杂举例:求双字节浮点机器数表示的真值 00000101(阶码)00001101(尾数)当S为纯整数:B=+110100000B=+416

当S为纯小数:B=+11.01B=+3.25

规格化浮点表示:使数值最高位为有效数值位。例规格化浮点数:00000010 011010006.定点与浮点的表示7.运算方法

①.补码加法运算:[X+Y]补=[X]补+[Y]补

(1).补码加减运算

符号作为数值直接参与运算,变减法为加法运算例X1=+13,Y1=+6,X2=-13,Y2=-6,求X1+Y1、X2+Y2解求[X1]补、[Y1]补、[X2]补、[Y2]补 00001101 [+13]补 11110011 [-13]补+ 00000110 [+6]补+11111010[-6]补 00010011 [+19]补111101101[-19]补

进位为模,舍弃例

X1=+6,Y1=+8,X2=-6,Y2=-8,求X1-Y1、X2-Y2解

求[X1]补、[Y1]补、[-Y1]补、[X2]补、[Y2]补、[-Y2]补

00000110 [+6]补 11111010[-6]补

+11111000[-(+8)]补+00001000[-(-8)]补11111110[-2]补

100000010[+2]补进位为模,舍弃②.补码减法运算:[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补7.运算方法①.加法运算:直接相加。 ②.减法运算:‘变补相加’。例:X=150=96H,Y=10=0AH,计算X+Y=?X-Y=?

1001011015010010110150 +00001010

+10

+11110110

-10

10100000160110001100140 进位为模,舍弃(2).无符号数加减运算变补相加计算减法:

当最高位产生进位,实际无借位;反之有借位。7.运算方法7.运算方法

机器数 无符号数 补码:

10010110 150 -106 +00001010

+10

++10 10100000160 -96

无符号数与补码运算的溢出判断方法却不同。计算机中补码的加减运算与无符号数相同。7.运算方法例:X=74=4AH,Y=216=D8H,求X+Y=?和X-Y=?

0100101074 01001010 74+11011000

+216

-00101000

-216

10010001034001110010 114溢出使结果出错。加法有进位,结果应为290; 减法无进位则有借位,结果负数补码。(3).溢出─运算过程中数据超出允许表示范围①.无符号数溢出判断─最高位是否产生进位或借位。计算机设置进位标志位Cy判断无符号数溢出:

当数据加/减最高位产生进位/借位,Cy=1;否则,Cy=0。7.运算方法例X1=+45,Y1=+46,X2=+90,Y2=+107,求X1+Y1、X2+Y2

②.补码溢出判断─符号位和最高数值位进位是否相同。解:[X1]补=2DH,[Y1]补=2EH,[X2]补=5AH,[Y2]补=6BH

00101101[+45]补 01011010 [+90]补

+00101110[+46]补

+01101011 [+107]补

001011011[+91]补011000101 [-]补 正确,无溢出 负数,有溢出正数相加,同时无进位:Cy6=0、Cy7=0,则无溢出;不同时有进位,则有溢出,结果出错。计算机设置溢出标志位OV

判断补码溢出。

逻辑关系:OV=Cy6Cy7

当补码加/减产生溢出OV=1,否则OV=0。例

X1=-5,Y1=-2,X2=-105,Y2=-91,求X1+Y1、X2+Y2

11111011 [-5]补 10010111 [-105]补 +11111110[-2]补

+10100101 [-91]补 111111001 [-7]补100111100 [+]补正确,无溢出 正数,有溢出。负数相加,同时有进位:Cy6=1、Cy7=1,则无溢出;不同时有进位,则有溢出,结果出错。7.运算方法8、二—十进制编码BCD码例:求十进制数876的BCD码 876=[100001110110]BCD

876=36CH=1101101100BBCD码(BinaryCodedDecimal)

二进制代码表示的十进制数。(1).8421BCD码

(2).BCD码运算十进制调整:计算机实际按二进制法则计算,加入十进制调整操作,可计算BCD码。十进制调整方法:当计算结果有非BCD码或产生进位或借位,进行加6或减6调整。8、二—十进制编码BCD码例:计算BCD码

78+69=?

01111000

[78]BCD

+01101001 +[69]BCD

11100001

产生非BCD码和半进位

+01100110+66H调整

101000111

带进位结果:147

例:计算BCD码

38-29=?

00111000

[38]BCD+11010111-[29]BCD100001111

产生非BCD+11111010

-06调整

100001001

结果无借位:99、字符编码美国标准信息交换码ASCII码,用于计算机与计算机、计算机与外设之间传递信息。十、微处理器

(一)、中央处理器CPU1.算术逻辑单元ALU

运算器的核心部件,执行算术运算、逻辑运算、移位、比较等各种数据处理的操作。CPU—微型计算机的核心部件CPU由运算器、控制器组成。运算器运算器进行数据分析、计算和处理。(二)、运算器2.寄存器组

1)工作寄存器(通用寄存器)用来暂存ALU待处理的数据和中间结果。2)特殊功能寄存器SFR(专用寄存器)规定了特殊用途的寄存器,其内容会影响计算机的工作方式和过程。3)累加器(Accumulator)使用最频繁的寄存器,配合ALU进行各种数据处理。(三)、控制器1.指令部件:读取程序指令、指令译码、修改程序指针。1)程序计数器PC:存放当前指令地址。CPU执行程序时,先按PC给出的地址到存储器取一条指令,PC自动加1。CPU执行完一条指令,再到存储器取下一条指令,…。2)指令寄存器IR:暂存当前指令。指令操作码送指令译码器。3)指令译码器ID:将每条指令译码变成控制电平。处理程序指令,并协调各逻辑部件按一定时序工作。CPU执行程序的简要过程:1)PC给出当前指令的存储地址。2.时序部件时钟和内部分频电路。时钟信号经过分频,与指令译码信号组合,形成一定节拍的时序信号,控制各逻辑部件协调工作。PC=程序存储器地址

程序代码0000H

指令代码10001H

温馨提示

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

评论

0/150

提交评论