基于51单片机GPS通讯.doc

上传人:laozhun 文档编号:4135993 上传时间:2023-04-07 格式:DOC 页数:50 大小:650KB
返回 下载 相关 举报
基于51单片机GPS通讯.doc_第1页
第1页 / 共50页
基于51单片机GPS通讯.doc_第2页
第2页 / 共50页
基于51单片机GPS通讯.doc_第3页
第3页 / 共50页
基于51单片机GPS通讯.doc_第4页
第4页 / 共50页
基于51单片机GPS通讯.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《基于51单片机GPS通讯.doc》由会员分享,可在线阅读,更多相关《基于51单片机GPS通讯.doc(50页珍藏版)》请在三一办公上搜索。

1、毕业论文基于单片机的GPS通信专业名称:班 级:学生姓名:指导老师:完成时间:摘要随着GPS 用户设备价格的不断下降和GPS 应用研究的不断深入, 大量GPS 用户设备已用于舰船、飞机的导航、导弹卫星测控、精密授时、作战训练、石油资源开发等方面。近年来, 车辆的跟踪和导航、农业、公安和旅游等也纳入GPS 的应用范围。本人毕业设计采用了单片机扩展的方式, 并利用单片机作为中间媒介向微机提供信息服务。采用了型号为80C51 的单片机与Garmin 公司的GPS25 产品和“Jupiter”GPS-OEM板接收机相连接, 80C51 接收GPS接收机发送的数据,与接收机之间进行通信。将OEM板输出的

2、信息,利用计算机进行数据采集、图象处理、坐标系统变换,再加上无线通信技术、并行数据库技术、网络等技术,即组成GPS 应用系统。本文介绍了GPS-OEM 板的组成和特点,以Garmin 公司的GPS25 产品和“Jupiter”GPS-OEM板为例,与单片机串行通信相结合,阐述了如何利用单片机来实现与GPS-OEM 板的通信功能。详细介绍了GPS与单片机通信的实现方法,GPS系统的组成和GPS接收机的工作原理,并介绍了GPS-OEM板的结构,单片机的结构和特点,数据处理,等等,对GPS及其定位技术应用的研究和GPS OEM板的二次开发有很好的帮助作用。关键词 GPS接收机;单片机;通信Abstr

3、actWith the price of GPS user equipment falling and GPS application research, a GPS device has been used for ships, users of the aircrafts navigation, missiles, satellites, and precise control of petroleum resources exploitation operations, etc. In recent years, the vehicle tracking and navigation,

4、agriculture, public security and tourism also included the application scope of GPS.I am a graduate design adopted MCU expansion, and USES single chip microcomputer as intermediary to provide information service. Using the 80C51 SCM and the model for the GPS25 Garmin company products and Jupiter GPS

5、 receivers connected - OEM plate 80C51 GPS receivers, sending data, and the receiver. Will the information output, OEM board using computer data acquisition, image processing, coordinate system transformation, plus wireless communication technology, parallel database technology, network technology,

6、application system composed of GPS.The text introduces the composition and characteristics of the GPS - OEM board. With the GPS25products of the company Garmin and Jupiter GPS - OEM board for example, combined with SCM serial communication, expounds how to realize the communication function with SCM

7、 and GPS - OEM. Chore is OEM4-G2 OEM-board and single chip processor. The design project of the GPS receivers and the design method of hardware and software are presented in detail, and the consists of GPS system and the composition and the operating principle of the GPS receiver are discussed in th

8、e thesis. Some message described in the thesis, such as the basic structure of GPS-OEM and single chip processor, the consists of positioning system, the method and the skill of processing original data through single chip ,and so on, is very useful for studying GPS and its applications in integrate

9、d navigation, and re-development on GPS-OEM. KEY WORDS GPS receivers, SCM, communication目 录1绪论11.1 引言11.2 研究重点11.3 研究的意义22系统总体设计22.1系统框架22.2 总体设计思想32.3 单片机概述32.31单片机主流产品系列32.3.2 单片机型号选择42.3.3 单片机的应用领域42.4 MCS-51的内部结构52.4.1 MCS-51的内部总体结构52.4.2 MCS-51的引脚描述72.4.3 存储器配置72.4.4 输入/输出端口102.4.5 定时器/计数器102.4

