0计算机原理及应用.ppt_第1页
0计算机原理及应用.ppt_第2页
0计算机原理及应用.ppt_第3页
0计算机原理及应用.ppt_第4页
0计算机原理及应用.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机原理及接口技术MCS-51 单片机,主 讲:吉 涛 单 位:机电学院 办 公 室:实验楼2B-408室 联系电话:86168805,课程安排,理论课:讲述基本原理结构和方法(40学时) 实验课:根据实验指导书的要求完成(10学时) 准备知识:需要数字电路、模拟电路和计算机基础等方面的知识。 课程特点: 内容多, 进度快,概念多,难度大,应用广。 参考教材与资料: 单片微型计算机原理及应用主编 李建忠 MCS-51原理及应用开发教程 主编 晁阳 AT89S52 的 Datasheet,预备知识 数制与码制,第一章 单片机的基础,第三章 A)MCS-51单片机的指令系统,第三章 B)MCS-

2、51单片机的程序设计,第四章 系统的扩展与接口,第五章 中断、定时系统、串行通信,第六章51单片机的接口应用,第七章 单片机应用系统设计,目录,第二章 51单片机硬件系统结构,课程教学要求,通过对MCS-51单片机的深入学习,理解计算机工作原理。 本课程是实践性较强的课程,注意理论知识学习和实验、实践的结合。通过课程的学习,掌握MCS-51单片机软件编程和硬件电路设计的方法,能够进行单片机应用系统的设计、调试工作。 课堂三个十分钟 学生讲解 课堂自修 命题讨论。,第1章 预备知识,计算机中数的表示与编码-数制及码制,1.1单片机中的数制 1.2数制的转换方法 1.3二进制运算 1.4码制 1.

3、5BCD码 1.6ASC码 1.7汉字信息编码 本章重点,1. 1 单片机中的数制,计数制:是用一组固定的符号和统一的规则来表示数值的方法。同一个数字之符号,用不同数制表示,形式不同,但数量相等。常见数制: 二进制八进制十进制十六进制 BQDH BinaryOctalDecimalHexadecimal,两个要件:基数 R(Radix):可用数码个数权重 W(Weight):每位权重,以R为底的幂,R进制数N形式表示: (1) 并列表示法:(N)R(K n-1 K n-2K1K0K-1 K -2 K-m)R (2) 多项式表示法:,1. 二进制数 当 R=2 时, 称为二进位计数制, 简称二进

4、制。在二进制数中, 只有两个不同数码: 0和1, 进位规律为“逢二进一”。任何一个数 N, 可用二进制表示为,例如, 二进制数 1011.01 可表示为 (1011.01)2=123+022+121+120+02-1+12-2,2. 八进制数 当R=8 时, 称为八进制。在八进制中, 有 0、1、2、7 共 8 个不同的数码, 采用“逢八进一”的原则进行计数。如(503)8可表示为 (503)8=582+081+380,小知识: 印度(阿拉伯)数字传入我国,大约是13到14世纪。由于我国古代有一种数字叫“筹码”,写起来比较方便,所以阿拉伯数字当时在我国没有得到及时的推广运用。本世纪初,随着我国

5、对外国数学成就的吸收和引进,阿拉伯数字在我国才开始慢慢使用。 古希腊(罗马)数字:罗马数字共有7个,即I(1),V(5),X(10),L(50),C(100),D(500),M(1000)。按照规则可以表示任意正整数。 I 1、 II 2、III 3、IV 4、V 5、VI 6、VII 7、VIII 8、IX 9 例:XLVI - 46,3. 十六进制 当R=16时, 称为十六进制。在十六进制中, 有 0、1、2、 9、 A、B、C、D、E、F共 16个不同的数码, 进位方法是“逢十六进一”。 例如, (3A8.0D)16可表示为 (3A8.0D)16= 3162+10161+8160+016

6、-1+ 1316-2,小知识: 中国筹算数字及记数法。,表1.1 各种进位制的对应关系,小知识: 你知道为什么记数大多采用十进制吗?其他进制用在哪里了?计算机为什么用二进制记数呢?-电信号可以简单、可靠的表达;运算简单,可以最简化运算器结构。,各进制数转换成十进制数: 按权多项式展开 2D07.AH216313162016171601016-1 8192332870.62511527.625 十进制数转换成各进制数: 乘除法:分开处理,整数部分(除,逆向取余)和小数部分(乘,正向取整); 降幂法:凑出结果。,1. 2 数制的转换方法,1. 十进制数转换成二进制数 任意十进制数 N 转换成 二

