Presentation is loading. Please wait.

Presentation is loading. Please wait.

单片机原理及其应用 主讲教师 赵琳.

Similar presentations


Presentation on theme: "单片机原理及其应用 主讲教师 赵琳."— Presentation transcript:

1 单片机原理及其应用 主讲教师 赵琳

2 第一章 单片机概述 1.1 什么是单片机 1.1.1 计算机的分类 巨型机 计算机 通用微机(PC机) ——多片机 微型机 单片机

3 一台能够工作的微机要有以下几个部分: CPU:中央处理器或微处理器 ROM:只读存储器 RAM:随机存储器 I/O:输入/输出设备 在个人计算机上这些部分被分成若干块芯片,安装在主板上。在单片机中,这些部分全部被做到一块集成电路芯片中了,称为单片机。

4 1.1.2 单片机的基本组成 中央处理器 或 微处理器 CPU 总线 只读 存储器 ROM 输入/输出口 I/O 定时/计数器 TIMER
单片机的基本组成 中央处理器 微处理器 CPU 总线 只读 存储器 ROM 输入/输出口 I/O 定时/计数器 TIMER 中断 随机 RAM

5 1.1.3 单片机的定义 单片机是指在一块芯片上集成以下主要部件: CPU、ROM、RAM、I/O口、定时器/计数器、中断系统等。
单片机的定义 单片机是指在一块芯片上集成以下主要部件: CPU、ROM、RAM、I/O口、定时器/计数器、中断系统等。 单片机是单片微型计算机的简称,即SCMC Single Chip Micro Computer 单片机也称为微控制器 MCU Micro Controller Unit 单片机又称为嵌入式微控制器 EMCU Embedded Micro Controller Unit

6 1.1.4 单片机的特点和优点 1、有优异的性价比 2、集成度高、体积小、可靠性高 3、控制功能强 4、系统扩展典型、规范

7 1.1.5 单片机的分类 通用单片机和专用单片机 通用单片机 是一个基本芯片,内部资源比较丰富,性能全面且通用性强,覆盖多种应用需求。
单片机的分类 通用单片机和专用单片机 通用单片机 是一个基本芯片,内部资源比较丰富,性能全面且通用性强,覆盖多种应用需求。 专用单片机 针对某一种产品,或某一种控制应用而专门设计的。设计时已经使系统结构最简;软硬件资源利用最优;可靠性以及经济成本最佳。 本课程介绍MCS-51系列单片机,属通用单片机,其结构和原理对所有单片机都是适用的。

8 1.1.6 单片机系统、单片机应用系统、单片机开发系统
是在单片机芯片的基础上,扩展其它电路或芯片构成的具有一定应用功能的计算机系统。 单片机应用系统 为控制应用而设计,系统和控制对象结合在一起。 单片机开发系统 是单片机系统开发调试工具。

9 单片机的程序设计语言种类 机器语言:Machine Language 单片机应用系统只使用机器语言(指令的二进制代码,又称指令代码)。 机器语言指令组成的程序称目标程序。 汇编语言:Assemble Language 与机器语言指令所对应的英文单词缩写,称为指令助记符。汇编语言编写的程序称为汇编语言程序。 高级语言:High Level Language 高级语言源程序C-51。

10 1.2 单片机发展概况 1971年Intel公司研制成功世界上第一台4位微处理器; 1973年Intel公司研制成功8080 8位微处理器;
1976年Intel公司推出MCS-48系列8位单片机; 80年代初在MCS-48单片机基础上推出MCS-51单片机。

11 主要单片机厂商 Intel公司 8048、8051(8位);8096(16位);80960(32位) Motorola公司 MC-6801(8位);68H16(16位);68HC332(32位) 美国Zilog公司;日本NEC公司;荷兰Philips公司等 由于8位单片机基本能满足目前大多数应用系统的要求,所以目前8位单片机仍是应用主流。

12 1.CPU的发展 CPU字长:8位、16位、32位 时钟频率:6MHz、 12MHz 、20MHz 双CPU结构,处理能力大大提高