10、.6 串行接口122.4.7 中断132.5 抗干扰复位172.6 晶振172.7 8251可编程串行接口芯片182.7.1 8251A与CPU的连接信号182.7.2 8251A 与外部设备之间的连接信号192.7.3. 时钟、电源和地202.8 74ls373213. GPS系统原理概述223.1 GPS的组成223.1.1 GPS空间部分233.1.2 地面监控部分243.1.3 用户设备部分243.2 GPS接收机及其工作原理253.2.1 GPS接收原理253.2.2 GPS接收机概述253.2.3 GPS接收机工作原理273.3 “Jupiter” GPS/OEM板283.4 GA

11、RMIN公司的GPS25板293.5 GPS-OEM板的组成与原理313.6GPS-OEM板输出数据格式313.6.1 GPS-OEM 板的输出信号313.6.2 NMEA-0183 的语句格式324.GPS-OEM 板与MCS-51 单片机的信息交换344. 1设计要求344. 2分析344. 3设计354. 3. 1 硬件连接354. 3. 2 软件实现355. 结束语37致谢38参考文献38基于GPS的单片机通信1绪论1.1 引言GPS 是英文Navigation Satellite Timing and Ranging GlobalPosit ion System 的字头简称。它利用导

12、航卫星为全球用户提供实时的、高精度的三维速度的时间信息。随着GPS 用户设备价格的不断下降和GPS 应用研究的不断深入, 大量GPS 用户设备已用于舰船、飞机的导航、导弹卫星测控、精密授时、作战训练、石油资源开发等方面。近年来, 车辆的跟踪和导航、农业、公安和旅游等也纳入GPS 的应用范围。在GPS 接收机的二次开发过程中, 我们采用了单片机扩展的方式, 并利用单片机作为中间媒介向微机提供信息服务。我们采用了型号为80C51 的单片机与Garmin 公司的GPS25 产品和“Jupiter”GPS-OEM板接收机相连接, 80C51 接收GPS接收机发送的数据,与接收机之间进行通信。GPS 接

13、收机的OEM(Original Equipment Manufacturer) 板,以其优良性能、轻巧灵便、易于开发的特点,现已在GPS 各领域得到广泛应用。将OEM板输出的信息,利用计算机进行数据采集、图象处理、坐标系统变换,再加上无线通信技术、并行数据库技术、网络等技术,即组成GPS 应用系统。近年来,Ashtech ,Trimble ,Motorola ,Novtatel ,Gamin 等公司都推出了自己的GPS 接收机产品。本文以Garmin 公司的GPS25 产品和“Jupiter”GPS-OEM板为例,与单片机串行通信相结合,阐述了如何利用单片机来实现与GPS-OEM 板的通信功能

14、。1.2 研究重点MCS-51单片机的研究与开发是本次设计的重点,它不光是程序控制模块,也是连接GPS-OEM板的重要模块。单片微型计算机简称单片机。它是把组成微型计算机的各功能部件:中央处理器CPU、随机存储器RAM、只读存储ROM、I/O接口电路、定时器/计数器以及串行通讯接口等部件制作在一块集成芯片中,构成一个完整的微型计算机。通过运行事先编制好并写入其中的程序,将OEM板输出的信息,利用计算机进行数据采集、图象处理、坐标系统变换,再加上无线通信技术、并行数据库技术、网络等技术,即组成GPS 应用系统。这就是基本的程序运行流程。当然程序的设计与开发离不开对单片机的深入认识。1.3 研究的

