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