找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

走进单片机世界(二)

  [复制链接]
187196467 发表于 2011-11-21 22:23:55 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
三.编码
由于计算机只能识别0和1两种状态,诸如数据、指令以及符号等只能以二进制的形式表示。按照一定的规律将这些讯息转换为对应的二进制代码称为编码。常用的信息编码有BCD码、ASCII码等。
二――十进制编码(BCD)
计算机中的数据处理是以二进制数运算法则进行的.但由于二进制数对操作人员来说不直观、容易出错,因此在计算机的输入输出中希望以人们熟悉的十进制数形式进行。因此找到一个比较适合于十进制数系统的二进制编码的特殊形式,即二进制编码的十进制数,简称BCD码。在BCD码中是用4位二进制数给十进制数0~9十个数进行编码,称之为二――十进制数。
由于4位二进制数从0000到1111可以表示16个数,所以理论上可以任选其中的10中代码来表示0到9的10个数字,但通常采用0到9数字对应的8421码作为其代码,从而称8421BCD码,这种编码方式与十进制数的关系相当直观,它们之间的转换也是十分简单的.
BCD码与十进制数的相互转换:按照BCD码的四位编码与十进制数的关系,每一位十进制数用四位8421BCD码表示即可:每组BCD码数用一位十进制数表示.
例:将十进制数87转换为BCD码.
解:87=10000111BCD
例:将二进制数01101001BCD转换为十进制数
解:01101001=69
BCD码数与十进制数之间的转换不是直接完成的.BCD码数先转换为十进制数,然后再油十进制数转换为二进制数,反之,将二进制数转换为十进制数,然后再由十进制数转换为BCD码数.
BCD码数与十进制数的对照表

十进制数
8421BCD码
十进制数
8421BCD码
0
0000
8
1000
1
0001
9
1001
2
0010
10
0001 0000
3
0011
11
0001 0001
4
0100
12
0001 0010
5
0101
13
0001 0011
6
0110
14
0001 0100
7
0111
15
0001 0101



二进制、十进制、十六进制数、BCD码的对应关系

十进制数

十六进制

二进制

BCD码

十进制数

十六进制

二进制

BCD码

0

0

00000000

00000000

10

A

00001010

00010000

1

1

00000001

00000001

11

B

00001011

00010001

2

2

00000010

00000010

12

C

00001100

00010010

3

3

00000011

00000011

15

F

00001111

00010101

4

4

00000100

00000100

100

64

10000000

10000000


字符的ASCII码
在计算机中除了数字用二进制表示之外,字母和各种字符也必须用二进制表示,目前最普遍使用的为ASCII码.ASCII码是美国信息交换标准代码(American Standard Code for Information Inter-change)的缩写,它采用了7位二进制代码对字符进行编码,故可以表示128个不同的字符。
阿拉伯数字0~9的ASCII码分别为30H~39H,大写英文字母A、B……、Z的ASCII码则是从41H开始依次往上编排。回车符CR的ASCII码为0DH。


四.常用计数制的对应关系
下表列出了常用数值0~15的各种数制间的对应关系,在以后的学习中经常用到,要求能够熟练掌握。

十进制
二进制
十六进制
十进制
二进制
十六进制
0
0000B
0H
8
1000B
8H
1
0001
1H
9
1001B
9H
2
0010B
2H
10
1010B
AH
3
0011B
3H
11
1011B
BH
4
0100B
4H
12
1100B
CH
5
0101B
5H
13
1101B
DH
6
0110B
6H
14
1110B
EH
7
0111
7H
15
1111B
FH


五.逻辑数据的表示
为了使计算机具有逻辑判断能力,就需要逻辑数据,并能对它们进行逻辑运算,得出一个逻辑式的判断结果。每个逻辑变量或逻辑运算的结果产生逻辑值,该逻辑值仅取真或假两个值。判断成立为真,不成立为假。在计算机内常用0和1表示这两个逻辑值,0表示假,1表示真。
最基本的逻辑运算有与、或、非3种。
1.逻辑与
逻辑与也称之为逻辑乘,最基本的与运算有两个输入量和一个输出量。逻辑与可以用两个串联开关来等效。用语言描述就是:只有两个输入量都是1时,输出才为1。或者说有0为0,全1出1。
它的运算规则:0×0=0
0×1=0
1×0=0
1×1=1

2.逻辑或
逻辑或也叫逻辑加,最基本的逻辑或有两个输入量和一个输出量。逻辑或可用两个并联的开关来等效。用语言描述就是:只有两输入量都是0时,输出才为0,或者可以这样说有1为1,全0为0。
它的运算规则:0+0=0
0+1=1
1+0=1
1+1=1
3.逻辑非
逻辑非即取反,逻辑非可以用灯的并联开关来等效。用语言描述就是:1的反是0,0的反是1。

六.计算机的常用术语

用于照明的灯有两种状态,即亮与灭。如果规定灯亮为1,灭为0,那么两盏灯的亮和灭的状态可见下表
状态
○ ○
○ ●
● ○
● ●
表达
0 0
0 1
1 0
1 1
注:○表示灯灭,●表示灯亮。

1.位
一盏灯的亮与灭,可以分别代表两种状态:0和1。实际上这就是一个二进制位,一盏灯就是一位。位(BIT)的定义就是:位是计算机中所能表示的最小数据单位。
1.字节
一盏灯可以表示0和1两种状态,两盏灯可以表示00、01、10、11四种状态,也就是可以表示0、1、2和3。计算机通常把8位放在一起,同时计数,可以表示0~255一共256种状态。相邻8位二进制码称之为一个字节(BYE),用B表示。
字节(B)是一个比较小的单位,常用的还有KB和MB等。
1KB=1024B
1MB=1024KB=1024×1024B
3.字和字长
字是计算机内部进行数据处理的基本单位。由若干位二进制码组成,通常与计算机内部的寄存器、运算器、数据总线的宽度一致。每个字所包含的位数称为字长。若干个字节定义为一个字,不同的计算机有不同的字长。如80C51系列单片机是8位机,就是指它的字长是8位,其内部的运算器等都是8位的,每次参加运算的二进制位只有8位,而以8086为主芯片的PC机是16位的,既每次参加运算的二进制位有16位。
字长是计算机中一个重要指标,一般而言,字长越长,性能越好。
8位字长可表达的数的范围是0~255,这意味着参加运算的各个数据不能超过255,并且运算的结果和中间结果也不能超过255,否则就出错。但在解决实际问题时,往往有超过255的要求。比如单片机用于测量温度时,假设测温范围是0~1000℃,就超过了255的范围了。为了要表示这样的数,需要用两个字节组合起来表示温度。这样,在进行运算时就花更长时间。比如做一次乘法,如果乘数和被乘数都用一个字节表示,只要一步(1行程序)就完成了,而使用两个数组合起来,做一次乘法可能需要5步(5行程序)或更多才能完成。同样的问题,如果用16位计算机来解决,它的表达范围可以是0~65535,只要一次运算就可以解决问题,所需时间就少了。
cainiaowjs 发表于 2012-4-24 20:54:25 | 显示全部楼层
基础重要啊!!
yytt 发表于 2012-5-5 17:10:40 | 显示全部楼层
看不明白,不知道回复能得金币不
ahljj 发表于 2012-10-4 08:29:21 | 显示全部楼层
{:e179:}{:e179:}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 13:36 , Processed in 0.058314 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表