最新单片机原理及应用精品课件

上传人:s9****2 文档编号:570176494 上传时间:2024-08-02 格式:PPT 页数:158 大小:1.49MB
返回 下载 相关 举报
最新单片机原理及应用精品课件_第1页
第1页 / 共158页
最新单片机原理及应用精品课件_第2页
第2页 / 共158页
最新单片机原理及应用精品课件_第3页
第3页 / 共158页
最新单片机原理及应用精品课件_第4页
第4页 / 共158页
最新单片机原理及应用精品课件_第5页
第5页 / 共158页
点击查看更多>>
资源描述

《最新单片机原理及应用精品课件》由会员分享,可在线阅读,更多相关《最新单片机原理及应用精品课件(158页珍藏版)》请在金锄头文库上搜索。

1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩

2、子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味

3、道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人

4、生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅单片机原理及应用湘 潭 大 学单片机原理及应用编著组 输输入入/ /输输出出接接口口是是CPUCPU外外设设间间信信息息的的桥桥梁梁,它它可可以以制制成成一一块块单单独独的的大大规规模模集集成成电电路路,也也可可以以和和CPUCPU集集成成在在同同一一块块芯芯片片上上,单单片片机机中中就就是是后后一一种种结结构构。I/OI/O接接口口有有并并行接口和串行接口行接口和串行接口两种。两种。5.1.1MCS51内部并行内部并行I/O端口端口8031有

5、四个并行端口,分别命名为有四个并行端口,分别命名为P0、P1、P2和和P3。这四个并行。这四个并行I/O端口的内部位结构如图端口的内部位结构如图5 1所示,所示,每个端口皆有八位。由图每个端口皆有八位。由图5 1可见,可见,每个位结构都有每个位结构都有一个输出锁存器和一个输入缓冲器一个输出锁存器和一个输入缓冲器。输出锁存器,用于。输出锁存器,用于存放需要输出的数据。存放需要输出的数据。5.1MCS-51的并行接口及其应用的并行接口及其应用第五章第五章MCS-51单片机的硬件资源单片机的硬件资源湘 潭 大 学单片机原理及应用编著组湘 潭 大 学单片机原理及应用编著组湘 潭 大 学单片机原理及应用

6、编著组湘 潭 大 学单片机原理及应用编著组湘 潭 大 学单片机原理及应用编著组湘 潭 大 学单片机原理及应用编著组湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源这类操作的特点是:这类操作的特点是:先读口,随之可对读入的先读口,随之可对读入的数据进行修改,然后再写到端口上。数据进行修改,然后再写到端口上。例如执行指令例如执行指令ORLP0,A时,则先把时,则先把P0上的内容读入上的内容读入CPU,然后,然后与与A累加器内容按位进行逻辑累加器内容按位进行逻辑“或或”操作,最后把操作,最后把“或或”的结果送回的结果送回P0口。能使单片机产生这种口。能使单

7、片机产生这种读读-修改修改-写写操作操作的指令,其目的操作数一般为某的指令,其目的操作数一般为某I/O口或口的某口或口的某一位,这些指令是:一位,这些指令是:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOVPXY,C,CLRPXY和和SETBPXY等,它们的含义详见指令系统一等,它们的含义详见指令系统一章的说明。章的说明。湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源综综上上所所述述,P0口口既既可可作作地地址址/数数据据总总线线口口,这这时时它它是是真真正正的的双双向向口口,也也可可作作通通用用I/O口口,但但只只是是一一

8、个个准准双双向向口口。一一般般情情况况下下,P0口口已已当当作作地地址址/数数据据口口使使用用时时,就就不不能再作通用能再作通用I/O口使用口使用。P2口口的的位位结结构构如如图图5-1(b)所所示示,它它与与P0口口基基本本相相同同,只只有有输输出出部部分分略略有有不不同同,在在输输出出FET的的漏漏极极接接有有上上拉拉电电阻阻,这这种种结结构构不不必必外外接接上上拉拉电电阻阻就就可可驱驱动动任任何何MOS输输入入电电路路,且且能能驱驱动动四四个个LSTTL输输入入。P2口口常常用用作作外外部部存存储储器器的的高高八八位位地地址址口口。当当不不用用作作地地址址口口时时,P2口亦可作通用口亦可

9、作通用I/O口,这时它也是一个准双向口,这时它也是一个准双向I/O口。口。二、二、P2口口湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源 vccP2X地址地址(b)p2口电路逻辑口电路逻辑MUX锁存器锁存器D QCP Q读锁存器读锁存器内部总线内部总线写入写入读引脚读引脚控制控制湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源三、三、P1口口(c)p1口电路逻辑口电路逻辑锁存器锁存器D QCP Q读锁存器读锁存器内部总线内部总线写入写入读引脚读引脚vccP1XP1口的位结构如图口的位结构如图5-1(c)所

10、示,它与所示,它与P2口基本相同,口基本相同,只是少了一个转换器(只是少了一个转换器(MUX)和一个反相器,且为使)和一个反相器,且为使逻辑上的一致将锁存器的逻辑上的一致将锁存器的Q与输出与输出FET相连。相连。P1口常用口常用作通用作通用I/O口,口,它是一个标它是一个标准的准双向准的准双向口,即作输口,即作输入口使用时入口使用时必须先给锁必须先给锁存器置存器置1。湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源 四、四、P P3 3口口 P3口口是是一一个个双双功功能能口口,第第一一功功能能和和P2口口一一样样可可作作为为通通用用I/O口口。P3

