Presentation is loading. Please wait.

Presentation is loading. Please wait.

单片机原理及接口技术 前修课程:数模电、微机原理.

Similar presentations


Presentation on theme: "单片机原理及接口技术 前修课程:数模电、微机原理."— Presentation transcript:

1 单片机原理及接口技术 前修课程:数模电、微机原理

2

3 学习目的:掌握MCS-51单片机的硬件组成、运行原理和指令集,提高软硬件应用技术。
应用对象:家用电器、仪器仪表、自动控制系统。 优势:价格便宜、功能齐全。

4 学习要求: 理论学习 48 实验

5 第一章 微机基础知识 §1-1 微处理器、微机和单片机的概念 §1-2 计算机中数制和编码 §1-3 计算机中数的表示方法 §1-4 二进制数的运算

6 §1-1微处理器、微机和单片机的概念 一、微处理器:(芯片) 微处理器(CPU)是微机的核心部件,完成控 制和运算功能。
1.运算器(ALU):完成算术运算和逻辑运算的场所 算术运算:加、减、乘、除,BCD码运算 逻辑运算:与、或、异或、测试 2.控制器:由程序计数器、指令寄存器、指令译码 器、时序发生器、操作控制器。 负责整机控制,协调各部件工作。

7 3.寄存器阵列 通常CPU的寄存器有: 累加器 A 、数据寄存器DR 、程序计数器PC 、指令寄存器IR、指令译码器ID等

8 二、微型计算机:(计算机) 微处理器(CPU) 存储器:存放程序和数据 输入输出接口:用于将外部设备与CPU和存储器相连接 系统总线:CPU向存储器及接口电路提供地址、数据及控制信息的通路

9 三、微型计算机系统 微型计算机 输入输出设备 系统软件

10 四、单片机 单片机的全称为单片微型计算机(Single Chip Microcomputer)。 将微处理器(CPU)、一定容量的ROM和RAM、定时/计数器、并/串行口等电路集成在一块芯片上,构成单片微型计算机,简称单片机。

11 五、单片机的发展史 四个阶段 第一阶段:单片机初级阶段。单片机的发展始于 1974年,到了1976年,Intel公司推出了MCS-48系 列单片机,将CPU、存储器、I/O接口、定时器/计 数器集成在一块芯片上,使计算机完成了单芯片化。 第二阶段:单片机完善阶段。此阶段单片机的功能 及体系结构得到了不断的完善。 1980年,Intel公 司在MCS-48系列单片机的基础上增添了I/O串行口, 增大了存储器容量,完善了中断系统(设置了5个 中断源,2个优先级),定时器/计数器为16位的, 在内部存储器上设置了位地址空间,提供位操作指 令,推出了高性能的MCS-51系列单片机。

12 第三阶段:微控制器形成阶段。为了更高的测 控应用,需要对单片机的外围接口电路进行增 强与完善,如数模转换器(D/A)、模数转换 器(A/D)、高速I/O接口、程序监视定时器 (WDT)等,尽量将外围功能集成在芯片内部。 第四阶段:微控制器技术成熟阶段。随着技术 的不断成熟,国内外对单片机的开发和研制竞 争异常激烈,极大地丰富了微控制器的类型, 功能不断地完善,成本降低,外围电路减少, 可靠性不断提高。

13 所谓的数制是指数的制式,是人们利用符号计数的一种科学方法。
§1-2 计算机中数制和编码 一、数制及数制转化 1、数制 所谓的数制是指数的制式,是人们利用符号计数的一种科学方法。 一个r进制数按权展开,其表达式为:

14 二进制 B (Binary) 八进制 Q或O (Octal) 十六进制 H (Hexadecimal) 十进制 D或者省略 (Decimal)

15 2、进制转换 不同数制之间的相互转换

16 1)任意进制转换十进制(N-十转换) 加权求和 N——计数的基数 Ni——第i位的权 a.11010.01B
= 1×24+1×23+0×22+1×21+0×20+0×2-1+1×2-2 = 26.25D b.19B.ABH = 1×162+ 9× × × ×16-2 = = D

17 2)十-二转换 整数部分——除2(基)取余法 小数部分——乘2(基)取整法 a.97.6875=?B 整数部分97 高 低 97D =
余数为1, 余数为0, 97D = B

18 = B 小数部分0.6875 0.6875 ×  2 整数部分为1, 余下的小数部分 × 2 整数部分为0, 余下的小数部分 × 2 整数部分为1, 余下的小数部分 ×   2 整数部分为1, 余下的小数部分为0,结束 0.6875D = 0.1011B

19 注意: 任何十进制整数都可以精确地转换 成一个二进制整数,但任何十进制小数 却不一定可以精确地转换成一个二进制 小数。

20 3)二-十六转换 B = ?H 四位一画,两头补0 1 D A C . A 8 ↓ ↓ ↓ ↓ ↓ ↓ B = 1DAC.A8H