7、进制数, 需将整数部分和小数部分分开, 采用不同方法分别进行转换, 然后用小数点将这两部分连接起来。 (1) 整数部分: 除2(基)取余法。 分别用基数 R 不断地去除 N 的整数, 直到商为零为止, 每次所得的余数依次排列即为相应进制的数码。最初得到的为最低有效数字, 最后得到的为最高有效数字。,例 1 将(168)10转换成二进制数。,(2) 小数部分: 乘2(基)取整法。 分别用基数 2不断地去乘N的小数, 直到积的小数部分为零(或直到所要求的位数)为止, 每次乘得的整数依次排列即为相应进制的数码。 最初得到的为最高有效数字, 最后得到的为最低有效数字。,例 2 求十进制数0.625的二

8、进制数。,例3 将(168.625)10转换成二进制数。,根据例1、例 2 可得 (168.625)10= (10101000.101)2,(1)求74,156的二进制数 。,课堂练习,(2)求0.1,0.456的二进制数 。,(74)D=(1001010)B (156)D=(10011100)B,(0.1)D=(0.00011001)B (0.456)D=(0.011101)B,2. 各进制转换成十进制 :按权展开法,例4 将数(10.101)2转换为十进制。 (10.101)2=121+020+12-1+02-2+12-3 =2+0+0.5+0.25+0.125 =2.625,(1)一个二

9、进制数可以准确地转换为十进制数,而一个带小数的十进制数不一定能准确地用二进制数来表示,同样位数,高进制有更高的表达精度。 (2)带小数的十进制数在转换为二进制数时,以小数点为界,整数和小数要分别转换。,说明,3. 二进制与十六进制之间的相互转换 由于24= 16, 故可采用“合四为一”的原则, 即从小数点开始分别向左、右两边各以4位为一组进行二十六换算: 若不足 4 位的以 0 补足, 便可将二进制数转换为十六进制数。反之, 采用“一分为四”的原则, 每位十六进制数用四位二进制数表示, 就可将十六进制数转换为二进制数。 例 5 将(101011.01101)2转换为十六进制数。,即 (1010

10、11.01101)2= (2B.68)16,例 6 将(1D3.45)16转换成二进制数。,即(1D3.45)16=(111010011.01000101),(3)将(110101.011)2转换为十六进制数。,课堂练习,(4)将(4A5B.6C)16转换为二进制数。,(3) 将(110101.011)2转换为十六进制数。,0011 0101 . 0110,3 5 . 6,即 (110101.011) 2=(35.6)16,(4) 将(4A5B.6C)16转换为二进制数。,即 (4A5B.6C)16=(100101001011011.011011)2,返回本章首页,1.3 二进制运算,二进制数

11、只有0和1两个数字,计算机内的运算包括算术运算和逻辑运算两种。其算术运算较为简单,加、减法遵循“逢二进一”、“借一当二”的原则;逻辑运算取值为1、0,代表逻辑代数中的真、伪。简要说明如下:,1. 或运算 OR符号:+或(加法运算) 规则: 0+0=0; 0+1=1; 1+0=1; 1+1=10(有进位),2. 减法运算 规则: 0-0=0; 1-1=0; 1-0=1; 0-1=1(有借位),3.与运算 AND符号: *或(乘法运算) 规则: 00=0; 01=10=0; 11=1,4. 非运算NOT符号: 规则: /1=0; /1=0,5. 异或运算XOR符号:或 规则:相异为1,相同为0,例

12、 1 求1001B+1011B。,加、减法运算:,例 2 求1100B-111B。,被乘数 00011011 (27) 乘 数 110 (6) 00000000 00011011 00011011 积 0010100010 (162),例 3A 求00011011B110B。,乘法、倍数运算:,被乘数 00110101 (53) 乘 数 10 (2) 00000000 00110101 积 0 01101010 (106) 注意:被乘数与结果比对!,例 4 求00110101B10B。,例 3B 求00011011B110B。,2倍结果:00110110B(左移一位) + ) 4倍结果:011