11、口口工工作作于于第第二二功功能能时时,各各位位的的定定义义如如下:下:P30RxD(串行输入通道)(串行输入通道)P31TxD(串行输出通道)(串行输出通道)P32INT0(外中断(外中断0)P33INT1(外中断(外中断1)P34T0(定时器(定时器0外部输入)外部输入)P35T1(定时器(定时器1外部输出)外部输出)P36WR(外部数据存储器写选通)(外部数据存储器写选通)P3.7RD(外部数据存储器读选通(外部数据存储器读选通)湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源锁存器锁存器D QCP Q读锁存器读锁存器内部总线内部总线写入写入读引

12、脚读引脚第二输出功能第二输出功能(d)p3口电路逻辑口电路逻辑第二输入功能第二输入功能vccP3.x湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源 由图由图5-1(d)P35-1(d)P3口位结构可以看出,实现口位结构可以看出,实现第一功第一功能能作通用作通用I/OI/O输出口时,输出口时,选择输出功能端应保持高选择输出功能端应保持高电平电平,使与非门对锁存器,使与非门对锁存器Q Q端是畅通的。同理,实端是畅通的。同理,实现现第二功能做专用信号输出时第二功能做专用信号输出时,则,则该位的锁存器应该位的锁存器应置置1 1,使与非门对选择输出功能端是畅

13、通的。,使与非门对选择输出功能端是畅通的。对输对输入而言入而言,无论该位是作通用输入口还是作第二功能,无论该位是作通用输入口还是作第二功能输入口,其输出输入口,其输出锁存器和选择输出功能端都应置锁存器和选择输出功能端都应置1 1,即使,即使FET FET 截止。截止。 由于所有口锁存器在上电复位时均置为由于所有口锁存器在上电复位时均置为1 1,自然,自然满足了上述条件,所以满足了上述条件,所以用户不必做任何工作,就可用户不必做任何工作,就可以直接使用以直接使用P3P3口的第二功能口的第二功能。至于第一功能,应在。至于第一功能,应在确信某一引脚第二功能提供的信号不用时,该引脚确信某一引脚第二功能

14、提供的信号不用时,该引脚才可作才可作I/OI/O线使用,使用方法同与一般准双向口相同。线使用,使用方法同与一般准双向口相同。湘 潭 大 学单片机原理及应用编著组第五章第五章MCS-51单片机的硬件资源单片机的硬件资源5.1.2 MCS5.1.2 MCS 5151内部并行内部并行I/OI/O口的应用口的应用MCSMCS 5151四四个个I/OI/O端端口口共共有有三三种种操操作作方方式式:输输出数据出数据方式,方式,读端口数据读端口数据方式和方式和读端口引脚读端口引脚方式。方式。 在在数据输出数据输出方式下,方式下,CPUCPU通过一条通过一条数据操作指数据操作指令令就可以把输出数据就可以把输出

15、数据写入写入P P0 0 P P3 3的端口锁存器的端口锁存器,然后,然后通过输出驱动器送到端口引脚。因此,通过输出驱动器送到端口引脚。因此,凡是端口操凡是端口操作指令都能达到从端口引脚上输出数据的目的作指令都能达到从端口引脚上输出数据的目的,例,例如如下指令均可在如如下指令均可在P P0 0口输出数据:口输出数据:MOV PMOV P0 0,A A ;累加器;累加器A A中的内容送中的内容送P P0 0口口ANL PANL P0 0,A A ;P P0 0口的内容和口的内容和A A中的内容相与后送中的内容相与后送P P0 0口口湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单

16、片机的硬件资源单片机的硬件资源 读端口数据方式读端口数据方式是一种仅对端口锁存器中数据是一种仅对端口锁存器中数据进行读入的操作方式进行读入的操作方式,CPUCPU读入的这个数据并非端读入的这个数据并非端口引脚的数据。因此,口引脚的数据。因此,CPUCPU只要用一条传送指令就只要用一条传送指令就可把端口锁存器中的数据读入累加器可把端口锁存器中的数据读入累加器A A或内部或内部RAMRAM中中来。来。例如,如下指令可以从例如,如下指令可以从P1P1口输入数据:口输入数据: MOV A MOV A, P P1 1 ;P P1 1锁存器中数据送锁存器中数据送A A MOV 20H MOV 20H, P

17、 P1 1 ; P P1 1锁存器数据送内部锁存器数据送内部20H20H单元单元 读引脚方式读引脚方式可从端口引脚上读入信息可从端口引脚上读入信息。在这种。在这种方式下,方式下,CPUCPU首先必须使欲读端口引脚所对应的锁存首先必须使欲读端口引脚所对应的锁存器置器置1 1,以便驱动器中的,以便驱动器中的T T2 2管截止,然后打开输入三管截止,然后打开输入三态缓冲器,使相应端口引脚上信号输入态缓冲器,使相应端口引脚上信号输入CPUCPU内部数据内部数据总线。因此,总线。因此,在读引脚时必须连续使用两条指令在读引脚时必须连续使用两条指令。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS

18、-51单片机的硬件资源单片机的硬件资源例如读例如读P P1 1口低四位引脚上的信号的程序为:口低四位引脚上的信号的程序为:MOV PMOV P1 1,#0FH ,#0FH ;使;使P P1 1口低口低4 4位锁存器置位锁存器置1 1MOV AMOV A,P P1 1 ;读;读P P1 1口低口低4 4位引脚信号位引脚信号I/OI/O端口的应用举例:端口的应用举例:一、一、I/OI/O口直接用于输入口直接用于输入/ /输出输出 在在I/OI/O口口直直接接用用作作输输入入/ /输输出出时时,既既可可以以把把它它们们看看作作数数据据口口也也可可以以看看作作状状态态口口, ,这这由由用用户户根根据据

19、实实际情况决定。际情况决定。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 例例5.1 5.1 试编出模拟图试编出模拟图5-2(a)5-2(a)中电路的中电路的程序。程序。 P1.0P1.1P1.3P1.28031FK0K1K2RL(b)8031的接线对电路进行模拟是对电路进行模拟是指指模拟它的输出状模拟它的输出状态如何随输入状态态如何随输入状态的变化而变化的变化而变化。 FDEG(a)被模拟电路图中,图中,K0K0和和K1 K1 用于设置用于设置被模拟电路中变量被模拟电路中变量D D和和E E;P1.2P1.2作为电路的输出作为电路的输出端端F

20、 F,并用一个发光二极,并用一个发光二极管来显示输出;管来显示输出;P1.3P1.3用用来为来为80318031传送一个控制传送一个控制状态。当状态。当80318031检测到它检测到它为低电平时就开始模拟为低电平时就开始模拟一组变量(一组变量(D D和和E E)的输)的输入,并通过入,并通过LEDLED显示输出显示输出结果结果。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源相应程序为:相应程序为: ORG0500HDBIT00HEBIT01HGBIT02HLOOP1:ORLP1,#08H;准备;准备P1.3输入输入LOOP2:MOVC,P1.3

21、;检测;检测K2状态状态JCLOOP2;若未准备好(;若未准备好(K2断开),则转断开),则转;LOOP2ORLP1,#03H;若准备好了,则输入;若准备好了,则输入K0和和K1状态状态MOVC,P1.0;K0状态送入状态送入DMOVD,C MOVC,P1.1;K1状态送入状态送入EMOVE,CANLC,D;D与与E送送G湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MOVG,C MOVC,E;D或或E送送CMOVC,DORLC,E ANLC,/G;(;(DE)(DE)送)送C MOVP1.2,C;输出结果;输出结果 SJMPLOOP1;准备下次

22、模拟;准备下次模拟 END湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源二、二、 I/O I/O口对外部锁存器的接口口对外部锁存器的接口6Q INT0 P2.7 RDP0.0 P0.1P0.2P0.3P0.4P0.5P0.6P0.7G1Q2Q3Q4Q5Q7Q8QE1D2D3D4D5D6D7D8DSTBIN0IN76Q803174LS373输入输入湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源当输入设备在当输入设备在IN0-IN7IN0-IN7上输出数据的同时还使端上输出数据的同时还使端变为低电平,该

23、低电平一方面使变为低电平,该低电平一方面使74LS37374LS373锁存锁存1D-8D1D-8D上输入数据,另一方面向上输入数据,另一方面向80318031的的 INT INT0 0上上发出中断请求。发出中断请求。80318031响应该中断请求后,在中响应该中断请求后,在中断服务程序中也可通过如下指令读取输入数据:断服务程序中也可通过如下指令读取输入数据:MOVDPTR,#7FFFH;DPTR指向指向74LS373端口端口MOVXA,DPTR;输入数据输入数据应当注意:应当注意:80318031也可以通过外部锁存器输出也可以通过外部锁存器输出数据,但由于数据,但由于80318031内部每个内

24、部每个I/OI/O端口都带有端口都带有8 8位锁存器,因此只有扩展位锁存器,因此只有扩展I/OI/O端口时才需要利端口时才需要利用外部锁存器来输出数据。用外部锁存器来输出数据。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源5.2MCS-51中断系统中断系统5.2.15.2.1中断概述中断概述一、中断和中断系统一、中断和中断系统 CPU CPU正在处理某件事的时正在处理某件事的时候,外部发生了另一事件,候,外部发生了另一事件,请求请求CPUCPU迅速处理,迅速处理,CPUCPU暂时暂时停止当时的工作停止当时的工作,转入处理,转入处理所发生的事件,处

25、理结束后,所发生的事件,处理结束后,再回到原来的地方,继续原再回到原来的地方,继续原来的工作,这样的过程称为来的工作,这样的过程称为中断,如图中断,如图5-45-4所示。所示。 RETI主主程程序序中中断断服服务务中中断断请请求求图图5-4中中断断过过程程示示意意图图湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源中断系统中断系统实现中断功能的部件实现中断功能的部件中断源中断源产生中断请求的源产生中断请求的源二、中断优先级二、中断优先级 一一般般计计算算机机系系统统允允许许有有多多个个中中断断源源。当当几几个个中中断断源源同同时时向向CPUCPU请

26、请求求中中断断,要要求求服服务务时时,就就存存在在CPUCPU优优先先响响应应哪哪一一个个中中断断请请求求的的问问题题。为为此此系系统统根根据据中中断断源源的的轻轻重重缓缓急急进进行行排排队队,规规定定每每个个中中断断源源都都有有一一个个中中断断优优先级别,优先处理最紧急事件的中断请求。先级别,优先处理最紧急事件的中断请求。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源三、中断嵌套三、中断嵌套 中断嵌套中断嵌套是指是指CPUCPU正正在处理一个中断源请求的在处理一个中断源请求的时候,又发生了另一个优时候,又发生了另一个优先级比它高的中断源请求,先

27、级比它高的中断源请求,如果如果CPUCPU能够暂时中止执能够暂时中止执行原来的处理程序,转而行原来的处理程序,转而去处理优先级更高的中断去处理优先级更高的中断请求,处理结束后,再继请求,处理结束后,再继续执行原来的低级中断处续执行原来的低级中断处理程序的过程。理程序的过程。 图图5-5 二二级级中中断断嵌嵌套过程示意图套过程示意图主主程程序序低低级级中中断断高高级级中中断断湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源四、中断过程四、中断过程对对于于不不同同的的计计算算机机,中中断断过过程程可可能能不不尽尽相相同同,但但是是一一般般应应包包括括中

28、中断断请请求求、中中断断响响应应、中中断断处处理理和中断返回和中断返回等四个步骤。等四个步骤。1.1.中断请求中断请求 中中断断过过程程是是由由中中断断源源向向CPUCPU发发出出中中断断请请求求而而开开始始的的。有有效效中中断断请请求求信信号号应应该该一一直直保保持持到到CPUCPU作出响应为止。作出响应为止。2.2.中断响应中断响应CPUCPU检测到中断请求信号后,在满足一定条件检测到中断请求信号后,在满足一定条件的情况下进行响应。其的情况下进行响应。其主要条件是主要条件是:中断标志是:中断标志是否开放,是否高级中断,是否执行完一条指令等否开放,是否高级中断,是否执行完一条指令等。 湘 潭

29、 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源3.3.中断处理中断处理中中断断处处理理或或称称为为中中断断服服务务,就就是是执执行行中中断断源源所所要要求求的的中中断断服服务务程程序序。在在中中断断服服务务程程序序中中需要完成的主要工作是:需要完成的主要工作是:保护现场保护现场根据需要把断点处有关存储器根据需要把断点处有关存储器的内容压入堆栈,以保护主程序运行的结果。的内容压入堆栈,以保护主程序运行的结果。 开开/ /关中断标志关中断标志根据根据CPUCPU响应中断后开响应中断后开/ /关中断情况,适当处理中断标志,以确保保护关中断情况,适当处理中断标

30、志,以确保保护/ /恢复现场的正确进行,确保所需中断嵌套的恢复现场的正确进行,确保所需中断嵌套的实现。实现。 中断处理中断处理根据中断源的要求,完成相根据中断源的要求,完成相应的任务,这是中断服务的核心。应的任务,这是中断服务的核心。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源恢恢复复现现场场在在完完成成中中断断服服务务之之后后,返返回回被被中中断断的的主主程程序序之之前前,恢恢复复堆堆栈栈中中保保护护的的各各有有关关寄寄存存器的内容。器的内容。4.4.中断返回中断返回 在在中中断断服服务务程程序序后后,用用一一条条中中断断返返回回指指令令(

31、RETIRETI),保证返回主程序继续执行被中断的程序。),保证返回主程序继续执行被中断的程序。5.2.2 MCS-515.2.2 MCS-51中断系统与控制中断系统与控制 MCSMCS 5151的的5151子子系系列列(80318031、80518051、87518751等等)有有5 5个个中中断断源源,5252子子系系列列(80328032、80528052等等)有有6 6个个中中断断源源,它它们们均均有有两两个个优优先先级级,通通过过4 4个个中中断断控控制制器器(IEIE、IPIP、TCONTCON、SCONSCON)进进行行中中断断管管理理,其其结结构原理如图构原理如图5-65-6所

32、示。所示。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源PT010 PX110PT1ITN1 INT0矢矢 量量地址地址 T0T1IE1PX010 ET0PS10 ESEA ET1 EX1 EX0 RI IE IP矢矢量量地地址址高高级级中中断断PC低低级级中中断断PC TXRX TISCON中断标志中断标志 源源允许允许总允许总允许优优先级先级硬件查询硬件查询TF1IE0TF0 TCON图图5-6中断系统结构中断系统结构10湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源一、中断源一、中断源8051

33、8051单片机的单片机的5 5个中断源分为两种类型:个中断源分为两种类型:一类一类是外部中断源,是外部中断源,包括包括INTINT0 0和和INTINT1 1;另一类是内另一类是内部中断源部中断源,包括两个定时器,包括两个定时器/ /计数器(计数器(T T0 0和和T T1 1)的溢出中断和串行口的发送的溢出中断和串行口的发送/ /接收中断。接收中断。 外部中断外部中断INTINT0 0和和INTINT1 1,它们的中断,它们的中断请求信号有效方式分为请求信号有效方式分为电平触发和脉冲触电平触发和脉冲触发发两种。电平方式是两种。电平方式是低电平有效低电平有效;脉冲方;脉冲方式则为式则为负边沿有

34、效负边沿有效。 CPUCPU在每个机器周期的在每个机器周期的S5P2S5P2检测上的信号。检测上的信号。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源对对于于电电平平方方式式,只只要要检检测测到到低低电电平平信信号号即即为为有有效效申申请请;对对于于脉脉冲冲方方式式,则则需需要要比比较较两两次次检检测测到到的的信信号号,才才能能确确定定中中断断请请求求信信号号是是否否有有效效,并并且且中中断断请请求求信信号号高高低低电电平平的的状状态态都都应应至至少少维维持持一一个个机机器周期器周期,以确保电平变化能被单片机检测到,以确保电平变化能被单片机检测

35、到。思考:思考:脉冲触发方式下,外部中断脉冲的最脉冲触发方式下,外部中断脉冲的最高触发频率为系统振荡频率的多少倍高触发频率为系统振荡频率的多少倍? 内内部部中中断断除除外外部部中中断断源源外外,内内部部还还有有TFTF0 0、TFTF1 1、TITI、RIRI分分别别为为定定时时器器/ /计计数数器器中中断断和和发发送送/ /接收中断的中断源。接收中断的中断源。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源二、中断控制二、中断控制 MCS-51MCS-51单单片片机机设设置置了了4 4个个专专用用寄寄存存器器用用于于中中断控制断控制 ,用户通过设

36、置其状态来管理中断系统。,用户通过设置其状态来管理中断系统。1.1.定时器控制寄存器(定时器控制寄存器(TCONTCON) TCONTCON的格式如下:的格式如下: TCOND7D6D5D4D3D2D1D0(88H) TF1 TR1TF0TR0 IE1 IT1 IE0 IT0 如前所述,寄存器中如前所述,寄存器中TRTR1 1(TRTR0 0)用于定时器)用于定时器/ /计数器的启动控制,其余计数器的启动控制,其余6 6位用于中断控制,位用于中断控制,其作用如下:其作用如下: 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 ITIT0 0为为外外

37、部部中中断断0 0请请求求信信号号方方式式控控制制位位。ITIT0 0 = = 1 1,脉脉冲冲方方式式(负负跳跳变变有有效效);ITIT0 0 = = 0 0,电电平平方方式式(低电平有效)。(低电平有效)。IEIE0 0为外部中断为外部中断0 0请求标志位,当请求标志位,当CPUCPU检测到检测到INTINT0 0 (P P3.23.2)端有中断请求信号时,由硬件置位,使)端有中断请求信号时,由硬件置位,使IEIE0 0 = 1= 1请求中断,中断响应后转向中断服务程序时,请求中断,中断响应后转向中断服务程序时,由由硬件自动清零硬件自动清零。 IT IT1 1为外部中断为外部中断1 1请求

38、信号方式控制位,其作请求信号方式控制位,其作用同用同ITIT0 0。 IE IE1 1为外部中断为外部中断1 1请求标志位,其作用同请求标志位,其作用同IE0IE0。 TF TF0 0(TFTF1 1)为定时器)为定时器/ /计数器溢出标志位,此标计数器溢出标志位,此标志作用将在定时器志作用将在定时器/ /计数器一节说明。计数器一节说明。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源2.2.串行口控制寄存器(串行口控制寄存器(SCONSCON)SCONSCON格式如下格式如下:SCOND7D6D5D4D3D2D1D0(98H)SM0SM1SM2

39、REN TB8RB8TIRI串行口控制寄存器格式及各位功能将在串行接串行口控制寄存器格式及各位功能将在串行接口一节介绍,其中高口一节介绍,其中高6 6位用于串行口控制,低位用于串行口控制,低2 2位(位(RIRI、TITI)用于中断控制,其作用如下:)用于中断控制,其作用如下: TITI为串行口发送中断请求标志位,发送完一帧为串行口发送中断请求标志位,发送完一帧串行数据后,由串行数据后,由硬件置硬件置1 1,其,其清零须由软件完清零须由软件完成成。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 RIRI为为串串行行口口接接收收中中断断请请求求标

40、标志志位位,接接完完一一帧帧串行数据后,由串行数据后,由硬件置硬件置1 1,其清零由软件完成,其清零由软件完成。 在在MCS-51MCS-51单片机串行口中,单片机串行口中,TITI和和RIRI的逻辑的逻辑“或或”作为一个内部中断源,二者之一置位都可以产作为一个内部中断源,二者之一置位都可以产生串行口中断请求,然后在中断服务程序中测试生串行口中断请求,然后在中断服务程序中测试这两个标志位,以决定是发送中断还是接收中断。这两个标志位,以决定是发送中断还是接收中断。 3.3.中断允许控制寄存器(中断允许控制寄存器(IEIE) 中断允许寄存器格式如下:中断允许寄存器格式如下: IED7D6D5D4D

41、3D2D1D0(A8H)EA/ESET1EX1ET0EX0湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 ES ES为为串行口中断允许位串行口中断允许位,ES=1ES=1时,允许串行口时,允许串行口中断;中断;ES=0ES=0时,禁止串行口中断。时,禁止串行口中断。寄存器中用于控制中断的共寄存器中用于控制中断的共6 6位,实现中断的管理,位,实现中断的管理,其作用如下:其作用如下: EXEX1 1为为 外外 部部 中中 断断 1 1允允 许许 控控 制制 位位 , EXEX1 1=1=1允允 许许 外外 部部 中中 断断1 1中断,中断,EXEX

42、1 1=0=0,禁止外部中断,禁止外部中断1 1中断。中断。 ETET1 1为为定定时时器器/ /计计数数器器1 1(T T1 1)中中断断允允许许控控制制位位,ETET1 1=1=1时,允许时,允许T1T1中断;中断;ETET1 1=0=0时,禁止时,禁止T T1 1中断。中断。 ET0 ET0为为定时器定时器/ /计数器计数器0 0(T0T0)中断允许控制位)中断允许控制位,其控制功能同其控制功能同ET1ET1。 EX0 EX0为为外部中断外部中断0 0允许控制位允许控制位,其控制功能同,其控制功能同EX1EX1。 湘 潭 大 学单片机原理及应用编著组MCS-51单片机的硬件资源单片机的硬

43、件资源MCSMCS 5151单单片片机机中中断断系系统统的的管管理理是是由由中中断断允允许许总总控控制制位位EAEA和和各各中中断断源源的的中中断断控控制制位位联联合合作作用用实现的实现的,缺一不可。,缺一不可。4.4.中断优先级控制寄存器(中断优先级控制寄存器(IPIP) 中断优先级控制寄存器的格式如下:中断优先级控制寄存器的格式如下: IPD7D6D5D4D3D2D1D0(B8H)/PSPT1PX1PT0PX0MCS-51单单片片机机规规定定了了两两级级中中断断优优先先级级:高高级级中中断断和和低低级级中中断断,用用中中断断优优先先级级寄寄存存器器(IP)的的5位位状状态态管管理理5个个中

44、中断断源源的的优优先先级级别别。相相应应位位是是“0”的的中中断断源源为为低低级级中中断断,相相应应位位是是“1”的中断源为高级中断。的中断源为高级中断。湘 潭 大 学单片机原理及应用编著组MCS-51单片机的硬件资源单片机的硬件资源各状态位的作用如下:各状态位的作用如下: PSPS为为串串行行口口中中断断优优先先控控制制位位,PS PS = = 1 1,串串行行口口为为高高优优先先级级中中断断;PS PS = = 0 0,串串行行口口为为低低优优先先级中断。级中断。PTPT1 1为定时器为定时器/ /计数器计数器1 1(T T1 1)中断优先控制位,)中断优先控制位,PTPT1 1 = 1

45、= 1,T T1 1为高优先级中断,为高优先级中断,PTPT1 1 = 0 = 0,T T1 1为低为低优先级中断。优先级中断。 PTPT0 0为定时器为定时器/ /计数器优先控制位,计数器优先控制位,PTPT0 0 = 1 = 1,T T0 0为高优先级中断;为高优先级中断;PTPT0 0 = 0 = 0,T T0 0为低优先级中断。为低优先级中断。PXPX0 0为外部中断为外部中断0 0中断优先控制位,中断优先控制位,PXPX0 0 = 1 = 1,外部中断,外部中断0 0为高优先级中断;为高优先级中断;PXPX0 0 = 0 = 0,外部,外部中断中断0 0为低优先级中断为低优先级中断

46、湘 潭 大 学单片机原理及应用编著组MCS-51单片机的硬件资源单片机的硬件资源PX0PX0为外部中断为外部中断0 0中断优先控制位,中断优先控制位,PX0 = 1PX0 = 1,外部中断外部中断0 0为高优先级中断;为高优先级中断;PX0 = 0PX0 = 0,外部中断,外部中断0 0为低优先级中断。为低优先级中断。 MCSMCS 5151单片机优先级的控制原则是:单片机优先级的控制原则是: 为了实现中断嵌套,高优先级中断请求可以为了实现中断嵌套,高优先级中断请求可以中断低优先级的中断服务;反之则不允许。中断低优先级的中断服务;反之则不允许。 同等优先级中断源之间不能中断对方的中断同等优先级

47、中断源之间不能中断对方的中断服务过程。服务过程。 多多个个同同级级中中断断源源同同时时产产生生中中断断请请求求时时,则则按按查查询询顺顺序序确确定定哪哪个个中中断断请请求求先先被被响响应应。MCSMCS 5151单单片片机机规规定定的的查查询询顺顺序序是是:外外部部中中断断0 0、定定时时器器/ /计计数数器器0 0、外部中断、外部中断1 1、定时器、定时器/ /计数器计数器1 1和串行口中断。和串行口中断。湘 潭 大 学单片机原理及应用编著组MCS-51单片机的硬件资源单片机的硬件资源5.2.3 5.2.3 中断响应中断响应一、中断响应过程一、中断响应过程MCSMCS 5151单单片片机机在

48、在每每个个机机器器周周期期的的S6S6状状态态按按优优先先级级顺顺序序查查询询中中断断标标志志,如如果果查查询询到到某某个个标标志志位位为为“1”“1”,则则表表明明有有中中断断请请求求发发生生,以以下下一一个个机机器器周周期期的的S1S1状状态态开开始始响响应应中中断断。但但是是,出出现现下下列列情况之一时,中断不能进行:情况之一时,中断不能进行: CPU CPU正在为正在为高级或同级的中断服务高级或同级的中断服务; 查询中断请求的机器周期查询中断请求的机器周期不是当前指令的最后不是当前指令的最后一个机器周期一个机器周期(以确保当前指令的完整执行);(以确保当前指令的完整执行); 正在执行的

49、指令是正在执行的指令是RETIRETI或是或是访问访问IEIE或或IPIP的指令的指令(这时,必须再执行一条指令后才能响应中断)。(这时,必须再执行一条指令后才能响应中断)。 湘 潭 大 学单片机原理及应用编著组MCS-51单片机的硬件资源单片机的硬件资源以上三种情况,通常称为以上三种情况,通常称为中断受阻中断受阻。 在在响响应应中中断断请请求求时时,MCSMCS 5151的的中中断断系系统统先先把把该该中中断断请请求求存存在在各各自自的的中中断断标标志志位位中中,然然后后在在下下一一个个机机器器周周期期内内按按照照IPIP和和固固定定的的中中断断优优先先级级顺顺序序查查询询中中断断标标志志位

50、位状状态态,并并完完成成中中断断优优先先级级排排队队。在在下下一一个个机机器器周周期期的的S S1 1状状态态时时,MCSMCS 5 51 1开开始始响响应应最最高高优优先先级级中中断断。在在响响应应中中断断时时,CPUCPU将将自自动动做做如如下几件事:下几件事: 先将先将断点地址压入堆栈断点地址压入堆栈进行保护,然后根据进行保护,然后根据不同的中断源不同的中断源将程序转向相应的中断服务程序入将程序转向相应的中断服务程序入口口。这是通过硬件自动生成一条长调用指令。这是通过硬件自动生成一条长调用指令LCALLLCALL实现的。实现的。 湘 潭 大 学单片机原理及应用编著组 中断源与其中断服务程

51、序入口地址之间的关系是中断源与其中断服务程序入口地址之间的关系是固定的,见表固定的,见表5 5 1 1。 表表5 5 1 80511 8051中断服务程序入口地址表中断服务程序入口地址表 0003H 定时器定时器T0 000BH 0013H 定时器定时器T1 001BH 串行口中断串行口中断 0023H中中断断源源中断服务程序入口中断服务程序入口INT1INT0ORG0003HLJMP2000H 表表5 5 1 1中的中的5 5个中断服务个中断服务程序入口地址之间,各有程序入口地址之间,各有8 8个单元的空间,一般情况个单元的空间,一般情况下难以容纳一个完整的中下难以容纳一个完整的中断服务程序

52、。通常,断服务程序。通常,总是总是在中断入口处安排一条无在中断入口处安排一条无条件转移指令条件转移指令,使程序转,使程序转向实际存放中断服务程序向实际存放中断服务程序的存储器区域。例如:若的存储器区域。例如:若INTINT0 0中断服务程序始址在中断服务程序始址在2000H2000H单元,则如下指令执单元,则如下指令执行后便可转入行后便可转入2000H2000H处执行处执行中断服务程序中断服务程序: : 湘 潭 大 学单片机原理及应用编著组二、中断响应时间二、中断响应时间 在在实实时时控控制制系系统统中中,为为了了满满足足控控制制速速度度要要求求,常常要要弄弄清清CPUCPU响响应应中中断断所

53、所需需的的时时间间。中中断断响响应应时时间间是是指指从从查查询询中中断断请请求求标标志志位位到到转转向向中中断断服服务务程程序序入入口口地地址址所所需需的的机机器器周周期期数数,一一般般是是3-83-8个机器周期个机器周期。响应中断最短时间是:响应中断最短时间是: CPU CPU查询中断标志的周期正好是执行一条指查询中断标志的周期正好是执行一条指令的最后一个机器周期(占用一个机器周期),令的最后一个机器周期(占用一个机器周期),此后,不需等待即可响应中断,硬件自动生成此后,不需等待即可响应中断,硬件自动生成并执行并执行LCALLLCALL指令(需要指令(需要2 2个机器周期),所以个机器周期)

54、,所以总共需要总共需要3 3个机器周期个机器周期。湘 潭 大 学单片机原理及应用编著组响应中断最长时间是:响应中断最长时间是: CPUCPU查查询询中中断断标标志志时时,正正好好是是开开始始执执行行RETIRETI或或访访问问IEIE、IPIP的的指指令令,此此时时,需需要要把把当当前前指指令令执执行行完完再再继继续续执执行行一一条条指指令令后后,才才能能响响应应中中断断。执执行行前前者者最最长长需需2 2个个机机器器周周期期,而而执执行行后后者者最最长长需需4 4个个机机器器周周期期(如如乘乘、除除指指令令),再再加加上上执执行行长长调调用用指指令令LCALLLCALL所需所需2 2个机器周

55、期个机器周期,总共需要总共需要8 8个机器周期个机器周期。 通常,中断响应时间可以不予考虑,但在某些通常,中断响应时间可以不予考虑,但在某些需要精确定时的场合,应作出调整,以保证精确的需要精确定时的场合,应作出调整,以保证精确的定时。定时。 湘 潭 大 学单片机原理及应用编著组5.2.45.2.4中断请求的撤除中断请求的撤除 在中断请求被响应前,中断源发出的中断请在中断请求被响应前,中断源发出的中断请求是由求是由CPUCPU锁存在锁存在特殊功能寄存器特殊功能寄存器TCONTCON和和SCONSCON的相的相应应中断标志位中断标志位中的。中的。一旦某个中断请求得到响应,一旦某个中断请求得到响应,

56、CPUCPU必须把它的相应标志位复位成必须把它的相应标志位复位成“0”“0”状态状态。否。否则,则,MCSMCS 5151就会因中断未能得到及时撤除而就会因中断未能得到及时撤除而重重复响应同一中断请求复响应同一中断请求,这是绝对不能允许的。,这是绝对不能允许的。 五个中断源只分属于三种中断类型。这三种五个中断源只分属于三种中断类型。这三种类型是:类型是:外部中断、定时器溢出中断和串行口中外部中断、定时器溢出中断和串行口中断断。对于这三种中断类型的中断请求,其撤除方。对于这三种中断类型的中断请求,其撤除方法是不同的。法是不同的。 湘 潭 大 学单片机原理及应用编著组一、定时器溢出中断请求的撤除一

57、、定时器溢出中断请求的撤除 定定时时器器溢溢出出中中断断源源的的中中断断请请求求是是自自动动撤撤除除的,用户根本不必专门为它们撤除。的,用户根本不必专门为它们撤除。二、串行口中断请求的撤除二、串行口中断请求的撤除 TITI和和RIRI是是串串行行口口中中断断的的标标志志位位,中中断断系系统统不不能能自自动动将将它它们们撤撤除除,这这是是因因为为MCSMCS 5151进进入入串串行行口口中中断断服服务务程程序序后后常常需需要要对对它它们们进进行行检检测测,以以测测定定串串行行口口发发生生了了接接收收中中断断还还是是发发送送中中断断。为为了了防防止止CPUCPU再再次次响响应应这这类类中中断断,用

58、用户户应应在在中中断断服服务务程程序的适当位置处通过如下指令将它们撤除序的适当位置处通过如下指令将它们撤除: :CLR TI CLR TI ;撤除发送中断;撤除发送中断 CLR RI CLR RI ;撤除接收中断;撤除接收中断湘 潭 大 学单片机原理及应用编著组若采用字节指令,则也可采用如下指令:若采用字节指令,则也可采用如下指令:ANL SCONANL SCON,#0FCH#0FCH;撤除发送和接收中断;撤除发送和接收中断 三、外部中断的撤除三、外部中断的撤除 外部中断请求有二种触发方式:电平触发和外部中断请求有二种触发方式:电平触发和负边沿触发。对于这两种不同的中断触发方式,负边沿触发。对

59、于这两种不同的中断触发方式,MCSMCS 5151撤除它们的中断请求的方法是不相同的。撤除它们的中断请求的方法是不相同的。 在负边沿触发方式下在负边沿触发方式下 外外部部中中断断标标志志IEIE0 0和和IEIE1 1是是依依靠靠CPUCPU两两次次检检测测INTINT0 0和和INTINT1 1上上触触发发电电平平状状态态而而置置位位的的。因因此此,芯芯片片设设计计者者使使CPUCPU在在响响应应中中断断时时自自动动复复位位IEIE0 0和和IEIE1 1,以以撤撤除除INTINT0 0或或INTINT1 1上上的的中中断断请请求求。在在中中断断服服务务时时,既既然然INTINT0 0或或I

60、NTINT1 1停停留留在在低低电电平平,就就不不会会再再产产生生负负边边沿沿而而使使相相应中断标志位应中断标志位IEIE0 0或或IEIE1 1置位置位。湘 潭 大 学单片机原理及应用编著组在电平触发方式下在电平触发方式下 外部中断标志外部中断标志IEIE0 0和和IEIE1 1是依靠是依靠CPUCPU检测检测INTINT0 0或或INTINT1 1 上上低电平而置位低电平而置位的。尽管的。尽管CPUCPU响应响应中断时相应中断标志中断时相应中断标志IEIE0 0或或IEIE1 1,能自动复位成,能自动复位成“0”“0”状态,但状态,但若外部中断源不能及时撤除它若外部中断源不能及时撤除它在在

61、INTINT0 0或或INTINT1 1上低电平就会再次使已经变上低电平就会再次使已经变“0”“0”的中断标志的中断标志IEIE0 0或或IEIE1 1置位,这是绝对不置位,这是绝对不能允许的。能允许的。因此,电平触发型外部中断请求因此,电平触发型外部中断请求的撤除的撤除必须使必须使INTINT0 0或或INTINT1 1上低电平随着其中断上低电平随着其中断被被CPUCPU响应而变为高电平响应而变为高电平。 湘 潭 大 学单片机原理及应用编著组外部中断信号外部中断信号8031INT0P1.0QDSdCP1电平型外部中断的撤除电路电平型外部中断的撤除电路 当当外外部部中中断断源源产产生生中中断断

62、请请求求时时,D D触触发发器器复复位位成成“0”“0”状状态态,Q Q端端的的低低电电平平被被送送到到INTINT0 0端端,该该低低电电平平被被80318031检检测测到到后后就就使使中中断断标标志志IEIE0 0置置1 1。80318031响响应应INTINT0 0上上中中断断请请求求便便可可转转入入INTINT0 0中中断断服服务务程程序序执执行行,故故可可以以在在中中断断服服务务程程序序开开头头安安排排如如下下程序来撤除程序来撤除INTINT0 0上的低电平。上的低电平。湘 潭 大 学单片机原理及应用编著组INSVR:ORLP1,#01HANLP1,#0FEHCLRIE0END 80

63、318031执执行行上上述述程程序序就就可可在在P P1.01.0上上产产生生一一个个宽宽度度为为二二个个机机器器周周期期的的负负脉脉冲冲。在在该该负负脉脉冲冲作作用用下下,D D触触发发器器被被置置位位成成“1”“1”状状态态,INTINT0 0上上电电平平也也因因此此而而变变高高,从从而而撤撤除除了了其其上上的的中中断断请求。请求。湘 潭 大 学单片机原理及应用编著组5.2.55.2.5中断系统的初始化中断系统的初始化 中断系统初始化中断系统初始化就是用户对管理中断系统就是用户对管理中断系统的特殊功能寄存器中的各控制位进行赋值。的特殊功能寄存器中的各控制位进行赋值。 中断系统初始化步骤如下

64、中断系统初始化步骤如下:(1)(1)开相应中断源的中断开相应中断源的中断; ; (2)(2)设定所有中断源的中断优先级设定所有中断源的中断优先级; ; (3)(3)若为外部中断若为外部中断, ,则应规定低电平还是负边沿则应规定低电平还是负边沿的中断触发方式。的中断触发方式。 例例5.25.2 请写出请写出INTINT0 0为低电平触发的中为低电平触发的中断系统初始化程序。断系统初始化程序。 湘 潭 大 学单片机原理及应用编著组MCS-51单片机的硬件资源单片机的硬件资源解:解: 采用位操作指令采用位操作指令SETB EASETB EASETB EXSETB EX0 0 ;开;开INTINT0

65、0中断中断SETB PXSETB PX0 0 ;令;令INTINT0 0为高优先级为高优先级CLR ITCLR IT0 0 ;令;令INTINT0 0为电平触发为电平触发 采用字节型指令采用字节型指令 MOV IEMOV IE,#81H #81H ;开;开INTINT0 0中断中断ORL IPORL IP,#01H #01H ;令;令INTINT0 0为高优先级为高优先级ANL TCONANL TCON,#0FEH #0FEH ;令;令INTINT0 0为电平触发为电平触发湘 潭 大 学单片机原理及应用编著组MCS-51单片机的硬件资源单片机的硬件资源5.2.6 MCS-515.2.6 MCS

66、-51单片机的单步工作方式单片机的单步工作方式 单步工作方式,即单步执行单步工作方式,即单步执行:就是由外来:就是由外来脉冲控制程序的执行,使之达到脉冲控制程序的执行,使之达到来一个脉冲就来一个脉冲就执行一条指令执行一条指令的目的。而外来脉冲是通过按键的目的。而外来脉冲是通过按键产生的,因此实际上单步执行就是产生的,因此实际上单步执行就是按一次键执按一次键执行一条指令行一条指令。假定利用外部中断假定利用外部中断0 0来实现程序的单步执行,来实现程序的单步执行,为此为此应事先作好两项准备工作:应事先作好两项准备工作: 建立单步执行的外部控制电路;建立单步执行的外部控制电路; 编编写写外外部部中中

67、断断0 0的的中中断断服服务务程程序序。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源+5V1K 单脉冲单脉冲电电路路 8031INT0利用中断实现单步操作利用中断实现单步操作CLR ITCLR IT0 0 ;设置外部中断;设置外部中断0 0为电平触发为电平触发 SETB EA SETB EA ;CPUCPU开中断开中断 SETB PX SETB PX0 0;置外部中断;置外部中断0 0为高优先级为高优先级 SETB EX SETB EX0 0;外部中断;外部中断0 0开中断开中断其初始化程序如下:其初始化程序如下:JBP3.2,;INT0=1则

68、原地踏步则原地踏步JNBP3.2,;,;INT0=0则原地踏步则原地踏步RETI;返回主程序返回主程序外部中断外部中断0的中断服务程序如下:的中断服务程序如下:注意:注意:MCSMCS 5151的中断机制的中断机制有这样的特点,有这样的特点,即从中断服即从中断服务程序返回主程序后,至少务程序返回主程序后,至少要执行一条指令,然后才能要执行一条指令,然后才能再响应新的中断。再响应新的中断。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源5.2.7 5.2.7 外部中断源的扩展外部中断源的扩展一、定时器一、定时器/ /计数器用于外部中断源的扩展计数器

69、用于外部中断源的扩展 用用80518051的定时器的定时器/ /计数器计数器作为计数器使用时作为计数器使用时,计数输入计数输入端端T T1 1(T T0 0)发生负跳变将使计数器加)发生负跳变将使计数器加1 1。利用此特性,适当。利用此特性,适当处处理计数初值理计数初值,就可以把计数输入端,就可以把计数输入端T T1 1(T T0 0)作为外部中断请)作为外部中断请求输入端。求输入端。 例例如如,将将定定时时器器/ /计计数数器器0 0设设置置为为工工作作方方式式2 2、计计数数模模式式、计数初值计数初值0FFH0FFH,且,且允许中断允许中断,其初始化程序如下:,其初始化程序如下:MOVTM