15、意义移动定位与导航随GPS技术的成熟与广泛应用而变的日益迫切,无线通信技术的日益成熟与产品的推陈出新成为无线数据产品和因特网(Internet)在人类生活中的一种弥补和延伸,更重要的是满足了人们“随处定位”的愿望。本论文的意义在于将移动通信技术应用到传统的空间信息服务中,将革命性的改变传统的基于位置的服务机制,使作为主体的人、作为客体的真实世界以及经由网络传输的数字世界三者无缝的结合起来,实现不受任何时间和空间局限的互动,最终目的是根本性地改变人与数字地球、人与现实世界的交互方式,能够为任何基于空间的作业系统如导航、数字战场、野外采样、物流管理、智能交通、旅游、资源管理、娱乐等提供全新的作业模

16、式。2系统总体设计2.1系统框架MCS-51 单片机与OEM 板之间选用8251 可编程串行接口芯片, 8251的RXRDY 和TXRDY 逻辑组合后, 作为单片机的外部中断请求源, 电平转换器采用MAX232 芯片。MCS-51 单片机编程串行接口芯片电平转换器GPS-OEM 板逻辑模块外部中断请求模块图2-1 系统总体框图2.2 总体设计思想在GPS 接收机的二次开发过程中, 我们采用了单片机扩展的方式, 并利用单片机作为中间媒介向微机提供信息服务。我们采用了型号为80C51 的单片机与Garmin 公司的GPS25 产品和“Jupiter”GPS-OEM板接收机相连接, 80C51 接收

17、GPS接收机发送的数据,与接收机之间进行通信。GPS 接收机的OEM(Original Equipment Manufacturer) 板,以其优良性能、轻巧灵便、易于开发的特点,现已在GPS 各领域得到广泛应用。将OEM板输出的信息,利用计算机进行数据采集、图象处理、坐标系统变换,再加上无线通信技术、并行数据库技术、网络等技术,即组成GPS 应用系统。2.3 单片机概述2.31单片机主流产品系列MCS-51单片机是美国INTEL公司于1980年推出的产品,典型产品有8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实

18、际使用方面已经被市场淘汰)和8751等通用产品。一直到现在,MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等),有些文献甚至也将8051泛指MCS-51系列单片机,8051是早期的最典型的代表作,由于MCS-51单片机影响深远,许多公司都推出了兼容系列单片机,就是说MCS-51内核实际上已经成为一个8位单片机的标准。其他公司的51单片机产品都是和MCS-51内核兼容的产品。同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51,PHILIPS(菲利浦),和WINBOND(华邦)等,现在,

19、89S51目前已经成为了实际应用市场上新的宠儿,作为市场占有率第一的Atmel目前公司已经停产AT89C51,将用AT89S51代替。89S51在工艺上进行了改进,89S51采用0.35新工艺,成本降低,而且将功能提升,增加了竞争力。89SXX可以像下兼容89CXX等51系列芯片。同时,Atmel不再接受89CXX的定单,大家在市场上见到的89C51实际都是Atmel前期生产的巨量库存而已。2.3.2 单片机型号选择89S51相对于89C51增加的新功能包括:ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,这是个强大易用的功能;最高工作频率为33MH

20、z,从而具有了更快的计算速度;有双工UART串行通道;内部集成看门狗计时器;双数据指示器;电源关闭标识;全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。本次项目主控单元采用的是AT89S52,51跟52的主要区别在于,多了一个定时器2,RAM变成256byte,FLASH变成8k。另外,串行通信扩展模块采用的是AT89C2051,2051与S51的主要区别在于2051引脚较少,只有20根,相应的占PCB面积小。并且2051价格低廉,从目前市场上的价格来看仅是S52的一半还不到,在同样可以满足系统要求的情况下,我们首选了2051。

21、2.3.3 单片机的应用领域单片机主要应用领域有:智能化电器;办公设备;商业营销设备;工业自动化控制;智能化仪表;智能化通信产品:其中最突出的是手机,手机内的芯片属专用型单片机;汽车电子产品;航空航天系统和国防军事、尖端武器等领域。其实单片机应用的意义不仅在于它的广阔范围及所带来的经济效益。更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,现在可以采用单片机通过软件方法来实现。这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。随着单片机应用的推广,微控制技术将不断发展完善。2.4 MCS-51的内部结构2.4.1 MCS