13、01100B(左移两位),6倍结果:10100010B,返回本章首页,1. 4 码制 (机器数 真值 原码 补码 反码 溢出),计算机在数的运算中, 不可避免地会遇到正数和负数, 那么正负符号如何表示呢?由于计算机只能识别0和1, 故我们将一个二进制数的最高位用作符号位来表示该数的正负。符号位用“0”表示正, 用“1”表示负,即机器数(符号+真值)。计算机中表示机器数常用的3种方法:原码、反码、补码。 X=-1101010B, Y=+1101010B, 在计算机中用8位二进制数 D7 D6 D5 D4 D3 D2 D1 D0 X表示为: Y表示为:,一、 原码 当正数的符号位用0表示, 负数的

14、符号位用1表示, 数值部分用真值的绝对值来表示的二进制机器数称为原码, 用X原表示, 设X为整数。 若X=+Xn-2Xn-3X1X0, 则X原=0Xn-2Xn-3X1X0=X; 若X=-Xn-2Xn-3X1X0, 则X原=1Xn-2Xn-3X1X0=2n-1-X。 例如:+115和-115在计算机中(设机器数的位数是8)其原码可分别表示为: +115原= 01110011B; -115原= 11110011B,可见, 真值X与原码 X原的关系为,注意: 由于+0原=00000000B, 而-0原=10000000B, 所以数 0的原码不唯一。 8位二进制原码能表示的范围是: -127+127。

15、 简单易懂,但是不便于计算,故引入补码概念。,例 1 有X1=+11011,X2=-10111,求:X1原=?X2原=? (模为28),解:X1原=0 0011011 X2原=1 0010111,符号位,数值位,符号位,数值位,二、 补码(使正负数加减运算统一为加法运算) “模”是指一个计量系统的计数量程。如, 时钟的模为12。任何有模的计量器, 均可化减法为加法运算。仍以时钟为例, 设当前时钟指向11点, 而准确时间为7点, 调整时间的方法有两种, 一种是时钟倒拨4小时, 即11-4=7; 另一种是时钟正拨8小时, 即11+8=12+7=7。 由此可见, 在以12为模的系统中, 加8和减4的

16、效果是一样的, 即 -4=+8(mod 12) 对于n位计算机来说, 数X的补码定义为,即正数的补码为其本身, 负数的补码为真值与模数相加而得。 例如, n=8时, +75补=01001001B -73补=10000000B+(- 01001001B)=10110111B 0补=+0补=-0补=00000000B 可见, 数0的补码表示是唯一的。负数补码的求法: 定义法:模数 真值绝对值 符号位不变,其他数位取反加1 原码尾数右侧第一个1及其右侧0不变,左部取反,符号不变 例如: -30补=111110补=100001+1=100010B。 8位二进制补码能表示的范围为: -128 +127,

17、 若超过此范围, 则为溢出。,例2 有X1=-1101011,X2=-1110010,求:X1补=?X2补=? (模为28),解:X1=-1101011 X2=-1110010 X1原=1 1101011 X2原=1 1110010 X1补=1 0010100+1 X2补=1 0001101+1 =10010101 B =100001110B,三、关于原码与补码 1、8位码的范围 原码:-127+127 补码:-128 +127 2、“0”的码 原码 +0原=00000000B -0原=10000000B 补码 +0补=00000000B -0补=00000000B 3、 “-127”、“-1

18、28”的补码 -128补=10000000B -127补=10000001B -1补= ?,三、关于原码与补码,3、X原=X补补 例3:已知 :X1补=10110111, X2补=01101011,求: X1原、 X2原 解:X1原X1补补10110111补11001001B X2原X2补补01101011补01101011 B,三、关于原码与补码 4、已知X补,求:-X补 方法:将X补连同符号位一起取反后加1。 例4 已知:X1补10011011,X2补01011110 求:X1补? X2补? 解:X1补0 1100100101100101B X2补1 0100001110100010B,四