70、OD,#06H;设置定时器;设置定时器0为工作方式为工作方式2、计数模式、计数模式MOVTH0,#0FFH;设置计数器初值;设置计数器初值MOVTL0,#0FFHSETBTR0 ;启动定时器;启动定时器0SETBET0 ;允许定时器中断;允许定时器中断SETBEA ;CPU开中断开中断湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 以上程序执行后,当定时器以上程序执行后,当定时器/ /计数器计数器0 0计数输入端计数输入端T T0 0的的信号发生负跳变时,信号发生负跳变时,TLTL0 0加加1 1,产生溢出,标志位,产生溢出,标志位TF0TF0置

71、置“1”“1”,向,向CPUCPU发出中断请求,同时发出中断请求,同时THTH0 0的值重新送入的值重新送入TLTL0 0。这样这样T T0 0端相当于脉冲方式的外部中断请求输入端。端相当于脉冲方式的外部中断请求输入端。 用本方法扩展外部中断源是以牺牲用本方法扩展外部中断源是以牺牲内部定时中断为代价的!内部定时中断为代价的! 二、查询式扩展外部中断源二、查询式扩展外部中断源当外部中断源较多时,可以采用查询的方式扩展当外部中断源较多时,可以采用查询的方式扩展中断源。中断源。把多个中断源通过硬件(如或非门)引入外把多个中断源通过硬件(如或非门)引入外中断源输入端(中断源输入端(INT0或或INT1

72、),同时又连到某),同时又连到某I/O口。口。这样,每个中断源都可能引起中断,并在中断服务程这样,每个中断源都可能引起中断,并在中断服务程序中通过软件查询便可确定哪一个是正在申请的中断序中通过软件查询便可确定哪一个是正在申请的中断源,其查询的次序则由中断源优先级决定,这样可实源,其查询的次序则由中断源优先级决定,这样可实现多个外部中断源的扩展。现多个外部中断源的扩展。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源RLEDR故故 障障 信信号号输入端输入端8031 1INT0 P1.0P1.1 P1.2P1.3P14P1.5P1.6P1.7RR图图

73、59查询式外部中断扩展及故障显示查询式外部中断扩展及故障显示 当系统的各部分工作正常时,当系统的各部分工作正常时,4 4个故障源输入个故障源输入端全为低电平,显示灯全熄灭。只有端全为低电平,显示灯全熄灭。只有当某部分出现当某部分出现故障时,对应的输入线由低电平变为高电平故障时,对应的输入线由低电平变为高电平,从而,从而引起引起80318031中断,在中断服务程序中通过查询即可判中断,在中断服务程序中通过查询即可判定故障源,并进行相应的灯光显示。定故障源,并进行相应的灯光显示。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源对应的参考程序清单如下:

74、对应的参考程序清单如下: ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 0003H ORG 0003H AJMP PINT AJMP PINT;转中断服务程序;转中断服务程序 ORG 100H ORG 100H MAIN MAIN:ANL PANL P1 1,#55H#55H;使;使P P1 1口输入不变,输出全口输入不变,输出全0 0 SETB IT SETB IT0 0 ;置外部中断;置外部中断0 0为边沿触发方式为边沿触发方式 SETB EX SETB EX0 0;外部中断;外部中断0 0开中断开中断 SETB EA SETB EA;CPUCPU

75、开中断开中断 LOOP LOOP: MOV A MOV A,P P1 1;取;取P P1 1口输入状态口输入状态 ANL A ANL A,#55H #55H 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源JNZ LOOPJNZ LOOP;有外部中断请求去;有外部中断请求去LOOPLOOP ANL P ANL P1 1,#55H#55H;无无外外部部中中断断请请求求输输出出清清0 0 ;(灯全灭)(灯全灭) SJMPLOOP;去去LOOPLOOP等待中断等待中断参考中断服务程序如下:参考中断服务程序如下: PINTPINT: JNB P JNB P

