




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章微型计算机基础知识华南理工大学机械工程学院金军第一章
微型计算机基础知识主要内容:§1.1计算机中数的表示方法§1.2微型计算机概述§1.3微型计算机系统组成及工作过程§1.1计算机中数的表示方法1.1.1进位计数制及各计数制间的转换1.1.2二进制数的运算1.1.3带符号数的表示方法—原码、反码、补码1.1.4定点数与浮点数1.1.5BCD码和ASCII码
1.1.1进位计数制及各计数制间的转换
数制是人们对事物数量计数的一种统计规律。在日常生活中最常用的是十进制,但在计算机中,由于其电气元件最易实现的是两种稳定状态:器件的“开”与“关”;电平的“高”与“低”。因此,采用二进制数的“0”和“1”可以很方便地表示机内的数据运算与存储。在编程时,为了方便阅读和书写,人们还经常用八进制数或十六进制来表示二进制数。虽然一个数可以用不同计数制形式表示它的大小,但该数的量值则是相等的。二进制数的特点(1)数制简单、容易表示。二进制数只有“0”和“1”两种数码,任何具有两个不同稳定状态的元件,都可以用来表示二进制数的每一位。
(2)运算规则简单。二进制运算的规则非常简单,所以在计算机中实现二进制运算的线路也大为简化。
(3)节省设备。若采用十进制数,则有0~9十个数码,表示一个数位共需10个完全不同的设备状态。
如果用二进制数来表示十进制数,则一位十进制数可用4位二进制数来表示,二进制数的每一位只有两个状态,总共8个状态,其表示范围为0000~1111,即0~15。这说明采用二进制数,可以节省设备。
(4)可以使用逻辑代数这一数学工具对计算机逻辑线路进行分析和综合,便于机器结构的简化。
十进制——符合人们的习惯二进制——便于物理实现十六进制——便于识别、书写和八进制——微机很少用一、进位计数制的表示(一)十进制十进制数的特点:有0,1,…,9十个数码,“逢十进一”。
任何一个十进制数ND可表示为:ND=dn–1×10n–1+dn–2×10n–2+…+d1×101+d0×100+d–1×10–1+…+d–m×10–m=di×10I式中,10称为基数;10–1,100,101,102,103称为各位的“权”。di为各位上的数码;10i为各位的权;所对应的各位数值为di×10i。例如:1234.5=1×103+2×102+3×101+4×100+5×10–1(二)二进制
二进制(Binary)为计算机中的数据形式。二进制数的特点:只有0,1两个数码,且“逢二进一”。任意一个二进制数NB写成展开式为:
NB=bn–1×2n–1+bn–2×2n–2+…+b1×21+b0×20+ b–1×2–1+…+b–m×2–m=×2i式中,2为基数;2i为各位的权;bi为各位的数码。例如:1101.101=1×23+1×22+0×21+1×20+1×21+0×2–2+1×2–3
(三)十六进制常用十六进制数(Hexadecimal)来表示计算机中各种二进制数码。十六进制的特点:有16个数码0~9、A~F,“逢十六进一”。一个十六进制数NH可展开表示为:NH=hn–1×16n–1+hn–2×16n–2+…+h1×161+ h0×160+h–1×16–1+…+h–m×16–m=×16i式中,16为基数;16i为各位的权;hi为各位的数码。例如:DFC.8=D×162+F×161+C×160+8×16–1
=13×162+15×161+12×160+8×16–1(四)进位计数制的一般表示任何进位计数制的一般表达式为:Nr=an–1rn–1+an–2rn–2+…+a1r1+a0r0+a–1r–1+…+a–mr–m=ri式中,r为基数;ri为各位的权;各项系数ai=0~r–1。上式是不同进位制数之间转换的基础。今后为了便于区别不同数制表示的数,规定在数字后面用一个H表示十六进制数,用Q表示八进制数,用B表示二进制数,用D(或不加标志)表示十进制数,如64H、754Q、1101B、369D分别表示十六进制、八进制、二进制和十进制数。另外,规定当十六进制数以字母开头时,为了避免与其他字符相混,在书写时前面加一个数0,如十六进制数B9H,应写成0B9H。表1―1二、八、十、十六进制数码对应表二、各种进制数间的相互转换(一)二、十六进制数转换成十进制数将二进制数或十六进制数的每位数码十进制运算法则乘以权再求和。例如:1011.1010B=1×23+1×21+1×20+1×21+1×23
=11.625DFC.8H=13×162+15×161+12×160+8×161
=3580.5(二)二进制与十六进制数之间的转换因为24=16,4位二进制数正好能表示成一位十六进制数。十制六进转换为二进制不论是十六进制的整数或小数,只要把每一位十六进制数用相应的四位二进制代替即可,如:
3AF.2H=0011
1010
1111.0010=1110101111.001B3A
F
2
二进制转换成十六进制:
整数部分由小数点向左每四位一组,小数部分由小数点向每四位一组,不足四位的补0,然后用四位二进制的相应的十六进制代替即可,如:(101,1101,0101,1010.1011,01)2=(5D5A.B4)16
0101
1101
0101
1010.
1011
01005D5A.B4
任意十进制数N转换成R进制数,需将整数部分和小数部分分开,采用不同方法分别进行转换,然后用小数点将这两部分连接起来。
(1)整数部分:除基取余法。分别用基数R不断地去除N的整数,直到商为零为止,每次所得的余数依次排列即为相应进制的数码。最初得到的为最低有效数字,最后得到的为最高有效数字。
(三)十进制数转换成二、八、十六进制数例将(168)10转换成二、八、十六进制数。故:(0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16
例将(168.645)10
转换成二、八、十六进制数。根据前两例可得:(168.645)10=(10101000.10100)2=(250.51217)8=(A8.A51EB)161.1.2二进制数的运算
1.1.2.1二进制数的算术运算二进制数只有0和1两个数字,其算术运算较为简单,加、减法遵循“逢二进一”、“借一当二”的原则。1.加法运算
规则:0+0=0;0+1=1;1+0=1;1+1=10(有进位)例1
求1001B+1011B。2.减法运算
规则:0-0=0;1-1=0;1-0=1;0-1=1(有借位)例2
求1100B-111B。3.乘法运算规则:0×0=0;0×1=1×0=0;1×1=1例3
求1011B×1101B。即10100101B/1111B=1011B4.除法运算
规则:0/1=0;1/1=1例4
求10100101B/1111B1.1.2.2二进制数的逻辑运算1.“与”运算
“与”运算是实现“必须都有,否则就没有”这种逻辑关系的一种运算。运算符为“·
”,其运算规则如下:0·0=0,0·1=1·0=0,1·1=1
例5
若X=1011B,Y=1001B,求X·Y。.即X·Y=1001B2.“或”运算
“或”运算是实现“只要其中之一有,就有”这种逻辑关系的一种运算,其运算符为“+”。“或”运算规则如下:0+0=0,0+1=1+0=1,1+1=1
例6
若X=10101B,Y=01101B,求X+Y。101010110111101+即X+Y=11101B3.“非”运算
“非”运算是实现“求反”这种逻辑的一种运算,如变量A的“非”运算记作。其运算规则如下:A例7
若A=10101B,求。A4.“异或”运算
“异或”运算是实现“必须不同,否则就没有”这种逻辑的一种运算,运算符为“
”。其运算规则是:例8
若X=1010B,Y=0110B,求XY。101001101100即XY=1100B1.1.3带符号数的表示方法(一)机器数与真值一个数在机器中的表示形式称为机器数,而把机器数所代表的实际数值称为该机器数的真值。例如:一个8位机器数与它的真值关系可表示如下:真值:x1=+1010100B=+84机器数:01010100真值:x2=–1010100B=–84机器数:11010100(二)原码原码(TrueForm):最高位为符号位,“0”表示正数,“1”表示负数,其余位为数值位,数值位与二进制真值的数值位相同。8位原码可写成如下形式:真值:x1=+84=+1010100B
原码:[x1]原=01010100x2=–84=–1010100B [x2]原=110101008位原码所能表示的范围为–1111111B~+1111111B,即–127~+127或
–(27–1)~+(27–1)。16位原码表示的范围则为–32767~+32767,即
–(215–1)~+(215–1)。原码表示简单直观,可直接看出数值大小,但它有两个缺点。1)零的表示不唯一。如8位原码有如下 两种表示:[+0]原=00000000,
[–0]原=100000002)加减运算很复杂。(三)反码反码(One’sComplement):正数的反码与原码表示相同,负数反码的符号位为“1”,数值位为原码的数值各位取反,反码多用于求补码的过程中。例如x=+4 [x]原=00000100 [x]反=00000100x=–4 [x]原=10000100 [x]反=11111011x=–127 [x]原=11111111 [x]反=10000000x=+0 [x]原=00000000 [x]反=00000000x=–0 [x]原=10000000 [x]反=11111111从上例中可看到反码有以下特点:1)“0”有两种表示:
[+0]反=00000000,[–0]反=11111111。2)8位反码表示的数值范围为–127~+127, 16位反码表示的数值范围为–32767~ +32767。(四)补码补码(Two’sComplement):正数补码与原码表示相同,负数补码的符号位为“1”,其数值位等于其反码的数值位再加1。例如:x=+4[x]原=[x]反=[x]补=00000100x=–4[x]原=10000100[x]反=11111011[x]补=11111100x=–127[x]原=11111111[x]反=10000000[x]补=10000001x=–0[x]原=10000000[x]反=11111111[x]补=000000000的补码:[+0]补=[+0]原=00000000[-0]补=[-0]反+1=11111111+1=100000000
对8位字长,进位被舍掉∴[+0]补=[-0]补=00000000从上例中可看到补码有以下特点:
1)“0”的表示唯一:[+0]补=[–0]补=000000002)8位补码的表示范围是
–128~+127。16位补码 的表示范围是
–32768~+32767。补码的主要优点是加减运算方便,可用加法运算代替减法运算。日常生活中有不少补码的应用。如校对钟表。假设当时标准时间是7点整,而钟表指针误指向9点整,这时校对钟表有两种方法。
1)倒拨2小时:9–2=7(点)2)顺拨10小时:9+10=12+7=7(点)所谓模是指一个计数系统的量程,即此系统所能表示的最大数。对模为12的系统来说,2与10互为补数,减2的运算可用加10的运算代替。总结出一般表达式:x1–x2=x1+(模–x2)=x1+(–x2)补二进制用反码加1代替求补码计算。例如,求8位负数x的补码,[x]补
=28–=256–=255–+1,而255–=[x]反,则[x]补=256–=[x]反+1。注意当一个带符号数由原码表示时:
最高位为符号位,后七位为数值部分。当一个带符号数由补码或反码表示时:
最高位为符号位,当符号位为“0”,后七位为数值部分;当符号位为“1”,后七位不是该数的数值 部分,一定要对该数再次求补或 求反才能得到其数值部分。在微机中,凡带符号数一律用补码表示,运算结果也是用补码表示。(五)机器数与真值之间的转换1.已知真值求原码和补码例1-2-7
已知x1=+127,x2=–127,求原码和补码。解
x1=+1111111B,x2=–1111111B,用8位机器数表示如下:[x1]原=01111111=7FH,[x2]原=11111111=FFH[x1]补=01111111=7FH,[x2]补=10000000+1=10000001=81H例1-2-8
已知x1=+255,x2=–255,求原码和补码。解
x1=+11111111B,x2=–11111111B,用16位机器数表示如下:[x1]原=0000000011111111=00FFH,
[x2]原=1000000011111111=80FFH[x1]补=0000000011111111=00FFH,
[x2]补=1111111100000001=FF01H2.已知原码或补码求真值例1-2-9
已知[x1]原=01011001,[x2]原=11011001,求真值。解
:
x1=+1011001B=+89,
x2=–1011001B=–89例1-2-10
已知[x1]补=01011001,[x2]补=11011001,求真值。解
:
x1=+1011001B=+89,
x2=–0100111B=–391.1.4数的定点与浮点表示1.定点数定点法中约定所有数据的小数点隐含在某个固定位置。对于纯小数,小数点固定在数符与数值之间;对于整数,则把小数点固定在数值部分的最后面,其格式为纯小数表示:数符.尾数数符尾数.小数点数符尾数.小数点举例:求定点机器数5AH表示的真值。用定点整数表示的真值:+1011010
用定点小数表示的真值:+0.1011012.浮点数浮点数中,数据的小数点位置不是固定不变的,而是可浮动的。因此,可将任意一个二进制数B表示成B=±S×2±J
式中,S称为尾数,为小数或整数。J称为阶码为整数。用两个8位数据单元存放一个2字节的浮点数,则一般为如下形式:阶符阶码J数符尾数S
设阶码J的位数为m位,尾数S的位数为n位,则浮点数B的取值范围为2-n2-2m+1≤|B|≤(1-2-n)22m-1
为了提高精度,发挥尾数有效位的最大作用,还规定尾数数字部分原码的最高位为1,叫做规格化表示法。如0.000101表示为:2-3×0.101举例:求双字节浮点机器数表示的真值 00000101(阶码)00001101(尾数)当S为纯整数:B=+110100000B=+416
当S为纯小数:B=+11.01B=+3.25规格化浮点表示:使数值最高位为有效数值位。例规格化浮点数:00000010 011010001.1.5BCD码和ASCII码
1.1.5.1BCD码十进制数8421BCD码十进制数8421BCD码00000501011000160110200107011130011810004010091001表1.28421BCD编码表一位十进制数用4位二进制编码表示,这就是二进制编码的十进制数,简称BCD码(Binary-CodedDecimal)。
如十进制数125,其值与二、十六进制及BCD码的关系如下:
125D
01111101B
7DH
0001,0010,0101十进制数
二进制数
十六进制数
BCD码
BCD码的优点是与十进制数转换方便,容易阅读;缺点是用BCD码表示的十进制数的数位要较纯二进制表示的十进制数位更长,使电路复杂性增加,运算速度减慢。十进制调整。其内容有两条:(1)若两个BCD数码相加,结果大于1001,亦即大于十进制数9,则应作加0110(即加6)调整;(2)若两个BCD数相加,结果在本位上并不大于1001,但却产生了进位,相当于十进制运算大于等于16,则也要作加0110(加6)调整。若是两个BCD数相减,则也要进行十进制调整,其规律是:数相减时,若低4位向高4位有借位,在低4位就要作减0110(减6)调整。BCD调整【例1】用BCD数完成54+48的运算。
01010100
+)
01001000
10011100
+)
0110
加6调整
10100010
+)0110
高4位加6调整
000100000010=102D此时,低4位之和为1100,应作加6调整,调整后高4位又为1010,还应作一次加6高速,故最后结果为000100000010,即102。用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9。压缩BCD码和非压缩BCD码1.1.5.2非数值数据的表示(ASCII码)计算机中除了能够处理数值数据以外,还可以处理文字、语音、图像等各种信息,这些信息统称为非数值数据。非数值数据在计算机中也必须以二进制形式表示,非数值数据的表示本质上是编码的过程。ASCII码—美国标准信息交换代码
ASCII码采用7位二进制代码对字符进行编码数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。英文字母A~Z的ASCII码从1000001(41H)开始顺序递增,字母a~z的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。最高位通常总为0,有时也用作奇偶校验位。查找字符的ASCⅡ码时,首先从表中找到相应的字符,从该字符垂直向上查得十六进制的高位,再从该字符水平向左查得其十六进制的低位,两者合并起来,即得该字符的ASCⅡ码。1.1.6运算方法与溢出(一)加减运算1.有符号数的加减运算计算机中要参与运算的有符号数一般为补码形式。补码符号位作为数值位一样参与运算。减法计算则用变补相加的运算代替。运算规则如下:加法运算:[x+y]补=[x]补+[y]补减法运算:[x–y]补=[x]补–[y]补=[x]补+[–y]补以8位补码计算为例。例1-2-11
已知x1=+13,y1=+6,x2=–13,y2=+6,分别求x1+y1和x2+y2。解
先求各数的补码,直接相加后得到和的补码。[x1]补=00001101,[y1]补=00000110,[x2]补=11110011,[y2]补=00000110[x1+y1]补=00001101+00000110=00010011,可得 x1+y1=+0010011=+19[x2+y2]补=11110011+00000110=11111001,转换得x2+y2=–0000111B=–7。例1-2-12
已知
x1=+6,y1=+8,x2=–6,y2=–8,分别求x1–y1和x2–y2。解
先求各数的补码,然后再求出改变符号后的减数补码,最后与被减数相加得到差的补码。[x1]补=00000110,[y1]补=00001000,[x2]补=11111010,[y2]补=11111000[–y1]补=11111000,[–y2]补=00001000[x1–y1]补=00000110+11111000=11111110,转换后得出
x1–y1=–0000010B=–2[x2–y2]补=11111010+00001000=00000010(最高位进位为模,应舍弃),得出x2–y2=+2计算机中的有符号数是补码形式。求
[–y]补,
[y]补连符号位一起求补而得到的。将数值位连符号位一起取反加1,通常称为变补。2.无符号数的加减运算两个无符号数直接相加实现加法运算,将减数变补后再相加来完成减法运算。例1-2-13已知x=150,y=10,分别求x+y和x–y。解
加法直接相加:
[x+y]=10010110+00001010=10100000,得
x+y=160
减法先将减数变补:[–y]=11110110再相加:
[x–y]=[x]+[–y]=10010110+11110110=10001100(舍弃模),得x–y=140计算机中无符号数和补码的加减运算采用相同的方法,即:加法直接相加,减法则先将减数变补再与被减数相加。(二)溢出溢出(Overflow),指运算过程中产生的数超过允许的表示范围。1.无符号数运算的溢出判断无符号数加/减运算过程中,如果最高位产生进位/借位,说明运算结果超出了允许的表示范围而产生溢出。计算机运算器中有一个可被检测的进位标志位Cy(Carry),
Cy=1,表示最高位有进位/借位,而Cy=0,则表示最高位无进位/借位。因计算机中的减法是用减数变补加被减数的方法实现的,这时有进位实际减法无借位,无进位实际减法有借位。例1-2-14
已知8位无符号数x=74=1001010B,y=216=11011000B,分别求x+y,x–y,并分析结果是否有溢出。解:x+yx–y
0100101001001010+11011000
+00101000
–[y]100100010
001110010
Cy=1,判断加法,有进位减法无进位即有借位,结果为负数
2.有符号数补码运算的溢出判断补码的最高位为符号位,加减运算存在模的自然丢弃和溢出两种情况,因此,不能只用最高位的进位或借位来判断补码是否溢出。只有同号数相加或异号数相减才可能产生溢出,而异号数相减可以转化成同号数相加的运算。下面通过两个8位同符号数补码相加的例子来分析。引入两个符号Cy6和Cy7。Cy7表示8位补码最高位(即符号位)的进位状态,Cy6表示8位补码次高位(即数值最高位)的进位状态。Cy7=1,表示最高位产生进位,Cy7=0,最高位没有产生进位。Cy6=1,表示次高位有进位,Cy6=0,则次高位无进位。例1-2-15已知
x1=+45=+101101B,y1=+46=+101110Bx2=+90=+1011010B,y2=+107=+1101011B,分别求[x1+y1]补和[x2+y2]补,并分析结果是否溢出。解
已知两个正数相加,结果应仍为正数。两个正数相加,符号位相加不会有进位(Cy7≡0),如下所示。
[x1+y1]补
[x2+y2]补
00101101[+45]补01011010[+90]补
+00101110[+46]补+01101011[+107]补
001011011[+91]补011000101结果变成负数Cy6=0Cy7=Cy6,无溢出Cy6=1Cy6
Cy7,溢出Cy7=0结果正确Cy7=0结果出错
例1-2-16
已知x1=
–5=–101B,y1=
–2=
–10B,
x2=
–105=
–1101001B,y2=
–91=–1011011B,
分别求[x1+y1]补和[x2+y2]补,并分析结果是否溢出。
解
已知两个负数相加,结果应仍为负数。因为负数补码符号位为“1”,两个负数相加时,符号位相加肯定有进位(Cy7≡1)。如下表所示。[x1+y1]补[x2+y2]补
11111011[–5]补10010111[–105]补+11111110[–2]补+10100101[–91]补111111001[–7]补100111100结果变正数Cy6=1Cy7=Cy6,无溢出Cy6=0Cy6
Cy7Cy7=1结果正确Cy7=1溢出出错
双进位法来判断补码溢出加减运算过程中,若Cy7=Cy6,则结果无溢出;若Cy7≠Cy6,则结果产生溢出。计算机中设置一个可检测的溢出标志位OV,用于记录有符号数补码加减是否产生溢出。逻辑上,溢出标志为补码最高两位的进位状态的异或运算,对8位补码即OV=Cy7
Cy6
。当补码加减有溢出时,OV=1,无溢出则OV=0。总结溢出的判断方法:方法1:同号相减或异号相加——不会溢出。同号相加或异号相减——可能溢出:两种情况: 同号相加时,结果符号与加数符号相反——溢出;异号相减时,结果符号与减数符号相同——溢出。方法2:两个带符号二进制数相加或相减时,若
C7
C6=1,则结果产生溢出。
C7为最高位的进(借)位;C6为次高位的进(借)位。方法3: 加法运算:
[x+y]补=[x]补+[y]补 减法运算:
[x–y]补=[x]补–[y]补=[x]补+[–y]补§1.2微型计算机概述计算机的发展及分类微型计算机的发展概况单片机概述(一)计算机的发展及分类计算机的发展:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)计算机按其性能分类:超大规模集成电路计算机(1971-今)大型计算机/巨型计算机(MainframeComputer)中型计算机小型计算机(Minicomputer)微型计算机(Microcomputer)单片计算机(Single-ChipMicrocomputer)(二)微型计算机的发展概况重要的名词定义微型计算机的发展阶段微型计算机的分类(二)微型计算机的发展概况五个重要的名词术语微处理器微型计算机微型计算机系统单片机嵌入式系统微型计算机组成结构微型计算机系统硬件微型计算机(主机)微处理器
(CPU)软件外围设备运算器控制器存储器
(内存)RAMROM外部设备辅助设备
输入设备(键盘、扫描仪、语音识别仪…)
输出设备(显示器、打印机、绘图仪、…)
辅助存储器(磁带、磁盘、光盘)输入/输出接口(PIO、SIO、CTC、ADC、DAC…)(I/O接口)
总线(AB、DB、CB)系统软件(操作系统,编辑、编译程序,故障诊断,监控程序…)应用软件(科学计算,工业控制,数据处理…)程序设计语言(机器语言、汇编语言、高级语言)电源电路时钟电路微处理器、微型计算机和微型计算机系统的关系何谓单片机?单片机(SingleChipMicrocomputer)
即单片微型计算机,是将计算机主机(CPU、内存和I/O接口)集成在一小块硅片上的微型机。准确叫法:微控制器(microtroller)—缩写为MCU几种单片机封装形式返回何谓单板机?将CPU、存储器、I/O接口及部分I/O设备安装在一个印刷线路板上微型计算机与单片机在硬件结构上的比较
微型计算机单片机数据RAMCPU并行I/O程序ROM定时/计数器串型端口中断控制器扩展I/O端口系统总线(DB、AB、CB)微型计算机的组成框图(由多个IC芯片组装在一个主电路板上)MCS-51单片机所有单元都组装在一个IC芯片上
嵌入式系统把面向测控对象,嵌入到实际应用系统中,实现嵌入式应用的计算机称之为嵌入式计算机系统,简称嵌入式系统(EmbeddedSystem)。从总体上说,通用计算机系统主要用于式计算机系统主要用于控制领域,兼顾数值计算、信息处理兼顾控制功能.而嵌入数据处理。在一个综合系统中会出现通用计算机系统与嵌入式计算机系统的结合,各自扮演不同的角色,共同完成系统任务。单片机与嵌入式系统的关系嵌入式系统是面向侧控对象、嵌入到实际应用系统中的计算机系统的统称。嵌入式系统通常有工控机、通用CPU模块、嵌入式微处理器(EmbeddedProcessor)和嵌入式微控制器(EmbeddedMicrocontrollerUnit》。前两者是基于通用计算机系统。即将通用计算机系统用于测控对象。后两者是基于芯片形态的计算机系统,其中嵌入式微处理器是在通用CPU基础上发展,增加满足测控对象要求的外围接口电路,用于测控领域。而嵌入式微控制器则是在嵌入式系统的概念广泛使用后,给传统单片机定位的称呼。因此说单片机是典型的嵌入式系统。五个发展阶段第1阶段(第一代):1971年~1972年第一代微处理器是以INTEL公司1971~1972年推出的4004/8008作为典型代表。第2阶段(第二代):1973年~1978年第二代微处理器的代表产品是美国INTEL公司的8080/8085、MOTOROLA公司的6800和ZILOG公司研制的Z80,它们是高性能的8位微处理器。第3阶段(第三代):1978年~1983年代表产品是美国INTEL公司的8086/8088,ZILOG公司的Z8000和MOTOROLA公司的68000,它们是16位微处理器,又称为第一代超大规模集成电路的微处理器。运算速度比8位机快2~5倍,赶上或超过了70年代小型机的水平。第4阶段(第四代):1983年~1993年80年代以后,微处理器进入第四代产品,向系列化方向发展,INTEL公司相继推出了性能更高、功能更强的80386和80486微处理器,它们与8086向上兼容,是32位微处理器,又称为超级微处理器。第5阶段1993年~进入90年代以来,INTEL公司在开发新一代微处理器技术方面继续领先,1993年3月,INTEL发布了微处理器产品Pentiun、PentiumPro、PentiumⅡ、PentiumⅢ、Pentium4.(二)微型计算机的发展概况(三)单片机概述单片机及其发展概况单片机的结构及特点单片机应用综述一、单片机及其发展概况单片机的发展过程可划分为四个阶段:
1.单片机初级阶段(1974~1976年):受工艺限制采用双片的形式,功能较简单,如仙童公司的F8单片机。一、单片机及其发展概况单片机的发展过程可划分为四个阶段:
2.低性能单片机阶段(1976~1978年):采用了单片结构,如Intel公司的MCS-48系列,8位CPU、8位定时器、并行I/O口、RAM和ROM,ROM的容量小,寻址范围一般不超过4K字节,中断处理较简单,无串行I/O口。一、单片机及其发展概况单片机的发展过程可划分为四个阶段:3.高性能单片机阶段(1978~):在SFR管理下的模块化结构,标准的外部三总线,有串行I/O口、16位定时器、较高级的中断处理,内RAM、ROM容量较大,寻址范围可达64K字节,有的还带有A/D等,如Intel公司的MCS-51系列单片机。一、单片机及其发展概况单片机的发展过程可划分为四个阶段:
4.16位单片机阶段(1982~):
16位CPU,内RAM、ROM的容量进一步增大,中断处理能力更强、高速I/O、多通道的A/D转换器等如Intel公司的MCS-96系列单片机一、单片机及其发展概况从单片机的结构和功能来看,可以说单片机经历了三代:
1.第一代单片机,只是将CPU及RAM、ROM、I/O口、CTC等功能单元集成在同一个芯片上。如Intel公司的MCS-48系列单片机。一、单片机及其发展概况从单片机的结构和功能来看,可以说单片机经历了三代:
2.第二代单片机,在SFR统一管理下的模块化结构,标准的外部三总线结构,及可用于多机通信的全双工串行口。如Intel公司的MCS-51系列单片机。一、单片机及其发展概况从单片机的结构和功能来看,可以说单片机经历了三代:
3.新一代单片机即第三代单片机,则大力发展控制功能,提高系统运行的可靠性,将测控系统中需要的外部接口电路,如高速I/O、ADC、PWM、WDT纳入片内,朝着微控制器的目标迈进。这一目标首先在Intel公司的MCS-96单片机中得到体现。新一代单片机的技术特点:
普遍采用CMOS工艺,通常都能与TTL电路兼容。提供不同类型的存储器,并不断扩展存储容量。大力提高运行速度,主要措施是提高时钟频率。努力扩大接口功能。采用多种措施,提高芯片及系统工作的可靠性。不断发展和完善串行总线。二、单片机的结构及特点:单片机的结构:
1.兼容型单片机,即与相应的微处理器相兼容,也就是把该系列的接口芯片与CPU都集成在一块芯片上。2.大多数单片机采用独立型结构,为适合控制之用,指令被设计为面向控制的高效控制指令。为了提高实时执行的速度,片内RAM的存取类同于寄存器间的数据传送。采用Harvard结构,即把程序存储器与数据存储器分开。单片机典型结构图:二、单片机的结构及特点:
单片机的结构特点:
1.集成度高;2.片内RAM采用寄存器结构形式,可提高存取速度;3.指令采用紧凑的格式;4.片内有完善的输入/输出部件;5.在芯片结构上采用条状芯片结构。三、单片机应用综述单片机的优点:
1.小巧、灵活、成本低,易于产品化;2.面向各类控制任务,可选度大,能获得最佳的性价比;3.抗干扰能力强,适应温度范围宽;4.可以方便地实现多机、分布式的集散控制。
在工业、农业、军事、保安、金融、仪器仪表、航空航天、医疗、通讯、办公设备、娱乐休闲、健身、体育竞赛、服务领域……,大量单片机-嵌入式技术已经无处不在。正迅速改变着人们传统的生产和生活方式。请稍微留心一下我们的周围,看看身边到底发生了什么变化?三、单片机应用综述单片机技术的应用遍布国民经济与人民生活的各个领域单片机开发系统有单片单板机和仿真器。实现单片机应用系统的硬、软件开发。单片机为工业测控而设计,又称微控制器。具有三高优势(集成度高、可靠性高、性价比高)。主要应用于工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等。特别适合于嵌入式微型机应用系统。三、单片机应用综述三、单片机应用综述
单片机的应用领域:
1.单片机特别适用于机、电、仪一体化的智能产品,各种家用电器,各种仪器仪表普遍采用单片机控制。2.单片机在工业测控中的应用,工业过程控制,自动生产线。3.军事上在一些新式武器装备控制方面的应用。4.单片机在计算机网络和通信技术中的应用。5.在汽车工业中应用很多,包括显示系统、动力测控系统、运行监视器(黑匣子)等。三、单片机应用综述单片机的选择:
1.程序存储器的类型;2.存储器容量;3.接口能力;4.指令系统功能;5.功耗的考虑;6.考虑有无相应的开发系统。三、单片机应用综述
单片机的发展趋势:
1.大容量、高性能化;2.小容量、低价格化;3.外围电路内装化;4.全盘CMOS化,实现全面功耗管理。典型单片机产品•根据每种型号的存储器的类型:无ROM型:8031ROM型:8051EPROM:8751EEPROM型:8951目前在我国比较流行的机型MC68HC05/11系列Motorola51系列IntelPhilipsAtmel
WinbondPIC16Cxx系列MicrochipZ8系列Zilog
COM87系列NECH4/H8系列Hitachi
表1–1Philips公司80C51系列的部分单片微机
表1–2ATMEL公司89C51系列的部分单片微机
表1–3华邦公司W78C51和W77C51系列的部分单片微机
1.5单片机的开发与应用方法简述
由于单片机本身没有开发编程的能力,所以必须借助开发工具。硬开发工具:各种编程器、仿真开发机等编程开发设备;软开发工具:各种编辑、汇编、模拟调试等工具软件。开发过程:总体设计、硬件设计、制版与安装、软件设计、调试运行,见图。硬件仿真调试:借助于各种实时在线开发仿真器,对目标程序进行多种方式的联机运行调试,从而发现程序中的错误之处并改正之,见图。软件模拟仿真调试:借助于PC机系统,利用模拟(仿真)调试工具软件来进行目标程序的运行调试。返回本章首页仿真器和逻辑测试仪返回编程器编程器和芯片座返回编程器软件界面返回各种实验板返回Dais单片机微机仿真实验系统这制是电一路个板基本的单片机控动作选择按钮红外线传感器89C2051单片机复位按钮电源指示灯绪论
简单测控实例原理图数字电路中由13片IC组成的数字钟单片IC(单片机)电子钟单片机§1.3微型计算机系统组成及工 作过程1.3.1
微型计算机功能部件1.3.2
微型计算机结构特点1.3.3
微型计算机软件1.3.4微型计算机工作原理1.3.1微型计算机功能部件
一、微型计算机基本组成
图1.1微型计算机的基本组成
CPU结构框图
二、微型计算机功能部件中央处理器
CPU(微处理器)1.算术逻辑单元ALU
运算器的核心部件,执行算术运算、逻辑运算、移位、比较等各种数据处理的操作。CPU—微型计算机的核心部件CPU由运算器、控制器组成。(一)
运算器运算器进行数据分析、计算和处理。运算器由算术逻辑单元ALU,累加器A,寄存器组,标志寄存器F,二—十进制调整电路等组成2.寄存器组
1)工作寄存器(通用寄存器)用来暂存ALU待处理的数据和中间结果。(一)运算器2)特殊功能寄存器SFR(专用寄存器)规定了特殊用途的寄存器,其内容会影响计算机的工作方式和过程。3.累加器(Accumulator)使用最频繁的寄存器,配合ALU进行各种数据处理。运算时,一个操作数来自A,另一个操作数可来自CPU内部的工作寄存器,运算结果仍送回A。4.标志寄存器标志寄存器F(Flag)又称状态寄存器,用来存放ALU运算结果的状态。例如溢出OV、进位C、辅助进位AC、奇偶P、结果为零Z等。5.二—十进制调整二—十进制调整电路,对BCD码运算结果进行调整。(一)运算器
(二)控制器1.指令部件:读取程序指令、指令译码、修改程序指针。1)程序计数器
PC:存放当前指令地址。CPU执行程序时,先按PC给出的地址到存储器取一条指令,PC自动加1。CPU执行完一条指令,再到存储器取下一条指令,…。处理程序指令,并协调各逻辑部件按一定时序工作。程序计数器具有三种功能:复位功能:通电进入初始状态,PC内容自动清零。计数功能:每取指令代码一个字节,PC自动加1。直接置位功能:直接接受内部总线送来的数据。2)指令寄存器IR:暂存当前指令。指令操作码送指令译码器。3)指令译码器ID:将每条指令译码变成控制电平(二)控制器(二)控制器CPU执行程序的简要过程:1)PC给出当前指令的存储地址。2.时序部件
时钟和内部分频电路。时钟信号经过分频,与指令译码信号组合,形成一定节拍的时序信号,控制各逻辑部件协调工作。PC=程序存储器地址
程序代码0000H
指令代码10001H
指令代码20002H
指令代码3…
N
指令代码nPC=PC=2)CPU到存储器取指令,PC自动加13)指令译码器对指令译码,
CPU执行指令。4)CPU到存储器取指令,PC=PC+1。5)CPU执行下一条指令,…
指令代码i
指令代码i指令寄存器三、存储器与读写操作位b(bit):一个二进制位,信息最小单位。字节B(Byte):8位为一个字节。字长W(WordLength):一个字包含的二进制位数。(一)存储器基本信息单位(二)存储器结构存储器功能:存放程序和数据等信息。存储内容:程序或数据的二进制代码。存储地址:存储器每个单元的位置编号存储器容量:指存储单元的多少。 如存储器容量为1KB=1024×8位。1KB存储器地址
存储内容
010011010101101011…102310100111(三)存储器读写操作存储器读:CPU从存储器中取出信息。存储器写:CPU将信息存入存储器。1KB存储器地址
存储内容
010011010101101011…102310100111
CPU
地址内容读写控制存储器的读写操作:2.发出读写控制时序信号,对选定单元进行读或写。
1.CPU先送出一个确定的单元地址给存储器(四)半导体存储器RAM:随机读写存储器。 能方便读出和改写信息,但失电后信息将不复存在。RAM常用作数据存储器,暂存各种现场数据、运算结果和正在调试的程序。ROM:只读存储器。
工作时从ROM中读出信息,不能随意改写。断电后信息不会丢失。ROM常用作程序存储器,存放已调试好的固定程序和常数。程序存储器:存放程序指令代码。 每个指令周期CPU自动对程序存储器读操作。数据存储器:存放待处理数据。 数据存储器读写操作发生在CPU执行程序的过程中。(五)堆栈是(1)堆栈的含义堆栈:是读写存储器RAM中的一个特殊区域,在堆栈 段内,按照“先进后出”(FirstInandLast Out,缩写为“FILO”)的方式保存数据。S作用:存放断点地址或暂存数据(见P31-32)
例如:调用子程序的过程中要保护现场、保留断点 地址;返回主程序前,要恢复现场、返回断点地址。栈堆栈有两种操作方式:压栈:将数据送入堆栈;PUSH弹出:把堆栈内容取出。POP堆栈指针堆栈指针SP(StackPointer):是一个专用地址寄存器,它始终指向栈顶(即当前存取的堆栈单元地址)。执行压栈操作,则(SP)=(SP)+1,SP指向新的栈顶; 执行弹出操作,则(SP)=(SP)-1,SP指向新的栈顶。 (2)堆栈操作与堆栈指针
在使用堆栈之前,先给SP赋值,以规定堆栈的起始位置,称为栈底。
在MCS-51中执行指令:MOVSP,#60H即设SP=60H(60H为栈底)当数据压入堆栈后,SP自动加1,即RAM地址单元加1以指出当前栈顶位置。8051的这种堆栈结构属于向上生长型的堆栈(另一种属于向下生长型的堆栈)。
8051的堆栈指针SP是—个双向计数器。在压栈时SP内容自动增值,出栈时自动减值,存取信息必须按着“后进先出”或“先进后出”的原则。
堆栈的操作示意图见下图:,堆栈的压入与弹出示意图主程序断点1断点2断点3子程序1子程序2子程序3断点地址1122H断点地址3344H断点地址5566H中断嵌套过程
以下图为例,说明堆栈是如何按照“先进后出”工作方式工作的?主程序
1122
556633441122
556633441122
断点1断点2断点3子程序1子程序2子程序3断点地址1122H断点地址3344H断点地址5566HSP60H66H•••••SP62H••••66H60HSP66H60H••••66H60HSP64Ha)执行主程序时b)执行子程序1时c)执行子程序3时d)执行子程序2时图:中断嵌套过程四、I/O接口
I/O接口是联系微型计算机与外部设备的桥梁。每一台外部设备必须通过I/O接口与计算机连接。
微型计算机有多种功能I/O接口:
PIO:并行I/O接口。
SIO:串行I/O接口。
CTC:定时计数器。
ADC、DAC:A/D、D/A转换器。 INT:中断输入口。1.3.2微型计算机结构特点微型计算机由大规模集成电路组成,微型机应用系统一般也采用特定功能的大规模集成电路器件和组件。总线(Bus):微型计算机各功能部件的连接线,各功能部件之间的公共信息通道。
总线宽度:总线上能并行传送的二进制位数。内部总线:CPU或单片机芯片内部各逻辑部件之间的信息传输线。通常为单总线结构。外部总线:指微型机各功能芯片之间的信息传输线。CPU或单片机芯片应用系统的主要外部引线。系统总线:微机系统各逻辑功能板卡之间的信息传输线。通常为统一标准总线。1.3.2
微型计算机的结构特点1、
微型机的总线结构数据总线(DB)---双向,用于传输数据。
·
地址总线(AB)---单向,用于传送地址信息。
控制总线(CB)---双向,用于传输控制信号。
总线结构图
微型计算机总线的主要信号线:(二)数据总线DB双向三态。传送程序和数据的二进制代码。数据总线宽度一般与微型机的字长相同。(三)控制总线CB单向三态。传送各种控制脉冲、联络、状态电平等信号,使存储器、I/O接口等部件协调工作。 控制总线的根数根据微型计算机控制功能的需要而定。(一)地址总线AB单向三态。传送存储器和I/O接口的地址信息。地址总线宽度决定计算机寻址空间(最大寻址)。1KB存储器地址
存储内容
010011010101101011…102310100111
CPU
地址内容读写控制MCS-51有16根地址总线,寻址空间216=64K=65536思考题:1.MCS-51数据总线有几根?2.64KB寻址空间的地址范围为?H2、单片机的结构特点3、单片机系统结构性能(一)高可靠性、高抗干扰能力(二)配置灵活(三)丰富的位处理功能(四)功能齐全(五)系统设计简便一块芯片集成了CPU、存储器和I/O接口等功能部件。内部总线为单总线结构,地址、数据和控制三种信息分时占用内部总线。外部总线用于连接片外扩展存储器和I/O接口芯片。单片机的芯片引脚为多功能引脚,以节省芯片引脚。1.3.3微型计算机软件(二)汇编语言
与机器语言指令一一对应的英文单词缩写,称为指令助记符。汇编语言编写的程序称为汇编语言程序。MCS-51两个寄存器相加汇编语言指令:ADDA,R0
(三)高级语言
语句和语法接近人们习惯的表达方式。高级语言编写的程序称为高级语言源程序。(一)机器语言
指令的二进制代码,又称指令代码。机器语言指令组成的程序称目标程序。MCS-51两个寄存器相加的机器语言指令001010001
、计算机语言2、不同计算机语言的应用
源程序通过编译得到机器能执行的目标程序。汇编语言程序可以高效率利用计算机资源,目标程序占用内存少,执行速度快,适合于自动测控系统反应快速、结构紧凑的要求。实际应用中,常与C语言配合使用。高级语言程序容易掌握,通用性好,但编译程序系统开销大,目标程序占用内存多,且执行时间比较长,多用于科学计算、工业设计、企业管理。源程序目标程序编译程序1.3.4微型计算机的工作原理
1.冯
诺依曼存储程序工作原理
数据和程序以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式控制器根据存放在存储器中的指令序列(即程序)工作,并由一个程序计数器(PC)控制指令的执行。控制器具有判断能力,能够根据计算结果选择不同的动作流程存储程序工作原理是指把程序存储在计算机内,使计算机能像快速存取数据一样地快速存取组成程序的指令。为实现控制器自动连续地执行程序,必须先把程序和数据送到具有记忆功能的存储器中保存起来,然后给出程序中第一条指令的地址,控制器就可依据存储程序中的指令顺序周而复始地取指令、译码、执行,直到完成全部指令操作为止,即控制器通过指令流的串行驱动实现程序控制2.微型计算机的工作过程微型计算机的工作过程就是执行程序的过程,而程序由指令序列组成,因此,执行程序的过程,就是执行指令序列的过程,即逐条地从存储器中取出指令并完成指令所指定的操作。由于执行每一条指令,都包括取指、译码和执行三个基本步骤,所以,微型计算机的工作过程,也就是不断地取指令、译码和执行的过程,直到遇到停机指令时才结束机器的运行。2.微型计算机的工作过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度温泉度假村租赁合同模板
- 二零二五年度小吃店转让与地方特色小吃产业链整合协议
- 2025年度高端定制门窗设计与安装一体化合同
- 二零二五医疗纠纷赔偿协议书:医疗事故赔偿专业调解与理赔服务合同
- 二零二五年度国际会议外籍主持人雇佣与会议组织合同
- 二零二五年度亲子游戏培训机构与家长亲子互动成长协议
- 《GBT 34015.4-2021车用动力电池回收利用 梯次利用 第4部分:梯次利用产品标识》全新解读
- 房屋买卖定金协议书
- 单方面解聘合同范例
- 印刷画册合同范例范例
- 跨学科主题学习 认识东南亚的世界遗产课件 2024-2025学年七年级地理下册(人教版2024)
- 山洪灾害防御知识培训课件
- GB/T 6433-2025饲料中粗脂肪的测定
- 个案管理系统需求说明
- 《睡眠的重要性》课件
- 《证券证券投资学》课件
- 2024年高中历史 第2课 中华文化的世界意义说课稿 部编版选择性必修3
- 四川省成都市蓉城高中教育联盟2023-2024学年高一下学期期末联考语文试题(解析版)
- JJG(交通) 208-2024 车货外廓尺寸动态现场检测设备
- 华电-电力系统-博士面试-电气基础知识问答资料
- 砖混结构工程施工组织设计方案
评论
0/150
提交评论