单片机测控技术.ppt
《单片机测控技术.ppt》由会员分享,可在线阅读,更多相关《单片机测控技术.ppt(205页珍藏版)》请在三一办公上搜索。
1、,单片机测控技术,第一章单片微型计算机概述单片微型计算机(简称单片机)作为微型计算机的一个重要的分支,自70年代问世以来,以及其高的性价比,受到人们的重视和关注,应用很广,发展也很快。单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。正因为如此,在我国,单片机已广泛地应用在智能仪器仪表、机电设备过程控制、自动检测、家用电器和数据处理等各个方面。1.1单片机的历史及发展概况单片机的发展历史可划分为四个阶段:第一阶段(19741976年):单片机初级阶段。因工艺限制,单片机采用双片的形式而且功能比较简单。第二阶段(19761978年):低性能单片机阶段。
2、以Intel公司制造的MCS-48为代表,这种单片机片内集成有8位CPU、并行I/O口、8位定时器/计数器RAM和ROM等。但是不足之处是无串行口,中断处理比较简单,片内RAM和ROM容量较小且寻址范围不大于4K。第三阶段(1978至今):高性能单片机阶段,这个阶段推出的单片,机普遍带有串行I/O口,多级中断系统,16位定时器/计数器,片内ROM、RAM容量大,且寻址范围可达64K字节,有的片外还带有A/D转换器。这类单片机的典型代表是:Intel公司的MCS-51系列、Mortorrola公司的6801和Zilog公司的Z8等。由于这类单片机的性价比高,所以,仍被广泛应用,是目前应用数量较多
3、的单片机。第四阶段(1982至今):8位单片机巩固发展及16位单片机、32位单片机推出阶段。16位单片机的主要代表是Intel公司的MCS-96系列单片机。而32位单片机除了具有更高的集成度外,其主振以达20MHz,这使32位单片机的数据处理速度比16位增快许多,性能比8位、16位单片机更加优越。80年代以来,单片机的发展非常迅速,就通用单片机而言,世界上一些著名的计算机厂家已投放市场的产品就有50多个系列,四百多个品种。单片机的产品已占整个微机产品的80%以上,其中8位单片机的产量又占整个单片机产量的60%以上。这说明8位单片机将在最近若干年仍是工业检测、控制应用的主角。1.2单片机的特点1
4、.小巧灵活、成本低、易于产品化。它能方便地组装成各种智能式测、控设 备及各种智能仪器仪表。2.可靠性好,适应温度范围宽。单片机芯片本身是按工业测控环境要求设计 的,能适应各种恶劣的环境,这是其它机种无法比拟的。3.易扩展,很容易构成各种规模的应用系统,控制功能强。单片机,的逻辑控制功能很强,指令系统有各种控制功能用指令。4.可以很方便到实现多机和分布式控制。1.3单片机的应用范围1.工业方面:各种测控系统,数据采集系统,工业机器人,智能化仪器,机电一体化产品等。2.智能仪器仪表方面:单片机应用在智能仪器仪表方面,不仅可以使传统的仪器仪表发生根本的变革,也给传统的仪器仪表行业改造带来了曙光。3.
5、通讯方面:调制解调器、程控交换技术等。4.民用方面:电子玩具、录象机、激光唱机等。5.导弹与控制方面:导弹控制、鱼雷制导控制、智能武器装备、航天飞机导航系统等。6.各种计算机外部设备及电器方面:打印机、硬盘驱动器、复印机,磁带机等。7.多机分布式系统:可用单片机构成分布式测控系统,它使单片机应用进入了一个新的水平。,第二章 80C51单片机的结构,2.1 80C51单片机的结构Intel公司生产的80C51单片机的典型产品有80C51、80C31和87C51。80C51是ROM型单片机,内部有4KB ROM;80C31无片内ROM;87C51片内有4KB EPROM。除此以外,三者的内部结构及
6、引脚完全相同。2.1.1 80C51单片机的组成及结构80C51主要由以下8部分组成。1.中央处理器(CPU):中央处理器是单片机的大脑和心脏,主要完成运算和控制功能。2.内部数据存储器(内部RAM):80C51共有256个RAM单元,但其中能作为寄存器供用户使用的仅有前面128个,后128个被专用寄存器占用。3.内部程序存储器(内部ROM):80C51共4KB掩膜ROM,用于存放程序、原始数据等。4.定时器/计数器:80C51共有2个16位的定时器/计数器,可以实现定时和计数功能。5.并行I/O口:80C51共有4个8位I/O口,可实现数据的并行输入输出。6.串行口:80C51有一个全双工的
7、可编程串行口,以实现单片机和,其它设备之间的串行数据传送。7.时钟电路:80C51单片内部有时钟电路,但晶振和微调电容需要外接。时钟电路为单片机产生示时钟脉冲序列。8.中断系统:80C51的中断系统功能较强,可以满足一般控制应用的需要。它共有5个中断源:2个外部中断源、3个内部中断源,即2个定时/计数中断,1个串性口中断。2.1.2 80C51单片机的引脚定义及功能。,1.主电源引脚VSS和VCCVSS接地,VCC主电源+5V2.时钟电路引脚XTAL1和XTAL2XTAL1:接外部晶体一端XTAL2:接外部晶体另一端3.控制信号引脚RST、ALE/PROG、PSEN、EA/VPP RST:单片
8、机刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将单片机复位。,ALE/PROG:访问片外存储器时,ALE作锁存扩展地址低位字节的控制信号(称允许锁存地址)。平时不访问片外存储器时,该端也以1/6的时钟振荡频率固定输出脉冲,供定时或其它需要使用;PSEN:在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。EA/VPP:当EA端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超过4KB时,将自动执行片外程序存储器的程序。当EAS接低电平时,CPU仅访问片外程序存储器。4.输入/输出引脚(P0、P1、P2和P3)P0.0P0.
9、7:P0口是一个8位漏极开路型双向I/O端口。在访问片外存储器时,它分时提供8位双向数据,故这些I/O线有地址线/数据线之称,简写为AD0AD7。P1.0P1.7:P1是一个带内部上拉电阻的8位双向I/O端口。P2.0P2.7:P2是一个带内部上拉电阻的8位双向I/O端口。在访问片外存储器时,它输出高8位地址,即A8A15。P3.0P3.7:P3是一个带内部上拉电阻的8位双向I/O端口。在整个系统中,这8个引脚还具有专门的第二功能。P3.0:RXD(串行口输入),P3.1:TXD(串行口输出),P3.2:INT0(外部中断0输入),P3.3:INT1(外部中断1输入),P3.4:T0(定时器/
10、计数器0的外部输入),P3.5:T1(定时器/计数器1的外部输入),P3.6:,WR(片外数据存储器写选通控制输出),P3.7:RD(片外数据存储器读选通控制输出)2.2 80C51的存储器2.2.1 程序存储器程序存储器用于存放编好的程序和表格常数。80C51片内有4KB ROM,片外16位地址线最多可扩展64KB ROM,两者是统一编址的。如果EA端保持电平,80C51的程序计数器PC在0000H0FFFH范围内(即前4KB地址)是执行片内ROM的程序。当寻址范围在1000HFFFFH时,则从片外程序存储器取指令。当EA为低电平,则始终从片外程序存储器取指令,这时片外存储器可以从0000H
11、开始编址。在程序存储器中,以下6个单元具有特殊功能。0000H:复位后,PC=0000H,即程序从0000H开始执行0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断0入口001BH:定时器1溢出中断入口0023H:串行口中断入口,2.2.2 数据存储器数据存储器用于存放中间运算结果、数据暂存、标志位等。80C51片内有256B RAM,片外最多可扩充64KBRAM,构成两个地址空间。片内高128B地址区域(即00H7FH)为专用寄存器区,只能采用直接寻址方式。在低128B RAM区中,00H1FH地址为通用工作寄存器区,分为4组,每组由8个工作寄存器(R0R7)组
12、成,共占32个单元。工作区后16B可以进行位寻址。这128位的位地址为00H7FH。,2.2.3 专用寄存器SFR80C51有21个专用寄存器,亦称特殊功能寄存器。它们离散地分布在片内数据存储器的高128位地址中,访问这些专用寄存器仅允许使用直接寻址的方式。专用寄存器并未占满80HFFH整个地址空间,对空闲地址的操作是无意义的。若访问到空闲地址,则读出的是随机数。这些专用寄存器是:,ACC:累加器AB:B寄存器PSW:程序状态字SP:堆栈指针IP:中断优先级IE:中断允许TMOD:定时器/计数器 方式TCON:定时器/计数器 控制SCON:串行控制,DPTR:数据指针(由DPL、DPH组成)S
13、UBF:串行数据缓冲器PCON:电源控制 TH0、TL0:定时器/计数器 0的高、低字节TH1、TL1:定时器/计数器 1的高、低字节 P0P3:端口03,第三章 80C51的指令系统,3.1 寻址方式指令的一个重要组成部分是操作数,它指出了参与操作的数或数所在的地址。寻址方式是指在指令代码中用以表示操作数地址的各种规定。80C51共有7种寻址方式,下面将以指令为例逐一介绍。3.1.1 立即寻址在这种寻址方式中,指令多是双字节指令。一般第一个字节是操作码,第二个字节是操作数。该操作数直接参与操作,所以称立即数,用“#”号表示。立即数就是存放在程序存储器中的常数。例:指令 MOVA,#3AH指令
14、代码为74H、3AH,是双字节指令。这条指令的功能是把立即数3AH送入累加器A中。在80C51的指令系统中,仅有一条指令的操作数是16位的立即数,其功能是向地址指针DPTR传送16位的地址,即把立即数的高8位送入DPH,低8位送入DPL。3.1.2 直接寻址在这种寻址方式中,操作数项给出的是参加运算的操作数的地址。在,80C51单片机中,直接地址只能用来表示特殊功能寄存器、内部数据存储器以及位地址空间。其中,特殊功能寄存器和位地址空间只能用直接寻址方式来访问。例:指令 MOVA,3H指令代码E5H、3AH,是双字节指令。该指令是把3AH单元存放的数据送到累加器A中。3.1.3 寄存器寻址寄存器
15、寻址是对选定的工作寄存器R0R7、累加器A、通用寄存器B、地址寄存器DPTR和进位CY中的数进行操作。工作寄存器组的选择由状态标志寄存器PSW中的RS1和RS0确定。例:指令 MOVA,R2该指令将R2中的数据传送到A中。3.1.4 寄存器间接寻址在这种寻址方式中,操作数所指定的寄存器中存放的不是操作数本身,而是操作数的地址。这种寻址方式用于访问片内数据存储器或片外数据存储器。当访问片内RAM低128B或片外RAM低256B时,可采用当前工作寄存器中的R1或R2作间接地址寄存器(用表示),即由R0或R1间接给出操作数所在的地址,这样,R0或R1为存放操作数单元的地址指针。,例:指令 MOVA,
16、R0将R0存放的地址对应的单元中的数据传送给A。3.1.5 变址寻址(基址寄存器+变址寄存器间接寻址)这种寻址方式以DPTR或PC为基址寄存器,累加器A为变址寄存器。变址时,把两者的内容相加,所得到的结果作为操作数的地址。这种方式常用于查表操作。例:指令 MOVC A,A+DPTR该指令将DPTR和A中存放的数值相加得到一个地址值,将这个地址所对应的单元中的数据传送到累加器A中。3.1.6 相对寻址相对寻址是将程序计数器PC中的当前内容与指令第二个字节所给出的数相加,其结果作为跳转指令的转移地址。转移地址也称为转移目的地址。PC中的当前内容称为基地址(它实际是本指令之后的字节地址)。指令第二个
17、字节给出的数据称为偏移量。偏移量为带符号的数,其表示的范围为-128+127。目的地址是相对于PC的基地址而言,所以这种寻址方式主要用于跳转指令。例:指令 JC03H指令表示若进位C=0,则程序顺序进行,若C=1,则以PC当前内容与偏移量03H相加得到一个地址量,程序从该地址量处开始运行。,3.1.7 位寻址位寻址是指对片内RAM的位寻址和某些可以进行位寻址的特殊功能寄存器中的任一二进制位进行操作时的寻址方式。在进行位操作时,借助于进位位C作为操作累加器。操作数直接给出该位的地址,然后根据操作码的性质对其进行位操作。位地址与字节直接寻址中的字节地址形式完全不一样,主要由操作码来区分,使用时需予
18、以注意。例:指令 SETB3DH该指令将3DH这一位置“1”。3.2 数据传送指令数据传送指令是最常用、最基本的一类指令,共有29条。这类指令操作一般是把源操作数传送到目的操作数。传送指令一般不影响标志位,只有堆栈操作可以直接修改程序状态字PSW。另外,对于传送目的操作数为ACC的指令将影响奇偶标志P。3.2.1 内部RAM传送指令单片机内部的数据传送指令最多,包括寄存器、累加器、RAM单元及专用寄存器之间的数据相互传送。下面分类介绍(1)累加器为目的操作数的指令MOVA,Rn;ARn,MOVA,direct;(direct)AMOVA,Ri;(Ri)AMOVA,#data;data A这组指
19、令的功能是将源操作数所指定的内容送入累加器A。源操作数可以采用寄存器、直接、寄存器间接和立即寻址4种方式。(2)以寄存器Rn为目的操作数的指令MOVRn,A;A RnMOVRn,direct;(direct)RnMOVRn,#data;data Rn(3)以直接地址为目的操作数的指令MOVdirect,A;A(direct)MOVdirect,Rn;Rn(direct)MOVdirect,direct;(direct)(direct)MOVdirect,Ri;(Ri)(direct)MOVdirect,#data;data(direct)(4)以直接地址为目的操作数的指令,MOVRi,A;A(
20、Ri)MOVRi,direct;(direct)(Ri)MOVRi,#data;data(Ri)(5)16位数据传送指令、MOVDPTR,#data16;dataH DPH,dataL DPL3.2.2 外部数据传送指令累加器A与片外数据存储器之间的数据传送是通过P0口和P2口进行的。片外数据存储器的地址总线低8位和高8位分别由P0口和P2口送出,数据总线也是通过P0口与低8位地址总线分时传送。在80C51中,CPU对片外RAM的访问只能用寄存器间接寻址方式,且仅有4条指令:MOVXA,DPTR;(DPTR)AMOVXDPTR,A;A(DPTR)MOVXA,Ri;(Ri)AMOVXRi,A;A
21、(Ri)前两条指令以DPTR为片外数据存储器16位地址指针,寻址范围达64KB。其功能是在DPTR所指定的片外数据存储器与累加器A之间传送数据。,后两条指令是用R0或R1作低8位地址指针,由P0口送出,寻址范围是256B,此时,P2口仍可用做通用I/O口。这两条指令完成以R0或R1为地址指针的片外数据存储器与累加器A之间的数据传送。3.2.3 查表指令在80C51指令系统中,有两条极有用的查表指令,其数据表格放在程序存储器中。MOVCA,A+PC;PC+1 PC,(A+PC)AMOVCA,A+DPTR;(A+DPTR)ACPU读取前一条单字节指令后,PC的内容自动加1。其功能为将新PC的内容与
22、累加器A内的8位无符号数相加形成地址,取出该地址单元中的内容送累加器A。这种查表只能查找所在地址以后256B范围内的代码或常数。后一条指令以DPTR为基址寄存器进行查表,使用前,先给DPTR赋予某指定查表地址,其范围可达整个程序存储器64KB空间。3.2.4 堆栈操作指令PUSHdirect;SP+1 SP,(direcr)(SP)POPdirect;(SP)direct,SP-1 SP前一条为入栈指令,后一条是出栈指令。使用堆栈指令时要注意留出足够的存储单元作栈区。,3.2.5 交换指令XCHA,Rn;A RnXCHA,direct;A(direct)XCHA,Ri;A(Ri)XCHDA,R
23、i;A.3A.0(Ri.3Ri.4)SWAPA;A.3A.0 A.7A.4这组指令后两条为半字节交换指令。其中“XCHD A,Ri”是将累加器A中低4位与Ri中的内容所指示片内RAM单元中的低4位数据相交换。“SWAPA”指令是将A的高低两半字节交换。3.3 算术运算类指令算术运算指令主要对8位无符号数据进行算术操作,共有24条。算术运算指令会影响程序状态标志寄存器PSW的有关位。3.3.1 加法指令ADDA,Rn;A+Rn AADDA,direct;A+(direct)AADDA,Ri;A+(Ri)AADDA,#data;A+data A,这组指令的功能是把源操作数所指出的内容加到A中,其结
24、果存在A中。如果位7有进位,则进位位CY置“1”,否则清“0”;如果位3有进位,则半进位位AC置“1”,否则清“0”。若看作两个带符号数相加,还要判断溢出位OV。若OV置“1”,表示和数溢出。3.3.2 带进位加法指令ADDCA,Rn;A+Rn+CY AADDCA,direct;A+(direct)+CY AADDCA,Ri;A+(Ri)+CY AADDCA,#data;A+data+CY A带进位加法多用于多字节数的加法运算,低位字节相加时可能产生进位。因此多位字节运算时,必须使用带进位的加法运算。3.3.3 带借位减法指令SUBBA,Rn;A-Rn-CY ASUBBA,direct;A-(
25、direct)-CY ASUBB A,direct;A-(Ri)-CY ASUBBA,#data;A-data-CY A在多字节减法运算中,低字节被减数数有时会向高字节产生借位,所以在多字节减法运算时必须采用带借位的减法。,3.3.4 乘法指令MULAB;AB BA这条指令的功能是把累加器A和寄存器B中两个无符号数相乘,所得的16位积低字节存放A中,高字节存放在B中。若乘积大于0FFH则OV置“1”,否则清“0”。3.3.5 除法指令DIVAB;AB的商A,余数B执行本指令后CY、OV均复位,只有当除数为0时,A和B中的内容为不确定值,此时OV标志置“1”,说明除法溢出。另外,此指令影响奇偶标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 测控 技术

链接地址:https://www.31ppt.com/p-6247867.html