22、-51的内部总体结构MCS-51单片机的内部基本组成如下:中央处理单元CPU:包括运算器和控制器两部分电路;内部程序存储器:用于存放程序和原始数据;内部数据存储器:用于程序运行中存储工作变量和数据;并行输入/输出口:用作系统总线、扩展外存、I/O接口芯片;定时器和计数器:用于实现计数和定时功能;串行输入/输出口UART:可以实现串行通信、扩展I/O接口芯片;中断控制:单片机提供五个中断源、两级优先,可编程进行控制;时钟电路:分为内部振荡器、外接振荡电路。PSWALE/PROGPSENEA/VppRST外接晶振OSCP1.0-P1.7P3.0-P3.7PORT 3 DRIVERSPORT 1 D

23、RIVERSPORT 1LATCHPORT 3LATCHINSTRUCTIONREGISTERTIMINGANDCONTROLINTERRUPT,SERAL,PORT,AND,TIMER CLOCKSALUTMP2TMP1BREGISTERACCSTACKPOINTERGNDVCCP0.0-P0.7P2.0-P2.7FLASHPORT 2 DRIVERSPORT 0 DRIVERSPORT 2LATCHPORT 0LATCHRAMRAM AODRREGSTERPROGRAMADDRESSREGISTERDPTRPROGRAMCOUNTERPCINCREMENTERBUFFER图2-2 单片机的

24、内部结构总体框图2.4.2 MCS-51的引脚描述图22显示的是主流MCS-51单片机的引脚配置图。引脚可分为以下四类:1主电源引脚VCC和VSS2外接晶振引脚XTAL1和XTAL23控制或其他电源复用引脚RST/VPD、ALE/、和/VPP4输入/输出引脚P0、P1、P2、P3(共32根)图2-3 MCS-51单片机的引脚配置图2.4.3 存储器配置MCS-51的存储器采用哈佛结构,即程序存储器和数据存储器的寻址空间是分开的,对51系列而言,有四个物理上相互独立的存储器空间,即内外程序存储器,内外数据存储器。物理上分为:4个空间,即片内ROM、片外ROM、片内RAM、片外RAM逻辑上分为:3

25、个空间,即程序内存(片内、外)统一编址数据存储器(片内)数据存储器(片外)(1).程序存储器一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行。那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。MCS-51具有64KB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。51片内有4KB的程序存储单元,其地址为0000H0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意

26、:其中一组特殊是0000H0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。另一组特殊单元是0003H002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下:0003H000AH外部中断0中断地址区。000BH0012H定时/计数器0中断地址区。0013H001AH外部中断1中断地址区。001BH0022H定时/计数器1中断地址区。0023H002AH串行中断地址区。可见以上的40个单元是专门用于存放中断处理程序的地址单元,中断响应后,按

27、中断的类型,自动转到各自的中断区去执行程序。因此以上地址单元不能用于存放程序的其他内容,只能存放中断服务程序。但是通常情况下,每段只有8个地址单元是不能存下完整的中断服务程序的,因而一般也在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其它真正存放中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其他地方去继续执行中断服务程序。(2).数据存储器数据存储器也称为随机存取数据存储器。MCS-51单片机的数据存储器在物理上和逻辑上都分为两个地址空间,一个是内部数据存储区和一个外部数据存储区。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别

28、),它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。一般的51单片机内部RAM共有256个单元,这256个单元共分为两部分。其一是地址从00H7FH单元(共128个字节)为用户数据RAM。从80HFFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从下图中可清楚地看出它们的结构分布。只能字节寻址可字节寻址亦可 位寻址全部可位寻址共16个字节128位4组通用寄存器R0-R7也可作RAM使用,R0、 R1亦可位寻址FFH80H7FH20H2FH00H20H1FH特殊功能寄存器区(SFR)数据缓冲区堆栈区工作单元位寻址区3区2区1区0区2-