76、1.01.0,L1 L1 ;查询中断源,;查询中断源,P P1.01.0为为0 0转转L1L1 SETB P SETB P1.11.1 ;P P1.01.0为为1 1,P P1.11.1送送出出“1”“1”使使对对应应的的灯灯亮亮 SJMP L2 SJMP L2 ;查询中断源,;查询中断源,P P1.21.2 L1 L1: CLR P CLR P1.11.1 ;清;清P P1.11.1,使对应灯灭,使对应灯灭 L2 L2: JNB P JNB P1.21.2,L3 L3 ;P P1.21.2为为0 0转查下一个中断源转查下一个中断源湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51

77、单片机的硬件资源单片机的硬件资源 SETB P SETB P1.31.3 ;P P1.21.2为为1 1,P P1.31.3送出送出1 1使对应灯亮使对应灯亮 SJMP L4 SJMP L4L3L3: CLR P CLR P1.31.3L4L4: JNB P JNB P1.41.4,L5L5 SETB P SETB P1.51.5 SJMP L6 SJMP L6L5L5: CLR P CLR P1.51.5L6L6: JNB P JNB P1.61.6,L7L7 SETB P SETB P1.71.7 SJMP L8 SJMP L8L7L7: CLR P CLR P1.71.7L8L8: RE

78、TI RETI;返回主程序;返回主程序湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源5.3MCS-51单片机的定时器单片机的定时器/计数器计数器5.3.1定时方法概述定时方法概述可供选择的定时方法有:可供选择的定时方法有:一、一、软件定时软件定时软件定时靠软件定时靠执行一个循环程序执行一个循环程序以进行时间延迟。以进行时间延迟。特点是特点是时间精确时间精确,且,且不需要外加硬件电路不需要外加硬件电路。但软件。但软件定时要定时要占用占用CPU开销开销,因此软件定时的,因此软件定时的时间不宜太时间不宜太长长。二、硬件定时二、硬件定时特特点点是是(定定

79、时时功功能能全全部部由由硬硬件件电电路路完完成成)不不占占CPU时时间间,但但需需通通过过改改变变电电路路的的元元件件参参数数来来调调节定时时间节定时时间,在使用上不够灵活方便。,在使用上不够灵活方便。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源三、可编程定时器定时三、可编程定时器定时这种定时方法是这种定时方法是通过对系统时钟脉冲的计数通过对系统时钟脉冲的计数来实现的。计数值通过程序设定,改变计数值,来实现的。计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活有方便。也就改变了定时时间,使用起来既灵活有方便。 MCS-51 MC

80、S-51单片机把定时电路集成在芯片中,称之单片机把定时电路集成在芯片中,称之为定时器为定时器/ /计数器。计数器。 5.3.25.3.2定时器定时器/ /计数器的定时和计数功能计数器的定时和计数功能 MCSMCS 5151单片机内部有两个可编程的定时器单片机内部有两个可编程的定时器/ /计计数器,分别称为数器,分别称为定时器定时器/ /计数器计数器0 0和定时器和定时器/ /计数器计数器1 1。它们都是它们都是1616位位加法加法计数结构,分别由计数结构,分别由TH0TH0和和TL0TL0及及TH1TH1和和TL1TL1两个两个8 8位计数器组成。位计数器组成。 湘 潭 大 学单片机原理及应用

81、编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 一、计数功能一、计数功能 计数是指对外部事件进行计数。计数是指对外部事件进行计数。外部事件的外部事件的发生发生以输入脉冲表示以输入脉冲表示,因此计数功能的实质就是,因此计数功能的实质就是对外来脉冲进行计数对外来脉冲进行计数。MCSMCS 5151芯片有芯片有T0T0(P3.4P3.4)和)和T1(P3.5)T1(P3.5)两个信号引脚,分别是这两个信号引脚,分别是这两个计数器的输入端。外部输入的脉冲为两个计数器的输入端。外部输入的脉冲为负跳变负跳变时有效时有效,进行,进行计数器加计数器加1 1。 单片机在每个机器周期的单片机在每

82、个机器周期的S S5 5P P2 2拍节对外部计数拍节对外部计数脉冲进行采样。如果脉冲进行采样。如果前一个前一个机器周期采样为高电平,机器周期采样为高电平,后一个机器周期采样为低电平后一个机器周期采样为低电平,即为一个有效脉冲。,即为一个有效脉冲。在下一个机器周期的在下一个机器周期的S S3 3P P1 1进行计数。可见采样进行计数。可见采样计数计数脉冲是在脉冲是在2 2个机器周期进行的个机器周期进行的。因此,。因此,计数脉冲的计数脉冲的频率不能高于震荡脉冲频率的频率不能高于震荡脉冲频率的1/241/24。外部输入脉冲外部输入脉冲高电平和低电平时间必须在一个机器周期以上。高电平和低电平时间必须

83、在一个机器周期以上。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 二、定时功能二、定时功能 定时功能也是通过定时器定时功能也是通过定时器/ /计数器的计数来计数器的计数来实现的。实现的。不过此时的不过此时的计数脉冲来自单片机内部计数脉冲来自单片机内部,即每个机器周期产生一个计数脉冲,也就是即每个机器周期产生一个计数脉冲,也就是每每个机器周期计数器加个机器周期计数器加1 1。 由由于于一一个个机机器器周周期期等等于于1212个个振振荡荡脉脉冲冲周周期期,因因此此计计数数频频率率为为振振荡荡频频率率的的1/121/12。这这样样不不但但可可以以根根

84、据据计计数数值值计计算算出出定定时时时时间间,也也可可以以反反过过来来按定时时间的要求计算出按定时时间的要求计算出计数器的初值计数器的初值。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 5.3.3 5.3.3 定时器定时器/ /计数器的控制寄存器计数器的控制寄存器 与定时器与定时器/ /计数器应用有关的控制寄存器有:计数器应用有关的控制寄存器有:一一 、 定定 时时 控控 制制 寄寄 存存 器器(TCONTCON) TCON TCON寄存器既参与中断控制又参与定时控寄存器既参与中断控制又参与定时控制,其中有关定时的控制位共有制,其中有关定时的控

85、制位共有4 4位:位: TF TF0 0和和TFTF1 1计数溢出标志位计数溢出标志位 当计数器计数溢出(计满)时,该位置当计数器计数溢出(计满)时,该位置“1”“1”;使用;使用查询方式时,此位作状态位供查询,查询方式时,此位作状态位供查询,但应注意查询有效后,须用但应注意查询有效后,须用软件软件方法及时将该方法及时将该位位清清“0”“0”;使用;使用中断方式时中断方式时,此位作,此位作中断标志中断标志位位,在转向中断服务程序时由硬件,在转向中断服务程序时由硬件自动清自动清“0”“0”。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 TR T

86、R0 0和和TRTR1 1定时器运行控制位定时器运行控制位TRTR0 0(TRTR1 1)=0 =0 停止定时器停止定时器/ /计数器工作计数器工作TRTR0 0(TRTR1 1)=1 =1 启动定时器启动定时器/ /计数器工作计数器工作该位根据需要该位根据需要以软件方法使其置以软件方法使其置“1”“1”或清或清“0”“0”。 二二、 工工作作方方式式控控制制寄寄存存器器(TMOD(TMOD, 89H)89H)各位定义如下:各位定义如下: 位序位序 D7D6D5D4 D3D2D1D0位符位符GATEC/T1M1M0GATE C/T0M1M0定时器定时器/计数器计数器1定时器定时器/计数器计数器

87、0湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源M M1 1 M M0 0工作方式选择位工作方式选择位M M1 1 M M0 0=00 =00 方式方式00为为1313位定时器位定时器/ /计数器;计数器;M M1 1 M M0 0=01 =01 方式方式11为为1616位定时器位定时器/ /计数器;计数器;M M1 1 M M0 0=10 =10 方式方式22为常数自动装入的为常数自动装入的8 8位定时器位定时器/ /计数器;计数器;M M1 1 M M0 0=11 =11 方式方式3(3(仅适用于仅适用于T0T0) )为两个为两个8 8位定时

88、器位定时器/ /计数器,计数器,在方式在方式3 3时时T T1 1停止计数停止计数。GATEGATE门控位门控位GATE=0 GATE=0 由运行控制位由运行控制位TRTR启动定时器;启动定时器;GATE=1 GATE=1 由外中断请求信号(由外中断请求信号(INT0INT0或或INT1INT1)启动定时器;)启动定时器;C/TC/T定时方式或计数方式选择位定时方式或计数方式选择位 C/T=0 C/T=0 定时工作方式;定时工作方式; C/T=1 C/T=1 计数工作方式;计数工作方式;湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源三、中断允许控

89、制寄存器三、中断允许控制寄存器(IE(IE,A8H) A8H) 与定时器与定时器/ /计数器有关的位重复介绍如下:计数器有关的位重复介绍如下: EA EA中断允许总控制位。中断允许总控制位。 ET ET0 0和和ETET1 1定时定时/ /计数中断允许控制位。计数中断允许控制位。 ETET0 0(ETET1 1)= = 0 0,禁禁止止定定时时/ /计计数数中中断断;ETET0 0(ETET1 1)=1=1,允许定时,允许定时/ /计数中断计数中断。5.3.4 5.3.4 定时器定时器/ /计数器工作方式计数器工作方式MCSMCS 5151单片机的定时器单片机的定时器/ /计数器共有计数器共有

90、4 4种工作模式。种工作模式。一、方式一、方式0 0湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 & 1C/T=0C/T=1控制控制TF0TH01振荡器振荡器12 T0(P3.4)TR0GATEINT0(P3.5)图图5 10定定时时器器/计计数数器器0的的工工作作方方式式0逻逻辑辑结结构构中中断断8位位5位位TL0定时器定时器/ /计数器方式计数器方式0 0的计数器结构:的计数器结构:15141312111098/43210THTL湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 定时器定时器/

91、/计数器运行控制的情况:计数器运行控制的情况: 由由TRTR0 0控制的情况控制的情况 要要运运行行控控制制位位TRTR0 0能能够够控控制制定定时时器器/ /计计数数器器的的运运行行,其其或或门门的的输输出出一一定定要要为为1 1,这这就就意意味味着着GATEGATE要要设设置置为为0 0或或者者INTINT0 0=1=1。 因因此此在在单单片片机机的的定定时时或或计计数数应应用用中中,要要注注意意定定时时器器方方式式寄寄存存器器TMODTMOD的的GATEGATE位一定要设置为位一定要设置为0 0。由由INTINT0 0控制的情况控制的情况 要能用要能用INTINT0 0来控制定时器来控制

92、定时器/ /计数器的运行,计数器的运行,TRTR0 0和和GATEGATE均应设置为均应设置为1 1。这种情况可用于。这种情况可用于测量测量外部信号的外部信号的脉冲宽度脉冲宽度。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 2 2、定时和计数应用、定时和计数应用在在方方式式0下下,当当为为计计数数工工作作方方式式时时,计计数数值值的的范围是:范围是:18192(213)当为定时工作方式时,定时时间的计算公式为:当为定时工作方式时,定时时间的计算公式为: T=T=(2 21313计数初值)计数初值)晶振周期晶振周期1212如晶振频率为如晶振频率

93、为6MHZ6MHZ,则最小定时时间为:,则最小定时时间为:Tmin=213(2131)1/610-612=210-6=2(s)最大定时时间为:最大定时时间为:Tmax=(2130)1/610-612=16384(s)湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源例例5.35.3设设单单片片机机晶晶振振频频率率为为6MH6MHZ Z,使使用用定定时时器器1 1以以方方式式0 0产产生生周周期期为为500500ss的的等等宽宽正正方方波波连连续续脉脉冲,并由冲,并由P P1.01.0输出。以输出。以查询方式完成查询方式完成。解:解: 计算计数初值计算

94、计数初值欲欲产产生生500500s s的的等等宽宽正正方方波波脉脉冲冲,只只需需在在P P1.01.0端端以以250s250s为为周周期期交交替替输输出出高高低低电电平平即即可可实实现现,为为此此定定时时时时间间应应为为250s250s。使使用用6MHZ6MHZ晶晶振振,则则一一个个机机器器周周期期为为2 2s s。方方式式0 0为为1313位位计计数数结结构构。设设待待求求的的计数初值为计数初值为X X,则,则(213X)210-6=25010-6求求解解得得:X=8067X=8067。二二进进制制数数表表示示为为00000011111100111111000001100011B B。十十六

95、六进进制制(按按方方式式0 0的的1313位位11111100XXX0001111111100XXX00011)表表示示得得:高高8 8位为位为0FCH0FCH,低,低5 5位为位为03H03H。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 相关控制寄存器的设定相关控制寄存器的设定TMODTMOD各位的设定。设定方式各位的设定。设定方式0 0:M M1 1M M0 0=00=00;实现;实现定时:定时:C/T=0C/T=0;定时应用:;定时应用:GATE=0GATE=0。注意:。注意:定时器定时器/ /计数器计数器0 0不用,一般来说不要改变其

96、原不用,一般来说不要改变其原设置,为此在程序设计时,应加以屏蔽。设置,为此在程序设计时,应加以屏蔽。 TCONTCON(地址:(地址:88H88H)是可以位寻址的,又因与该)是可以位寻址的,又因与该题有关的位只有题有关的位只有TRTR1 1,故这里,故这里采用位寻址方式采用位寻址方式,用,用设置设置TRTR1 1 =1=1来来启动定时器启动定时器T T1 1,TRTR1 1 =0 =0来停止定时器来停止定时器T T1 1。 IEIE的设定。题目要求采用的设定。题目要求采用查询方式查询方式,当定时时间,当定时时间到定时器溢出标志位到定时器溢出标志位TFTF1 1置置1 1时,不允许产生中断,时,

97、不允许产生中断,故故应禁止中断应禁止中断,即置,即置IE=00HIE=00H。 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 程序设计程序设计ANL TMODANL TMOD,#0FH #0FH ;设置;设置T1T1为定时工作方式为定时工作方式0 0 ORL TMODORL TMOD,#00H #00H ;且不影响;且不影响T T0 0的工作的工作 MOV TH MOV TH1 1,#0FCH#0FCH ;置计数初值;置计数初值 MOV TL MOV TL1 1,#03H#03H MOV IE MOV IE,#00H#00H ;禁止中断;禁止中

98、断LOOPLOOP:SETB TRSETB TR1 1 ;启动定时器;启动定时器 JBC TF JBC TF1 1,LOOP1 LOOP1 ;查询计数溢出;查询计数溢出 AJMP LOOP AJMP LOOP LOOP1LOOP1:MOV TH1MOV TH1,#0FCH #0FCH ;重新设置计数初值;重新设置计数初值 MOV TL1MOV TL1,#03H#03H CPL P1.0 CPL P1.0 ;输出取反;输出取反 AJMP LOOP AJMP LOOP ;重复循环;重复循环 END END湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源

99、二、方式二、方式1 1 方式方式1 1是是1616位计数结构的工作方式,计数器位计数结构的工作方式,计数器由由THTH0 0全部全部8 8位和位和TLTL0 0全部全部8 8位构成。位构成。 & 1C/T=0C/T=1控制控制TF0TH01振荡器振荡器12 T0(P3.4)TR0GATEINT0(P3.5)图图5 11定定时时器器/计计数数器器0的的工工作作方方式式1逻逻辑辑结结构构中中断断8位位8位位TL0湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源当当定定时时器器/计计数数器器在在方方式式1下下作作计计数数器器用用时时,其其计计数范围是:数

100、范围是:165536(216) 当当定定时时器器/ /计计数数器器在在方方式式1 1下下作作定定时时器器用用时时,其定时时间计算公式为:其定时时间计算公式为: T=T=(2 21616- -计数初值)计数初值)晶振周期晶振周期1212如晶振频率为如晶振频率为6MHZ6MHZ,则最小定时时间为:,则最小定时时间为: Tmin= =2 21616- -(2 21616-1-1)1/6 101/6 10-6-61212=210=210-6-6=2=2(s s) 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源X=65411=FF83HX=65411=FF

101、83H,即可得:,即可得:THTH0 0=0FFH=0FFH,TLTL0 0=83H=83H最大定时时间为:最大定时时间为: Tmax= =(2 21616-0-0)1/6101/610-6-612=131072 1012=131072 10-6-6=131072=131072(s s) 例例5.45.4设单片机晶振频率为设单片机晶振频率为6MH6MHZ Z,要求使用定,要求使用定时器时器0 0工作方式工作方式1 1产生周期为产生周期为500500s s的等宽正脉冲,的等宽正脉冲,并在并在P P1.01.0端输出。试编写采用中断方式完成的相端输出。试编写采用中断方式完成的相关程序。关程序。 解