13 2.片内存储器的发展 片内是相对片外而言: 指集成在单片机芯片内的存储单元。 存储容量扩大 早期单片机 新型单片机 RAM ROM 寻址范围
64—128字节 256字节 1—2k字节 1—4k字节(212) 8—16k字节 64k字节(216)

14 能在正常工作电压下进行读写,并能在断电情况下,保持信息不丢失。
片内EPROM开始E2PROM化 EPROM:Erasable Programmable Read-Only Memory 可擦写可编程只读存储器 E2PROM:电可擦写可编程只读存储器 Electrically Erasable Programmable Read-Only Memory 能在正常工作电压下进行读写,并能在断电情况下,保持信息不丢失。 片内程序的保密措施

15 3.片内输入输出功能加强 4.单片机制造工艺提高 5.片内ROM中固化应用软件和系统软件 早期单片机:并行输入/输出口、定时/计数器
现代:大功率输入/输出口,可直接驱动 FVD(荧光显示管) LCD(液晶显示器) LED(数码显示管) 片内集成 A/D、D/A转换器、CRT控制器,正弦波发生器等接口电路。 4.单片机制造工艺提高 5.片内ROM中固化应用软件和系统软件

16 1.3 MCS-51单片机简介 51子系列:基本型 根据片内ROM的配置,对应芯片依次为 8031、8051、8751、8951
52子系列:增强型 对应芯片依次为 8032、8052、8752、8952 片内ROM形式 ROM EPROM E2PROM 8031 8051 8751 8951 8032 8052 8752 8952 4kB RAM 128B 寻址 64kB 计数器 并行口 中断源 I/O特性 2×16 4×8 5 8kB 256B 3×16 6

17 80C51系列 80C51是在8051芯片基础上发展起来的。 80C51与8051从外形看是完全一样的,引脚信号、总线等完全一致(完全兼容),保证在系统扩展和接口方面的一致性。 指令系统一致(兼容),保证软件的可移植性。 ◆ 80C51的制造工艺是在8051基础上进行了改进。

18 8051系列单片机采用的是HMOS工艺:高速度、高密度
80C51系列单片机采用的是CHMOS工艺:高速度、高密度、低功耗; 即80C51系列是一种低功耗单片机,常用的产品有: ﹡ Intel的:80C31、80C51、87C51,80C32、 C52、87C52等; ﹡ ATMEL的:89C51、89C52等; ﹡ Philips、华邦、Dallas 、STC 、Siemens(Infineon)等公司的许多产品 。

19 80S51系列 ISP在线编程功能 最高工作频率提高到33MHz 全新的加密算法 完全兼容全部51子系列产品
典型产品为 ATMEL的89S51

20 1.4 单片机的应用 一、 单片机在仪器仪表中的应用:智能仪器、医疗器械、色谱仪
二、 工业应用:电机控制、工业机器人、过程控制、数字控制、智能传感器等。 三、 民用方面:电子玩具、录像机、数码机 四、 通讯方面:程控交换机、网关、网卡、手机等 五、导弹与控制:导弹控制、智能武器装置 六、数据处理:打印机、移动硬盘、优盘 七、汽车方面:点火控制、变速器控制、排气控制、防滑刹车等。

21 1.5 数制和码制的简单回顾 1.5.1 数制:是计数的规则。 十进制:是日常生活中最熟悉的进位计数制。 符号:0,1,···,9
规则:逢十进一 二进制:是在计算机中采用的进位计数制。 符号:0,1 规则:逢二进一 特点:便于实现,不便记忆

22 字节:8个位 位号: 字节: MSB LSB D7 D6 D5 D4 D3 D2 D1 D0 ◇ 有28个值(0~255)
◇ MSB:最高有效位,D7位

23 字:2字节,16位 十六进制:方便人们对二进制数的阅读和书写 符号:0,1,···,9,A,B,C,D,E,F 规则:逢十六进一
◇ 有216个值(0~65535) ◇ MSB:D15位 十六进制:方便人们对二进制数的阅读和书写 符号:0,1,···,9,A,B,C,D,E,F 规则:逢十六进一 特点:4位二进制 → 1位十六进制