21 4)十六-二转换(注意舍0) 39F.E1AH = ?B 3 9 F . E 1 A ↓ ↓ ↓ ↓ ↓ ↓
↓ ↓ ↓ ↓ ↓ ↓ 39F.E1AH = B = B

22 5)十-十六、十-八转换 =?H =?Q 余数为1, 余数为6, 商为0 余数为1, 余数为4, 8 1 商为0 0.6875 16 整数部分为11,即B 余下的小数部分为0, 结束 0.6875 × 整数部分为5, 余下的小数部分 整数部分为4, 余下的小数部分 结束 =61.BH=141.54Q

23 二进制数、八进制数、十进制数和十六进制数之间的对应关系
整 数 小 数 二进制 八进制 十进制 十六进制 0000B 00Q 0H 0B 0Q 0001B 01Q 1 1H 0.1B 0.4Q 0.5 0.8H 0010B 02Q 2 2H 0.01B 0.2Q 0.25 0.4H 0011B 03Q 3 3H 0.001B 0.1Q 0.125 0.2H 0100B 04Q 4 4H 0.0001B 0.04Q 0.0625 0.1H 0101B 05Q 5 5H B 0.02Q 0.08H 0110B 06Q 6 6H B 0.01Q 0.04H 0111B 07Q 7 7H 1000B 10Q 8 8H 1001B 11Q 9 9H 1010B 12Q 10 AH 1011B 13Q 11 BH 1100B 14Q 12 CH 1101B 15Q 13 DH 1110B 16Q 14 EH 1111B 17Q 15 FH

24 1、BCD码——二-十进制码 二、计算机中常用编码 一种二进制形式的十进制码,用4位二进制数表示一位十进制数,最常用的是8421BCD码。

25 8421BCD码表

26 字母、数字、符号等的二进制编码。是一种字符编码,是美国信息交换标准代码的简称。
2、ASCII码 字母、数字、符号等的二进制编码。是一种字符编码,是美国信息交换标准代码的简称。 共128种字符,每个ASCII码占用1个字节,最高位为0,后7位进行编码。 当作符号的数字0~9的ASCII码:30H~39H 字母A~Z的ASCII码: 41H~5AH 字母a~z的ASCII码: 61H~7AH

27 ASCII码表

28 §1-3 计算机中数的表示方法 以二进制形式 存储和运算 每类数据占据固定长度的二进制数位。 处理整数(无符号数,带符号数),浮点数。

29 一、机器数与真值 1.机器数 规定带符号数的最高位为符号位,通常用“0”表 示正数,“1”表示负数。
例如:8位计算机中+65D = B, -65D = B。 计算机中以二进制形式表示的数为机器数,而把这 个数本身代表的真实值称为机器数的真值(一般用十进 制表示)。

30 2.机器数的字长 1word = 16bit 1byte = 8bit 1double word = 32bit

31 二、数的定点和浮点表示 用机器数来表示带小数点的数通常有两种表示方法, 即定点表示法和浮点表示法。
二、数的定点和浮点表示 用机器数来表示带小数点的数通常有两种表示方法, 即定点表示法和浮点表示法。 在定点表示法中,小数点在数中的位置是固定不变的。 定点表示法的优点是运算规则简单,但它能表示数的范围没有相同位数的浮点表示法大。 浮点数是都由阶码和尾数两部分组成,其中阶码部分包括阶符和阶码,尾数部分包括数符和尾数。 浮点表示法的优点是数的表示范围大,缺点是运算规则复杂,通常要阶码和尾数分别进行运算。

32 最高位是符号位,符号位之后是该数的绝对值。
三、有符号数 用0表示正数,用1表示负数,这种表示数的方法, 称为带符号数,带符号数有3种表示形式。 1.原码 记作(±N)原码 最高位是符号位,符号位之后是该数的绝对值。 1 数值部分 ① +22 1 数值部分 ②-22

33 n位原码表示数的范围: -(2n-1-1) ~2n-1-1 0有两种表示方式: (+0)原码=0000 0000B
8位原码表示数的范围:-127~+127 B~ B 0~127 即 0~27-1 B~ B 0~-127 即0~-(27-1) n位原码表示数的范围: -(2n-1-1) ~2n-1-1 0有两种表示方式: (+0)原码= B (-0)原码= B 不适合进行计算 原码表示带符号带符号数相当简便、直观,适用乘法、除法或同符号数相加。但对于不同符号的数进行加、减运算时就变得复杂了。

34 例:N1 = +10101B,N2 = -10101B,试写出N1和N2在8位 字长的计算机中原码。 解:
数值不变 “0”表示正数 (N2)原= B 数值不变 “1”表示正数

35 2.反码 记作(±N)反码 正数的反码与其原码相同; 负数的反码在其正数原码的基础上按位求反。 0有两种表示方式: (+0)反码= B (-0)反码= B 不适合进行计算 n位反码表示数的范围: -(2n-1-1) ~2n-1-1。