102、:解:.计算计数初值计算计数初值(2 21616-X-X)1/6101/610-6-612=2501012=25010-6-6 湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源.设置各相关控制寄存器设置各相关控制寄存器TMODTMOD应设置为应设置为XXXX0001BXXXX0001B; IE IE和和TCONTCON均采用位寻址方式。均采用位寻址方式。 .程序设计程序设计 ORG 0000H ORG 0000H START START: AJMP MAIN AJMP MAIN ORG 000BH ORG 000BH AJMP INTER AJMP

103、 INTER ORG 0100H ORG 0100H MAINMAIN: ANL TMOD ANL TMOD,#0F0H #0F0H ;置定时器;置定时器0 0工作方式工作方式1 1 ORL TMODORL TMOD,#01H#01H湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MOV TH0MOV TH0,#0FFH #0FFH ;设置计数初值;设置计数初值 MOV TL0 MOV TL0,#83H #83H SETB EA SETB EA ;CPUCPU开中断开中断 SETB ET0 SETB ET0 ;定时器;定时器0 0开中断开中断 SE

104、TB TR0 SETB TR0 ;启动定时器;启动定时器0 0 SJMP SJMP ;等待中断;等待中断INTERINTER:MOV TH0MOV TH0,#0FF #0FF ;重新设置计数初值;重新设置计数初值 MOV TL0 MOV TL0, #83H #83H CPL P1.0 CPL P1.0 ;输出取反;输出取反 RETI RETI ;中断返回;中断返回END湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源三、方式三、方式2 2具具有有自自动动重重装装计计数数初初值值的的功功能能。在在这这种种工工作作方方式式下下,把把16位位计计数数分分

105、为为两两部部分分,即即以以TL作作计计数数器器,以以TH作作预预置置计计数数器器,初初始始化化时时把把计计数数初初值值分分别别装装入入TL和和TH中中。当当计计数数溢溢出出时时,由由预预置置计数器自动给计数器计数器自动给计数器TL重新装初值重新装初值。控制控制T0(P3.4)TR0GATEINT0(P3.5)C/T=0C/T=112振荡器振荡器图图5 12定时器定时器/计数器计数器0工作方式工作方式2逻辑结构逻辑结构中中断断 TF01 TL08位位) TH08位位湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源2、循环定时和循环计数应用、循环定时和

106、循环计数应用自动重装工作方式非常适应于循环定时或循环自动重装工作方式非常适应于循环定时或循环计数应用。计数应用。例例5.5已知晶振频率已知晶振频率fosc=6MHz,要求使用定时,要求使用定时器器0以工作方式以工作方式2产生产生100s定时,在定时,在P1.0输出周期为输出周期为200s的连续正方波脉冲。试编写相关程序。的连续正方波脉冲。试编写相关程序。解:解:计算计数初值计算计数初值在在6MHZ晶晶振振下下,一一个个机机器器周周期期为为2s,假假设设计计数数初值为初值为X,则:,则:(28-X)210-6=10010-6求解得:求解得:X=206=0CEH湘 潭 大 学单片机原理及应用编著组

107、第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源各有关控制寄存器的设置各有关控制寄存器的设置IE和和TCON均采用位寻址方式,即分别将应位均采用位寻址方式,即分别将应位置置“1”或清或清“0”。TMOD的设置:的设置:定定时时器器/计计数数器器0为为方方式式2,M1M0=10;为为实实现现定定时时功功能能C/T应应设设置置为为0;为为允允许许定定时时器器/计计数数器器0能能通通过过TR0进进行行运运行行控控制制,须须使使GATE=0;定定时时器器/计计数数器器1不不用用,通通常常应应不不改改变变其其参参数数,故故应应将其屏蔽起来。将其屏蔽起来。程序设计(查询方式)程序设计(查询方式)

108、湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源ANL TMODANL TMOD,#0F0H#0F0H;设置定时器;设置定时器0 0 ORL TMOD ORL TMOD,#02H #02H ;为工作方式;为工作方式2 2 MOV TH MOV TH0 0,#0CEH #0CEH ;设置计数初值;设置计数初值 MOV MOV,TLTL0 0,#0CEH#0CEH MOV IE MOV IE,#00H#00H;禁止中断;禁止中断 SETB TR SETB TR0 0;启动定时;启动定时LOOPLOOP:JBC TFJBC TF0 0,LOOP1LOOP

109、1;查询计数溢出;查询计数溢出 AJMP LOOP AJMP LOOPLOOP1LOOP1:CPL PCPL P1.01.0;输出方波,初值自动装入;输出方波,初值自动装入 AJMP LOOP AJMP LOOP湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 程序设计(中断方式)程序设计(中断方式) 主程序:主程序: ANL TMOD ANL TMOD,#0F0H#0F0H ORL TMOD ORL TMOD,#02H#02H MOV TH MOV TH0 0, #0CEH #0CEH MOV TL MOV TL0 0, #0CEH #0CEH

110、SETB EA SETB EA ;CPUCPU开中断开中断 SETB ET SETB ET0 0 ;定时器;定时器0 0开中断开中断 SETB TR SETB TR0 0 ;启动定时;启动定时 SJMP SJMP ;等待中断;等待中断中断服务程序:中断服务程序: CLP P CLP P1.01.0 RETI RETI湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源四、四、方式方式3前三种工作方式,对两个定时器前三种工作方式,对两个定时器/计数器的设计数器的设置和使用是完全相同的。但是在工作方式置和使用是完全相同的。但是在工作方式3下,两下,两个定时

111、器个定时器/计数器的设置和使用却是不同的。计数器的设置和使用却是不同的。1、工作方式、工作方式3下的定时器下的定时器/计数器计数器0在在工工作作方方式式3下下,定定时时器器/计计数数器器0被被拆拆成成两两个个独独立立的的8位位计计数数器器TL0和和TH0。其其中中TL0既既可可以以用用作作计计数数,又又可可以以用用作作定定时时,定定时时器器/计计数数器器0的的各各控控制制位位和和引引脚脚信信号号全全归归它它使使用用。其其功功能能和和操操作作与与方方式式0和和方方式式1完完全全相相同同,而而且且逻逻辑辑电电路路结结构构也也极其类似,如图极其类似,如图5 13a所示。所示。湘 潭 大 学单片机原理

112、及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源1/12fOSCTR1T0(P3.4)TR0GATEINT0(P3.5)(b) 1&控制控制图图513定时器定时器/计数器计数器0工作方式工作方式3逻辑结构逻辑结构控制控制C/T=0C/T=1TF1 TL08位位)112振荡器振荡器TF0TH08位)位)(a)定时器定时器/计数器计数器0的高的高8位位TH0,则只能作为简单的,则只能作为简单的定时器使用。而且由于定时器定时器使用。而且由于定时器/计数器计数器0的控制位已被的控制位已被TL0占用,因此只好占用,因此只好借用定时器借用定时器/计数器计数器1的控制位的控制位TR1和

113、和TF1。即以。即以计数溢出去置位计数溢出去置位TF1,而定时的,而定时的启动启动和停止则由和停止则由TR1的状态的状态控制控制,见图,见图5 13b。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源在工作方式在工作方式3下,定时器下,定时器/计数器计数器0可以构成两可以构成两个定时器或一个定时器一个计数器。个定时器或一个定时器一个计数器。2、在定时器、在定时器/计数器计数器0设置为工作方式设置为工作方式3时的定时的定时器时器/计数器计数器1定时器定时器/计数器计数器1不能工作于方式不能工作于方式3,只能工作于,只能工作于方式方式0、方式、方式1或

114、方式或方式2。且在。且在定时器定时器/计数器计数器0已工作已工作于方式于方式3时,定时器时,定时器/计数器计数器1通常用作串行口的波特通常用作串行口的波特率发生器率发生器,以确定串行通信的速率。因为已没有计,以确定串行通信的速率。因为已没有计数溢出标志位数溢出标志位TF1可供使用,因此只能把计数溢出直可供使用,因此只能把计数溢出直接送给串行口,如图接送给串行口,如图5 14所示。所示。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源12 (8位位 或或5位位) TH1 TL18C/T=0C/T=1串行口串行口T1(P3.5)(a)T1方式方式1(或

115、或0)1/12foscT1(P3.5)(b)T1方式方式2串行口串行口C/T=0C/T=1TH1(8位位)TL1(8位)位)振荡器振荡器图图514定时器定时器/计数器计数器0在方式在方式3时定时器时定时器/计数器计数器1的使用的使用 当当作作为为波波特特率率发发生生器器使使用用时时,只只需需设设置置好好工工作作方方式式,便便可可自自动动运运行行。如如要要停停止止工工作作,只只需需送送入入一一个个把把它它设设置置为为方方式式3 3的的方方式式控控制制字字就就可可以以了了。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源5.4MCS-51单片机的串行接

116、口及其串行通信单片机的串行接口及其串行通信5.4.1串行通信基础串行通信基础并行数据传送的特点是:并行数据传送的特点是:多个数据位同时多个数据位同时传送,传送速度快,效率高。传送,传送速度快,效率高。但并行数据传送但并行数据传送有多少数据位就需多少根数据线,因此有多少数据位就需多少根数据线,因此传送成传送成本高本高。适用于短距离的数据传送,如计算机内。适用于短距离的数据传送,如计算机内部的数据传送部的数据传送。串行数据传送的特点是:串行数据传送的特点是:数据传送按位顺数据传送按位顺序进行,最少只需一根传输线即可完成,成本序进行,最少只需一根传输线即可完成,成本低但速度慢。低但速度慢。计算机与外

117、界的数据传送大多数计算机与外界的数据传送大多数是串行的,其传送的距离可以从几米到几千公是串行的,其传送的距离可以从几米到几千公里。里。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源计算机与外界的数据传送称之为计算机与外界的数据传送称之为通信通信串行通信又分为串行通信又分为异步和同步异步和同步两种方式。两种方式。一、异步串行通信的字符格式一、异步串行通信的字符格式帧帧图图5 15异步串行通信的字符格式异步串行通信的字符格式起起始始位位数数据据位位0(n 1)位位奇奇偶偶位位停停止止位位起起始始位位位时间位时间异步串行通信以字符为单位,即异步串行通信

118、以字符为单位,即一个字符一个字符一个字符的传送一个字符的传送。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源奇奇偶偶效效验验位位用用于于对对字字符符的的传传送送作作正正确确性性检检查查,因因此此奇奇偶偶效效验验位位是是可可选选择择的的,共共有有3种种可可能能,即即奇奇效效验验、偶偶效效验验和和无无效效验验,由由用用户户根根据据需要选定。需要选定。起始位起始位开始一个字符的传送的标志开始一个字符的传送的标志位。起始位使数据线处于位。起始位使数据线处于“0”状态。状态。数据位数据位起始位之后传送的数据信号位。起始位之后传送的数据信号位。在数据位中,在

119、数据位中,低位在前低位在前(左)(左)高位在后高位在后(右)。(右)。由于字符编码方式的不同,数据位可以是由于字符编码方式的不同,数据位可以是5、6、7或或8位。位。停止位停止位用以标志一个字符的用以标志一个字符的结束结束,它对应,它对应于于“1”状态。停止位在一帧的最后,它可能是状态。停止位在一帧的最后,它可能是1、1.5或或2位,在实际中根据需要确定。位,在实际中根据需要确定。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源位时间位时间一个格式位的时间宽度。一个格式位的时间宽度。帧帧(frame)从从起起始始位位开开始始到到停停止止位位结结束束

120、的的全全部部内内容容称称之之为为一一帧帧。帧帧是是一一个个字字符符的的完完整整通通信信格格式式,因因此此也也就就把把串串行行通通信信的的字字符符格格式式称之为帧格式。称之为帧格式。二、异步串行通信的信号形式二、异步串行通信的信号形式1、近程通信、近程通信近程通信又称本地通信。近程通信又称本地通信。近程通信采用近程通信采用数字信号数字信号直接传送形式,即在传直接传送形式,即在传送过程中送过程中不改变原数据代码的波形和频率。不改变原数据代码的波形和频率。这种数这种数据传送方式称之为据传送方式称之为基带传送方式基带传送方式。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资

121、源单片机的硬件资源寄存器寄存器串行接口串行接口TTL电平电平寄存器寄存器串行接口串行接口TTL电平电平计算机计算机A计算机计算机BRS-232电平标准电平标准图图5 16近程串行通信近程串行通信计算机内部的数据信号是计算机内部的数据信号是TTL电平标准,而通电平标准,而通信线上的数据信号却是信线上的数据信号却是RS 232C电平标准。然而,电平标准。然而,尽管电平标准不同,但尽管电平标准不同,但数据信号的波形和频率并数据信号的波形和频率并没有改变没有改变。近程串行通信只需用传输线。近程串行通信只需用传输线把两端的把两端的接口电路直接连起来接口电路直接连起来即可实现,既方便又经济。即可实现,既方

122、便又经济。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源2、远程通信、远程通信在远程串行通信中,应使用在远程串行通信中,应使用专用的通信电缆专用的通信电缆,但,但出于经济上的考虑也可以使用电话线作为传输线。出于经济上的考虑也可以使用电话线作为传输线。数数 字字 信信号号计算机计算机MODEM计算机计算机电话线电话线MODEM图图5 17远程串行通信远程串行通信模拟信号模拟信号数字信号数字信号远距离直接传送数字信号,信号会发生畸变,因远距离直接传送数字信号,信号会发生畸变,因此要此要把数字信号变为模拟信号再进行传送把数字信号变为模拟信号再进行传送。

123、信号形式。信号形式的转变通常使用的转变通常使用频率调制法频率调制法,即,即以不同频率的载波信以不同频率的载波信号代表数字信号的两种不同电平状态号代表数字信号的两种不同电平状态。这种数据传送。这种数据传送方式就称为方式就称为频带传送频带传送方式。方式。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源三、串行通信的数据通路形式三、串行通信的数据通路形式1、单工(、单工(Simplex)形式)形式单工形式的数据传送是单工形式的数据传送是单向的单向的,通信双方,通信双方中一方固定为接收端。单工形式的串行通信,中一方固定为接收端。单工形式的串行通信,只需要一

124、条数据线,如图只需要一条数据线,如图5 18所示所示数据线数据线2接收接收发送端发送端接收接收发送端发送端数据线数据线1图图5 20全双工形式串行通信全双工形式串行通信数据线数据线接收接收发送端发送端接收接收发送端发送端图图5 19半双工形式串行通信半双工形式串行通信发送端发送端接收端接收端数据线数据线图图5 18单工形式串行通信单工形式串行通信湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源2、半双工(、半双工(Half-duplex)形式)形式半半双双工工形形式式的的数数据据传传送送也也是是双双向向的的,但但任任何何时时刻刻只只能能由由其其中中

125、的的一一方方发发送送数数据据,另另一一方方接接收收数数据据。因因此此半半双双工工形形式式既既可可以以使使用用一一条条数数据据线线,也也可以使用两条数据线,如图可以使用两条数据线,如图5 19所示。所示。3、全双工(、全双工(Full-duplex)形式)形式全全双双工工形形式式的的数数据据传传送送是是双双向向的的,且且可可以以同同时时发发送送和和接接收收数数据据,因因此此全全双双工工形形式式的的串串行行通信需要两条数据线,如图通信需要两条数据线,如图5 20所示。所示。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源四四、串行通信的传送速率串行通信

126、的传送速率传传送送速速率率用用于于描描述述数数据据传传送送的的快快慢慢。在在串串行行通通信信中中,数数据据是是按按位位进进行行传传送送的的,因因此此传传送送速速率率用用每每秒秒钟钟传传送送格格式式位位的的数数目目来来表表示示,称称之之为为波波特特率率(baudrate)。每每秒秒传传送送一一个个格格式式位位就就是是1波波特特,即:即:1波特波特=1bps(位(位/秒)秒)在串行通信中,格式位的发送和接收分别由在串行通信中,格式位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。发送时钟脉冲和接收时钟脉冲进行定时控制。串串行行通通信信可可以以使使用用的的标标准准波波特特率率在在RS 23

127、2C标标准准中中已已有有规规定定,使使用用时时应应根根据据速速度度需需要要、线线路路质量以及设备情况等因素选定。质量以及设备情况等因素选定。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源五、串行接口电路五、串行接口电路通用的异步接收通用的异步接收/ /发送器发送器(UART) (UART) FE控制控制电路电路发发送送数数据据缓缓冲冲器器TBEETXCRXCCOEPERXDTXD奇偶错奇偶错溢出错溢出错帧错帧错UART接接收收数数据据缓缓冲冲器器接接收收移移位位寄寄存存器器发发送送移移位位寄寄存存器器INTDB图图5 21UART硬件框图硬件框图