24 为区分不同进制,在数的结尾以一个字母标示:
十进制:D(或不带字母) 二进制:B 十六进制:H

25 部分自然数的3种进制表示 十进制 二进制 十六进制 0000B 0H 9 1001B 9H 1 0001B 1H 10 1010B AH 2
0000B 0H 9 1001B 9H 1 0001B 1H 10 1010B AH 2 0010B 2H 11 1011B BH 3 0011B 3H 12 1100B CH 4 0100B 4H 13 1101B DH 5 0101B 5H 14 1110B EH 6 0110B 6H 15 1111B FH 7 0111B 7H 16 10000B 10H 8 1000B 8H 17 10001B 11H

26 三种数制间的转换方法 1、二进制和十进制间的转换 (1)二进制→十进制: 按权相加法:将各位二进制的权值乘上系数,相加 例:求二进制数 相应的十进制数。 B =1×24+1×23 + 0×22 +1×21 +0×20 +1×2-1 +0×2-2 +1×2-2 =26.625

27 常用二进制的权 16 … 65536 … -1 -2 -3 -4

28 (2)十进制→二进制: 十进制整数:除2取余法 直到商为零

29 十进制小数:乘2取整法 例:将十进制纯小数0.562转换成误差不大于2-6的二进制数。

30 2、十六进制和十进制间的转换 (1)十六进制→十进制: 按权相加法 例:求十六进制数7A.58H相应的十进制数。 7A.58 H =7×161+A×160 +5×16-1 +8×16-2 =

31 (2)十进制→十六进制: 十进制整数:除16取余法 例:求3901所对应的十六进制数。 3901 16 243 15 余数 13 3 → F → D → 3 故 3901= F3DH 十进制小数:乘16取整法(类似于十进制转二进制小数)

32 3、二进制和十六进制间的转换 例:把二进制数1101111100011.100101转换为十六进制数。
=1BE3.94H 例:把十六进制数3AB.7A5转换为二进制数。 3AB.7A5 H = B

33 计算机中带符号数的表示 一、机器数及其真值 数本身称为真值 数在计算机内的表示形式称为机器数 真值 例:正数 B(+45H) 机器数 B ( 45H) 真值 例:负数 - B( - 55H) 机器数 B 1 ( D5H) 机器数通常有原码、反码和补码三种形式。

34 ◇ 负数的反码:原码的符号位不变(为1),其余位取反
二、原码和反码 原码:最高位为符号位,数值为绝对值 反码: ◇ 正数的反码:与其原码相同 ◇ 负数的反码:原码的符号位不变(为1),其余位取反 带符号正数 B (+45H),原码为 B (45H),反码为 B (45H) 带符号负数 B (-55H),原码为 B (D5H),反码为 B (AAH) 采用原码和反码表示时,符号位不能同数值一道参加运算。

35 二进制数的模: 二进制数的补码: 三、补码 计算机中,带符号数的运算均采用补码。 设二进制数的位数为n,则模为2n。
例:8 位二进制数的模为 2^8,即 256。 二进制数的补码: 正数不变,负数即用模减去绝对值。

36 已知一个数 X,其 8 位字长的补码定义为: [X]补 = X,  0 ≤X ≤ +127 ; 28 -|X|, -128 ≤X <0 ; (正数和0的补码,是其本身) 负数的补码,就是用 ,减去该数字的绝对值 例:负数 B (- 55H)

37

38 真 值 原 码 反 码 补 码 +127 B B(7FH) +126 B B(7EH) ··· +1 B B(01H) +0 B B(00H) -0 B B -1 B B B(FFH) -126 B(82H) -127 B(81H) -128 B(80H)

