文档介绍:单片机学
一、数制的概念
1、数制
用一组固定的数字(数码符号)和一套统一的规则来表示数值的方法。
十进制数:0 1 2 3 4 5 6 7 8 9 逢十进一
二进制数:0 1 逢二进一
八进制数:0 1 2 3 4 5 6 7 逢八进一
十六进制数:0 1 2 3 4 5 6 7 8 9 A B C D E F 逢十六进一
2、基数:一种数制中使用的数字的个数。
十进制数的基数是十
二进制数的基数是二
八进制数的基数是八
十六进制数的基数是十六
3、数位:在一种数制中,数字在一个数中所处的位置称为数位。
十进制数中:个位、十位、百位、千位等。
4、权:和数制中的数位相对应,代表该数位上一个单位所代表的数值的大小。
十进制数中:100 101 102 …
二进制数中:20 21 22 …
八进制数中:80 81 82 …
十六进制: 160 161 162 …
5、数制之间的转换
(1)二进制数→十进制数
十进制数→二进制数:除余法
把所要转换的十进制数除以2求余数,余数即为相应二进制数的最低位,然后对商继续除2,求的余数为相应二进制数的次低位,如此继续,直到所得到的商小于2,而此时的商就是相应二进制数的最高位。
(3)二进制→十六进制
每四位二进制数对应一个十六进制数
二进制十六进制
0000 - 0 0001 - 1
0010 - 2 0011 - 3
0100 - 4 0101 - 5
0110 - 6 0111 - 7
1000 - 8 1001 - 9
1010 - A 1011 - B
1100 - C 1101 - D
1110 - E 1111 - F
(10001011)2ó(8B)16
方法:只须记住十六进制数中每个数码符号对应的二进制数即可成功转换。即在转换时每四位二进制数为一组分别转换为十六进制数然后再一次排列即可。
十六进制→十进制
参考二进制和十进制的转换方法
按照权展开: (8B)16=8×161+B×160 = 8×161+11×160=139
除余法(不过除数是16):139除以16,商是8,余数是11(B),得到8B
二进制的逻辑运算
(1)逻辑“与”(&)(必须都有,否则就没有)
0 & 0 à 0
0 & 1 à 0
1 & 0 à 0
1 & 1 à 1
(2)逻辑“或”(|)(其中之一有,就有)
0 | 0 à 0
0 | 1 à 1
1 | 0 à 1
1 | 1 à 1
(3)逻辑“异或”(^) (必须不同,否则就没有)
0 ^ 0 à 0
0 ^ 1 à 1
1 ^ 0 à 1
1 ^ 1 à 1
(4)逻辑“非”(~)(求反运算)
~ 0 à 1
~ 1 à 0
三、AT89S52单片机初步认识
(1)8 位的 CPU, 片内有振荡器和时钟电路,工作频率为0~24MHz
(2)片内有 256字节数据存储器 RAM
(3)片内有 8K字节程序存储器 ROM
(4)4个8位的并行I/O口(P0、P1、P2、P3)
(5)1个全双工串行通讯口
(6)3个16位定时器/计数器(T0、T1、T2)
(7)可处理 6个中断源,两级中断优先级
AT89S52的引脚
AT89S52单片机内部结构简图
四、AT89S52的引脚的详细分析
Vcc, GND:是两个正电源端与接地端(+5V);
ALE/PROG: 地址锁存允许控制端。
:选通外部ROM的读(OE)控制端,低电平有效。
RESET: 复位端(正脉冲有效,宽度10 mS);
在一段时间长于10ms的高电平后,系统复位。
51单片机的常用复位引脚接线方法
51单片机有两种复位接线方式,如上图所示,第一种为上电复位,即每次需要复位时就重新连接电源供电。复位原理为+5V电源供电后,电容(10uF)在最初一段时间内处于充电状态,此时RST引脚处于高电平状态,通过计算电容设置为10uF并如图连接一个10K电阻时,电容充电时间满足复位最低时间长于10mS的要求,从而实现对系统的复位。第二种复位方式解决了每次复位都需要重新连接电源的问题,需要复位时按下复位按钮即可,复位原理与第一种一致。
5、XTAL1,XTAL2: 片内振荡电路输入/输出端
XTAL1, XTAL2是两个时钟引脚,外接晶体与片内的反向放大器构成了一个振荡器,它为单片机提供了始终控制信号。2个时钟引脚也可以外接独立的晶体振荡器。
XTAL1(19引脚):接外部晶体的一个引脚,该引脚内部是一个反相放大器的输入端。这个反相放大器构成了片内振荡器。如果采用外部结晶体振荡器