128、RESTWERDCS湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源当计算机向外发送数据时,必须当计算机向外发送数据时,必须将并行的数将并行的数据转换为串行的数据据转换为串行的数据再传送。反之,又必须再传送。反之,又必须将串将串行数据转换为并行数据行数据转换为并行数据输入计算机中。输入计算机中。通用的异步接收通用的异步接收/发送器,简称发送器,简称UART(UniversalAsynchronousReceiver/Transmitter),就是完成这一功能的硬件),就是完成这一功能的硬件电路。电路。它它既既能能发发送送,由由并并行行串串行行输输出

129、出,又又能能接接收收,由由串串行行并并行行输输入入。对对每每一一方方来来说说都都是是一一个个双双缓缓冲冲结结构构。当当接接收收数数据据时时,串串行行数数据据先先经经RXD(ReceiverData)端端进进入入移移位位寄寄存存器器,再再经经移移位位寄寄存存器器输输出出并并行行数数据据到到数数据据缓缓冲冲器器,最最后后通通过过数数据据总总线线送送到到CPU;当当发发送送信信息息时时,先先由由CPU经经数数据据总总线线将将并并行行数数据据给给缓缓冲冲器器,再再由由缓缓冲冲器器并并行行送送给给移移位位寄寄存存器器,最最后后逐逐位位由由TXD(TransmitterData)端端输输出出。所所有有这这

130、些些工工作都是在时钟信号和其它控制信号作用下完成的。作都是在时钟信号和其它控制信号作用下完成的。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源为了检测传送中可能发生的错误,为了检测传送中可能发生的错误,UART在发送在发送时会检查每个要传送的字符中时会检查每个要传送的字符中“1”的个数,自动在奇的个数,自动在奇偶效验位上添偶效验位上添“1”或或“0”,使得,使得“1”的总和在偶效验时的总和在偶效验时为偶数,奇效验时为奇数。为偶数,奇效验时为奇数。UART在接收时会检查字在接收时会检查字符中的每一位并计其符中的每一位并计其“1”的总和,以确定是否发

131、生传的总和,以确定是否发生传送错误送错误。为为了了使使数数据据传传输输更更为为可可靠靠,UART常常设设置置如如下下三三钟出错标志:钟出错标志:奇奇偶偶错错误误(ParrityError):奇奇偶偶错错误误由由奇奇偶偶错错标标志志触触发发器器PE指指示示,该该触触发发器器由由奇奇偶偶效效验验结结果果信信号号置位。置位。帧帧错错误误(FrameError):帧帧错错误误由由帧帧错错误误标标志志触触发发器器FE指指示示,该该触触发发器器在在UART检检测测到到帧帧的的停停止止位不是位不是“1”而为而为“0”时被置位。时被置位。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬

132、件资源单片机的硬件资源 溢溢出出错错误误(Overrun Error):UART接接收收端端 在在接接收收到到第第一一个个字字符符后后便便放放入入“接接收收数数据据缓缓冲冲器器”,然然后后就就继继续续从从RXD线线上上接接收收第第二二个个字字符符,并并等等待待CPU从从“接接收收数数据据缓缓冲冲器器”中中取取走走第第一一个个字字符符。如如果果CPU很很忙忙,一一直直没没有有机机会会取取走走第第一一个个字字符符,以以致致接接收收到到的的第第二二个个字字符符进进入入“接接收收数数据据缓缓冲冲器器”而而造造成成第第一一个个字字符符被被丢丢失失。这这种种错错误误就就称称为为溢溢出出错错误误。发发生生溢

133、溢出出错错误误时时,UART自自动动使使“溢溢出出错错误误标志触发器标志触发器”OE置位。置位。接收数据的确认。接收数据的确认。UART通过对通过对RXD线的线的采样来完成接收数据的确认。对采样来完成接收数据的确认。对RXD的采样由接的采样由接收时钟收时钟RXC完成,完成,RXC的周期的周期Tc和传送数据位和传送数据位的传输时间的传输时间Td之间必须满足如下关系:之间必须满足如下关系:湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源Tc=式中,式中,K=16或或64。现以。现以K=16来说明来说明UART对对RXD线上字符的接收过程。线上字符的接收

134、过程。UART按按RXC脉脉冲冲上上升升沿沿采采样样RXD线线。每每当当连连续续采采样样到到RXD线线上上8个个低低电电平平(起起始始位位之之半半)后后,UART便便确确认认对对方方在在发发送送数数据据(不不是是干干扰扰信信号号)。此此后后,UART便便每每隔隔16个个RXC脉脉冲冲采采样样RXD线线一一次次,并并把把采采样样到到的的数数据据作作为为输输入入数数据据,以以移移位位方方式式存存入入接接收收移移位位寄寄存存器器。RXC对对RXD线线的采样关系如图的采样关系如图5 22所示。所示。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源12345

135、6789101112131415161234567891016Tc起始位起始位RXDDATARXC启动检测启动检测确认启动位确认启动位采样数据采样数据图图5-22UART对数据的采样对数据的采样5.4.2 MCS5.4.2 MCS 5151单片机的串行口及其控制寄存器单片机的串行口及其控制寄存器 MCSMCS 5151系系列列单单片片机机的的串串行行口口是是全全双双工工的的,这这个个口口既既可可以以用用于于网网络络通通信信,也也可可以以实实现现串串行行异异步步通信,还可以作为同步移位寄存器使用通信,还可以作为同步移位寄存器使用。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片

136、机的硬件资源单片机的硬件资源 在在串串行行口口中中可可供供用用户户使使用用的的是是它它的的寄寄存存器器,因因此了解其寄存器结构对用户来说是十分重要的。此了解其寄存器结构对用户来说是十分重要的。一、串行口寄存器结构一、串行口寄存器结构 发送发送SBUFSBUF(99H99H)接收接收SUBFSUBF(99H99H)输入移位寄存器输入移位寄存器TITI(发送中断)(发送中断)T TX XD D串行输出串行输出80518051内部总线内部总线R RX XD D串行输入串行输入RIRI(接收输入)(接收输入)移位时钟移位时钟图图5-23 MCS-515-23 MCS-51串行口寄存器结构串行口寄存器结

137、构湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源在接收方式下,串行数据通过引脚在接收方式下,串行数据通过引脚RXD(P3.0)进入。由于在接收寄存器之间还有移位寄存器,)进入。由于在接收寄存器之间还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现据接收过程中出现帧重叠错误帧重叠错误,即在下一帧数据,即在下一帧数据来时,前一帧数据还没有读走。来时,前一帧数据还没有读走。在在发发送送方方式式下下,串串行行数数据据通通过过TXD(P3.1)送送出出。与与接接收收数数据据情情况况不不同同,

138、发发送送数数据据时时,由由于于CPU是是主主动动的的,不不会会发发生生帧帧重重叠叠错错误误,因因此此发发送送电电路路就就不不需需双双重重缓缓冲冲结结构构,这这样样可可以以提提高高数据发送速度。数据发送速度。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源二、串行通信控制寄存器二、串行通信控制寄存器 1 1、串行控制寄存器、串行控制寄存器SCON SCON (99H99H)位地址位地址9FH9EH9DH9CH9BH9AH99H98H位符号位符号SM0SM1SM2RENTB8RB8TIRISM0SM1工作方式工作方式功功能能波特波特率率00方式方式0同

139、步移位寄存器同步移位寄存器fosc/1201方式方式18位异步收发位异步收发由定时器由定时器T1控制控制10方式方式29位异步收发位异步收发fosc/32或或/6411方式方式39位异步收发位异步收发由定时器由定时器T1控制控制湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源SM2是是多多机机通通信信控控制制位位。因因多多机机通通信信是是在在方方式式2和和方方式式3下下进进行行,所所以以SM2位位主主要要用用于于方方式式2和和方方式式3。当当串串行行口口以以方方式式2或或方方式式3接接收收时时,如如SM2=1,则则只只有有当当接接收收到到的的第第9

140、位位数数据据(RB8)为为“1”时时,才才将将接接收收到到的的前前8位位数数据据送送入入SBUF,并并置置位位RI产产生生中中断断请请求求;否否则则,将将接接收收到到的的前前8位位数数据据丢丢弃弃。而而当当SM2=0时时,不不论论第第9位位数数据据为为“0”还还是是为为“1”,都都将将前前8位位数数据据装装入入SBUF中中,并产生中断请求。并产生中断请求。在在方方式式1时时,若若SM2=1,则则只只有有接接收收到到有有效效停停止止位时,位时,RI才置才置1,以便接收下一帧数据。,以便接收下一帧数据。在方式在方式0时,时,SM2必须为必须为0。REN是允许接收位,当是允许接收位,当REN=1时,

141、允许接收数据,时,允许接收数据,当当REN=0时,禁止接收数据。该位时,禁止接收数据。该位由软件置位或复位。由软件置位或复位。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源TB8是是发发送送数数据据的的第第9位位。在在方方式式2、3时时,其其值值由由用用户户通通过过软软件件设设置置。在在双双机机通通信信时时,TB8一一般般作作为为奇奇偶偶效效验验位位使使用用;在在多多机机通通信信中中,常常以以TB8位位的的状状态态表表示示主主机机发发送送的的是是地地址址帧帧还还是是数数据据帧帧,且且一一般般约约定定:TB8=0为为数数据据帧帧,TB8=1为为地址

142、帧。地址帧。RB8是是接接收收数数据据第第9位位。在在方方式式2、3时时,RB8存存放放接接收收到到的的第第9位位数数据据,它它代代表表接接收收到到数数据据的的特特征征:可可能能是是奇奇偶偶效效验验位位,也也可可能能是是地地址址/数数据据的的标志位。标志位。TI是发送中断标志位。在方式是发送中断标志位。在方式0时,发送完第时,发送完第8位后,该位由位后,该位由硬件置位硬件置位。在其它方式下,于发送。在其它方式下,于发送停止位之前,由停止位之前,由硬件置位。硬件置位。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源TI=1表示帧发送结束表示帧发送结束

143、,其状态既可供软件查,其状态既可供软件查询使用,也可请求中断。发送中断被响应后,询使用,也可请求中断。发送中断被响应后,TI不不会自动复位,必须由会自动复位,必须由软件复位软件复位。RI是是接接收收中中断断标标志志位位。在在方方式式0时时,接接收收完完第第8位位数数据据后后,该该位位由由硬硬件件置置位位。在在其其它它方方式式下下,当当接接收收到到停停止止位位时时,该该位位由由硬硬件件置置位位。因因此此,RI=1表表示示帧帧接接收收结结束束。其其状状态态既既可可供供软软件件查查询询使使用用,也可以请求中断。也可以请求中断。RI亦必须由亦必须由软件清软件清“0”。2、电源控制寄存器、电源控制寄存器

144、PCON电源控制寄存器是为电源控制寄存器是为CHMOS型单片机(如型单片机(如80C51)的电源控制而设置的专用寄存器。字节地)的电源控制而设置的专用寄存器。字节地址为址为87H。其格式如下:。其格式如下:湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源位序位序D7D6D5D4D3D2D1D0位符位符SMOD/GF1GF0PDID在在HMOS的单片机中,该寄存器中除最高位之的单片机中,该寄存器中除最高位之外,其它位都没有定义。外,其它位都没有定义。最高位(最高位(SMOD)是串行)是串行口波特率的倍增位口波特率的倍增位,当,当SMOD=1时,串行口

145、波特率时,串行口波特率加倍加倍。系统复位时,。系统复位时,SMOD=0。3、中断允许寄存器、中断允许寄存器IEES=0禁止串行中断禁止串行中断ES=1允许串行中断允许串行中断湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 5.4.3MCS 51单片机串行通信工作方式单片机串行通信工作方式一、串行口工作方式一、串行口工作方式0在方式在方式0下下,是把串行口作为是把串行口作为同步移位寄存器同步移位寄存器使用使用,这时以这时以RXD(P3.0)端作为数据移位的端作为数据移位的入入口和口和出出口口,而由而由TXD(P3.1)端提供端提供移位时钟脉冲移位时

146、钟脉冲.移位数据的发送和接移位数据的发送和接收以收以8位为一组位为一组,低位在前高位在后。低位在前高位在后。1、数据的发送与接收、数据的发送与接收DATACD4094CLKSTB并行输出并行输出80C51RXDTXDP1.0Q8CD4014CLKP/S并行输入并行输入80C51RXDTXDP1.0图图5 24串行口与串行口与CD4094配合配合图图5 25串串行行口口与与CD4014配配合合湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源使用方式使用方式0实现数据的移位输入输出时,实际实现数据的移位输入输出时,实际上是上是把串行口变成为并行口使用把

147、串行口变成为并行口使用。串行口作为并行。串行口作为并行口输出使用时,要有口输出使用时,要有“串入并出串入并出”的移位寄存器(例的移位寄存器(例如如CD4094或或74LS164、74HC164等)配合,其电路等)配合,其电路连接如图连接如图5 24所示。所示。发送过程可叙述如下:发送过程可叙述如下:数数据据预预先先写写入入串串行行口口数数据据缓缓冲冲器器,然然后后从从串串行行口口RXD端端,在在移移位位时时钟钟脉脉冲冲(TXD)的的控控制制下下,逐逐位位移移入入CD4094。当当8位位数数据据全全部部移移出出后后,SCON寄寄存存器器的的发发送送中中断断TI被被自自动动置置“1”。其其后后主主

148、程程序序就就可可用用中中断断或或查查询询的的方方法法,通通过过设设置置STB状状态的控制,把态的控制,把CD4094的内容并行输出。的内容并行输出。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源方式方式0时,移位操作(串入或串出)的波特率时,移位操作(串入或串出)的波特率是固定的,为单片机晶振频率的十二分之一,如晶是固定的,为单片机晶振频率的十二分之一,如晶振频率以振频率以fosc表示,即波特率表示,即波特率= fosc/12。按此波特率。按此波特率也就是也就是一个机器周期进行一次移位一个机器周期进行一次移位,如,如fosc=6MHz,则波特率为

149、,则波特率为500K(bps),即),即2s移位一次。移位一次。2、应用举例、应用举例DATACD4094CLKSTB80C51RXDTXDP1.0图图5 26串行移位输出电路串行移位输出电路使用使用CD4094的输出的输出端接端接8只发光二极管,利只发光二极管,利用它的串入并出功能,用它的串入并出功能,把发光二极管从左向右把发光二极管从左向右依次点亮,并反复循环依次点亮,并反复循环之。按此要求所做的电之。按此要求所做的电路连接如图路连接如图5 26所示。所示。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源采用查询方式发送数据可编程序如下:采用查

150、询方式发送数据可编程序如下:MOVSCON,#00H;串行口方式;串行口方式0工作工作CLRES;禁止串行中断;禁止串行中断MOVA,#80H;发光管从左边亮起;发光管从左边亮起DELR:CLRP1.0;关闭并行输出;关闭并行输出MOVSBUF,A;串行输出;串行输出JNBTI,;状态查询;状态查询SETBP1.0;开启并行输出;开启并行输出ACALLDELAY;状态维持时间;状态维持时间CLRTI;清发送中断标志;清发送中断标志RRA;发光组合右移;发光组合右移AJMPDELR ;继续;继续湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源二、串行

151、口工作方式二、串行口工作方式1方方式式1是是10位位为为一一帧帧的的异异步步串串行行通通信信方方式式。共共包包括括1个个起起始始位位,8个个数数据据位位和和1个个停停止止位位。其其帧帧格格式为:式为:起起始始D0D1D2D3D4D5D6D7停停止止数据的发送与接收数据的发送与接收方方式式1的的数数据据发发送送是是由由一一条条写写发发送送缓缓冲冲器器(SBUF)的的指指令令开开始始的的,随随后后在在串串行行口口由由硬硬件件自自动动加加入入起起始始位位和和停停止止位位,构构成成一一个个完完整整的的帧帧格格式式,然然后后在在移移位位脉脉冲冲的的作作用用下下,由由TXD端端串串行行输输出出。一一个个字

152、字符符帧帧发发送送完完后后,使使TXD输输出出线线维维持持在在“1”状状态态下下,并并将将SCON寄寄存存器器的的TI置置“1”,通通知知CPU可以接着发送下一个字符。可以接着发送下一个字符。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源接收数据时,接收数据时,SCON的的REN位应处于允许接收状态位应处于允许接收状态(REN=1)。在此前提下,串行口采样)。在此前提下,串行口采样RXD端,当端,当采样到从采样到从“1”向向“0”的状态跳变时,就认定是接收到起始位的状态跳变时,就认定是接收到起始位。随后在移位。随后在移位脉冲的控制下,把接收到的数