29、4 内部RAM分配图在00H1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0R7来命名,我们常称这些寄存器为通用寄存器。CPU只要定义这个寄存的PSW的第3和第4位(RS0和RS1),即可选中这四组通用寄存器。对应的编码关系如图表21所示。表2-1 PSW与工作寄存器关系PSW.4 (RS!)PSW.3(RS0)工作寄存器区000区00H07H011区08H0FH102区10H17H113区18H1FH特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了MCS-51单片机的运行状态。9很多功能也通过特殊功能寄存器来定义和控制程序的执行。MCS-51有21个特殊功

30、能寄存器,它们被离散地分布在内部RAM的80HFFH地址中,这些寄存器的功能已作了专门的规定,所以用户不能修改其结构。内部RAM的20H2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H7FH。CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔处理功能,布尔处理的存储空间指的就是这些为寻址区。2.4.4 输入/输出端口MCS-51单片机有4个双向并行的8位I/O口P0P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口,其负载能力为4

31、个TTL电路。P0.0P0.7(3932脚):8位漏极开路的三态双向输入/输出口。可作为一般的I/O口使用,也可作为数据线、地址线使用。P1.0P1.7(18脚):8位带有内部上拉电阻的准双向输入/输出口。P1口通常作为通用I/O口使用。作为输出口时,由于电路内部已经带上拉电阻,因此P1 P2 S1 P2指令周期机器周期S2S3 S4 S5 S6 S1 S2 S3 S4S5 S6P1 P2 P1 P2 P1P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2XTAL2(OSC)振荡周期时钟周期无需外接上拉电阻;作为输入口时,也需先向锁存器写入“1

32、”。是一个标准的I/O口。本次项目中就是利用他们进行模拟串行通信。P2.0P2.7(2128脚):8位带有内部上拉电阻的准双向输入/输出口。P2口可作为通用I/O口使用,也可作为高位地址线使用的。P3.0P3.7(1017脚):8位带有内部上拉电阻的准双向输入/输出口。P3口可作为通用I/O口使用,也可作为第二功能需要来用的。对于P3口,实际上,都是先按需要选取第二功能,多余的再作为输入输出口使用2.4.5 定时器/计数器MCS-51的单片机内有两个16位可编程的定时/计数器,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。

33、定时器在本次项目中需要用到地方较多。MCS-51单片机内部的定时/计数器的结构如图所示:图2-5 MCS-51单片机定时/计数器结构图定时器T0由特殊功能寄存器TL0(低8位)和TH0(高8位)构成,定时器T1由特殊功能寄存器TL1(低8位)和TH1(高8位)构成。特殊功能寄存器TMOD控制定时寄存器的工作方式,TCON则用于控制定时器T0和T1的启动和停止计数,同时管理定时器T0和T1的溢出标志等。程序开始时需对TL0、TH0、TL1和TH1进行初始化编程,以定义它们的工作方式和控制T0和T1的计数。TMOD和TCON这两个特殊功能寄存器的格式参见下表:表2-2 定时/计数器的方式控制字TM

34、ODD7D6D5D4D3D2D1D0GATEC/TM1M0GATEC/TM1M0TI方式字段TO方式字段表2-3 定时器控制寄存器TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0MCS-51的定时/计数器共有四种工作方式,我们将逐个了解下,并着重介绍本次项目采用的工作方式2。工作方式0:定时/计数器0的工作方式0是13位计数结构的工作方式,其计数器由TH的全部8位和TL的低5位构成,TL的高3位没有使用。定时时间的计算公式为:(213计数初值)晶振周期12或(213计数初值)机器周期,其时间单位与晶振周期或机器周期相同。工作方式1:方式0和方式1的区别仅

