内容正文:
四川省(电子信息大类)对口招生《单片机原理与应用》
复习讲义
模块 1 单片机基础知识
【考纲要求】
1.知道什么是单片机。
2.掌握几种数制及其相互间的转换。
3.能对二进制数进行运算。
4.掌握带符号数的表示方法。
5.掌握单片机中的编码。
6.了解单片机的开发软件。
【知识网络】
【知识和技能要点】
一、单片机的概念
1.单片机是一种将CPU,RAM,ROM,定时器/计数器以及输入/输出(I/0)接口电路等基本部件集成到一块集成电路芯片上的微型计算机。
2.应用场景:智能家居、工业控制、智能穿戴、汽车电子等嵌入式系统核心部件。
3.核心价值:以低成本、小体积实现特定的智能化控制功能。
二、单片机中的数制及其转换
1.单片机中常用数制有二进制,十进制和十六进制。
十进制数:我们生活中用得最多的数,由0~9组成,逢十进一。
二进制数:计算机能够识别的语言,由0、1组成,例如1010001001就是一个二进制数,逢二进一。
十六进制:由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成,逢十六进一。
计数制
数 码
进位关系
表示方法
二进制
0、1
逢二进一
(1010)2
八进制
0、1、2、3、4、5、6、7
逢八进一
(5362)8
十进制
0、1、2、3、4、5、6、7、8、9
逢十进一
(7889)10
十六进制
0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
逢十六进一
(7C2F)16
注:A代表10,B代表11,C代表 12,D代表13,E代表14,F代表15。
2.各进制之间转换方法如下:
(1)二进制数转换成十进制数的方法:按权展开再相加。
【例】将二进制数(101000100101)2转化为十进制数;
我们把每一位都标上号码,从右往左标,第一位从0开始标。如:
1
0
1
0
0
0
1
0
0
1
0
1
第11位
第10位
第9位
第8位
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
把每一位写作2的第几次方。如
1
0
1
0
0
0
1
0
0
1
0
1
第11位
第10位
第9位
第8位
第7位
第6位
第5位
第4位
第3位
第2位
第1位
第0位
211
210
29
28
27
26
25
24
23
22
21
20
每一位的数值与这一位相对应的2的次方相乘。如
1×211+0×210+1×29+0×28+0×27+0×26+1×25+0×24+0×23+1×22+0×21+1×20
=2048+512+32+4+1=(2597)10 所以(101000100101)2=(2597)10
从以上计算式可以看出,不用把每一位都写出,只要把是1的每一位的2的次方数写出相加就可以得到对应的十进制数。
附: 2n表(注:这个不用全部都记,只记得前几个就可以了,后面的依次乘以2就可以,比如你记得22,那么23=22×2,以此类推。)
2n
数值
2n
数值
2n
数值
2n
数值
20
1
25
32
210
1024
215
32768
21
2
26
64
211
2048
216
65536
22
4
27
128
212
4096
217
131072
23
8
28
256
213
8192
218
262144
24
16
29
512
214
16384
219
524288
20=1这个一定要记住。任何数的0次方都是1!!!
(2) 十六进制数转换成十进制数的方法:
两种方法:
A先将十六进制转化为二进制数,再由所得的二进制数转化为相应的十进制数。
B十六进制数直接转化为十进制数。
用方法A,那么步骤就有两个:
(1)将十六进制转化为二进制数;
(2)由所得的二进制数转化为相应的十进制数。
【例】将十六进制数(7C2F)16转化为十进制。
首先转化为二进制数:
和八进制一样,来看十六进制-二进制转化表:
十六进制数
二进制数
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
A(10)
1010
B(11)
1011
C(12)
1100
D(13)
1101
E(14)
1110
F(15)
1111
从上表可知呢(7C2F)16=(0111110000101111)2
接下来呢,二进制转化为十进制
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
214+213+212+211+210+25+23+22+21+20=16384+8192+4096+2048+1024+32+8+4+2+1=(31791)10。
最后得(7C2F)16=(31791)10。
下面来看方法B十六进制数直接转化为十进制数。
标出每一个数的位置,然后拿这个数和16的位置次方数相乘,最后相加得出和:
还是上面的例题:
【例】将十六进制数(7C2F)16转化为十进制。
先来标位置:
7
C(12)
2
F(15)
3
2
1
0
那么就是:
7×163+12×162+2×161+15×160=7×4096+12×256+2×16+15×1=28672+3072+32+15=((31791)10。和方法A得出的结果一样。
(3)十进制数转换成二进制数的方法:除2取余倒记法(整数)和乘2取整正记法(小数)。
采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得余数。
【例】将十进制数(103)10转换为二进制数。
第一步:采用基数2连续去除该十进制整数,直至商等于“0”为止。
103÷2=51 余数为1
51÷2=25 余数为1
25÷2=12 余数为1
12÷2=6 余数为0
6÷2=3 余数为0
3÷2=1 余数为1
1÷2=0 余数为1(此处按照一般数学知识应为0.5,不是0。但在进制转换中,当除得的商为小数时,也就是不能被整除时,我们就认为商是0,余数是1)
第二步:逆序排列所得余数。
所谓“逆序排列”,就是从下往上排列。排列得结果:1100111
我们来用二进制转化十进制的方法验证下:
1
1
0
1
1
1
1
第6位
第5位
第4位
第3位
第2位
第1位
第0位
得:26+25+23+22+21+20=64+32+4+2+1=(103)10
所以(103)10= (1100111)2
(4)十进制数转换成十六进制数的方法:除16取余倒记法(整数)和乘16取整正记法(小数).
(5)二进制数转换成八进制数和十六进制数的方法:3位合1位法和4位合1位法。
三、二进制数的运算
1.算术运算:与十进制数类似。
2.逻辑运算:逻辑与,逻辑或,逻辑非和逻辑异或。
逻辑与规则:全 1 为 1,有 0 为 0
逻辑或规则:有 1 为 1,全 0 为 0
逻辑非规则:1 变 0,0 变 1
四、单片机中的常用数据容量单位及其转换
1.数据单位:位(b),字节(B),字(W)等。
2.转换:1B=8b,1W=2B,1KB=1024B,1MB=1024KB.
五、带符号数的表示方法
1.单片机中带符号数的表示方法有原码,反码和补码,其中最常用的是补码。
2.字长为8位的定点整数,x的原码的表示范围为(-127 ,127)
正数的反码和原码一样,负数的反码把原码除符号位以外的所有位取反。
字长为8位的定点整数,x的反码的表示范围为(-127 ,127)
正数的补码是和原码相同,负数的补码把原码除符号位以外的所有为取反(反码),再加‘1’
一个n+1位整数补码能表示的最大数是011…1,即2n-1;能表示的最小数为100…0,即-2n。所以它能表示的数值范围是:-2n≤ x≤ 2n-1
字长为8位的定点整数,x的补码的表示范围为(-128 ,127)。
3.真值、原码、反码、补码、移码等间的相互转化:
正数的原码是把真值的符号位改为‘0’,负数的原码把符号位改为‘1’。
正数的反码、补码和原码一样
负数的反码转为原码:把除符号位以外的所有位取反。
负数的补码转为原码:把除符号位以外的所有位取反,所得的真值,再减1。或者,把补码减一,然后将除符号位以外的所有位取反即可。
注意:0的补码不分正负,是00H;
-128的补码是80H
8位补码表示带符号数的范围是-128~+127。
六、单片机中的常用编码
单片机中常用编码有BCD码和ASCII码。
BCD码有两种:压缩BCD码和非压缩BCD码。
压缩BCD码是用4位二进制数表示1位十进制数的BCD码;
非压缩BCD码是用8位二进制数表示1位十进制数的BCD码。
ASCII码是一种应用广泛的字符编码。
七、单片机开发软件
主流软件及功能:
Keil C51 架构单片机的核心开发工具,支持代码编辑、编译、链接、仿真调试;
Proteus:硬件电路仿真软件,可搭建单片机电路、联合 Keil 进行虚拟调试,无需实际硬件即可验证程序;
烧录软件:ISP 下载工具,用于将编译后的程序烧录到单片机芯片中。
基础操作:掌握新建工程、添加源文件、配置编译环境、下载程序、仿真调试的核心步骤。
【练习题】
一、填空题
1.单片机是一种将__________________,__________________,__________________,__________________以及__________________等基本部件集成在一块芯片上的微型计算机。
2.带符号数的表示方法有____________,____________和____________。
3.8位补码表示带符号数的范围是____________,0的补码是____________。
4.二进制数运算分为____________运算和逻辑运算,逻辑运算包括___________,___________,和___________等。
5.逻辑与运算规则是______________________,逻辑或运算规则是_____________________。
二、选择题
1.在数字后面加上大写字母B表示该数是( )。
A.十进制数 B.二进制数 C.八进制数 D.十六进制数
2.将33H转换成二进制数是( )。
A.00110011B B.01000100B C.11001100B D.00000111B
3. X=-1001001,则[x]原=( )。
A. 01001001 B B.1001001B C.11001001 B D.以上都不对
4.下列不是有效的8421BCD码的是( )。
A. 1001 B B.0011B C.1010B D. 0111B
5.将十进制数93转换成8421BCD码为( )。
A.10000011B B.10010011B C.10100011B D.10000001B
6.下列逻辑运算结果正确的是( )。
A.000A001=001 B.1001A0011=1011
C.0000V1111=0000 D.1010V0010=1010
7.8421BCD码1000 0011 0100B对应的数值为( )。
A.2100D B.834H C.2100H D.834D
8.十进制数9的ASCII码为( )。
A.56 B.57 C.58 D.以上都不对
三、计算题
1.将十进制数135,255,128分别转换成二进制数和十六进制数。
2. 将十六进制数68H,100H,3ADH分别转换为十进制数和二进制数。
3. 完成下列运算:
10101+1101=
11001-110=
1110x1011=
100110÷110=
4. 将十六进制数33H和BBH转换为二进制数。
5. 将十六进制数ABH和7FH转换为二进制数。
6. 将十六进制数CDH和80H转换为二进制数。
7.已知X=-23,写出X的原码,反码和补码。
【答案】
一、填空题
1.CPU、RAM、ROM、输入输出接口(I/O)、定时器 / 计数器
2.原码、反码、补码
3.-128 ~ +127;00000000B
4.算术;与、或、非
5.全 1 为 1,其余为 0;有 1 为 1,其余为 0
二、选择题
1.B 2.A 3.C 4.C 5.B 6.D 7.D 8.B
三、计算题
1.
135D:二进制 = 10000111B,十六进制 = 87H
255D:二进制 = 11111111B,十六进制 = FFH
128D:二进制 = 10000000B,十六进制 = 80H
2.
68H:十进制 = 104D,二进制 = 01101000B
100H:十进制 = 256D,二进制 = 100000000B
3ADH:十进制 = 941D,二进制 = 001110101101B
3.
10101+1101=100010B
11001-110=10011B
1110×1011=10011010B
100110÷110=110B(余数 0)
4.
33H=00110011B
BBH=10111011B
5.
ABH=10101011B
7FH=01111111B
6.
CDH=11001101B
80H=10000000B
7.
X=-23(8 位):
原码 = 10010111B
反码 = 11101000B
补码 = 11101001B
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$