153、据位移入接收缓冲器(脉冲的控制下,把接收到的数据位移入接收缓冲器(SBUF)中。直到停止位到来之后把停止位送入中。直到停止位到来之后把停止位送入RB8中,并置位中断标中,并置位中断标志位志位RI,通知,通知CPU从从SBUF取走接收到的一个字符。取走接收到的一个字符。波特率的设定波特率的设定方式方式0的波特率是固定的(的波特率是固定的(fosc/12),但方式),但方式1的波的波特率则是可变的。若以定时器特率则是可变的。若以定时器1作波特率发生器,则作波特率发生器,则方式方式1的波特率的波特率=2SMOD(定时器(定时器1溢出率)溢出率)32当定时器当定时器1作波特率发生器使用时,作波特率发生

154、器使用时,选用定时方式选用定时方式2。之所以选择工作方式之所以选择工作方式2,是因为方式,是因为方式2具有具有自动加载功能自动加载功能,可以避免通过程序反复装入初值所引起的可以避免通过程序反复装入初值所引起的定时误差定时误差,使波,使波特率更加稳定。特率更加稳定。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源假定计数初值为假定计数初值为X,则定时器,则定时器1溢出周期为:溢出周期为:12fosc=(256-X)溢出率为溢出周期的倒数溢出率为溢出周期的倒数。故波特率计算公式为:。故波特率计算公式为:实实际际使使用用时时,总总是是先先确确定定波波特特

155、率率,再再计计算算定定时时器器1的的计计数数初初值值,然然后后进进行行定定时时器器的的初初始始化化。根根据据上上述述波波特特率率计计算算公公式式,得得出出计计数数初初值值的的计计算公式为:算公式为:波特率波特率=2SMOD32fosc12(256-X)X=2SMODfosc3212波特率波特率256-湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源应用举例应用举例单片机间的串行通信通常可分为单片机间的串行通信通常可分为双机通信和多双机通信和多机通信机通信两类。而两类。而串行口工作方式串行口工作方式1只能用于双机通只能用于双机通信,不能用于多机通信信

156、,不能用于多机通信,故作为方式,故作为方式1的应用,这的应用,这里举一双机通信的例子。又因串行通信的程序设计,里举一双机通信的例子。又因串行通信的程序设计,一般一般可采用查询方式或中断方式两种可采用查询方式或中断方式两种,这里仅以查,这里仅以查询方式为例加以说明询方式为例加以说明。为了确保通信成功、有效,现规定双机异步通为了确保通信成功、有效,现规定双机异步通信程序信程序“协议协议”如下:如下:通通信信双双方方均均采采用用系系统统时时钟钟频频率率fosc=12MHz,甲甲机机发发送送数数据据,乙乙机机接接收收数数据据,波波特特率率为为2400bps。湘 潭 大 学单片机原理及应用编著组第五章第

157、五章 MCS-51单片机的硬件资源单片机的硬件资源通通信信开开始始时时,甲甲机机发发送送呼呼叫叫信信号号“06”,询询问问乙乙机机是是否否可可以以接接收收数数据据;乙乙机机收收到到呼呼叫叫信信号号后后,若若同同意意接接收收数数据据则则发发回回“00”作作为为应应答答,否否则则发发“15”表表示示暂暂不不能能接接收收数数据据;甲甲机机只只有有收收到到乙乙机机的的应应答答信信号号“00”后后才才可可把把存存放放在在外外部部数数据据存存储储器器的的内内容容发发送送给给乙乙机机,否否则则继继续续向向乙乙机机呼呼叫叫,直直到到乙乙机同意接收。其数据格式为:机同意接收。其数据格式为:字节数字节数n数据数据

158、1数据数据n累加效验和累加效验和累加效验和累加效验和是指字节数是指字节数n、数据、数据1、数据、数据n这(这(n+1)个字节内容的算术累加和。)个字节内容的算术累加和。乙机根据接收到的乙机根据接收到的“效验和效验和”判断已接收到的判断已接收到的数据是否正确。数据是否正确。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源若若接接收收正正确确,向向甲甲机机发发回回“0FH”信信号号,否否则则发发回回“F0H”信信号号给给甲甲机机。甲甲机机只只有有接接收收到到“0FH”信信号号才才算算完完成成发发送送任任务务,返返回回调调用用的的程程序序,否否则则继继续

159、续呼呼叫,重发数据。叫,重发数据。甲机发送程序甲机发送程序发送程序约定:发送程序约定:定时器定时器T1初始化为模式初始化为模式2,SMOD=1,计数初值,计数初值X=211061232122400256-=230=0E6H串行口初始化为串行口初始化为方式方式1,允许接收;内部允许接收;内部RAM31H和和30H单元存放单元存放发送的数据块首地址发送的数据块首地址;R7存放发送的存放发送的数据块长度;数据块长度;R6为累加和寄存器。为累加和寄存器。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 Y YN N等待乙机回答等待乙机回答N N发送呼叫信号

160、发送呼叫信号06H06H 是是00H00H?开始开始定时器、串行口初始化定时器、串行口初始化置置DPTRDPTR、长度计数器、长度计数器R7R7初值初值置效验寄存器置效验寄存器R6R6初值初值发送字节长度数发送字节长度数发送数据发送数据发送验收和发送验收和 发送完?发送完? 等待乙机回答等待乙机回答 传送正确吗?传送正确吗?返回返回N N图图5 5 27 27 双机通信甲机查询发送程序框图双机通信甲机查询发送程序框图Y YY Y湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源发送程序清单:发送程序清单:MOVTMOD,#20H;T1初始化模式初始化

161、模式2MOVTL1,#0E6H;置计数初值;置计数初值MOVTH1,#0E6HSETBTR1;启动;启动T1MOVSCON,#50H;串行口初始化为方式;串行口初始化为方式1, ;允许接收;允许接收MOVPCON,#80H;置;置SMOD=1FMT-RAM:MOVDPH,31H;置;置DPTR指针指针MOVDPL,30H MOVR7,#2FH ;送字节数至;送字节数至R7MOVR6,#00H ;清累加和寄存器;清累加和寄存器湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源TX-ACK:MOVA,#06H;发呼叫信号;发呼叫信号 MOVSBUF,AW

162、AIT1:JBCTI,RX-YES;等待发送完;等待发送完 SJMPWAIT1RX-YES:JBCRI,NEXT1;接收乙机回答;接收乙机回答 SJMPRX-YESNEXT1:MOVA,SBUF;判乙机是否同意接收判乙机是否同意接收CJNEA,#00H,TX-ACK;不同继续呼叫;不同继续呼叫TX-BYTES:MOVA,R7;发送传送的字节个数;发送传送的字节个数MOVSBUF,A ADDA,R6;加字节个数;加字节个数 MOVR6,A;存累加和;存累加和湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源WAIT2:JBCTI,TX-NEWS;字节个

163、数发送完?;字节个数发送完?SJMPWAIT2;没完等待;没完等待TX-NEWS:MOVXA,DPTR;发送数据;发送数据MOVSBUF,A ADDA,R6;形成累加和送形成累加和送R6 MOVR6,A INCDPTR;数据指钟加;数据指钟加1WAIT3:JBCTI,NEXT2 SJMPWAIT3NEXT2:DJNZR7,TX-NEWS;判数据发送完否?;判数据发送完否?TX-SUM:MOVA,R6;发送完,累加和发送乙机;发送完,累加和发送乙机湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MOVSBUF,AWAIT4:JBCTI,RX-0FH;

164、累加和发送完否?;累加和发送完否? SJMPWAIT4RX-0FH:JBCRI,IF-0FH;等待乙机回答;等待乙机回答 SJMPRX-0FHIF-0FH:MOVA,SBUFCJNEA,#0FH,FMT-RAM;判判传传送送正正确确否否? RET;正确返回;正确返回乙机接收程序乙机接收程序接收程序的约定:接收程序的约定:波特率设置初始化,串行口初始化波特率设置初始化,串行口初始化同发送程序。同发送程序。寄寄存存器器设设置置:31H和和30H存存放放接接收收数数据据缓缓冲冲区区首首址址;R7为数据块长度寄存器:为数据块长度寄存器:R6为累加和寄存器。为累加和寄存器。湘 潭 大 学单片机原理及应用

165、编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源向甲机回答信息:向甲机回答信息:0FH为接收正常,为接收正常,F0H为传送出错,为传送出错,00H为同意接收数据。为同意接收数据。是是06H?开始开始定时器、串行口初始化定时器、串行口初始化置置DPTR、效验和、效验和R6初值初值等待接收呼叫信号等待接收呼叫信号向甲机回送向甲机回送15H向甲机回送向甲机回送00H接收数据块长度接收数据块长度N接收数据存外部接收数据存外部RAM地址指针地址指针DPTR加加1数据接收完?数据接收完?接收效验和接收效验和传送正确吗?传送正确吗?向甲机回送向甲机回送F0H向甲机回送向甲机回送0FH返回返回

166、NY图图5 28双机通信乙机接收程序框图双机通信乙机接收程序框图YNY湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源接收程序清单:接收程序清单:FMT-TS:MOVTMOD,#20H ;T1初始化模式初始化模式2MOVTL1,#0E6H;置计数初值;置计数初值MOVTH1,#0E6HSETBTR1;启动;启动T1MOVSCON,#50H ;串行方式;串行方式1,允许接收,允许接收 MOVPCON,#80H ;SMOD=1,波特率加倍波特率加倍FMT-RAM:MOVDPH,31H ;置;置DPTR地址指针地址指针 MOVDPL,30H MOVR6,

167、#00H;效验和寄存器清零;效验和寄存器清零RX-ACK:JBCRI,IF-06H ;等待接收呼叫信号;等待接收呼叫信号 SJMPRX-ACK湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源IF-06H:MOVA,SBUF;判呼叫信号有误?;判呼叫信号有误? CJNEA,#06H,TX-15HTX-00H:MOVA,#00H ;向甲机回送同意接收信号;向甲机回送同意接收信号MOVSBUF,AWAIT1:JBCTI,RX-BYTES;等待回送信号发送完;等待回送信号发送完 SJMPWAIT1TX-15H:MOVA,#15H;向甲机回送接收信号不正确;

168、向甲机回送接收信号不正确 MOVSBUF,AWAIT2:JBCTI,HAVE1;等待不正确信号发送完;等待不正确信号发送完 SJMPWAIT2HAVE1:LJMPRX-ACK ;返回接收呼叫信号状态;返回接收呼叫信号状态RX-BYTES:JBCRI,HAVE2;接收数据块长度;接收数据块长度SJMPRX-BYTES湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源HAVE2:MOVA,SBUF ;给长度寄存器赋值;给长度寄存器赋值MOVR7,A MOVR6,A;形成累加和;形成累加和RX-NEWS:JBCRI,HAVE3;接收数据;接收数据 SJMP

169、RX-NEWSHAVE3:MOVA,SBUF;接收数据并存入外部;接收数据并存入外部RAM中中 MOVXDPTR,A INCDPTR;修改地址指针;修改地址指针 ADDA,R6;形成累加和;形成累加和 MOVR6,ADJNZR7,RX-NEWS;判数据接收完否?;判数据接收完否?RX-SUM:JBCRI,HAVE4;接收效验和;接收效验和湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 SJMPRX-SUMHAVE4:MOVA,SUBF;判传送是否正确;判传送是否正确CJNEA,R6,TX-ERRTX-RIGHT:MOVA,#0FH;向甲机应答传送

170、正确;向甲机应答传送正确MOVSBUF,AWAIT3:JBCTI,GOOD;正确返回;正确返回 SJMPWAIT3TX-ERR:MOVA,#0F0H;向甲机应答传送错误;向甲机应答传送错误 MOVSBUF,AWAIT4:JBCTI,AGAINSJMPWAIT4AGAIN:LJMPFMT-RAM;返回重新接收数据状态;返回重新接收数据状态GOOD:RET;返回被调用主程序;返回被调用主程序湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源通信程序的调试及故障排除通信程序的调试及故障排除串串行行口口通通信信程程序序调调试试,只只有有当当通通信信双双方方的

171、的硬硬件件和和软软件件都都正正确确无无误误时时,才才能能实实现现成成功功通通信信。如如果果调调试试中中出出现现问问题题,首首先先应应考考虑虑硬硬件件故故障障,其其表表现现是是:通通信信线线路路中中的的芯芯片片损损坏坏,接接触触不不良良等等。为为了了迅迅速速准准确确查查明明故故障障点点,可可编编制制一一测测试试小小程程序序,如如编编一一个个连连续续发发送送字字符符串串“MCS-51Microcomputer”的的程程序序,在在该该程程序序中中不不安安排排接接收收对对方方的的回回答答信信息息,分分别别在在通通信信的的双双方方单单独独运行运行。程序如下:。程序如下:湘 潭 大 学单片机原理及应用编著

172、组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 TSIO:MOVTMOD,#20H;T1模式模式2,fosc=11.059MHz MOVTL1,#0E8H ;1200波特率波特率 MOVTH1,#0E8H MOVSCON,#42H;串行口方式;串行口方式1,允许接收,允许接收 SETBTR1;启动;启动T1TS04:MOVR4,#00H ;从首字符开始;从首字符开始 MOVDPTR,#ASAB;查串行口输出表中字符串;查串行口输出表中字符串TS01:MOVA,R4 MOVCA,A+DPTRJZTS04;字符串发送完重发,结束符;字符串发送完重发,结束符TS03:JBCTI,TS0

173、2;为;为00H SJMPTS03湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源TS02:MOVSBUF,A;发送串中字符;发送串中字符 INCR4;修改表中指针;修改表中指针 SJMPTS01ASAB:DBMCS 51Microcomputer;字符串表;字符串表 DB0AH,0DH,00H此此时时用用示示波波器器可可观观察察接接收收方方一一端端(RXD)引引脚脚的的信信号号波波形形,若若观观察察不不到到,即即可可断断定定此此通通路路存存在在问问题题。这这时时仍仍用用示示波波器器逐逐一一观观察察各各连连接接点点、芯芯片片输输入入/输出各端点的波

174、形,从而可迅速故障定位。输出各端点的波形,从而可迅速故障定位。对于对于软故障软故障,主要考虑,主要考虑程序的容错性程序的容错性。如前面介。如前面介绍的收、发程序实例,如果绍的收、发程序实例,如果发方发方比比收方收方先运行程序,先运行程序,则则发方发方将会因等不到收方的回答信号而将会因等不到收方的回答信号而陷于死循环陷于死循环;而而收方收方因丢失发方发过来的呼叫信号也将因丢失发方发过来的呼叫信号也将陷于等待陷于等待。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源解决此类问题的办法是解决此类问题的办法是在发送程序中,凡在需等待在发送程序中,凡在需等待

175、对方回答的地方,都适当延时对方回答的地方,都适当延时,一旦超过一定时间,一旦超过一定时间,就返回重新呼叫,直至接通联系为止。就返回重新呼叫,直至接通联系为止。三、三、串行工作方式串行工作方式2和方式和方式3方式方式2方式方式2是是11位为一帧的串行通信方式。位为一帧的串行通信方式。起起始始D0D1D2D3D4D5D6D7D8停停止止在方式在方式2下,字符还是下,字符还是8个数据位,只不过个数据位,只不过增增加了一个第加了一个第9数据位(数据位(D8),而且其),而且其功能由用户确功能由用户确定定,是一个可编程位。,是一个可编程位。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单

176、片机的硬件资源单片机的硬件资源在在发发送送数数据据时时,应应预预先先在在SCON的的TB8位位中中把把第第9数据位的内容准备好。这可使用如下指令完成:数据位的内容准备好。这可使用如下指令完成:SETBTB8;TB8位置位置“1”CLRTB8;TB8位置位置“0”发送数据(发送数据(D0D7)由)由MOV指令向指令向SBUF写入,写入,而而D8位的内容则由硬件电路从位的内容则由硬件电路从TB8中直接送到发送中直接送到发送移位寄存器的第移位寄存器的第9位位,并以此来启动串行发送。一,并以此来启动串行发送。一个字符帧发送完毕后,将个字符帧发送完毕后,将TI位置位置“1”,其它过程与,其它过程与方式方

177、式1相同。相同。方式方式2的接收过程也与方式的接收过程也与方式1基本相似,所不基本相似,所不同的只在第同的只在第9数据位上。数据位上。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源方式方式2,串行口把接收到的前,串行口把接收到的前8个数据位送入个数据位送入SBUF,把第,把第9数据位送入数据位送入RB8。方式方式2的波特率是固定的的波特率是固定的,且有两种。一种是,且有两种。一种是晶振频率的三十二分之一;另一种是晶振频率的六晶振频率的三十二分之一;另一种是晶振频率的六十四分之一十四分之一。波特率波特率=2SMOD64fOSC方式方式3方式方式3同

178、样是同样是11位为一帧的串行通信方式,其位为一帧的串行通信方式,其通信过程与方式通信过程与方式2完全相同,所不同的仅在于波特完全相同,所不同的仅在于波特率。率。方式方式3的波特率可由用户根据需要设定,其设的波特率可由用户根据需要设定,其设定方法与方式定方法与方式1相同。相同。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源应用举例应用举例主从式多机通信主从式多机通信在主从式多机通信中,只有一台主机,但从机在主从式多机通信中,只有一台主机,但从机可以有多台。主机发送的信息可以传送到各个从机可以有多台。主机发送的信息可以传送到各个从机或指定的从机,从机

179、发送的信息只能为主机接收,或指定的从机,从机发送的信息只能为主机接收,各从机之间不能直接通信。各从机之间不能直接通信。TXDRXD8031主机主机TXDRXD80310#从机从机TXDRXD80311#从机从机TXDRXD8031n#从机从机图图5-29主从式多机通信连接方式主从式多机通信连接方式湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MCS 51应用于多机通信时必须在方式应用于多机通信时必须在方式2或方式或方式3下工下工作。作。主主机机的的SM2=0,所所有有从从机机的的SM2=1,以以便便接接收收主主机机发发来来的的地址。地址。主主机机

180、给给从从机机发发送送地地址址时时,第第9数数据据位位上上发发送送1,以以指指示示从从机机接收这个地址。接收这个地址。所所有有从从机机在在SM2=1、RB8=1时时,接接收收主主机机发发来来的的从从机机地地址址,置置位位RI产产生生中中断断请请求求。所所有有从从机机响响应应中中断断进进入入相相应应中中断断服服务务程程序,并和本机地址比较以确认是否为被寻址从机。序,并和本机地址比较以确认是否为被寻址从机。被被寻寻址址从从机机通通过过指指令令清清除除SM2,以以正正常常接接收收数数据据,并并向向主主机机发发回回接接收收到到的的从从机机地地址址,供供主主机机核核对对。未未被被寻寻址址的的从从机机保保持

181、持SM2=1,并退出各自的中断服务程序。,并退出各自的中断服务程序。完完成成主主机机和和被被寻寻址址从从机机之之间间的的数数据据通通信信后后,被被寻寻址址从从机机重重新使新使SM2=1,并退出中断服务程序,等待下次通信。,并退出中断服务程序,等待下次通信。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源主主从从多多机机通通信信的的通通信信协协议议。和和双双机机通通信信一一样样,主主从从式式多多机机通通信信亦亦存存在在通通信信协协议议问问题题。一一般般通通信信协协议议都都有有通通用用标标准准,协协议议较较完完善善,但但很很复复杂杂。这这里仅规定几条很

182、不完善的协议:里仅规定几条很不完善的协议:MCS 51单单片片机机构构成成的的多多机机通通信信系系统统最最多多允许允许255台从机,其地址分别为台从机,其地址分别为00HFEH。“地址地址”FFH是对所有从机都起作用的一条控制命令,是对所有从机都起作用的一条控制命令,命令使被寻址从机命令使被寻址从机恢复恢复SM2=1的状态的状态。主主机机首首先先发发送送地地址址帧帧,被被寻寻址址的的从从机机返返回回本本机机地地址址给给主主机机,再再判判断断地地址址相相符符后后主主机机给给被被寻寻址址从从机机发发送送控控制制命命令令,被被寻寻址址从从机机根根据据其其命命令令向向主主机机回回送送自自己己的的状状态

183、态,若若主主机机判判断断状状态态正正常常,主主机机开开始始发发送送或接收的第一个字节是数据块的长度。或接收的第一个字节是数据块的长度。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源假定主机发送的控制命令代码为:假定主机发送的控制命令代码为:00H主机发送从机接收命令;主机发送从机接收命令;01H从机发送主机接收命令;从机发送主机接收命令;其它为非法命令。其它为非法命令。从机状态字格式为:从机状态字格式为: ERR 0 0 0 0 0 TRDY RRDY其中:其中:ERR=1,从机接收到非法命令;,从机接收到非法命令;TRDY=1,从机发送准备就绪

184、;,从机发送准备就绪;RRDY=1,从机接收准备就绪,从机接收准备就绪。通信程序包括主机程序和从机程序两部分。通信程序包括主机程序和从机程序两部分。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源主机程序主机程序图图5 5 30 30 主机程序流程图主机程序流程图N N接收数据块接收数据块N NY YY Y主机子程序主机子程序命令从机复位命令从机复位从机应答从机应答发送命令字发送命令字从机应答从机应答N N命令正确?命令正确?命令分类命令分类00H00H(发)(发)01H01H(收)(收)从机接收就绪?从机接收就绪?发送数据块发送数据块返回返回N

185、N从机发送就绪?从机发送就绪?发送从机地址发送从机地址地址相符?地址相符?Y Y N N给给R0R0、R1R1、R2R2、R3R3、R4R4和和R5R5赋初值赋初值开始开始定时器定时器T1T1方式方式2 2波特率为波特率为1200bps1200bps 启动启动T1T1工作工作串行口方式串行口方式3 3,允许接收,允许接收SM2=0SM2=0, TB8=1 TB8=1调用主机通信子程序调用主机通信子程序等待等待(a a)主机主程序流程)主机主程序流程 (b b)主机通信子程序流程)主机通信子程序流程Y YY YYN湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片