35、在于计数器的位数不同,方式0为13位,而方式1则为16位,由TH0作为高8位,TL0为低8位,定时时间的计算公式为:(216计数初值)晶振周期12或(216计数初值)机器周期。工作方式2:当M1M0=10时,定时/计数器处于工作方式2.此时定时器的等效电路如图25所示。我们以定时/计数器0为例,定时/计数器1与之完全一致图2-6 定时/计数器工作方式2等效电路工作方式0和工作方式1的最大特点就是计数溢出后,计数器为全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度,工作方式2就针对这个问题而设置,它具有自动重装载功能,即自动加载计数初值,

36、所以也有的文献称之为自动重加载工作方式。在这种工作方式中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH以硬件方法自动给计数器TL0重新加载。但这种方式也有其不利的一面,就是这样一来的计数结构只有8位,计数值有限,最大只能到255。所以这种工作方式很适合于那些重复计数的应用场合。例如我们可以通过这样的计数方式产生中断,从而产生一个固定频率的脉冲。也可以当作串行数据通信的波特率发送器使用。本次项目中的波特率就采用T1的方式二产生。工作方式

37、3:在工作方式3模式下,定时/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以作计数器使用,也可以作为定时器使用,定时/计数器0的各控制位和引脚信号全归它使用。其功能和操作与方式0或方式1完全相同。TH0就没有那么多“资源”可利用了,只能作为简单的定时器使用,而且由于定时/计数器0的控制位已被TL0占用,因此只能借用定时/计数器1的控制位TR1和TF1,也就是以计数溢出去置位TF1,TR1则负责控制TH0定时的启动和停止。2.4.6 串行接口MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以

38、发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,它们的地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器,就可方便地构成标准的RS-232接口。常用于数据通信的传输方式有单工、半双工、全双工和多工方式。2.4.7 中断单片机中CPU只有一个,但在同一时间内可能会面临着处理很多任务的情况,如运行主程序、数据的输入和输出,定时和计数时间已到要处理、可能还有一些外部的更重要的中断请求(如超温超压)要先处理。此时也得象人的思维一样停下某一样(或几样)工作先去完成一些紧急任务的中断方法。这样的

39、处理方法上升到计算机理论,就是一个资源面对多项任务的处理方式。由于资源有限,面对多项任务同时要处理时,就会出现资源竞争的现象。中断技术就是为了解决资源竞争的一个可行的方法,采用中断技术可使多项任务共享一个资源。MCS-51提供了5个中断源,两个中断优先级控制,可实现两个中断服务嵌套。11当CPU支持中断屏蔽指令后,可将一部分或所有的中断关断,只有打开相应的中断控制位后,方可接收相应的中断请求。程序设置中断的允许或屏蔽,也可设置中断的优先级。图2-7 MCS-51中断系统结构等CPU响应中断请求后,就立即转入执行中断服务程序。不同的中断源、不同的中断要求有不同的中断处理方法,但它们的处理流程一般

40、都如下所述:(1).现场保护和现场恢复中断是在执行其它任务的过程中转去执行临时的任务,为了在执行完中断服务程序后,回头执行原先的程序时,知道程序原来在何处打断的,各有关寄存器的内容如何,就必须在转入执行中断服务程序前,将这些内容和状态进行备份即保护现场。中断服务程序完成后,继续执行原先的程序,就需把保存的现场内容从堆栈中弹出,恢复寄存器和存储单元的原有内容,这就是现场恢复。如果在执行中断服务时不是按上述方法进行现场保护和恢复现场,就会是程序运行紊乱,程序跑飞,自然使单片机不能正常工作。(2).中断打开和中断关闭在中断处理进行过程中,可能又有新的中断请求到来,而现场保护和现场恢复的操作是不允许打

41、扰的,否则保护和恢复的过程就可能使数据出错,为此在进行现场保护和现场恢复的过程中,必须关闭总中断,屏蔽其它所有的中断,待这个操作完成后再打开总中断,以便实现中断嵌套。(3).中断服务程序既然有中断产生,就必然有其具体的需执行的任务,中断服务程序就是执行中断处理的具体内容,一般以子程序的形式出现,所有的中断都要转去执行中断服务程序,进行中断服务。(4).中断返回中断返回就是程序运行从中断服务程序转回到原工作程序上来。MCS-51有5个中断源,它们是两个外中断INT0和INT1、两个片内定时/计数器溢出中断TF0和TF1,一个是片内串行口中断TI或RI,这几个中断源由SCON和TCON两个特殊功能

