《《单片机原理及应用(第2版)》第1章.ppt》由会员分享,可在线阅读,更多相关《《单片机原理及应用(第2版)》第1章.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章 单片机的基础知识第一节第一节 不同进位计数制及其互换不同进位计数制及其互换 第二节第二节 带符号的二进制数带符号的二进制数第三节第三节 BCD码及文字符号代码码及文字符号代码第四节第四节 单片机系统的组成单片机系统的组成第五节第五节 8051单片机的结构单片机的结构第第六六节节 8051单单片片机机的的复复位位和和低低功功耗耗工工作作方方式式本章要点n 本章主要介绍学习本章主要介绍学习8051单片机所必须的一单片机所必须的一些预备知识,包括三种进位计数制间的互换、些预备知识,包括三种进位计数制间的互换、补码的基本知识。补码的基本知识。8051单片机的基本结构,程单片机的基本结构,程序存
2、储器、数据存储器、特殊功能寄存器的组序存储器、数据存储器、特殊功能寄存器的组织方式,以及织方式,以及8051单片机的复位工作方式和低单片机的复位工作方式和低功耗工作方式。功耗工作方式。第一节 不同进位计数制及其互换 一、二进制与十六进制的互换一、二进制与十六进制的互换二进制转换为十六进制数二进制转换为十六进制数 整数整数 从小数点开始向左,每四位二进制整数为一从小数点开始向左,每四位二进制整数为一组可转换为一位的十六进制数。组可转换为一位的十六进制数。小数小数 从小数点开始向右,每四位二进制小数为一从小数点开始向右,每四位二进制小数为一组可转换为一位的十六进制小数。组可转换为一位的十六进制小数
3、。十六进制转换为二进制数十六进制转换为二进制数 整数整数 十六进制整数转换为二进制数整数,同样从十六进制整数转换为二进制数整数,同样从小数点开始向左,一位十六进制数可转换为四位二进小数点开始向左,一位十六进制数可转换为四位二进制数。制数。小数小数 十六进制小数转换为二进制小数,也是从十六进制小数转换为二进制小数,也是从小数点开始向右一位十六进制小数转换为四位二进制小数点开始向右一位十六进制小数转换为四位二进制小数。小数。二、二、二进制与十进制数的互换二进制与十进制数的互换 二进制转换为十进制数二进制转换为十进制数 整数整数 二进制整数转换为十进制整数,可按各位数的权,二进制整数转换为十进制整数
4、,可按各位数的权,即底数为即底数为2的的n-1次幂来确定,次幂来确定,n表示该数的位数,例如二进制数表示该数的位数,例如二进制数为为101010l0B,则十进制数为:则十进制数为:小数小数 二进制小数转换为十进制小数,可按底数为二进制小数转换为十进制小数,可按底数为2 2的负的负n n次次幂来确定,幂来确定,n n同样表示位数,例如求同样表示位数,例如求0.001100110.00110011B B的十进制值。的十进制值。十进制转换为二进制数十进制转换为二进制数 整数整数 十进制整数转换为二进制整数,采用逐次除以进制整数转换为二进制整数,采用逐次除以 2,余数反序排列,即第,余数反序排列,即第
5、1次除以次除以2的余数排在最低位。以的余数排在最低位。以25为例逐次除以为例逐次除以2的列式如下:的列式如下:252=12 余余1 122=6 余余0 62=3 余余032=1 余余1 12=0 余余1 并按习惯将二进制数写成并按习惯将二进制数写成8位,可得位,可得 25=0001100lB。小数小数 十进制小数转换为二进制小数,采用小数部分逐次乘十进制小数转换为二进制小数,采用小数部分逐次乘2,每次乘积若产,每次乘积若产生整数则将整数个位生整数则将整数个位(即所为溢出位即所为溢出位)按正序排列,小数部分继续乘按正序排列,小数部分继续乘2。以。以0.6875为例。将小数点右边数逐次乘为例。将小
6、数点右边数逐次乘2 0.68752=1.375小数点左边整数为小数点左边整数为1 0.3752=0.75小数点左边整数为小数点左边整数为0 0.75 2=1.5小数点左边整数为小数点左边整数为1 0.5 2=1小数点左边整数为小数点左边整数为1 可得出可得出 0.6875=0.10ll0000B 三、十三、十进制与十进制与十六六进制数的互换进制数的互换十六进制转换为十进制数十六进制转换为十进制数整数整数 十六进制十六进制整数整数转换为十进制转换为十进制整数可按各位数的权,即底整数可按各位数的权,即底数为数为1616的的 n-1 n-1 次幂来确定,次幂来确定,n n表示该数的位数。例如:表示该
7、数的位数。例如:小数小数 十六进制十六进制小数小数转转换换为十进制为十进制小数小数,则按,则按小数点以后各位小数点以后各位的权,用底数为的权,用底数为1616的负的负 n次幂来确定,次幂来确定,n 同样表示位数同样表示位数。返回本章首页 十进制转换为十六进制数十进制转换为十六进制数 整数整数 十进制整数转为十六进制整数采用逐次除以十进制整数转为十六进制整数采用逐次除以16,余,余数反序排列的方法。例如:数反序排列的方法。例如:1356216=847 余余10(记作记作0AH)84716=52 余余15(记作记作0FH)5216=3 余余4 316=0 余余3 可得可得13562=34FAH 小
8、数小数 十进制小数转为十六进制小数采用小数部分逐次乘十进制小数转为十六进制小数采用小数部分逐次乘16,每次乘积若产生整数,则将所得整数按正序排列,例如十,每次乘积若产生整数,则将所得整数按正序排列,例如十进制小数进制小数0.359375转换为十六进制数:转换为十六进制数:0.35937516=5.75 小数点左边整数为小数点左边整数为5 0.7516=12.0 小数点左边整数为小数点左边整数为0CH 可得可得 0.359375=0.5CH第二节 带符号的二进制数 一、一、带符号二进制数的表示方法带符号二进制数的表示方法 原码表示法原码表示法:规定最高位为符号位,其余规定最高位为符号位,其余表示
9、数值。表示数值。反码表示法:反码表示法:规定最高位为符号位,对于规定最高位为符号位,对于正数,其余各位表示数值。对于负数,其余正数,其余各位表示数值。对于负数,其余各位应将各位应将1 1换成换成0 0,将,将0 0换成换成1 1,即所谓逐位取,即所谓逐位取反。反。补码表示法:补码表示法:仍然规定最高位定为符号位,仍然规定最高位定为符号位,对于正数,其余各位表示数值。对于负数,对于正数,其余各位表示数值。对于负数,除符号位外,其余按原码的各位值,逐位取除符号位外,其余按原码的各位值,逐位取反,全部取反后再加反,全部取反后再加1 1,简称为取反加,简称为取反加1 1。带符号二进制数表示方法举例:带
10、符号二进制数表示方法举例:可见正数的反码和补码与原码完全相同。可见正数的反码和补码与原码完全相同。二、二、带符号二进制数的运算带符号二进制数的运算 原码运算:原码运算:要把符号与数值分开。两数相加先判断要把符号与数值分开。两数相加先判断两数符号,同号做加法,异号要做减法,减后的差作两数符号,同号做加法,异号要做减法,减后的差作为两数之和,和数符号与绝对值较大的数的符号相同;为两数之和,和数符号与绝对值较大的数的符号相同;两数相减也是一样,也要先判断符号,然后决定相加两数相减也是一样,也要先判断符号,然后决定相加还是相减,并根据两数的大小与符号决定差的符号。还是相减,并根据两数的大小与符号决定差
11、的符号。补码运算:补码运算:不存在符号与数值分开的问题,而且加不存在符号与数值分开的问题,而且加法运算就一定是相加。减法运算就一定是相减,而不法运算就一定是相加。减法运算就一定是相减,而不论两个数的正负。论两个数的正负。但要注意,如果得数超过但要注意,如果得数超过8位补码所允许表示范围位补码所允许表示范围(即超出(即超出127至至-128),运算结果将产生进位。正常),运算结果将产生进位。正常进位时第进位时第7位和第位和第8位都有进位,即双进位,这是进位位都有进位,即双进位,这是进位是正常的。如果只有第是正常的。如果只有第7位或第位或第8位一个位产生进位则位一个位产生进位则称为称为“溢出溢出”
12、。溢出的特征为单进位,单进位或。溢出的特征为单进位,单进位或“溢溢出出”表示运算结果是错误的。表示运算结果是错误的。第三节第三节 BCD码及文字符号代码码及文字符号代码 一、一、BCD码码 BCD 码以码以4 4位为一组,选用位为一组,选用 0000 0000B B至至10011001B B的十种的十种状态代表状态代表0-90-9共共1010个数,舍弃二进制表示法中的其余个数,舍弃二进制表示法中的其余6 6种状态。例如十进制数种状态。例如十进制数84.784.7转换为的转换为的BCD码:码:8 4 .7 8 4 .7 0 0 1000 0100.01110000 1000 0100.01110
13、000 BCD 码码10010100100101000111001001110010转换为十进制数:转换为十进制数:1001 0100.0111 0010 1001 0100.0111 0010 9 9 4 .7 2 4 .7 2 二、ASCII码 ASCII 码是美国信息交换标准代码的简称,共码是美国信息交换标准代码的简称,共128128个,用数码个,用数码00000000000000O-01111111 O-01111111 表示各种文字或表示各种文字或符号,其中包括符号,其中包括 英文大小写字母:英文大小写字母:5252个;个;0 0至至9 9数码:数码:1010个;个;常用书写符号和常
14、用运算符号:常用书写符号和常用运算符号:!和!和+、-、等等)有有3232个;个;控制符号:控制符号:3434个:个:共计共计128128个。例如英文大写字母个。例如英文大写字母 A A 的的ASCII码为码为0100000101000001,或写成十六进制为,或写成十六进制为4141H H。详见附录详见附录。返回本章首页第四节 单片机系统的组成一、单片机系统的硬件一、单片机系统的硬件 硬件是指构成单片机系统的所有电子、机械和磁硬件是指构成单片机系统的所有电子、机械和磁性的部件及设备,包括中央处理单元、存储器、外性的部件及设备,包括中央处理单元、存储器、外围设备与输入输出接口。它的组成如图。围
15、设备与输入输出接口。它的组成如图。单片机系统的硬件组成 单片机的输入单片机的输入/输出接口输出接口 输入输出设备与主机的连接电路称为接口,简称输入输出设备与主机的连接电路称为接口,简称I0接接口。接口是主机与外设之间的连接部件,设置目的一是为口。接口是主机与外设之间的连接部件,设置目的一是为了实现外设与总线的隔离。二是为了对进出信号进行锁存了实现外设与总线的隔离。二是为了对进出信号进行锁存或变换,隔离一般用三态门,锁存可以采用或变换,隔离一般用三态门,锁存可以采用D触发器。触发器。由三态门构成的IO接口由D触发器构成的IO接口 二、单片机系统的软件二、单片机系统的软件 软软件件是是各各种种程程
16、序序及及数数据据的的总总称称,它它以以数数字字形形式式存存储储在在硬硬件件之之中中,软软件件可可用用不不同同的的语语言言编编写写,即即机机器器语语言言、汇汇编编语语言和高级语言。言和高级语言。1 1机器语言:机器语言:机机器器语语言言以以二二进进制制数数码码表表示示操操作作指指令令或或数数据据的的一一种种语语言言。它它可可直直接接为为单单片片机机的的CPU所所识识别别,用用其其他他语语言言编编写写的的程程序序最最后后也也要要转转换换成成机机器器语语言言,才才能能送送入入CPUCPU执执行行运运算算,由由于这种语言随机器的不同而异于这种语言随机器的不同而异,故称之为机器语言。故称之为机器语言。2
17、 2汇编语汇编语言:言:汇汇编编语语言言是是以以助助记记符符代代替替机机器器指指令令的的一一种种语语言言,每每条条助助记记符符都都对对应应一一条条机机器器指指令令,目目的的是是为为了了容容易易阅阅读读且且直直观观易易记。记。3 3高高级语级语言:言:高高级级语语言言面面向向过过程程的的语语言言,面面向向过过程程是是指指这这种种语语言言只只考考虑虑解解题题的的过过程程,只只有有在在细细节节的的地地方方才才考考虑虑使使用用的的是是什什么么机机器器,所所使使用用的的词词和和语语句句都都尽尽量量采采用用常常用用的的单单词词、数数学学符符号号和和表表达达式式、但但最最终终还还是是要要转转换换为为以以机机
18、器器语语言言表表示示的的目目标标程程序,才能使用。序,才能使用。第五节第五节 8051单片机的结构单片机的结构 一、一、80518051单片机的内部结构单片机的内部结构 80518051单单片片机机内内部部包包括括(1)(1)时时钟钟振振荡荡器器(2)8(2)8位位的的CPU(3)CPU(3)128128字字节节的的RAMRAM数数据据存存储储器器 (4)4(4)4K K字字节节的的程程序序存存储储器器(5)4(5)4个个8 8位位的的并并行行I IO O端端口口(6)(6)一一个个全全双双工工异异步步串串行行通通信信口口(UART)(7)UART)(7)两两个个1616位位的的定定时时/计计
19、数数器器(8)(8)5个中断源及两个优先级的中断结构。个中断源及两个优先级的中断结构。二、外部引脚二、外部引脚 8051单片机的引脚是面向用户的,所以使用者需单片机的引脚是面向用户的,所以使用者需要熟悉各引脚的用途,以便正确接线。常用的要熟悉各引脚的用途,以便正确接线。常用的8051芯芯片是用双列直插片是用双列直插40脚封装。脚封装。三、时钟振荡器三、时钟振荡器 时时钟钟振振荡荡器器是是单单片片机机工工作作的的原原始始动动力力,可可以以利利用用内内部部的的振振荡荡电电路路,在在外外围围加加接接晶晶振振和和电电容容组组成成。也也可从外部引入。可从外部引入。利用内部时钟电路组成的振荡器利用内部时钟
20、电路组成的振荡器利用片外的振荡器输入利用片外的振荡器输入 四、四、8位的位的CPU CPU由运算器、控制器等组成,运算器是CPU进行运算的部件,由算术逻辑单元(ALU)、状态寄存器(PSW)及有关寄存器组成。运算内容包括算术运算、逻辑运算及移位运算。控制器是计算机的指挥中心,控制程序的运行。内有程序计数器(简称PC)、PC加1寄存器、指令寄存器等部件。CPU中与用户关系比较密切的为状态寄存器与程序计数器,可以通过程序中指令读取它的数值,也可以通过程序对它赋值。五五、存储器、存储器 1、程序存储器、程序存储器 80518051片内程序存储器有片内程序存储器有4 4KBKB,其地址为其地址为000
21、00000H-0FFFHH-0FFFH。若不够使用可若不够使用可在片外扩充,其地址可以从在片外扩充,其地址可以从00000000H-0FFFFHH-0FFFFH。当。当EAEA为高电平时,则执行为高电平时,则执行片内片内ROMROM程序到程序到0 0FFFHFFFH后自动转到片外。后自动转到片外。EAEA为低电平时,则一开始就从为低电平时,则一开始就从片外片外00000000H H地址开始执行片外地址开始执行片外ROMROM的程序。的程序。执行程序示意图 2.、数据存储器、数据存储器用于存储单片机运行用于存储单片机运行过程中的数据,是程过程中的数据,是程序中最常用的存储器序中最常用的存储器特殊
22、功能寄存器区实际上是单特殊功能寄存器区实际上是单片机内部寄存器或片机内部寄存器或IO口,按口,按统一编址原则,将其划定在片统一编址原则,将其划定在片内存储区。地址不连续,部分内存储区。地址不连续,部分可进行位寻址。可使用地址也可进行位寻址。可使用地址也可用名称。可用名称。运行中若需要保运行中若需要保存大批数据,而存大批数据,而工作寄存器又不工作寄存器又不够保存,可在片够保存,可在片外扩充。外扩充。特殊功能寄存器(特殊功能寄存器(SFRSFR)的使用)的使用 特殊功能寄存器的字节地址:特殊功能寄存器的字节地址:特殊功能寄存器的字节地址安特殊功能寄存器的字节地址安排在排在80H80H至至0FFH0
23、FFH,但不连续,但不连续,部分地址没有定义,没有定义的实际上也部分地址没有定义,没有定义的实际上也不存在。它不是用于存储一般的数据,而是用于片内接口的功能设置,不存在。它不是用于存储一般的数据,而是用于片内接口的功能设置,或作为输入输出接口。在或作为输入输出接口。在80H80H至至0FFH0FFH区间。有一部分字节地址区间。有一部分字节地址(指字节指字节地址能被地址能被8 8整除的部分整除的部分)可进行位寻址。可位寻址的部分同时属于位寻可进行位寻址。可位寻址的部分同时属于位寻址区,可位寻址区的每个字节地址包含有址区,可位寻址区的每个字节地址包含有8 8个位地址。个位地址。特殊功能寄存器的符号
24、地址:特殊功能寄存器的符号地址:每个特殊功能寄存器都有一个每个特殊功能寄存器都有一个符号地址,一个字节地址对应一个符号,使用时既可以用字节,也可符号地址,一个字节地址对应一个符号,使用时既可以用字节,也可以用符号。以用符号。P0=80H P1=90H P2=A0H P3=B0H SP=81H IP=B8H PSW=D0H A=E0H B=F0H DPL=82H DPH=83H PCON=87H TCON=88H TMOD=89H TL0=8AH TL1=8BH TH0=8CH TH1=8DH SCON=98H SBUF=99H IE=A8H 在字节地址中可位寻址的部分,一个字节地址有在字节地址
25、中可位寻址的部分,一个字节地址有8 8个位地址。同样个位地址。同样每个位地址也都有一个位地址符号。每个位地址也都有一个位地址符号。特殊功能寄存器特殊功能寄存器(SFR)(SFR)中的程序状态字寄存器中的程序状态字寄存器(PSW)(PSW)SFRSFR中有一个中有一个用于提供运算结果的特征标志的寄存器,称用于提供运算结果的特征标志的寄存器,称程序状态字寄存器,这是一个与使用者关系密切的寄存器。程序状态字寄存器,这是一个与使用者关系密切的寄存器。PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0CY AC F0 RS1 RS0 OV /P 奇偶标志位:若
26、“1”的个数为奇P置1,为偶P置0溢出标志位:有溢出时置1工作寄存器区选择控制位:在数据存储器00H至1FH间选择。半进位标志:运算中低半字节产生进位时置1备用累加器A的进位标志:运算结果最高位有进位或借位时CY置1。六、堆栈六、堆栈 8051单片机的堆栈,是从片内单片机的堆栈,是从片内RAM中,由用户自行指定的一部中,由用户自行指定的一部分内存区,可通过对堆栈指针分内存区,可通过对堆栈指针SPSP赋值,指定堆栈的栈顶。例如图中赋值,指定堆栈的栈顶。例如图中由用户指定由用户指定SP=69HSP=69H,即将,即将6969H H后的内存单元作为堆栈。后的内存单元作为堆栈。返回本章首页第六节第六节
27、 8051单片机的复位和低功耗工作方式单片机的复位和低功耗工作方式 一、复位方式一、复位方式 1.复位目的与条件复位目的与条件 复位目的:复位目的:是对单片机的片内电路重新进行是对单片机的片内电路重新进行初始化,使有关部件都恢复到原先规定的初始初始化,使有关部件都恢复到原先规定的初始状态。并使状态。并使PC=0000HPC=0000H,不论原来程序运行到什不论原来程序运行到什么地方,都将重新从么地方,都将重新从00000000H H开始运行。开始运行。复位条件:复位条件:必须在必须在80518051单片机的单片机的RSTRST引脚,引脚,保持两个机器周期以上的高电平保持两个机器周期以上的高电平
28、 。2复位电路复位电路 由由单单片片机机提提供供的的RSTRST引引脚脚,可可以以外外接接R R、C C元元件件组组成成复复位位电电路路。如如下下图图所所示示。当当S S按按钮钮按按下下时时利利用用RCRC电电路路可可保持保持RSTRST有两个机器周期以上的高电平有两个机器周期以上的高电平 。3 复位后某些特殊寄存器状态复位后某些特殊寄存器状态寄存器 内容 寄存器 内容PC 0000H TMOD 00HACC 00H TCON 00HB 00H PCON 00HPSW 00H TH0 00HSP 00H TL0 00HDPTR 0000H TH1 00HP0-P3 0FFH TL1 00HIP
29、 xxx00000H SCON 00HIE 0 xx00000H SBUF 不定 二、低功耗工作方式二、低功耗工作方式 1待机(休闲)状态待机(休闲)状态 待机(休闲)状态是一种低功耗的工作方式。待机(休闲)状态是一种低功耗的工作方式。进进入入待待机机状状态态后后,除除中中断断功功能能外外,停停止止其其他他工工作作,但但片片内内RAMRAM及及特特殊殊功功能能寄寄存存器器状状态态都都会会保保持持不不变变,I/OI/O引引脚脚保保持持原原逻逻辑辑值值,ALEALE、PSENPSEN无无效效,停停止止取取指指。在在这这种种状状态态下下,工工作作电电流流可可以以从从正正常常的的2020mAmA降到降
30、到5 5mAmA,使系统能在低功耗下待命。使系统能在低功耗下待命。要要使使单单片片机机进进入入待待机机(休休闲闲)状状态态,可可以以利利用用片片内内特特殊殊功功能能寄寄存存器器中中的的PCONPCON,将将其其D0D0位位IDLIDL置置1 1(MOV MOV PCONPCON,#01H#01H),要要退退出出可可将将IDLIDL置置0 0,或或通通过复位退出。过复位退出。2.掉电保护状态掉电保护状态 单片机掉电后可以投入备用电池,这时单片机掉电后可以投入备用电池,这时希望系统耗电尽量小,以增大电池的使用时希望系统耗电尽量小,以增大电池的使用时间,为此掉电后,要使单片机进入掉电保护间,为此掉电后,要使单片机进入掉电保护状态,这时工作电流大约只有状态,这时工作电流大约只有7575A A。片内片内振荡器停振,所有功能部件停止工作,振荡器停振,所有功能部件停止工作,ALEALE、PSENPSEN为低,仅保留片内为低,仅保留片内RAMRAM的数据信息。的数据信息。要进入掉电保护状态,可将要进入掉电保护状态,可将PCONPCON寄存器寄存器中的中的D1D1位位PDPD置置1 1,要退出掉电保护状态,只,要退出掉电保护状态,只能通过复位。能通过复位。返回本章首页