1 / 35

第一章 单片机基础知识

第一章 单片机基础知识. §1-1 单片机概述 §1-2 数制及数码. 内容提要:. §1-1 单片机概述. 一、什么是单片机 单片机就是单片微型计算机( Single-Chip Microcomputer)。 微型计算机系统的硬件部分通常由五部分组成:. 输入设备. 运算器. 输出设备. 控制器. 存储器. 这种计算机系统通常由多块印刷电路板制成:. 显卡. 声卡. 网卡. 存储器接口. 主板. 输入输出接口. 内存条. CPU. 多板机. 单板机. 印

Download Presentation

第一章 单片机基础知识

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第一章 单片机基础知识 §1-1 单片机概述 §1-2 数制及数码 内容提要:

  2. §1-1 单片机概述 一、什么是单片机 单片机就是单片微型计算机(Single-Chip Microcomputer)。 微型计算机系统的硬件部分通常由五部分组成: 输入设备 运算器 输出设备 控制器 存储器

  3. 这种计算机系统通常由多块印刷电路板制成: 显卡 声卡 网卡 存储器接口 主板 输入输出接口 内存条 CPU 多板机

  4. 单板机 印 刷 电 路 板 存储器接口 输入输出接口 内存条 输入输出接口 芯片 存储器芯片 CPU芯片 CPU 定时计数器 芯片 A/D、D/A 芯片

  5. 单片机 单 硅 晶 片 存储器 CPU I / O口 时钟电路 控制电路 定时器

  6. 单片机是应工业测控的需要而诞生的,它的结构与指令功能都是按照工业控制要求设计的,故又称单片微控制器(Single Chip Microcontroller)。 单片机特点: (1)体积小,重量轻; (2)可靠性高,运行速度快,抗干扰能力强; (3)控制功能强,使用灵活,性价比高; (4)易扩展,易于开发; (5)受集成度限制,片内存储器容量较小,一般 内ROM在8KB以下,内RAM在256B以内。

  7. 以单片机为核心的应用系统广泛应用于: 家用电器; 工业过程控制; 仪器仪表; 智能武器; 航空、汽车等领域。

  8. 存储器 接口部件 定时计数器 CPU AB DB CB 键盘 显示器 数码管 打印机 二、单片机系统的组成

  9. 运算器 CPU 寄存器组 单片机芯片 控制器 内存 中断控制逻辑 硬件部分 并行I / O口 通用接口 串行UART 8253 定时/计数器 8251 外围器件 8255A、8155 指令系统 2764、6264 软件部分 ADC0809、DAC0832 应用程序 单片机系统

  10. §1-2 数制及数码 计算机只识别和处理数字信息,数字是以二进制数的形式表示的。它易于物理实现,同时,资料存储、传送和处理简单可靠;运算规则简单,使逻辑电路的设计、分析、综合方便,使计算器具有逻辑性。 一、数制 1、常用数制 (1.)十进制数: 1985 = 1000+900+80+5 = 1×103+9×102+8×101+5×100 特点:有0 ~ 9 十个不同的符号。 逢十进一。 一般用下脚标 D 表示,如 1985D ,或无下脚标。

  11. ( 2.)二进制数: 特点:有0,1两个不同的符号。 逢二进一。二进制数的下脚标为B 例如:对于整数, 1001B=1×23+0×22+0×21+1×20 = 9D 对于小数, 0.101B = 1×2-1 + 0×2-2 + 1×2-3 = 0.625D 二进制数每一位的权是:以小数点分界, …..24 , 23 , 22 , 2 1, 2 0 . 2 -1, 2 -2, 2 - 3, ……

  12. ( 3.)十六进制数: 有0~ 9 ,A,B,C,D,E,F 共十六个不同的符号。 逢十六进位。用下脚标 “H” 表示十六进制数。 例:327 H = 3×162+2×161+7×160 = 807D 3AB . 11H= 3×162+A×161+B×160+1×161+1×16-2 =939 . 0664 D

  13. 2、数制的转换 (1.)二进制转换为十进制数 方法: 按权展开。 111.101B =1×22+1×2 1+1×2 0 +1× 2 -1 +0× 2 -2 +1× 2 –3 =4+2+1+0.5+0.125 =7.625D (2.)十进制数转换为二进制数 方法: 整数部分除二取余,小数部分乘二取整

  14. 例1、将十进制数45转换成二进制数。 2 45 余数 2 22 1 11 0 2 2 5 1 1 2 2 2 1 0 1 0 即 45 = (101101)2

  15. 例2:十进制小数部分的转换: 乘二取整 0.6875 ×  2 最高位 取 1 1.3750 0.375 × 2 取 0 0.750 × 2 取 1 1. 50 0.5 × 2 最低位 取 1 1. 0 从上至下写成从左至右 0.6875D = 0. 1011 B

  16. ( 3.)十六进制数与二进制数之间的转换: 十六进制数转换为二进制: 9 A B . 7 C 5 H 1001 1010 1011 . 0111 1100 0101B 二进制数转换十六进制数: 0001 1011 1110 0011 . 1001 0111 1000B 1 B E 3 . 9 7 8H 二进制数转换成八进制数与上述类似。

  17. 二、数码 1、机器数与真值 机器只认识二进制数:0、1。 这是因为,电路状态常常有两种情况, 如:电路的通、断; 高电平、低电平;可用0、1表示。 在机器中,这种0、1、0、1的表现形式称为机器数。 机器数分为无符号数、带符号数。 无符号数如:00000001、10010011、01010010、 …… 等等,范围:00H ~ FFH。 有符号数如:+1010110B、-1101001B、等等 01010110B、 11101001B

  18. 2、机器数的编码及运算 对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。 (1)原码 将数“数码化”,原数前“+”用0表示,原数前“-”用1表示,数值部分为该数本身,这样的机器数叫原码。 设X——原数;则[X]原 = X(X0) [X]原 = 2n-1 – X (X0),n为字长的位数。 如,[+3]原 = 00000011B [-3]原 = 27 - (-3) = 10000011B 0有两种表示方法:00000000 —— +0 10000000 —— -0 原码最大、最小的表示:+127、-128

  19. (2)反码 规定正数的反码等于原码;负数的反码是将原码的数值位各位取反。 [X]反 = X (X0) [X]反 =(2n –1)+ X (X0)如, [+4]反 = [+4]原 = 00000100 B [-4]反=(28–1)+(-5)=11111111-00000101= 11111010 B 反码范围:-128 ~ +127 两个0: +0 —— 00000000 B -0 —— 11111111 B

  20. (3)补码 补码的概念:现在是下午3点,手表停在12点,可正拨3点,也可倒拨9点。即是说-9的操作可用+3来实现,在12点里:3、-9互为补码。 12 3 运用补码可使减法变成加法。 规定:正数的补码等于原码。 负数的补码求法:1)反码 + 1 2)公式:[X]补 = 2n + X (X<0) 如,设X = - 0101110 B , 则[X]原 = 10101110 B 则[X]补 = [X]反 + 1 = 11010001 + 00000001 = 11010010 B 如,[+6]补 = [+6]原 = 00000110 B [-6]补 = 28 + (-6) = 10000000 – 00000110 = 11111010 B 8位补码的范围 –128 ~ +127。 0 的个数:只一个,即00000000 而10000000 B是-128的补码。 原码、反码、补码对照表:见下表

  21. 八位二进制数所能表示的数据范围 机器数 无符号数 原码 反码 补码 00000000 0 +0 +0 +0 00000001 1 +1 +1 +1 . . . . . 01111111 127 +127 +127 +127 10000000 128 -0 -127 -128 10000001 129 -1 -126 -127 . . . . . . . . . . 11111110 254 -126 -1 -2 11111111 255 -127 -0 -1

  22. (4)补码的运算 当X≥0时,[X]补= [X]反=[X]原 [ [X]补]补 = [X]原 [X]补+ [Y]补 = [ X+Y ]补 [ X-Y ]补= [ X+(-Y)]补 例:已知X=52 Y=38 求X-Y 方法1: 减法: X-Y = 52-38 =14 0 0 1 1 0 1 0 0 -) 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0

  23. 方法2: 加法 X-Y = [ [ X-Y]补]补 = [ [X]补+[-Y]补]补 =[ [52]补+[ -38]补]补 =[ 14 ]补 =14 [52]补: 0 0 1 1 0 1 0 0 [-38]补:+) 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 自然丢失 计算机在做算术运算时,必需检查溢出,以防止发生错误

  24. (5) 运算的溢出问题 由于计算机中表示数据的字长(位数)有一定限制,所以数据的表示应有一个范围。 如字长8位时; 补码范围-128~+127 若运算结果超出这个范围,便溢出。 例: [98]补: 0 1 1 0 0 0 1 0 [25]补:+)0 0 0 1 1 0 0 1 [123]补 0 0 1 1 1 1 0 1 1 未溢出 0 0 Cs+1 Cs(未溢出)

  25. [85]补: 0 1 0 1 0 1 0 1 [47]补:+)0 0 1 0 1 1 1 1 [132]补: 1 0 0 0 0 1 0 0 溢出 0 1 Cs+1 Cs (溢出) 错:两个正数相加和为负数。 [- 85]补: 1 0 1 0 1 0 1 1 [- 47]补:+)1 1 0 1 0 0 0 1 [- 132]补:1 0 1 1 1 1 1 0 0 溢出 1 0 Cs+1 Cs 错:两个负数相加和为正数。

  26. [- 19]补: 0 1 0 1 0 1 0 1 [- 79]补:+)1 0 1 1 0 0 0 1 [- 98]补: 1 1 0 0 1 1 1 1 未溢出 1 1 Cs+1 Cs 错:两个负数相加和为正数。 总之:结果正确(无溢出)时,Cs+1 = Cs 结果错误(溢出)时,Cs+1 ≠ Cs 溢出判断:溢出 = Cs+1Cs(即结果是0为无溢出;1为有溢出)

  27. 1、     (6)     十进制数的编码 对机器:二进制数方便, 对人 :二进制数不直观,习惯于十进制数。 在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。 怎么办? 可以将十进制的字符用二进制数进行编码:      0     0000 5 0101 1010 1111 1 0001 6 0110 1011 20010 7 0111 1100 3 0011 8 1000 1101 4 0100 9 1001 1110 这叫做二进制数对十进制编码——BCD码。 上述每4位二进制数表示一个十进制字符,这4位中各位的权依次是: 8、4、2、1——8421 BCD码。

  28. BCD码的运算: 例、 1 8 +) 3 2 1 0 0 0 1 1 0 0 0 +)0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 B是非BCD码(错) 需进行十进制调整: 0 0 0 1 1 0 0 0 +)0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 (个位大于9,应进1) +) 0 1 1 0 (加6使进1) 0 0 1 0 0 0 0 1 (结果形如21)

  29. BCD码加法规则: 两个BCD数相加时,“某位”的和小于10则保持不变; 两个BCD数相加时,“某位”的和大于9,则和数应加6修正。 BCD码减法规则: 两个BCD数相减时,“某位”的差未发生借位,则差数保持不变; 两个BCD数相减时,“某位”发生了借位,其差应减6修正。 这里“某位”指BCD数中的“个位”、“十位”、“百位”、……

  30. 加法举例: 0 1 1 0 0 1 0 1 (6 5) +)1 0 0 1 0 1 1 1 (97) 1 1 1 1 1 1 0 0 +)0 1 1 0 0 1 1 0 (加66调整) 1 0 1 1 0 0 0 1 0 (162) 减法举例: 0 0 1 1 0 1 0 0 (3 4) -) 0 0 0 1 0 1 0 1 (15) 0 0 0 1 1 1 1 1 -) 0 1 1 0 (减6调整) 0 0 0 1 1 0 0 1 (29)

  31. (7)字符信息的表示 计算机能识别0、1、0、1、……;这些0、1、0、1、……有的 代表数值,有的仅代表要处理的信息(如字母、标点符号、 数字符号等文字符号),所以,计算机不仅要认识各种数字, 还要能识别各种文字符号。人们事先已对各种文字符号进行 二进制数编码。 如,美国信息交换标准码——ASCII码,用一个字节表示一个 字符。低7位是字符的ASCII码值;最高位是通信时的 校验位。

  32. 综上所述, 计算机中的数可以有各种不同的表示方法, 计算机中以一个字节为一个单元保存数据, 一个字节为8位二进制数,可以有256种组合, 也就是可以表示256个数据, 我们称它为机器数,每一个机器数实际表示的是什么, 要看采用的是那种表示方法。

More Related