19、、补码的运算 1、补码加法: X+Y补=X补+Y补 (mod2n) 2、补码减法: X-Y补= X +(-Y)补=X补+-Y补(mod2n),原码,反码和补码之间的转换,X反 符号位不变数值位 不变(符号位为0) 变反(符号位为1) +,0,1 X真值 X原 数值位不变 数值位 不变(符号位为0) 变反加1(符号位为1) 符号位不变 X补,四、补码的运算,(1)当此加法运算为无符号数运算时,此式=192+129=321255,结果中最高位的“1”为进位。 (2)当此加法运算为有符号数补码运算时,结果出错,称为溢出;最高位的“1”是两符号相加的结果。溢出的原因是结果超出了8位二进制所能表示的补码

20、(即-128 +127 )。导致结果错误。 (3)溢出(OV)的判断:,说明,例 已知:X1110101,X21110111 (mod 28)求:X1X2?,溢出判断:OV101,有溢出,结果错误。因为本题中X100110101B53,X201110111B119,X1X253119172127,超出了范围,产生错误。,解:X1补00110101B X2补01110111B,根据X1X2补X1补X2补规则 X1补 00110101 X2补 01110111 X1补X2补 10101100,例 X1110101B,X21110111B (mod 28) 求:X1X2?,溢出判断OVC6C7000

21、,无溢出 X1X2X1X2补补10111110补 11000010B1000010B,解:X1X2X1X2补补,X1X2补X1补X2补 0011010110001001 10111110B,例 X11111111B,X2101B (mod 28) 求:X1X2?,OV110,无溢出 X1X2X1X2补补01111010补 01111010B1111010B,解:X1X2X1X2补补X1补X2补补 因X2补00000101,所以X2补11111011B,例7 X11111101B,X2110B 求:X1X2?,OV011,有溢出,结果错误。,解: X1X2 X1X2补补X1补X2补补 X1补11

22、111101补10000011B X2补00000110补00000110B, X2补11111010B,返回本章首页,1. 5 BCD码 BCD码就是用二进制编码表示十进制数。,一、8421BCD码,BCD(Binary Code Decimal),例 1 写出69.25的BCD码。 根据前表 , 可直接写出相应的BCD码: 69.25 =(01101001.00100101)BCD,二、8421BCD码的运算,运算方法: 将每组BCD码按二进制规则相加; 如果某组4位二进制相加之和大于1001B(9)或者有进位,则需要对该组进行加0110B(6)修正。,例2 十进制加法及BCD码加法对照实

23、例(1),例2 十进制加法及BCD码加法对照实例(2),返回本章首页,1.6 ASCII码,ASCII码是美国标准信息交换码,是计算机中最通用的字符信息编码。ASCII码通常是7位编码,第8位通常作为奇偶校验位。7位编码包括26个英文大小写字母,09十个十进制码以及其他一些专用字符和控制字符等,共128种 (P333附录A)。 奇校验:D7添加0或1,使得被传送的字符代码含奇数个1; 偶校验:D7添加0或1,使得被传送的字符代码含偶数个1。,A为0100 0001,09AZaz,032 控制字符 3347 其他字符 4857 数字09 5864 其他字符 6590 大写字母AZ 9196 其他

24、字符 97122 小写字母az 123126 其他字符 127 控制字符del,返回本章首页,1.7汉字信息编码,汉字信息也采用二进制的数字化信息编码。目前的汉字编码方案有二字节、三字节甚至四字节的。 汉字编码:国家标准信息码、汉字机内码、输入编码和字型编码。,输入码: 汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码。 汉字输入方案大致可分为以下4种类型:(1) 音码:如全拼、双拼、微软拼音等(2) 形码:如五笔字型、郑码、表形码等(3) 音形码:如智能ABC、自然码等(4) 数字码:如区位码、电报码等,国标码: 国家标准信息交换用汉字编码字符集,1981年5月颁布,代号是GB2312-80,是二字节码,用两个七位二进制数编码表示一个汉字(最高位为0)。目前国标码收入6763个汉字。 另外还包括682个西文字符、图符。,1.7汉字信息编码,机内码:在计算机内存储汉字的代码是汉字机内码,汉字机内码由国标码演化而来,把表示国标码的两个字节的最高位分别加“1”,就变成汉字机内码。 英文字符的的机内码是最高位为0的8位ASCII码。为了不与7位ASCII码发生冲突,把国标码每个字节的最高位由0改为1,其余位不变的编码作为汉字字符的机内码。,所有的国标码汉字及符号组成一个94*94的方阵。每一行称为

温馨提示

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

评论

0/150

提交评论