42、寄存器进行控制。SCON是串行口控制寄存器,字节地址为98H,SCON的低二位是串行口的发送和接收中断标志。TI:MCS-51串行口的发送中断标志,在串行口以方式0发送时,每当发送完8位数据,由硬件置位。如果以方式1、方式2或方式3发送时,在发送停止位的开始时TI被置1,TI=1表示串行发送器正向CPU发出中断请求,向串行口的数据缓冲器SBUF写入一个数据后就立即启动发送器继续发送。但是CPU响应中断请求后,转向执行中断服务程序时,并不清零TI,TI必须由用户的中断服务程序清“0”,即中断服务程序必须有“CLR TI”或“ANL SCON,#0FDH”等指令来清零TI。RI:串行口接收中断标志

43、,若串行口接收器允许接收,并以方式0工作,每当接收到8位数据时,RI被置1,若以方式1、2、3方式工作,当接收到半个停止位时,TI被置1,当串行口一方式2或3方式工作,且当SM2=1时,仅当接收到第9位数据RB8为1后,同时还要在接收到半个停止位时,RI被置1。RI为1表示串行口接收器正向CPU申请中断。同样RI标志由用户的软件清“0”。在TCON中有以下四位与中断控制有关:IE1:外部边沿触发中断1请求标志。IT1:外部中断1类型控制位,通过软件设置或清除,用于控制外中断的触发信号类型。IT1=1,边沿触发。IT=0是电平触发。IE0:外部边沿触发中断0请求标志,其功能和操作类似于IE1。I

44、T0:外部中断0类型控制位,其功能和操作类似于IT1。对于中断控制,已经对TCON和SCON进行了分析,其实它们两个寄存器也是中断的控制寄存器,负责对中断的部分功能进行控制。接下来介绍另外两个控制寄存器IE和IP。MCS-51的对中断的开放和屏蔽是由中断允许寄存器IE控制来实现的,IE的结构格式如下:表2-4 IE寄存器结构IED7D6D5D4D3D2D1D0EA-ESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H下面我们对IE寄存器的各控制位进行介绍:EA:中断总控制位,EA=1,CPU开放中断。EA=0,CPU禁止所有中断。ES:串行口中断控制位,ES=1允许串行口中断

45、,ES=0,屏蔽串行口中断。ET1:定时/计数器T1中断控制位。ET1=1,允许T1中断,ET1=0,禁止T1中断。EX1:外中断1中断控制位,EX1=1,允许外中断1中断,EX1=0,禁止外中断1中断。ET0:定时/计数器T0中断控制位。ET0=1,允许T0中断,ET0=0,禁止T0中断。EX0:外中断0中断控制位,EX0=1,允许外中断0中断,EX0=0,禁止外中断0中断。一个单片机系统通常有多个中断源,有时会出现多个中断源同时提出中断请求的情况,为使CPU能够根据中断源的重要程度,按照轻重缓急的次序响应中断,就必须给每个中断源安排一个中断优先级别。这就是优先级寄存IP的作用了,IP的格式如下,字节地址是B8H。表2-5 IP中断控制寄存器结构IPD7D6D5D4D3D2D1D0-PSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8HPS:串行口中断口优先级控制位,PS=1,串行口中断声明为高优先级中断,PS=0,串行口定义为低优先级中断。PT1:定时器1优先级控制位。PT1=1,声明定时器1为高优先级中断,PT1=0定义定时器1为低优先级中断。PX1:外中断1优先级控制位。PX1=1,声明外中断1为高优先级中断,PX1=0定义外中断1为低优先级中断。PT0:定时器0优先级控制位。PT0=1,声明定时器0为高优先级中断,PT0=0定义定时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号