186、机的硬件资源主机主程序用于定时器主机主程序用于定时器T1初始化,串行口初始初始化,串行口初始化和传递主机通信子程序所需入口参数。化和传递主机通信子程序所需入口参数。主机通信子程序用于主机和从机间一个数据块主机通信子程序用于主机和从机间一个数据块的传送。的传送。程序中所用寄存器分配如下:程序中所用寄存器分配如下:R0存放主机发送数据块始址;存放主机发送数据块始址;R1存放主机接收数据块始址;存放主机接收数据块始址;R2存放被寻址从机地址;存放被寻址从机地址;R3存放主机发出命令;存放主机发出命令;R4存放发送数据块长度存放发送数据块长度R5存放接收数据块长度。存放接收数据块长度。湘 潭 大 学单

187、片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源主机主程序:主机主程序:START:MOVTMOD,#20H;定时器;定时器T1方式方式2MOVTH1,#0F4H;定时器;定时器T1初值初值MOVTL1,#0F4H;波特率为;波特率为1200bpsSETBTR1;启动;启动T1工作工作MOVSCON,#0D8H;串行口方式;串行口方式3,允许接收,允许接收MOVPCON,#00HMOVR0,#40H;发送数据块首址送;发送数据块首址送R0 MOVR1,#20H;接收数据块首址送;接收数据块首址送R1 MOVR2,#SLAVE;被寻址从机地址送;被寻址从机地址送R2

188、MOVR3,#00H/01H;00H,则主机发从机收命令,则主机发从机收命令;01H,则从机发主机收命令,则从机发主机收命令湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MOVR4,#20;发送数据块长度送;发送数据块长度送R4MOVR5,#20;接收数据块长度送;接收数据块长度送R5ACALLMCOMMU ;调用主机通信子程序;调用主机通信子程序 SJMP;等待;等待主机通信子程序:主机通信子程序:ORG8100HMCOMMU:MOVA,R2;从机地址送;从机地址送A MOVSBUF,A;发送从机地址;发送从机地址 JNBRI,;等待接收从机应

189、答地址;等待接收从机应答地址 CLRRI;从机应答后清;从机应答后清RI湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MOVA,SBUF;从机应答地址送;从机应答地址送A XRLA,R2;核对两个地址;核对两个地址 JZMTXD2;相符,则转;相符,则转MTXD2MTXD1:MOVSBUF,#0FFH;发送从机复位信号;发送从机复位信号 SETBTB8;地址帧标志送;地址帧标志送TB8 SJMPMCOMMU;重发从机地址;重发从机地址MTXD2:CLRTB8;准备发送命令;准备发送命令 MOVSBUF,R3;送出命令;送出命令 JNBRI,;等待

190、从机应答;等待从机应答 CLRRI;从机应答后清;从机应答后清RI MOVA,SBUF;从机应答命令送;从机应答命令送AJNBACC.7,MTXD3;核对命令后无错,命令分类;核对命令后无错,命令分类湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源SJMPMTXD1;若命令收错,则重新联络若命令收错,则重新联络MTXD3:CJNER3,#00H,MRXD;若为从机发送主机接收若为从机发送主机接收;转转MRXDJNBACC.0,MTXD1;若从机接收未就绪,则重新联络若从机接收未就绪,则重新联络MTXD4:MOVSBUF,R0;从机接收就绪,开始发送

191、从机接收就绪,开始发送 JNBTI,;等待发送结束;等待发送结束 CLRTI;发送结束后清;发送结束后清TI INCR0;R0指向下一发送数据指向下一发送数据 DJNZR4,MTXD4;若数据块未发完,则继续;若数据块未发完,则继续RET湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MRXD:JNBACC.1,MTXD1;从机发送未就绪,重新联络;从机发送未就绪,重新联络MRXD1:JNBRI, ;等待接收完毕;等待接收完毕 CLRRI;接收到一帧后清;接收到一帧后清RI MOVA,SBUF;收到的数据送;收到的数据送A MOVR1,A;存入内存

192、;存入内存 INCR1;接收数据区指针加;接收数据区指针加1 DJNZR5,MRXD1;若未接收完,则继续;若未接收完,则继续 RET END湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源 从机程序从机程序串行口方式串行口方式3,允许接收,允许接收SM2=1,TB8=1发送数据块始址送发送数据块始址送R0接收数据块始址送接收数据块始址送R1发送数据块长度送发送数据块长度送R2接收数据块长度送接收数据块长度送R3开始开始停机停机定时器定时器T1方式方式2波特率为波特率为1200bps启动启动T1工作工作开开CPU中断中断开串行口中断开串行口中断(a

193、)从机主程序)从机主程序发发RRDY=1状态字状态字接收数据接收数据发送完?发送完?本机接收就绪?本机接收就绪?NNYNN保护现场保护现场命令分类命令分类01(发)(发)返回返回本机发送就绪?本机发送就绪?接受地址符合本机地址接受地址符合本机地址回送本机地址回送本机地址接收下一字符接收下一字符是命令字吗?是命令字吗?恢复现场恢复现场发发TDRY=1状态字状态字发送数据发送数据送送TRDY=0状态字状态字Y发发RRDRRDY=0Y=0状状态态字字N非法命令非法命令接收完?接收完?N(b)从机中断服务程序)从机中断服务程序YYYY湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机

194、的硬件资源单片机的硬件资源从机主程序用于定时器从机主程序用于定时器T1初始化、串行口初始化和初始化、串行口初始化和中断初始化。从机中断服务程序用于对主机的通信。中断初始化。从机中断服务程序用于对主机的通信。ORG1000HSTART:MOVTMOD,#20H;定时器;定时器T1为方式为方式2 MOVTH1,#0F4H;波特率为;波特率为1200bps MOVTL1,#0F4H SETBTR1;启动;启动T1工作工作 MOVSCON,#0F8H;串行口为方式;串行口为方式3,;允许接收;允许接收SM2=1,TB8=1 MOVPCON,#00HMOVR0,#20H;R0指向发送数据块始址指向发送数

195、据块始址 MOVR1,#40H;R1指向接收数据块始址指向接收数据块始址湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MOVR2,#20;发送数块长度送;发送数块长度送R2 MOVR3,#20;接收数块长度送;接收数块长度送R3 SETBEA;开;开CPU中断中断 SETBES;允许串行口中断;允许串行口中断 CLRRI;清;清RI SJMP;等待;等待应应当当注注意意:主主机机程程序序中中的的发发送送数数据据块块及及接接收收数数据据块块长长度度要要同同从从机机程程序序中中的的保保持持一一致致(程程序序中中假假设设皆皆为为20H),即即主主机机的

196、的发发送送数数据据块块长长度度应应等等于于被被寻寻址址从从机机的的接接受受数数据据块块长长度度,主主机机的的接接收收数数据据块块长长度度应应等等于于从从机机的的发发送送数数据据块块长长度度;否否则则,就就应应当当把把发发送送数数据据块块长长度度字字节节传传送送给给接接收收端端,以以便便接接收收端端根根据据发发送送数数据据块块长长度度来确定接收数据区的长度。来确定接收数据区的长度。湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源从机中断服务程序:从机中断服务程序:由于从机串行口设定为由于从机串行口设定为方式方式3、SM2=1和和RI=0,且,且串行口

197、中断已经开放串行口中断已经开放,因此,因此从机的接收中断总从机的接收中断总能被响应能被响应(主机发送地址时)。在中断服务程序中,(主机发送地址时)。在中断服务程序中,SLAVE是从机的是从机的本机地址本机地址,F0H(即(即PSW.5)为本)为本机机发送就绪发送就绪位地址(即:位地址(即:F0H中为中为1表示从机发送准表示从机发送准备就绪),备就绪),PSW.1为本机为本机接收就绪接收就绪状态位(即:状态位(即:PSW.1=1为本机已准备好接收)。为本机已准备好接收)。寄存器分配为:寄存器分配为: R0:存放发送数据块始址:存放发送数据块始址R1:存放接收数据块始址:存放接收数据块始址R2:存

198、放发送数据块长度:存放发送数据块长度R3:存放接收数据块长度:存放接收数据块长度湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源ORG0023HSJMPSINTSBV;转入从机中断服务程序;转入从机中断服务程序ORG0100HSINTSBV:CLRRI;接收到地址后清;接收到地址后清RIPUSHACC ;保护;保护A于堆栈于堆栈PUSHPSW ;保护;保护PSW于堆栈于堆栈 MOVA,SBUF;接收的从机地址送;接收的从机地址送AXRLA,#SLAVE;和本机地址核对;和本机地址核对 JZSRXD1;若是呼叫本机,则继续;若是呼叫本机,则继续RET

199、URN:POPPSW;不是呼叫本机,则恢复;不是呼叫本机,则恢复PSWPOPACC;恢复;恢复ACCRETI;中断返回;中断返回SRXD1:CLRSM2;准备接收数据;准备接收数据/命令命令湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源MOVSBUF,#SLAVE;发回本机地址,供核对;发回本机地址,供核对JNBRI,;等待接收主机发来的数据;等待接收主机发来的数据/命令命令CLRRI;接收到后清;接收到后清RIJNBRB8,SRXD2;若是数据;若是数据/命令,则继续命令,则继续SETBSM2;若是复位信号,则令;若是复位信号,则令SM2=1S

200、JMPRETURN ;返主程序;返主程序SRXD2:MOVA,SBUF;接收命令送;接收命令送ACJNEA,#02H,NEXT;命令合法?;命令合法?NEXT:JCSRXD3;若命令合法,则继续;若命令合法,则继续CLRTI;若命令不合法,则清;若命令不合法,则清TIMOVSBUF,#80H;发送;发送ERR=1的状态字的状态字SETBSM2;令;令SM2=1SJMPRETURN ;返主程序;返主程序湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源SRXD3:JZSCHRX;若为接收命令,则转;若为接收命令,则转SCHRXJBF0H,STXD ;若

201、本机发送就绪,则转;若本机发送就绪,则转STXDMOVSBUF,#00H;本机发送未就绪,发;本机发送未就绪,发;TRDY=0SETBSM2SJMPRETURN;返主程序;返主程序STXD:MOVSBUF,#02H;发送;发送TRDY=1的状态字的状态字JNBTI,;等待发送完毕;等待发送完毕CLRTI;接收到后清;接收到后清TILOOP1:MOVSBUF,R0;发送一个字符数据;发送一个字符数据JNBTI,;等待发送完毕;等待发送完毕CLRTI;发送完毕后清;发送完毕后清TIINCR0;发送数据块始址加;发送数据块始址加1DJNZR2,LOOP1;字符未发完,则继续;字符未发完,则继续湘 潭

202、 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源SETBSM2;令;令SM2=1SJMPRETURN;返回;返回SCHRX:JBPSW.1,SRXD;本机接收就绪则;本机接收就绪则STXDMOVSBUF,#00H;本机接收未就绪,发;本机接收未就绪,发RRDY=0SETBSM2;令;令SM2=1SJMPRETURN;返回主程序;返回主程序SRXD:MOVSBUF,#01H;发出;发出RRDY=1状态字状态字LOOP2:JNBRI,;接收一个字符;接收一个字符CLRRI;接收一帧字符后后清;接收一帧字符后后清RIMOVR1,SBUF;存入内存;存入内存INCR1;接收数据块指针加;接收数据块指针加1DJNZR3,LOOP2;若未接收完,则继续;若未接收完,则继续湘 潭 大 学单片机原理及应用编著组第五章第五章 MCS-51单片机的硬件资源单片机的硬件资源SETBSM2;令;令SM2=1SJMPRETURN;返回主程序;返回主程序END习习题题4,5,9,10,11,15*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号