《单片微型计算机原理及应用.ppt》由会员分享,可在线阅读,更多相关《单片微型计算机原理及应用.ppt(392页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片微型计算机原理及应用 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第一章第一章第一章第一章概述概述第二章第二章第二章第二章mcs-51单片机结构及原理单片机结构及原理第三章第三章第三章第三章 MCS-51单片机指令系统及编程举例单片机指令系统及编程举例第四章第四章第四章第四章单片机定时功能及应用单片机定时功能及应用第五章第五章第五章第五章单片机的中断系统单片机的中断系统第六章第六章第六章第六章单片机串行口及应用单片机串行口及应用第七章第七章第七章第七章单片机
2、系统扩展单片机系统扩展第八章第八章第八章第八章 D/A、A/D转换器接口及应用转换器接口及应用目目录录11/15/202221定义定义:单片机全称为单片微型机算计(:单片机全称为单片微型机算计(single-chipMicrocomputer),),它在一块芯片上集成了它在一块芯片上集成了CPU、RAM、ROM(EPROM,E2PROM)CTC和多个和多个I/O口,此外,有的单片机如口,此外,有的单片机如8096单片机上还集成单片机上还集成第一章第一章概述概述一单片机的定义及特点一单片机的定义及特点测量与显示:测量与显示:如各种智能仪表,用于提高测试与显示的如各种智能仪表,用于提高测试与显示的
3、自动化程度和准确度。自动化程度和准确度。3.应用领域应用领域:主要应用于以下几方面:主要应用于以下几方面2特点特点:单片机的体积小,可靠性高,价格便宜,功耗低,:单片机的体积小,可靠性高,价格便宜,功耗低,它是目前应用最广泛的工业控制微机。它是目前应用最广泛的工业控制微机。了了ADC和和DAC转换芯片。转换芯片。11/15/20223机电一体化工业机电一体化工业:如加工中心,用于提高加工的自动化程度:如加工中心,用于提高加工的自动化程度和精度。和精度。第一代第一代:1976-1978年,典型产品为年,典型产品为MCS-48,8位位CPU,并行并行I/O口,口,8位定时计数器,无串行位定时计数器
4、,无串行I/O口口,RAM、ROM容容量较小,寻址范围小于量较小,寻址范围小于4KB。二、二、单片机的发展概况单片机的发展概况日常生活日常生活:如各种家电中,用于提高家电的自动化程度,增强:如各种家电中,用于提高家电的自动化程度,增强其功能。其功能。实时控制系统实时控制系统:对一些实时过程的控制与监测,实现过程中数:对一些实时过程的控制与监测,实现过程中数据的实时处理与控制,从而保证系统的最佳工据的实时处理与控制,从而保证系统的最佳工作状态,提高系统的工作效率和产品质量。作状态,提高系统的工作效率和产品质量。4l第二代第二代:1980年年-至今,典型产品为至今,典型产品为MCS-51,8位位C
5、PU,并行并行I/O口,增有串行口,增有串行I/O口,口,16位定时位定时/计数器,可进行计数器,可进行中断处理,具有并行三总线结构,中断处理,具有并行三总线结构,RAM,ROM容量容量较大,最大寻址范围为较大,最大寻址范围为64KB。典型产品有典型产品有8051,8751和和8031。其三种芯片的主要区别在于:。其三种芯片的主要区别在于:ROM,EPROM和外接和外接EPEOM。8051内部程序要有生产芯片的厂内部程序要有生产芯片的厂家写入,适用于低成本大批量生产;家写入,适用于低成本大批量生产;8751片内程序可由用户固化片内程序可由用户固化1.MCS-51系列简介:系列简介:三、三、常用
6、单片机系列介绍常用单片机系列介绍l第三代第三代:1982-至今,典型产品为至今,典型产品为MCS-96,是是8位机的进一步完位机的进一步完善,善,16位位CPU,具有串、并行的通信功能,定时、计具有串、并行的通信功能,定时、计数、中断处理的功能更强,数、中断处理的功能更强,RAM、ROM容量更大,容量更大,并增加了多通道并增加了多通道A/D及及D/A转换器,寻址范围为转换器,寻址范围为64KB。5RAM:ROM:EPROM:或清除,价格相对较贵,适用于开发样机;或清除,价格相对较贵,适用于开发样机;8031芯片必须外接芯片必须外接ROM,适用于较方便进行修改和更新程序记忆的场合。适用于较方便进
7、行修改和更新程序记忆的场合。2.存储器简介存储器简介:memory是单片机的主要组成部分之一,主要用于是单片机的主要组成部分之一,主要用于存储信息,它的分类如下:存储信息,它的分类如下:可擦除可编程的只读可擦除可编程的只读ROM,用紫外线可擦用紫外线可擦除其内容,用专用设备用户可固化信息。除其内容,用专用设备用户可固化信息。内存内存:随机存储器,其中信息可读可写,断电丢失全随机存储器,其中信息可读可写,断电丢失全部内容。部内容。只读存储器,用户不可更改其内容,与只读存储器,用户不可更改其内容,与EPROM同样,断电仍可保存信息。同样,断电仍可保存信息。外存外存:可随时读写并永久保存信息可随时读
8、写并永久保存信息但硬盘存储容量但硬盘存储容量硬盘:硬盘:6软盘:软盘:优盘:优盘:光盘:光盘:可随时读取信息,容量大,随身携带方便,可随时读取信息,容量大,随身携带方便,也可对其进行写操作并永久保存信息,但必也可对其进行写操作并永久保存信息,但必须配备专门的刻盘机。须配备专门的刻盘机。有限,随身携带不方便。有限,随身携带不方便。软盘可随时读写并永久保存信息,其容量小软盘可随时读写并永久保存信息,其容量小但可无限扩充,随身携带方便。但可无限扩充,随身携带方便。四、数制及其间的转换四、数制及其间的转换1数制:数制:常用的计数方法,有二(常用的计数方法,有二(B)、)、八八(Q)、十(十(D)、)、
9、十十六(六(H)、)、十二及六十进制等。十二及六十进制等。基:指数制所使用数码的个数。基:指数制所使用数码的个数。如:如:B(2),),Q(8),),D(10)、)、H(16)。)。特点同软盘,但容量较软盘大很多,比硬盘小。特点同软盘,但容量较软盘大很多,比硬盘小。7权:指数制的每一位数码所对应的值,几进制数的权就是以几权:指数制的每一位数码所对应的值,几进制数的权就是以几为底的幂,即权为基的幂。为底的幂,即权为基的幂。十进制转换为二,八,十六进制时,原则为十进制转换为二,八,十六进制时,原则为整数部分除整数部分除基取基取余余,先出低位,先出低位,小数部分乘基取整小数部分乘基取整,先出高位,先
10、出高位。例例1432D=1000101B(取四位小数,并非精确)取四位小数,并非精确)例例225473D=37656Q=FEBA二,八,十六进制转换为十进制时,原则为二,八,十六进制转换为十进制时,原则为按权展开相加按权展开相加。例例1FFFFH=15163+15162+15161+15160=65535例例210111100101B=27+25+24+23+22+2-1+2-3=188625D2数制之间相互转换的原则数制之间相互转换的原则:例:例:1010B的基为的基为2,各位的权分别为:,各位的权分别为:23、22、21和和20。8机器数机器数:数字在机器中的表示方式称为机器数,即将符号:
11、数字在机器中的表示方式称为机器数,即将符号(+,)也作为数字的一部分。具体地说,在存储,)也作为数字的一部分。具体地说,在存储数据时,最高一位用来表示数字的符号,当数字为数据时,最高一位用来表示数字的符号,当数字为正时,最高一位的值为正时,最高一位的值为0,当数字为负时,最高一,当数字为负时,最高一位的为值位的为值1。机器数有原码、反码和补码三种形式。机器数有原码、反码和补码三种形式。3数在计算机中的表示方法数在计算机中的表示方法真值真值:一个数的实际大小称为这个数的真值。:一个数的实际大小称为这个数的真值。原码原码:正数的符号位用:正数的符号位用0表示,负数的符号位用表示,负数的符号位用1表
12、示,符号表示,符号位之后是数字的真值,此法表示的数字称为数的原码。位之后是数字的真值,此法表示的数字称为数的原码。正数的原码与其真值相同。正数的原码与其真值相同。9例:例:对于对于8位数据,位数据,+35H表示为表示为+35H原码原码=00110101,35H表示为表示为-35H原码原码=10110101,+0原码原码=00000000,-0原码原码=10000000例:例:对于对于8位数据,位数据,+35H表示为表示为+35H反码反码=00110101,35H表示为表示为-35H反码反码=11001010,+0反码反码=00000000-0反码反码=11111111反码反码:正数的反码与其原
13、码相同,负数的反码则为其对应的:正数的反码与其原码相同,负数的反码则为其对应的原码按位取反(符号位除外)。原码按位取反(符号位除外)。10补码补码:正数的补码与其原码相同,负数的补码则为其对应的原:正数的补码与其原码相同,负数的补码则为其对应的原码按位取反(符号位除外)加码按位取反(符号位除外)加1。计算机中所能表示的计算机中所能表示的符号数符号数的范围为:的范围为:-2n-12n-11,n为数据的位数。为数据的位数。注注注注 计算机中所有的符号数都是用计算机中所有的符号数都是用补码补码表示的。表示的。例:对于例:对于8位数据,位数据,+35H表示为:表示为:+35补码补码=00110101,
14、35H表示为:表示为:-35补码补码=11001011,+0补码补码=-0补码补码=00000000。当当n=8时,所能表示的符号数的范围为:时,所能表示的符号数的范围为:-128127,当当n=16时,所能表示的符号数的范围为:时,所能表示的符号数的范围为:-3276832767。11已知一个数的补码时,其真值为:已知一个数的补码时,其真值为:正数正数真值真值=正数正数补码补码负数负数真值真值=负数负数补码补码取反取反(符号位除外)(符号位除外)1例:例:Y=11710=117补补+10补补=10001011+1110110=110000001=-127将减数与减号一起变为补码后再与被减数的
15、补码相加,将减数与减号一起变为补码后再与被减数的补码相加,其和(如有进位则舍弃进位)就是两数之差。其和(如有进位则舍弃进位)就是两数之差。利用补码可将减法转换为加法以简化硬件电路,具体原理为:利用补码可将减法转换为加法以简化硬件电路,具体原理为:例:例:x=01001101,则则x真值真值=01001101=77Dx=10110101,则则x真真 值值=11001010+1=11001011=75D124ASCII码:码:(又称字符编码)(又称字符编码)5BCD码码用四位二进制数表示一位十进制数的编码称为用四位二进制数表示一位十进制数的编码称为BCD码。码。以上这些字符在计算机中都用固定的二进
16、制数表示,国际上以上这些字符在计算机中都用固定的二进制数表示,国际上目前采用最常用的美国信息标准代码也称目前采用最常用的美国信息标准代码也称ASCII码码来表示。要求来表示。要求大家记住前两类字符的大家记住前两类字符的ASCII码值。码值。英文字母英文字母AZ及及az;数字字符数字字符09:专用字符:专用字符:+,/,空格和各种标点符号;,空格和各种标点符号;各种非打印字符如:各种非打印字符如:CR(回车),回车),LF(换行),换行),BELL(响铃)等。响铃)等。计算机处理的信息并不全是数字,有时还要处理字符和字计算机处理的信息并不全是数字,有时还要处理字符和字符串,常见的字符有:符串,常
17、见的字符有:13第二章第二章mcs-51单片机结构及原理单片机结构及原理2.1mcs-51单片机结构单片机结构2.2mcs-51的存储器结构的存储器结构2.3单片机的时序单片机的时序14第一节第一节mcs-51单片机结构单片机结构一、一、mcs-51单片机内部结构简介单片机内部结构简介二二8051CPU的组成及其功能的组成及其功能三三MCS-51引脚及功能引脚及功能单片机内部最核心的部分是单片机内部最核心的部分是CPU,CPU的主要功能是产的主要功能是产生各种控制信号,控制存储器及输入生各种控制信号,控制存储器及输入/输出端口的数据传送,实输出端口的数据传送,实现数据的算术运算、逻辑运算以及位
18、操作处理等功能。现数据的算术运算、逻辑运算以及位操作处理等功能。15外时钟源外时钟源振荡器和时序振荡器和时序OSC程序存储器程序存储器4KBROM数据存储器数据存储器256BRAM/SFR外部事件计数器外部事件计数器216位位定时器定时器/计数器计数器8051CPU内中断内中断外中断外中断64KB总线总线扩展控制器扩展控制器可编程可编程I/OP0P3可编程全可编程全双工串行口双工串行口控制控制并行口并行口串行通信串行通信168051CPU的组成及其功能的组成及其功能指令译码器:指令译码器:将指令将指令RS的指令转换成电信号,再经逻辑控制的指令转换成电信号,再经逻辑控制电路产生各种控制信号。电路
19、产生各种控制信号。指令指令Register(RS):8位,用于暂存待执行的指令,等待译码。位,用于暂存待执行的指令,等待译码。(译码前指令为(译码前指令为0、1代码,译码后指令为电信号)代码,译码后指令为电信号)PC程序计数器程序计数器:16位专用位专用RS,用于存放下一条将要执行的指用于存放下一条将要执行的指令地址,有自动加令地址,有自动加1的功能,它可保证程序按的功能,它可保证程序按一定顺序执行。一定顺序执行。8051CPU由控制器与运算器两部分组成由控制器与运算器两部分组成1控制器控制器:17数据指针数据指针DPTR:16位专用地址指针位专用地址指针RS,主要用于存放主要用于存放16位位
20、地址,作间址地址,作间址RS使用,也可拆成两个使用,也可拆成两个8位位RS,DPH和和DPL,它们片内它们片内RAM中占据中占据的地址分为的地址分为83H和和82H。8051CPU的组成及其功能的组成及其功能定时控制与条件转移逻辑电路:定时控制与条件转移逻辑电路:不介绍。不介绍。2运算器运算器累加器累加器ACC:8位专用位专用RS,用于存放操作数或中间结果,是用于存放操作数或中间结果,是188051CPU的组成及其功能的组成及其功能程序状态字程序状态字RS(PSW):8位专用位专用RS,用于存放程序运行中用于存放程序运行中的各种状态信息,它可以进行位操的各种状态信息,它可以进行位操作,作,PS
21、W的字节地址为的字节地址为D0H,位地位地址为址为D0D7H。各位的含义如下各位的含义如下:算逻运算部件:算逻运算部件:此部件实现算数运算与逻辑运算的功能,其此部件实现算数运算与逻辑运算的功能,其运算结果的状态送运算结果的状态送PSW中。中。CPU中使用最频繁的一个中使用最频繁的一个RS,也是也是21个个SFR中的一个。中的一个。CY(PSW.7):):进位标志,表示在进行进位标志,表示在进行无符号无符号加减时,最加减时,最19高位有无向更高位进(借)位,当有进位高位有无向更高位进(借)位,当有进位CY=1,无则无则CY=0程序状态字程序状态字RS(PSW)各位的含义各位的含义RS1,RS0(
22、PSW.4,PSW.3):):RS组选择标志,用于选择内组选择标志,用于选择内部部RAM中中4个个RS中的一组它中的一组它们的关系如下:们的关系如下:F0(PSW.5):):用户标志位,由用户通过程序设置用户标志位,由用户通过程序设置1或或0,表示,表示程序处于某种状态,为后续程序执行提供条件。程序处于某种状态,为后续程序执行提供条件。AC(PSW.6):):半进位标志,表示在进行无符号加减时,半进位标志,表示在进行无符号加减时,D3位有无向位有无向D4位进(借)位,当有位进(借)位,当有AC=1,无无则则AC=0,主要用于主要用于BCD码的判断位。码的判断位。20RS1RS0寄存器组寄存器组
23、片内片内RAM地址地址00第第0组组00H07H01第第1组组08H0FH10第第2组组10H17H11第第3组组18H1FH程序状态字程序状态字RS(PSW)21B寄存器寄存器:用于乘除法操作,:用于乘除法操作,8位位RS,是是21个个SFR中之一,中之一,B用来存放第二操作数,即用于存放乘法的高位字节用来存放第二操作数,即用于存放乘法的高位字节或除法的余数部分。或除法的余数部分。OV(PSW.2):):溢出标志,当进行符号数运算时可表示是否溢出标志,当进行符号数运算时可表示是否有溢出,则有溢出,则OV=1,无则无则OV=0,溢出的逻辑溢出的逻辑表达式为表达式为OV=C6Y C7YF1(PS
24、W.1):保留位,无定义。保留位,无定义。P(PSW.0):):奇偶标志位,表示累加器奇偶标志位,表示累加器A中含中含“1”个数个数的的奇奇偶性,当偶性,当A中有奇数个中有奇数个1,则,则P=1,否则否则P=0。(与与A内容的奇偶无关)。内容的奇偶无关)。暂存器暂存器:暂存数据信息。:暂存数据信息。22MCS-51采用采用40引脚双列直插式封装引脚双列直插式封装(DIP)形式形式,(看看P28图图2-6)。)。1.主电源引脚:主电源引脚:Vss(地地)和和Vcc(+5v)。2.外接晶振引脚:有两个外接晶振引脚:有两个三三MCS-51引脚及功能引脚及功能3控制信号引脚:控制信号引脚:XTAL2:
25、片内晶振器输出端,当使用外部晶振器,作为晶振片内晶振器输出端,当使用外部晶振器,作为晶振信号的输入端。信号的输入端。XTAL1:片内晶振器输入端,当使用外部晶振器,此端接地。片内晶振器输入端,当使用外部晶振器,此端接地。RST/VPD:系统复位系统复位/备用电源输入引脚,输入信号,有两个备用电源输入引脚,输入信号,有两个作用:作用:2324四个四个I/O口口P1P3锁存器均被初始化为锁存器均被初始化为0FFH;堆栈指针寄存器堆栈指针寄存器SP=07H;而而SUBF寄存器的内容寄存器的内容不确定不确定;其它其它各专用各专用RS均被写成均被写成00H;内部内部RAM不受复位影响,上电后不受复位影响
26、,上电后RAM内容为随机。内容为随机。MCS-51引脚及功能引脚及功能当电源电压下降时,此引脚可为备用电源输入线,为片内当电源电压下降时,此引脚可为备用电源输入线,为片内RAM提供备用电源。提供备用电源。RST端维持两个机器周期以上的高电平时将使单片机复位端维持两个机器周期以上的高电平时将使单片机复位。复位后复位后CPU各寄存器的特点为:各寄存器的特点为:25MCS-51引脚及功能引脚及功能当片内有当片内有EPROM时,可作为编程脉冲输入端使用。时,可作为编程脉冲输入端使用。访问外部访问外部memory时,时,ALE端仍以不变的频率周期性的输出正端仍以不变的频率周期性的输出正脉冲信号,且脉冲信
27、号,且fALE=1/6fosc,所以可用作对外输出的时钟信号所以可用作对外输出的时钟信号和定时作用;和定时作用;当当CPU访问外部访问外部memory初时,产生正脉冲初时,产生正脉冲ALE信号输出,在信号输出,在其后沿将其后沿将P0口输出的低口输出的低8位地址锁存于外部地址锁存器中;位地址锁存于外部地址锁存器中;PSEN:外部程序外部程序memory(EPROM)选通信号线,当选通信号线,当CPU读读取外部程序时,取外部程序时,PSEN每个机器周期两次有效。每个机器周期两次有效。ALE/PROG:外部扩展电路的地址锁存信号外部扩展电路的地址锁存信号/编程脉冲编程脉冲输入端,有三个作用。输入端,
28、有三个作用。26EA/VPP:程序程序memory选择线选择线/编程时电源输入线,作用如下:编程时电源输入线,作用如下:MCS-51引脚及功能引脚及功能准准双双向向端端口口工工作作特特点点:只只有有使使端端口口锁锁存存器器事事先先置置“1”,才才能能使使对对应应口口的的I/O引引脚脚作作为为输输入入线线使使用用,而而CPU执执行行输输出出操操作作时时,不管端口的状态如何都能直接输出信号。不管端口的状态如何都能直接输出信号。4输入输出引脚:输入输出引脚:P0、P1、P2、P3均为准双向端口。均为准双向端口。当当EA=1时,如果时,如果PC 0FFFH时时,则则CPU访问片内访问片内ROM,否则否
29、则CPU自动转向外部自动转向外部EPROM。当当EA=0时时CPU只能访问只能访问片外片外memory;对于片内有对于片内有EPROM,编程时,此引脚接编程时,此引脚接21v编程编程VPP;27P0P3除作为一般的除作为一般的I/O线使线使用外用外,还有以下功能:还有以下功能:MCS-51引脚及功能引脚及功能P3口:第二功能见口:第二功能见P27表表27。复位后。复位后P3口的第二功能口的第二功能可直接使用,但复位前必须先置口内锁存器可直接使用,但复位前必须先置口内锁存器FFH才能用。才能用。P2口;当口;当CPU访问外部访问外部memory时,时,P2口可作为外部高口可作为外部高8位地址的输
30、出线。位地址的输出线。P1口:在口:在EPROM编程验证程序时输入低编程验证程序时输入低8位地址。位地址。P0口:当口:当CPU访问外部访问外部memory时,时,P0口可分时作为低口可分时作为低8位地址线和位地址线和8位双向数据线用。位双向数据线用。28P3口线口线第二功能第二功能P3.0RXD(串行口输入串行口输入)P3.1TXD(串行口输出串行口输出)P3.2INT0(外部中断外部中断0输入输入)P3.3INT1(外部中断外部中断1输入)输入)P3.4T0(定时器定时器0的外部输入)的外部输入)P3.5T1(定时器定时器1的外部输入)的外部输入)P3.6WR(片外数据存储器写选通输出)片
31、外数据存储器写选通输出)P3.7RD(片外数据存储器读选通输出)片外数据存储器读选通输出)29第二节第二节MCS-51的存储器结构的存储器结构MCS-51单片机单片机物理物理上有上有4个存储空间:片内程序存储器,个存储空间:片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器。这些存片外程序存储器,片内数据存储器,片外数据存储器。这些存储器结构的物理特点是:程序存储器和数据存储器空间是相互储器结构的物理特点是:程序存储器和数据存储器空间是相互独立的,片内数据存储器和片外数据存储器空间也是相互独立独立的,片内数据存储器和片外数据存储器空间也是相互独立的,所以从的,所以从逻辑逻辑上又可分
32、为上又可分为3个存储空间个存储空间:片、外统一编址的片、外统一编址的程序存储器,片内数据存储器和片外数据存储器程序存储器,片内数据存储器和片外数据存储器。30CPU通过通过P0,P2口送出要访问存储单元的地址口送出要访问存储单元的地址A0A15。CPU发出发出ALE信号把信号把P0口地址信号口地址信号A0A7锁入锁存器锁入锁存器存储器按存储器按A0A15地址进行译码,找到要访问的单元。地址进行译码,找到要访问的单元。如下页图如下页图,MCS-51访问外部存储器,粗略的讲可分为以访问外部存储器,粗略的讲可分为以下四步:下四步:CPU发出发出PSEN信号,把外部信号,把外部EPROM中中A0A15
33、指向单指向单元中的数据信息经元中的数据信息经P0口送入口送入CPU;或或CPU发出发出RD信号信号将外部将外部RAM中中A0A15所指向单元的所指向单元的data经经P0口读入;口读入;或或CPU发出发出WR信号将信号将data经经P0口写入外部口写入外部RAMA0A15所指向单元。所指向单元。一、一、MCS-51单片机内、外存储器系统简介单片机内、外存储器系统简介31ROM4KBRAM(21个个)SFRRDWRPSENRDWRDE地址地址锁存器锁存器EPROM64KBRAM64KBALEP0口口P2口口MCS51+5VREAS32二、二、MCS-51各存储器具体说明:各存储器具体说明:外部程
34、序存储器用于存放程序、程序执行时必要常数和表格。外部程序存储器用于存放程序、程序执行时必要常数和表格。外部程序存储器外部程序存储器EPROM:MCS-51可以扩展可以扩展64K字节的字节的EPROM,其中:其中:外部程序存储器的容量为外部程序存储器的容量为64K字节,地址为字节,地址为0000HFFFFH,当当EA=1时:时:CPU可以访问内部程序存储器可以访问内部程序存储器0000H0FFFH单单元和外部程序存储器元和外部程序存储器1000HFFFFH之间的各存储器单元;之间的各存储器单元;当当EA=0时时CPU可访问可访问0000HFFFFH全部全部64K的片外程序存的片外程序存储器。储器
35、。外部程序存储器受外部程序存储器受PC管理,管理,PC的内容始终指向下一条将的内容始终指向下一条将要执行的指令所在的地址,要执行的指令所在的地址,PC具有自动加具有自动加1的功能,保证的功能,保证程序按顺序执行。程序按顺序执行。33MCS-51单片机内部单片机内部EPROM容量为容量为4K字节,地址范围为字节,地址范围为0000H0FFFH,在在EA=1时,且时,且PC的值小于等于的值小于等于0FFFH时,时,CPU才可访问片内才可访问片内EPROM,而片内而片内EPROM与片外与片外EPROM同同样受样受PC管理,软件上也用管理,软件上也用movc类指令访问。类指令访问。外部程序存储器由外部
36、程序存储器由PSEN信号选通,正常运行时其内信号选通,正常运行时其内容只能读出,不能写入,掉电时其内容不消失。容只能读出,不能写入,掉电时其内容不消失。程序存储器由程序存储器由movc类指令访问,类指令访问,CPU在执行这类指令在执行这类指令时,可以使时,可以使PSEN信号有效,从而选中信号有效,从而选中EPROM.。内部程序存储器内部程序存储器EPROM:34外部数据存储器主要存放运行程序的过程中所需的外部数据存储器主要存放运行程序的过程中所需的数据,中间结果和最终结果。数据,中间结果和最终结果。外部数据存储器由外部数据存储器由movx类指令访问。类指令访问。外部数据存储器由外部数据存储器由
37、WR或或RD信号选通,可以写入,信号选通,可以写入,也可以读出,掉电时内容消失。也可以读出,掉电时内容消失。外部数据存储器的容量为外部数据存储器的容量为64K字节,地址为字节,地址为0000HFFFFH。外部数据存储器受外部数据存储器受datapoint(数据指针)数据指针)DPTR和和工作寄存器管理。工作寄存器管理。外部数据存储器外部数据存储器RAM:35注:注:EPROM与与RAM的地址都是的地址都是0000HFFFFH,但但CPU对它们的访问是相互独立的,不会产对它们的访问是相互独立的,不会产生二意性,即生二意性,即CPU给出一个地址,不会同时给出一个地址,不会同时选中选中2个地址,因为
38、个地址,因为RAM在硬件上由在硬件上由RD或或WR信号选通,软件上由信号选通,软件上由movx类指令访问,而类指令访问,而EPROM在硬件上由在硬件上由PESN信号选通,软件上信号选通,软件上由由movc类指令访问。类指令访问。36位寻址空间位寻址空间:内部:内部RAM中,地址中,地址20H2FH共共16个字节单元个字节单元共共128个位)具有位寻址的功能,即个位)具有位寻址的功能,即CPU可对这可对这16个字节中的个字节中的每一位单独进行操作,所以每一位单独进行操作,所以20H2FH区域是区域是MCS-51单片机单片机MCS-51芯片内部有芯片内部有128个字节(个字节(BYTE)的内部数据
39、存储器的内部数据存储器RAM(称片内(称片内RAM),),地址为地址为00H7FH,有有128B的特殊功能的特殊功能Register(SFR),),地址为地址为80HFFH,也称高地址区,共也称高地址区,共256个字个字节的存储空间。节的存储空间。工作寄存器工作寄存器R:内部内部RAM中中00H1FH单元(共单元(共32B)为通为通用工作用工作Register区,分为区,分为4组,每组组,每组8个字节,均可用作个字节,均可用作R0R7,用户可根据用户可根据PSW中的中的RS1和和RS0的值选择相应的工作的值选择相应的工作R组。组。4.MCS-51内部内部RAM37布尔处理机的一个存储空间,其中
40、:布尔处理机的一个存储空间,其中:20H2FH对应此存储区对应此存储区中中16个字节每一个字节的地址,因为每个字节有个字节每一个字节的地址,因为每个字节有8位,所以此位,所以此存储区共有存储区共有168=128位供单独操作,这位供单独操作,这128个位的地址规定个位的地址规定为为00H7FH(RAM的低区地址也是的低区地址也是00H7FH),),在使用中由在使用中由软件加以区分。如:软件加以区分。如:MCS-51内部内部RAM且有:且有:对应的字节地址对应的字节地址=20H+位地址位地址/8,(位地址(位地址/8的的余数余数为该位在该字节中所处的具体位置)。为该位在该字节中所处的具体位置)。m
41、ov20H,A(字节操作字节操作);20H单元单元A的内容的内容mov20H,C(位操作)位操作);布尔处理机存储空间第布尔处理机存储空间第20位位(即(即24H单元中的第单元中的第0位)中位)中PSW中进位位中进位位CY内容内容。3830H7FH空间空间:用户:用户RAM区,共区,共80个字节,此部分空间可个字节,此部分空间可以作为以作为buffer、堆栈区等存储单元用,但不能作为工作寄存堆栈区等存储单元用,但不能作为工作寄存器用,不能进行位寻址。器用,不能进行位寻址。例:位地址例:位地址7AH对应的字节地址的计算方法是:对应的字节地址的计算方法是:7AH/8,商为商为F,余数为余数为2,表
42、示该位处于片内表示该位处于片内RAM2FH(20H+F)字节的第二位。字节的第二位。位地址位地址=(字节地址(字节地址-20H)8+N;其中:其中:N=07,为该位在此字节中的位置,为该位在此字节中的位置,例:例:2EH中的第中的第6位对应的位地址位对应的位地址=(2EH-20H)8+6=76H。对于工作对于工作Regester区(区(00H1FH)单元,没有被选中的工作单元,没有被选中的工作Regester单元与单元与30H7FH单元具有同样功能。单元具有同样功能。39MCS-51特殊功能特殊功能Register(SFR):80H0FFH而在而在80HFFH这这128个字节中除去个字节中除去
43、SFR占用的占用的21个字节外其余个字节外其余字节均无定义,所以访问无定义的单元得到的是一个随即数。字节均无定义,所以访问无定义的单元得到的是一个随即数。位寻址空间:在位寻址空间:在SFR中凡是字节地址能中凡是字节地址能被被8整除整除的的SFR均有位均有位寻址功能(即:寻址功能(即:末位地址为末位地址为8或或0的的SFR)。)。SFR与与RAM(007FH)的区别:的区别:SFR作为源操作数时只能采作为源操作数时只能采用用直接寻址直接寻址,寄存器间接寻址对其无效,但对,寄存器间接寻址对其无效,但对RAM有效。有效。SFR的分布:的分布:MCS-51单片机共有单片机共有21个个SFR(除除PC外
44、,外,DPTR算作两个算作两个register),),它们分布在内部它们分布在内部RAM的的80H0FFH(占占21个字节)。个字节)。40SP:堆栈指针,堆栈指针,是个是个8位位SFR,在在RAM中的地址值为中的地址值为81H,其,其内容用于指示堆栈栈顶(已存有数据的堆栈存储单元)内容用于指示堆栈栈顶(已存有数据的堆栈存储单元)的地址值。每当有数据进栈时的地址值。每当有数据进栈时SP值自动加值自动加1,出栈时自动,出栈时自动减减1,当系统复位后,当系统复位后,SP=07H,即堆栈实际上是由即堆栈实际上是由08H单单元开始。元开始。串行数据缓冲器串行数据缓冲器SBUF:是个是个8位的位的SFR
45、,地址为地址为99H,用于存用于存放串行通讯时待发送或已接受到的数据,它由两个独立的寄存放串行通讯时待发送或已接受到的数据,它由两个独立的寄存器(发送器(发送buf和接收和接收buf)组成,但它们共用一个地址。组成,但它们共用一个地址。堆栈堆栈:是个具有先入后出特点的一片存储区,堆栈的真正工作区:是个具有先入后出特点的一片存储区,堆栈的真正工作区一般选在片内一般选在片内RAM的的30H7FH内。内。几个常用几个常用SFR的基本功能的基本功能41定时器定时器/计数器计数器T0/T1:8051系列单片机有两个系列单片机有两个16位的定时器位的定时器/计数器计数器T0和和T1,它们分别为它们分别为T
46、L0,TL1和和TH0,TH1四个四个8位的独立位的独立SRF,在片内在片内RAM地址为地址为8AH8DH。注意:注意:T0与与T1不能作为不能作为2个个16位的位的RS来对待。来对待。42第三节单片机的时序第三节单片机的时序一条指令可分解为若干个基本的微操作,而这些操作所对应一条指令可分解为若干个基本的微操作,而这些操作所对应的脉冲信号在时间上有严格的先后次序,这就称为计算机的的脉冲信号在时间上有严格的先后次序,这就称为计算机的时序时序。要求掌握以下几个概念:要求掌握以下几个概念:二、二、CPU的时序的时序一、一、MCS-51单片机的复位方法及复位后内部单片机的复位方法及复位后内部各各SFR
47、状态状态复位后内部各复位后内部各SFR的状态:看的状态:看P21表表2.3。MCS-51单片机的复位方法:上电自动复位单片机的复位方法:上电自动复位按钮手动复位按钮手动复位431.振荡周期振荡周期T振振:也称时钟周期,指为单片机提供时钟信号的振荡:也称时钟周期,指为单片机提供时钟信号的振荡2.源源的的周周期期,当当晶晶振振频频率率为为12MHz时时T振振=1/12us。CPU的时序的时序指令周期指令周期T指指:指令周期是指执行一条指令所需要的时间,一:指令周期是指执行一条指令所需要的时间,一般情况下,般情况下,T指指=(14)T机机,MCS51系列单片机执行一条系列单片机执行一条最长的指令(如
48、乘、除法指令)需要最长的指令(如乘、除法指令)需要4个机器周期,即个机器周期,即4us时间。时间。机器周期机器周期T机机:指:指CPU完成某些基本操作的所需要的时间,完成某些基本操作的所需要的时间,1个个机器周期包含机器周期包含6个状态周期。个状态周期。T机机=6T状状=12T振振=1us。2.状态周期状态周期T状状:也称:也称S周期,由两个振荡周期组成一个时钟周期。周期,由两个振荡周期组成一个时钟周期。如上例中:如上例中:T状状=Ts=21/12=1/6us。44第三章第三章MCS-51单片机单片机指令系统及编程举例指令系统及编程举例指令指令:是控制计算机进行各种操作的运算代码形式的命令:是
49、控制计算机进行各种操作的运算代码形式的命令(MCS-51有有42种助记符种助记符33个指令功能共个指令功能共111条指令)。条指令)。机器码机器码:计算机所能辨认的命令是二进制代码,又称机器码或指:计算机所能辨认的命令是二进制代码,又称机器码或指令代码称。一种计算机有几十种甚至几百中指令,如果都用令代码称。一种计算机有几十种甚至几百中指令,如果都用程序程序:是人们为了完成某中预定的任务,将一系列指令,数据,:是人们为了完成某中预定的任务,将一系列指令,数据,地址按一定顺序排列而得到的一组指令。地址按一定顺序排列而得到的一组指令。指令系统指令系统:计算机所能识别执行的全部指令称作这种计算机的指:
50、计算机所能识别执行的全部指令称作这种计算机的指令系统。各种计算机的指令系统各不相同。令系统。各种计算机的指令系统各不相同。45二进制代码,记忆、书写,编程都很不方便,且易出错。二进制代码,记忆、书写,编程都很不方便,且易出错。汇编语言源程序汇编语言源程序:用助记符(操作码)、符号地址和标识符等:用助记符(操作码)、符号地址和标识符等书写的程序称之为汇编语言源程序。书写的程序称之为汇编语言源程序。汇编汇编:汇编语言源程序在机器执行前必须先转换为相应的机器码:汇编语言源程序在机器执行前必须先转换为相应的机器码方可被机器识别执行,这个过程称为翻译(汇编)。翻译方可被机器识别执行,这个过程称为翻译(汇