36 例:求+13,-13的反码。 解: (+13)反码 = (+13)原码 = B (-13)原= B (-13)反= B 各位取反 符号位不变

37 3.补码 记作(±N)补码 正数的补码与其原码相同; 负数的补码在其正数原码(无符号数)的基础上求反加1。 ① + ②-112 (+112)原码= B (+112)补码= B (-112)补码= B B→(求反) B →(+1) B 求补运算← →求反加1

38 从右边开始首先碰到的0和第一个1不变,其余按位求反。 (+112)原码=0111 0000B (-112)补码=1001 0000B
0的表示方式只有一种: (+0)补码= B (-0)补码= B+1=(1) B = B 求补的方法二: 从右边开始首先碰到的0和第一个1不变,其余按位求反。 (+112)原码= B (-112)补码= B 8位补码表示数的范围:-128~+127 n位补码表示数的范围:-2n-1~2n-1-1

39 注意: 1)补码≠负数 2)求补≠补码 3)使用补码可以把两个数的减法化为加法 98-76=98+(-76) B- B= B+ B B B - B + B B B

40 例:二进制数1000 0000B分别作原码、反码和补码看,其十进制真值分别是多少?
判断:1开头,负数 真值:-0 原码: 反码:在正数原码的基础上按位求反得到 正数原码: 真值:-127 补码:在正数原码的基础上求反+1得到 取反: 正数原码(无符号数): 真值:-128 1 符号位 数值部分 1 1 1

41 四、无符号数 无符号数二进制表示没有符号位,皆为数值位。 8位无符号二进制数表示数的范围:0~+255 n位无符号二进制数表示数的范围:0~+2n-1

42 一些典型值

43 §1-4 二进制数的运算 1.加法运算 二进制加法运算的法则为: 0+0 = 0 1+0 = 0+1 = 1
一、算术运算 1.加法运算 二进制加法运算的法则为: 0+0 = 0 1+0 = 0+1 = 1 1+1 = 10 (向近邻高位有进位) 1+1+1 = 11 (向近邻高位有进位)

44 1011 0110 B X + 1101 1001 B Y 11000 1111 B X+Y 解: 按照二进制数加法运算法则,得到:
例:设有两个二进制数X = ,Y = ,试求该两个二进制数的相加和,X+Y= ? 解: 按照二进制数加法运算法则,得到: B X B Y B X+Y

45 2.减法运算 二进制数减法法则: 0-0 = 0 1-0 = 1 1-1 = 0 0-1 = 1 (向近邻高位借位1)

46 例:设有两个二进制数X = 11011001,Y = 10010111,试求该两个二进 制数的相减,X-Y= ? 解: 按照二进制数的减法法则,得到:
B B X-Y = B

47 3.乘法运算 二进制数乘法法则: 1×0 = 0×1 = 0 1×1 = 1

48 例:设有两个二进制数X =1101,Y = 1011,试求该两个二进制数的相乘,X×Y= ?
解: 1101B × B 1101 1101 0000 X×Y = B

49 4. 除法运算 除法运算是乘法运算的逆运算。与十进制数除 法运算类似。 够减,商1。不够减商0,再多看一位。

50 例:设有两个二进制数X =10101011,Y = 110,试求该两个二进制数的相除,X÷Y= ? 解: 按照二进制数除法法则,得到:
11100 110) 110 1001 110 110 110 11 所以,X÷Y = 11100B……余11B

51 二、逻辑运算 1. 逻辑乘(与)运算 其运算法则为: 0∧0 = 0 1∧0 = 0∧1 = 0 1∧1 = 1

52 例:设有两个二进制数X =10110110,Y = 11011001,试 求该两个二进制数的逻辑与运算,X∧Y= ? 解: 按照逻辑与运算法则,得到:
B ∧ B X∧Y = B

53 2. 逻辑加(或)运算 其运算法则为: 0∨0 = 0 1∨0 = 0∨1 = 1 1∨1 = 1

54 例:设有两个二进制数X =10110110,Y = 11011000,试求该两个二进制数的逻辑或运算,X∨Y= ?
解: 按照逻辑或运算法则,得到: B ∨ B X∨Y = B

55 1 = B 01010100 1 X = 3. 逻辑非(取反)运算 其运算法则为:
3. 逻辑非(取反)运算 其运算法则为: 1 = 例:设有两个二进制数X = ,试求该二进制数的逻辑非运算 解: 按照逻辑非运算法则,得到: B 1 X =

56 4.逻辑异或运算 逻辑异或运算又称为逻辑半加运算,是不考虑进位的加运 算,其运算法则为: 相同为0,相异为1
= Å

57 例:设有两个二进制数X =10110110,Y =11011000,试求该两个二进制数的逻辑异或运算,X Y= ?
Å B B X Y = B 解: Å


Download ppt "单片机原理及接口技术 前修课程:数模电、微机原理."

Similar presentations


Ads by Google