39 正数的补码、反码、原码均相同 负数的补码是反码加1(但“-0”与“-128”除外) 8位二进制数,其原码、反码、补码所能表示的范围是不同的。 采用补码时,“0”只有一种表示方式,单字节表示的范围是:+127 ~ -128。

40 已知一个负数的补码求其真值的方法是: ◇ 对该补码求补(符号位不变,数值位取反加1)即得到该负数的原码(符号位+数值位); ◇ 依原码求真值。 补码为: B 求补得: B 真值为: - 1

41 原码易于被人们识别,但运算复杂,符号位需要单独处理;
补码虽不易被人们识别,但方便运算。 有符号数用补码表示后,计算机运算后的结果仍是补码; 符号位和数值位一起参加运算,符号位的进位略去不计。

42 1. 补码加法运算 [X+Y]补 = [X]补 + [Y]补 例: 已知X=+19,Y=-7,求X+Y的二进制值。 [X+Y]补 = [X]补 + [Y]补 = [+19]补 + [-7]补 [+19]补 = B [-7]补 = B [X+Y]补 = B 真值为: B

43 2. 补码减法运算 [X-Y]补 = [X]补 + [-Y]补 例: 已知X=+6,Y=+25,求X-Y的二进制值。 [X-Y]补 = [X]补 + [-Y]补 = [+6]补 + [-25]补 [+6]补 = B [-25]补 = B [X+Y]补 = B 真值为:- B

44 注意 参加运算的数及运算结果不能超出8位数所能表示的范围,否则运算会出现溢出,运算结果就不正确。 对有符号数,采用补码时,8位数的表示范围是: -128 ~ +127 对无符号数,8位数的表示范围是: 0 ~ 255 ( ~ )

45 1.5.2 编码 遵循一定的规则编制代码,称为编码。 计算机中数字、字母以和符号要进行二进制编码。

46 BCD码----十进制数的二进制编码

47 1. 8421BCD码 二进制码在1010B~1111B范围时,属于非法码。 十进制数 BCD码 0000B 5 0101B 1 0001B
0000B 5 0101B 1 0001B 6 0110B 2 0010B 7 0111B 3 0011B 8 1000B 4 0100B 9 1001B 二进制码在1010B~1111B范围时,属于非法码。

48 ◇ (压缩)BCD码:1个字节表示2位十进制数的编码
0000B 1 0001B 2 0010B 3 0011B 4 0100B 5 0101B 6 0110B 7 0111B 8 1000B 9 1001B 十进制数 BCD码 10 B 11 B 12 B ··· 20 B 21 B 97 B 98 B 99 B

49 注意 要注意一个8位二进制代码表示的数究竟是二进制数?还是二进制编码的十进制数(BCD)?其值不同。 例如: B,当作为二进制数时,其值为24;但作为2位BCD码时, 其值为18。 例如: B,当作为二进制数时,其值为28;但不能作为BCD码,因为在8421BCD码中,它是个非 法码 。

50 2. BCD运算 由于计算机总是把数当作二进制数来运算,若将BCD码直接交计算机去运算,结果可能会出错。 例:用BCD码求38+49。 B B B ≠ B

51 解决办法 —— BCD调整 目的:将二进制加法运算的结果修正为BCD码加法运算的结果。 规则 : ◇ 若和的低4位大于9或低4位向高4位发生了进位,则低4位加6修正。 ◇ 若高4位大于9或高4位的最高位发生了进位,则高4位加6修正。

52 ASCII码 (美国标准信息交换码) ----字符的编码
由于微机不仅要处理数字信息,还要处理大量的字母 和符号信息(统称为字符), ASCII码是字符的编码。 ASCII码有7位二进制码构成,共128个字符编码。 常用字符的ASCII码 字符 ASCII码 30H A 41H a 61H SP(空格) 20H 1 31H B 42H b 62H CR(回车) 0DH 2 32H C 43H c 63H LF(换行) 0AH BEL(响铃) 07H 9 39H Z 5AH z 7AH BS(退格) 08H


Download ppt "单片机原理及其应用 主讲教师 赵琳."

Similar presentations


Ads by Google