1、模块,六,单片机在电机传动控制系统中的应用,单片机应用基础,一,、单片机概述与结构,6.1 单片机的用武之地,单片机体积小、功耗低、价格低廉,速度快、用途广、灵活性强。且具有逻辑判断、定时计数、程序控制等多种功能。,特点:,6.1 单片机的用武之地,单片机被广泛应用于仪器仪表、家用电器、医用设备、航天航空、工农业生产、服务行业,专业设备的智能化管理及过程控制等领域。,应用:,6.,2,单片机的基本概念,CPU,存储器,I/O,接口,上个世纪,70,年代,一些半导体公司开始推出一种集成电路,它包含了计算机的三大组成部分:,CPU,、,存储器,和,I/O,接口,等部件。由于它是在一个芯片上,形成芯
2、片级的,微型计算机,,称为单片微型计算机,(Single Chip Microcomputer),,简称,单片机,。,6.,2,单片机的基本概念,单片机系统结构均采用冯,诺依曼提出的“,存储程序,”思想,即,程序,和,数据,都被存放在,内存,中的工作方式,用,二进制,代替十进制进行运算和存储程序。,人们将计算机要处理的数据和运算方法、步骤,事先按计算机要执行的,操作命令,和有关,原始数据,编制成程序(二进制代码),存放在计算机内部的存储器中,计算机在运行时能够自动地、连续地从存储器中取出并执行,不需人工加以干预。,6.,2,单片机的基本概念,最基本的单片机组成,中央处理器,CPU,,包括运算器
3、、控制器和寄存器组;,输入输出(,I/O,)接口,与外部输入输出设备连接。并行接口和串行接口。,存储器,包括,ROM,和,RAM,;片内和片外。,6.,2,单片机的基本概念,图1-2 典型的单片机组成框图,中央处理器,存储器,中央处理器,I/O,接口,6.,2,单片机的基本概念,各种单片机外形图,6.,3,单片机的发展,单片机能够一次处理的数据的,宽度,。,有,1,位机、,4,位机、,8,位机、,16,位机、,32,位机。,位数:,Intel 8位单片机的发展,第一代:以1976年推出的MCS-48系列为代表。,第二代:以MCS-51的8051为代表的单片机,,第三代:以51系列、AVR、PI
4、C等为代表。,6.,3,单片机的发展,MCS-51,系列单片机中,有两个子系列:,51,子系列,、,52,子系列,。,51,子系列:,8051,、,8751,和,8031,三个型号,后来经过改进产生了,80C51,、,87C51,和,80C31,三个型号;,52,子系列:,8052,、,8752,和,8032,三个型号,改进后的型号是,80C52,、,87C52,和,80C32,。,6.,3,单片机的发展,Intel P8051AH,实物照片,6.,3,单片机的发展,51,兼容单片机,6.,3,单片机的发展,51,兼容单片机,运算器:,实现,算术运算,或,逻辑运算,包括:,算术逻辑单元ALU、
5、累加器A、暂存寄存器TR、,标志寄存器F或 PSW、通用寄存器GR,中央处理器 CPU,运算器,和,控制器,集成在一个芯片上,控制器:,中枢部件,控制计算机中的各个部件工作,包括:,指令寄存器 IR、指令译码器ID、程序计数器PC、定时与控制电路,6.4,单片机组成,存储器:,记忆,由存储单元组成。,包括:ROM、RAM,总线BUS:,在微型计算机各个芯片之间或芯片内部之间传输信息的一组公共通信线。,包括:数据总线DB:双向,宽度决定了微机的位数。,地址总线AB:单向,决定CPU的寻址范围。,控制总线CB:单向,I/O接口:,数据输入输出。,包括:输入接口、输出接口,6.4,单片机组成,字长:
6、,CPU能并行处理二进制的数据位数,8位机、16位机、32位机和64位机。,内存容量:,存储单元能容纳的二进制数的位数,容量单位:1K=2,10,=1024,1M=2,20,=1KK,8K、64K、16M、64M。,运算速度:,CPU处理速度,时钟频率、主频、每秒运算次数,6MHz、12MHz、24MHz、100MHz、300MHz。,内存存取时间:,内存读写速度,50nS、70nS、200nS。,6.5,单片机主要技术指标,6.6,MCS-51,系列单片机,MCS-51,系列单片八大机组成部分,RAM,EPROM,或,ROM,寄存器,SFR,输入输出,I/O,接口,串行,I/O,接口,定时器
7、,/,计数器,T0,、,T1,CPU,中断源,图1-4,MCS-51,系列单片机内部结构简化框,内部结构由,运算部件,和,控制部件,组成。是单片机,的核心部件。,CPU,算术逻辑运算单元,ALU,、累加器,ACC,、程序状态字寄存器,PSW,、堆栈指针,SP,、寄存器,B,、程序计数器,PC,、指令寄存器,IR,、暂存器等部件。,包括:,8,位中央处理机(,CPU,):,6.6,MCS-51,系列单片机,图1-4,MCS-51,系列单片机内部结构简化框,随机存储器,用于存放数据和运算结果。,RAM,的内容是易失性,掉电后会丢失。,128,个字节,片内数据存储器,RAM,:,6.6,MCS-51
8、,系列单片机,图1-4,MCS-51,系列单片机内部结构简化框,用以存放程序、原数据和表格。,4KB,片内程序存储器,EPROM,或,ROM,:,EPROM,:,存储器编程后,其内容可用紫外线擦除,用户可反复使用,用于开发过程,但价格高。,6.6,MCS-51,系列单片机,图1-4,MCS-51,系列单片机内部结构简化框,控制寄存器、状态寄存器、数据输入,/,输出寄存器。,18,个,特殊功能寄存器:,6.6,MCS-51,系列单片机,图1-4,MCS-51,系列单片机内部结构简化框,P0,口、,P1,口、,P2,口、,P3,口(共,32,线),用于并行输入,/,输出寄存器。,I/O,口是单片机
9、的重要资源,是衡量单片机功能的重要指标之一。,8,位,并行输入,/,输出接口:,6.6,MCS-51,系列单片机,图1-4,MCS-51,系列单片机内部结构简化框,16,位,,T0,、,T1,(,52,子系列:,T0,、,T1,、,T2,)用于单片机内部精确定时或外部事件进行计算。,T0,、,T1,串行输入,/,输出接口,(I/O),:,定时器,/,计数器(,T/C,):,实行串行通信。,6.6,MCS-51,系列单片机,图1-4,MCS-51,系列单片机内部结构简化框,中断源:,中断源,2个可编程优先级的中断源。,可接收,外部中断申请,、,定时器/计数器中断申请,和,串行口中断申请,。,6.
10、6,MCS-51,系列单片机,6.9,复位电路,复位,是单片机的初始操作。,复位的做用是使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。,复位后,程序计数器PC=0000H,程序执行必须从地址0000H开始。,80C51,复位电路,6.9,复位电路,单片机的复位靠外部电路实现,信号由,RESET(RST),引脚输入,,高电平,有效。,80C51,复位电路,复位分为,上电复位,和,按钮复位,方式,上电复位电路如图,(a),所示;按键复位有电平方式和脉冲发生,电路如图,(b),、图,(c),所示。,二、单片机的结构和原理,时钟源,T,0,T,1,P0,P1,P2,P3,TXD
11、 RXD,INT,0,INT,1,时钟电路,SFR和RAM,存储器,定时/计数器,CPU,串行I/O口,中断系统,并行I/O口,系统总线,MCS51单片机的功能模块框图,1,单片机的硬件结构,1.1,中央处理器CPU,CPU,运算器,控制器,8位的,算术逻辑运算单元,ALU,8位累加器ACC(A),8位程序状态字寄存器PSW,8位寄存器B,布尔处理器,程序计数器PC(16位),指令寄存器IR及指令译码器ID,振荡器和定时电路,1.1.1,运算器,8位的ALU,8位累加器ACC(A),可对4位、8位、16位数据进行操作。,它经常作为一个运算数经,暂存器2,进入ALU的输入端,与另一个来自,暂存器
12、1,的运算数进行运算,运算,结果,又送回ACC。,1.1.1,运算器,8位程序状态字寄存器,8位寄存器B,指示指令执行后的状态信息供程序,查询,和,判别,用。,在乘除运算时,用来存放一个,操作数,也用来存放运算后的一部分,结果,;如不能做乘除运算时,作为通用寄存器,。,1.1.1,运算器,布尔处理器,2个8位暂存器,专门用于处理位操作的,以PSW中的C为其累加器。,ALU的两个入口处。,1.1.2,控制器,程序计数器PC(16位),由两个8位计数器,PCH、PCL,组成。,PC是程序的字节地址计数器,PC内容为,将要执行的指令地址,。,改变PC内容,改变执行的流向。,PC可对64KB的ROM,
13、直接,寻址,也可对8051片内RAM寻址。,1.1.2,控制器,指令寄存器IR及指令译码器ID,由PC中的内容指定ROM地址,取出来的指令经IR送至ID,由ID对指令译码产生一定序列的控制信号,以执行指令所规定的操作。,1.1.2,控制器,振荡器和定时电路,8051单片机片内有,振荡电路,,只需外接石英晶体和频率微调电容(2个30pF左右),其频率范围为1.2MHz,12MHz。该信号作为8051工作的基本节拍即时间的最小单位。,1.2,存储器,存储器,程序存储器(ROM),数据存储器(RAM),8051及8751的片内ROM(Read Only Memory)容量为4KB。,地址从0000H
14、开始。,用于存放,程序,和,表格常数,。,1.2.1,程序存储器(ROM),1.2.2,数据存储器(RAM),8051/8751/8031RAM(Random Access Memory)均为128B,地址为,00H7FH,。,用于,存放,运算的中间,结果,、,数据暂存,以及,缓冲,等。,128B的RAM中有32个字节单元可指定为,工作寄存器,。,片内还有21个,特殊功能寄存器,(Special Function Register,SFR),它们同128字节RAM统一编址,地址为80HFFH。,1.3,存储器,I/O接口,P0,8051有四个,8位并行I/O接口,P0P3。,它们都是双向端口,
15、每个端口各有8条I/O线。,P0-P3口四个锁存器同RAM统一编址,可作为SFR来寻址。,P1,P3,P2,2,单片机引脚及其功能,MCS-51系列如8051.8751和8031均采用40引脚双列,直插封装,(Dual In-line Package,DIP)方式。因受到引脚数目的限制,有不少引脚具有,第二功能,。,MCS-51单片机引脚如图所示,ALE、RST、,XTAL1,、,XTAL,2,2,单片机引脚及其功能,MCS-51,单片机,40,引脚配置图,MCS-51,单片机,40,引脚,可分为,端口线,、,电源线,和,控制线,三类。,1.端口线(4,8=32条,),P0.0P0.7、P1.
16、0P1.7、P2.0P2.7、P3.0P3.7,2.电源线(,2条,),VCC为+5V电源线,VSS接地,3.控制线(,6条,),作通用I/O口使用,传送CPU的输入/输出数据。,MCS-51,单片机,40,引脚配置图,1.端口线(4,8=32条,),P0.0P0.7,功能:,共有8个引脚,为P0口专用。,P0.0最低位,P0.7最高位。,访问片外存储器时,先传送,低8位,地址,然后传送CPU对片外存储器的读/写数据。,第一功能(不带片外存储器):,第二功能(带片外存储器),:,2,单片机引脚及其功能,第一功能:,与,P0口的第一功能相同,也用于传送用户的输入/输出数据。,MCS-51,单片机
17、,40,引脚配置图,1.端口线(4,8=32条,),P1.0P1.7,功能:,8个引脚与P0口类似。,P1.0最低位,P1.7最高位。,第二功能,:,对52子系列而言,第二功能为定时器2输入。,2,单片机引脚及其功能,第一功能:,与,P0口的第一功能相同,作通用I/O口。,MCS-51,单片机,40,引脚配置图,1.端口线(4,8=32条,),P2.0P2.7,功能:,带内部上拉的双向I/O口,第二功能,:,与P0口的第二功能相配合,用于输出片外存储器的,高8位,地址,共同选中片外存储器单元。,2,单片机引脚及其功能,第一功能:,与,P0口的第一功能相同,作通用I/O口。,MCS-51,单片机
18、,40,引脚配置图,1.端口线(4,8=32条,),P3.0P3.7,功能:,带内部上拉的双向I/O口,第二功能,:,为控制功能,每个引脚并不完全相同。,2,单片机引脚及其功能,MCS-51,单片机,40,引脚配置图,1.端口线(4,8=32条,),P3.0P3.7,P3口的第二功能,P3口各位,第二功能,P3.0,R,X,D(,串行口输入),P3.1,TXD(串行口输出),P3.2,(外部中断,0,输入),P3.3,(外部中断1输入),P3.4,T0(定时器/计数器,0,的外部输入),P3.5,T1(定时器/计数器,1,的外部输入),P3.6,(外部数据存储器写信号),P3.7,(外部数据存
19、储器读信号),2,单片机引脚及其功能,功能:,2.电源线(,2条,),3.控制线(,6条,),VCC为+5V电源线,VSS接地,:,地址锁存允许信号,1.,与,P0口引脚的第二功能配合使用,P0,口作为地址,/,数据复用口,用,ALE,来,判别,P0,口的信息。,2,单片机引脚及其功能,MCS-51,单片机,40,引脚配置图,当,ALE,为,高电平,期间,,P0,口出现的是,地址信息,,,ALE,下降沿到来时,,P0,口上的地址信息被锁存。,当,ALE,为,低电平,期间,,P0,口上出现,指令和数据信息,。,2.,对片内带有,4K,B,EPROM,的,8751,编写固化程序时,,PROG,作为
20、,编程脉冲输入端,。,1.,与,P0口配合使用,2,单片机引脚及其功能,MCS-51,单片机,40,引脚配置图,功能:,:,内部和外部程序存储器,选择,信号,先访问片内,EPROM/ROM,,执行,内,部程序存储器中的指令。,但在程序计数器计数超过,0FFFH,时(即地址,大于,4KB,时),执行片,外,程序存储器内的程序。,只访问外部程序存储器,而不管片内是否有程序存储器。,引脚接高电平时:,引脚接低电平(接地)时:,2,单片机引脚及其功能,MCS-51,单片机,40,引脚配置图,功能:,:,片外程序存储器,读选,通信号,当执行外部程序存储器代码时,每个机器周期被激活两次。,访问外部数据存储
21、器时无效,访问内部程序存储器时无效。,执行:,访问:,2,单片机引脚及其功能,MCS-51,单片机,40,引脚配置图,功能:,:复位信号,是单片机复位,/,备用电源引脚。,RST,是复位信号输入端,,高电平,有效。,时钟电路工作后,在此引脚上连续出现,两个机器周期,的高电平(,24,个时钟振荡周期),就可以完成复位操作。,2,单片机引脚及其功能,MCS-51,单片机,40,引脚配置图,功能:,:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内的定时反馈回路。,2,单片机引脚及其功能,3,存储器的配置,3.18051存储器分类,3.2程序存储器地址空间,3.3数据
22、存储器地址空间,3.18051存储器分类,1.,物理结构(哈佛结构),8051存储器,程序存储器ROM,数据存储器RAM,片内程序存储器,片外程序存储器,片内数据存储器,片外数据存储器,3.18051存储器分类,1.,物理结构(哈佛结构),3.18051存储器分类,2.用户角度,1.片内、外统一编址的64K程序存储器地址空间。CPU访问片内、片外ROM指令用,MOVC,。,2.64K的片外数据存储器地址空间。访问片外RAM指令用,MOVX,。,3.256字节的片内数据存储器地址空间。访问片内RAM指令用,MOV,。,上述三个存储空间地址是重叠的,8051的指令系统采用不同的数据传送指令符号。,
23、3.,2,程序存储器地址空间,(ROM),1.用途,用于存放编好的,程序,和,表格常数,。,8051/8751片内ROM/EPROM的容量为,4KB,。地址为0000H,0FFFH。,片外最多可扩至64KB ROM/EPROM,地址为1000H,FFFFH。,片内外统一编址。,2.编址,3.,2,程序存储器地址空间,(ROM),3.寻址方式,当 EA=“1”时,8051的PC在00000FFFH范围内执行,片内ROM,中的程序,当指令地址超过0FFFH 后就自动转向片外ROM中取指令。,当 EA=”0”时,8051片内,ROM,不起作用,,CPU,只能从,片,外,ROM/EPROM,中取指令。
24、可以从,0000H,开始寻址。由于8031片内不带,ROM,,所以使用时必须,EA,=”0”。,8051从片内ROM和片外ROM取指的,速度相同,。,3.,2,程序存储器地址空间,(ROM),3.寻址方式,程序存储器的保留存储单元,存储单元,保留目的,0000H0002H,复位后初始化引导程序地址,0003H000AH,外部中断,0,000BH0012H,定时器,0,溢出中断,0013H001AH,外部中断,1,001BH0022H,定时器,1,溢出中断,0023H002AH,串行接口中断,002BH,定时器,2,中断(,52,子系列才有,),(1),0000H0002H三个单元,用作8051
25、上电复位后,引导程序,的存放单元。因为复位后PC的内容为0000H,CPU总是从0000H开始执行程序。将转移指令存放到这三个单元,程序就被引导到指定的程序存储器空间去执行。,3.,2,程序存储器地址空间,(ROM),3.寻址方式,(2)0003H002AH单元,均分为五段,用作五个中断服务程序的入口。,中断入口地址,外中断0(INT0):0003H,定时器0(T0):000BH,外中断1(INT1):0013H,定时器1(T1):001BH,串行口(RI/TI):0023H,3.,2,程序存储器地址空间,(ROM),3.寻址方式,3.,2,数据存储器地址空间,(RAM),1.用途,用于存放运
26、算的中间结果、数据暂存和缓冲、标志位等。,2.片外RAM,3.片内RAM,地址,0000HFFFFH,寻址,用MOVX指令,片内RAM地址空间,低128字节RAM(00H7FH),高128字节RAM(80HFFH),特殊功能寄存器SFR区,3.,2,数据存储器地址空间,(RAM),3.片内RAM,3.,2,数据存储器地址空间,(RAM),3.片内RAM,片内RAM地址空间,寻址,用指令MOV最大可寻址256个单元。,低128B(00H-7FH),真正RAM区,高128B(80H-FFH),特殊功能寄存器(SFR)区,地址 00H-FFH,3.,2,数据存储器地址空间,(RAM),3.片内RAM
27、,低128字节RAM,(00H7FH),1.工作寄存器区(00H1FH),2.位寻址区(20H2FH),3.用户RAM区(30H7FH),3.,2,数据存储器地址空间,(RAM),工作寄存器区(00H1FH),由四组(32个)工作寄存器组成,每组8个寄存器(R0-R7),共占32个单元。,2.,通过程序状态寄存器 PSW中RS1.RS0两位设定来选择CPU的当前工作寄存器组。复位时,第0组为当前的工作寄存器。,3.,若不需要四组,则其余可作为一般RAM单元。,工作寄存器与内部,RAM,单元关系,3.,2,数据存储器地址空间,(RAM),工作寄存器区(00H1FH),3.,2,数据存储器地址空间
28、,(RAM),位寻址区(20H2FH,),位寻址区有16个单元,每个单元8位,共128位。位地址为00H-7FH。,可用位寻址方式访问其各位。,这些可寻址位,通过执行指令可直接对某一位操作,如置1.清0、判断转移等。,位寻址是8051的一个重要特点。,位寻址区与位地址,3.,2,数据存储器地址空间,(RAM),位寻址区(20H2FH,),用户RAM区(30H7FH),用于堆栈和数据缓冲。,3.,2,数据存储器地址空间,(RAM),3.片内RAM,高128字节RAM(80HFFH),有21个特殊功能功能寄存器。,地址分布在80HFFH的RAM空间。,只能用直接寻址方式。,有11个具有位寻址能力。
29、11个SFR的字节地址正好能被8整除。,3.,2,数据存储器地址空间,(RAM),MCS-51系列单片机的特殊功能寄存器表,高128字节RAM(80HFFH),部分特殊功能寄存器介绍,PSW 程序状态寄存器(D0H),PSW,包含了程序执行后的状态信息,供程序查询或判断用。,PSW的格式,:,P,OV,AC,CY,RS0,RS1,F0,PSW,(D0H),D7 D6 D5 D4 D3 D2 D1 D0,3.,2,数据存储器地址空间,(RAM),堆栈指针SP(Stack Pointer)(81H),堆栈,在片内RAM中,开辟的一个按“,先进后出,”的结构方式处理数据的区域。,SP的内容可指向片内
30、RAM00H7FH的任何单元。,系统复位时,SP初始化为07H。,部分特殊功能寄存器介绍,3.,2,数据存储器地址空间,(RAM),部分特殊功能寄存器介绍,数据指针DPTR(Data Pointer)(83H,82H),DPTR是一个16位的特殊功能寄存器。,由DPH(83H),DPL(82H)组成。,DPH,DPL可以单独使用。,3.,2,数据存储器地址空间,(RAM),部分特殊功能寄存器介绍,I/O端口P0、P1.P2.P3(80H、90H、A0H、A0H),分别为四个并行端口的锁存器,每一个口锁存器还有位地址,所以每一条I/O线可独立输入或输出。输出时,可以锁存;输入时,可以缓冲。,3.
31、,2,数据存储器地址空间,(RAM),4,CPU时序,4.,1,机器周期和指令周期,4.,2,CPU取指、执行周期时序,(1)振荡周期:,(2)状态周期:,即,CPU,从,一个状态转换到另一状态所需的时间,。在80C51中,一个状态周期由两个时钟周期组成。2个振荡周期为1个状态周期,用,S,表示。,为单片机提供时钟信号的,振荡源,的周期(晶振周期或外加振荡源周期)。振荡脉冲的周期也称为,节拍,,用,P,表示。,4.1,机器周期和指令周期,是,计算机,完成一次完整的、基本的操作所需要的时间,。80C51机器周期由,六个,状态周期组成,用S1、S2、S6表示,共12个振荡周期。,(,3)机器周期:
32、,1个机器周期=6个,状态,周期=12个振荡周期,。,4.1,机器周期和指令周期,执行一条指令所需的时间,指令周期往往由一个或一个以上的机器周期组成。,1个机器周期=6个,状态,周期=12个振荡周期,。,指令周期的长短,与指令所执行的操作有关。51系列单片机的指令周期通常为,14,个机器周期。,(4,),指令,周期:,4.1,机器周期和指令周期,4.1,CPU取指、执行周期时序,每条指令的执行都可以包括取指和执指两个阶段。,在取指阶段,CPU从内部或外部ROM中取出指令操作码,及操作数,然后再执行这条指令。,3.,单字节和双字节的指令都可能是单机器周期或双周期,,而三字节指令都是双周期的,只有乘、除指令占四周,期。,