毕业设计--喷油泵提前角测量系统及PC通信--论文.doc_第1页
毕业设计--喷油泵提前角测量系统及PC通信--论文.doc_第2页
毕业设计--喷油泵提前角测量系统及PC通信--论文.doc_第3页
毕业设计--喷油泵提前角测量系统及PC通信--论文.doc_第4页
毕业设计--喷油泵提前角测量系统及PC通信--论文.doc_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南科技大学本科毕业设计(论文)I喷油泵提前角测量系统及 PC 通信摘要喷油泵实验台作为喷油泵调试实验设备,在喷油泵的制造与维修中发挥着重要的作用。近年来,喷油泵制造厂家与维修行业对喷油泵试验台技术要求越来越高。本次测量系统设计的目的就是充分利用计算机测控技术,对喷油泵调试中的技术参数提前角和油位的测量完全以数字化方式实现自动测量,以适应喷油泵产品技术及质量不断提高的需要。喷油泵的提前角是本系统测量的一个主要参量,精度要求高、信号提取困难,系统采用高精度传感器产生两个外中断,结合定时器获取提前角的数据信息。油位的实时测量是喷油泵实验台正常运转的保证。我们只有了解喷油泵实验台中的油量,才能不损坏油泵。所以油位也是我们电脑测控的重要数值。测量时通过传感器将模拟信号输送给十位数据采集单片机 TLC1549CP,1549 对模拟信号进行采样将其转化为数字信号。提前角、油位等数据信息在 LED 上显示,并送于AT89C52 进行处理再经过 MAX232 高低电平的转化输送给上位机,即与 PC 机进行通信。在与 PC 机通讯这一模块,通过与单片机 TXD、RXD 相连的 USB-Power 利用 MAX232 电平转换,通过指令码的输入,对存储区的数据信息进行传送,进而实现了实时通信的要求。关键词:单片机,提前角,TLC1549CP,MAX232 串行通信河南科技大学本科毕业设计(论文)IIThe Oil Pump Angel of AdvanceMeasurement System and PC CommunicationABSTRACTThe oil pump laboratory bench took the oil pump test equipment; oil pump plays an important role in the manufacture and maintenance. In recent years, the oil pump manufacturer and maintenance industries pump test technology increasingly high demand. The measurement system for the purpose of the design is to make full use of computer monitoring and control technologies, Commissioning of the oil pump parameters - advance angle measurements and the oil level -for the complete realization of digital automatic measurement, oil pump products to suit technology and continuously improve the quality of the needs. Oil pump advance angle measurement of the system is a key parameter, high precision and signal extraction difficulties, using high-precision sensor systems have two external interrupt, timer with access to timing of data and information. Oil level -real-time measurement is a test pump the normal operation of the guarantee. Only when we understand the oil level of oil pump laboratory bench, it will not damage pump. Therefore the oil level also is the important value which our computer observes and controls. Measurement sensor analog signal will be transmitted to the 10 MCU TLC1549CP data gathering, 1549 pairs of sampling analog signals into their digital signal. Advance angle, oil level, ETC. data-information displayed on the LED. AT89C52 and sent to another for processing low-level MAX232 high conversion transmitted to the PC. that is, communication with the PC.In the PC communications module, and SCM TXD, RXD connected USB-Power use MAX232 level translation, script input, right storage area for the transmission of data information, so as to realize the real-time communication requirements.河南科技大学本科毕业设计(论文)IIIKEY WORDS:MCU, advance angle,TLC1549CP,MAX232 serial communication河南科技大学本科毕业设计(论文)IV目录前言.1第 1 章 绪论.21.1 喷油泵简介.21.2 喷油泵实验台特性分析.21.3 设计方案的提出.3第 2 章 设计方案与分析.42.1 整体测量系统的方案与分析.42.2 提前角测量的方案与分析.52.2.1 提前角自动测量方案相关说明.52.2.2 喷油泵提前角测量原理.52.3 油位测量的方案与分析.62.3.1 硬件电路的组成.62.4 串口通信的方案与分析.62.5 设计元件清单.7第 3 章 硬件原理图的设计.83.1 主控制模块原理图.83.2 串口通信模块原理图.93.3 A/D 转换模块原理图.93.4 按键控制 LED 显示模块原理图.10第 4 章 软件流程图.124.1 总体测量流程.124.2 提前角测量流程.134.2.1 提前角测量中断流程.134.2.2 提前脚送显示区寄存器子程序流程.154.3 油位测量流程.174.4 键盘按键控制 LED 显示子程序流程.194.5 串行中断服务子程序流程.23第 5 章 各模块功能简介.29河南科技大学本科毕业设计(论文)V5.1 AT89C52 的功能简介.295.1.1 主要性能参数.295.1.2 功能特性概述.295.1.3 引脚说明.305.1.4 波特率发生器.325.2 串行通信芯片 MAX232 电平转换简介.335.3 A/D 转换模块芯片 TLC1549CP 简介.355.3.1 TLC1549 概述.355.3.2 模拟输入采样.355.3.3 工作原理.35结论.39参考文献.41致谢.42附录.43河南科技大学本科毕业设计(论文)1前言喷油提前角是指发动机在运转中,喷油嘴向气缸开始喷油的瞬时(以喷油嘴针阀升起为标志)到活塞行至上止点时的曲轴转角。提前角过大,混合气在活塞运行到上止点前燃烧的数量增加,使气缸压力在活塞运行到上止点前过快增长,影响发动机功率,并使油耗增多,排气中的 NO2增加;提前角过小,混合气在活塞运行到上止点后的燃烧数量增加,由于上止点后气缸容积增大,使燃烧速度减慢,最大压力降低,因此也使功率下降油耗增加,排放的烃显著增多。因此,发动机在使用中,喷油提前角需要经常检查或调整。本文介绍提前角测量系统,利用外部中断 INT0 和 INT1 对提前角中断信号给予检测,然后再送 AT89C52 进行相关数据处理,送相关寄存器,最后送数码管显示,具有测量精度高、范围宽、简单的特点。完全以数字化方式实现自动测量,以适应喷油泵产品技术及质量不断提高的需要。测提前角的同时,油位的实时测量是机器正常运转的保证。我们只有时刻了解我们机动车中的油量,才能知道它所具有的动力。所以油位也是我们电脑测控的重要数值。测量时利用高精度十位 TLC1549 A/D 转换芯片,对油位模拟信号加以采样处理,经过转换后的二进制信息再送相关程序处理得到精确的数值,最后送相关寄存器,送数码管显示。在与 PC 机通讯这一模块,通过与单片机 TXD、RXD 相连的 USB-Power 利用 MAX232 电平转换,通过指令码的输入,对存储区的数据信息进行传送,进而实现了实时通信的要求。综上所述,本设计是有必要的,也是具有一定的现实意义。河南科技大学本科毕业设计(论文)2第 1 章绪论1.1喷油泵简介喷油泵是柴油供给系中最重要的零件,其工作状况的好坏,直接影响柴油机的动力性、经济性和可靠性。功用:提高柴油压力,按照发动机的工作顺序,负荷大小,定时定量地向喷油器输送高压柴油。要求:(1)泵油压力要保证喷射压力和雾化质量的要求。(2)供油量应符合柴油机工作所需的精确数量。(3)保证按柴油机的工作顺序,在规定的时间内准确供油。(4)供油量和供油时间可调正,并保证各缸供油均匀。(5)供油规律应保证柴油燃烧完全。(6)供油开始和结束,动作敏捷,断油干脆,避免滴油。类型:车用柴油机的喷油泵按其工作原理不同可分为柱塞式喷油泵、喷油泵-喷油器和转子分配式喷油泵三类1。1.2喷油泵实验台特性分析喷油泵试验台作为测试、调整喷油泵喷油参数的专用设备要求其精度较高,在喷油泵的制造与维修中发挥着重要的作用。随着发动机节能和环保要求的不断提高,对喷油泵试验台的测量精度提出了更高的要求。所以对喷油泵的工作质量提出了较高的要求。随着柴油机应用的日益广泛,油泵油嘴技术的不断改进,喷油泵制造厂家和维修行业对喷油泵试验台的技术要求也越来越高,致使喷油泵试验台技术不断的在智能化测控技术和自动量油方面进行更新。但目前国内喷油泵试验台的量油系统仍采用传统的量筒式计量法,该测量系统存在量筒的制造误差、刻度误差和测量人员的视觉误差等,使测量系统的系统误差较大、自动化程度低、测量过程缓慢,已不能满足现代喷油泵对其测量精度的要求。随着电子技术和计算机技术的发展和普遍应用,用现代电测技术对喷油泵试验台的量油系统进行智能化自动测量己成为可能。随着汽车数量的增加,对汽车尾气的排放和节能提出河南科技大学本科毕业设计(论文)3了更为严格的要求,所以对喷油泵试验台量油系统自动测量的研制显得十分必要2。1.3设计方案的提出综上所述,利用喷油泵实验台,针对发动机节能和环保要求的不断提高,实现喷油泵试验台的测量精度具有重大意义。前文提到提前角过大或过小均会影响发动机性能,增加不必要的损失。由此带来的最佳喷油提前角也就很有必要了。最佳喷油提前角是在转速和供油量一定的条件下,能获得最大功率及最小燃油消耗率的喷油提前角。应当指出,对任何一台柴油机,最佳喷油提前角都不是常数,而是随供油量和曲轴转速变化的。供油量愈大,转速愈高,则最佳喷油提前角也愈大。因此,发动机在使用中,喷油提前角需要经常检查或调整。高精度提前角测量系统是准确调整的关键。测提前角的同时,实时了解油量,才能知道机器所具有的动力。所以油位也是我们测控的重要数值。河南科技大学本科毕业设计(论文)4第 2 章设计方案与分析2.1整体测量系统的方案与分析本设计有以下特点:(1)模块化整个测量系统结构图如下:图 2-1基于喷油泵的提前角测量系统及与 PC 机通信方案框图(2)优点突出提前角传感器中断系统.引入高精度磁平衡霍尔电传感器8,安装在喷油泵主轴上,通过主轴的转动,产生外部中断,AT89C52 通过外部中断精确计算提前角。液位 A/D 采样精度高.测量时通过传感器将模拟信号输送给十位数据采集单片机 TLC1549CP, TLC1549CP 对模拟信号进行采样将其转化为数字信号。数据信息送给 AT89C52 进行相应处理。与 PC 机通信方便快捷.PC 机通过指令代码,结合 MAX232 转换器,对单片机情况进行实时监控,从而向被控单元发出指令,采取相应的动作。LED 显示.LED 精确显示提前角和动态显示液位数据,实时性强。其中LED 显示受按键控制,上电显示提前角,按键 2 按下显示液位,按键 1 按下显示提前角。按键 2按键 1信号预处 理电 路传感器串行 A/D转换TLC1549AT89C52RS232C通讯电路MAX232提前角传感器中断系统LED 显示PC 机河南科技大学本科毕业设计(论文)52.2提前角测量的方案与分析2.2.1提前角自动测量方案相关说明喷油提前角是指发动机在运转中,喷油嘴向气缸开始喷油的瞬时(以喷油嘴针阀升起为标志)到活塞行至上止点时的曲轴转角。在使用中用供油提前角来保证喷油提前角。通过测量夹持式传感器测量高压油管的脉动、高压线的电流脉动测量喷油或点火始点,通过霍尔传感器测量发动机上始点的位置。通过智能软件计算得到发动机的动态提前角。另外最佳供油提前角参数(不同转速及工况下的)在喷油泵、提前器匹配中也具有一定的重要性。喷油泵匹配时,需根据特性曲线上的各工况点,正确找出最佳供油提前角,以确立油量并最终得出喷油泵最佳供油速率、提前器,最佳提前角度的参数。如何更好的检验在这些开发试验中的成果,供油提前角的准确测量是非常重要的,它为确定柴油机最佳喷油时刻提供了重要数据。喷油泵提前器提前角自动测量电路主要有位置传感器、单片机、MAX232 接口电路、液晶显示电路以及键盘电路组成。位置传感器一个安装在喷油泵动力轴上,另一个安装在喷油泵凸轮轴上3。位置传感器感知的信号经过滤波、整形进入单片机的Error!和Error!引脚(采用先进的滤波整形电路,获得理想的供油和点火始点信号) 。由单片机完成信号的处理、测量和计算,然后由单片机的串行口经 MAX232 接口电路将测量数据送往上位微型计算机。其总体结构图如下:图 22喷油泵提前角自动测量模块结构图2.2.2喷油泵提前角测量原理喷油泵的提前角是本系统测量的一个主要参量,精度要求高、信号提取困难。位置传感器信号经滤波、整形Int0Int1AT89C52PC 上位机MAX232河南科技大学本科毕业设计(论文)6系统采用高精度传感器产生两个外中断,结合定时器/记数器获取提前角的数据信息。油泵运行于某一速度,传感器的脉冲信号转换为外中断 N0、N1 信号。来自传感器的脉冲转换信号外中断 N0 到达 AT89C52 的Error!脚,Error!使定时器 T1开始工作(T1 工作在记数状态) ,同时开Error!中断,外中断 N1 信号到达Error!,执行Error!中断子程序,存储 T1 记数 R1,下一个外中断 N0 信号到达,存储 T1记数 R0,R0 即主轴转动一圈的记数。然后用公式: 提前角=(R1/RO)*3600计算出提前角。其中 3600 为一圈 360。的 10 倍,借以方便显示。2.3油位测量的方案与分析2.3.1硬件电路的组成油位的时时测量是机器正常运转的保证。我们只有时刻了解我们机动车中的油量,才能知道他所具有的动力。所以油位也是我们电脑测控的重要数值。测量时通过传感器将模拟信号输送给十位数据采集单片机 TLC1549CP,1549 对模拟信号进行采样将其转化为数字信号。信息送于 89C52 进行处理再经过 MAX232 高低电平的转化输送给上位机。也就是呈现于我们面前的数据。传感器使用的是电位器,也就是浮标将油位的信息体现在电压上,然后起用 A/D 转换实时了解油量。图 2-3检测系统的结构原理图2.4串口通信的方案与分析串行通信是通过主机向从机发送控制信号,由从机对主机发出的信号进行识别,根据软件的设定,响应相应的功能。当主机向从机发送#74H 时,从机 CPU传感器TLC1549CP89c52 单片机上位机MAX232河南科技大学本科毕业设计(论文)7产生串行中断,进入中断服务子程序进行识别比较,若证实的确实为#74H,则向主机发送#74H 进行核对,并准备向主机发送数据,发送的数据是采集数据的ASCII 码值,在发送完数据以后,向主机发送#2FH 表示数据,就不再接受数据,而是接着执行由程序设定的其它的程序。当主机向从机发送数据#79H 时从机CPU 发生串行中断,并自动显示中断子程序,将接授的数据与软件设定的数据#79H 比较相等后,就准备接受下一个数据,然后将所接受的数据与设定值一一比较,当与其中某一设定值相一致时,将该值送到缓冲区指定的单元,在赋值后仍以#2FH 作为结束的发送向主机。通过这个协议实现了单片机和上位机的通信4。2.5设计元件清单芯片:AT89C52,TLC1549CP,MAX232IC 插槽:40PIN 1 个,8PIN 1 个,16PIN 1 个电阻:8 个 470 电阻,4 个 4.7K 电阻,2 个 1K 电阻电解电容:1f/50V 6 个,22f/50V 1 个无极性电容:2 个 30P 电容PNP 三极管:C9015 4 个晶振:11.0592MHZ 1 个四位共阳 LED 数码管 SM41056 1 个电位器 1 个USB POWER 转接口一个实验板一片导线若干四脚按键四个按键开关 1 个河南科技大学本科毕业设计(论文)8第 3 章硬件原理图的设计3.1主控制模块原理图图 3-1 所示原理图分为 AT89C52 及与晶振的连接,自动复位电路,提前角传感器中断输入端 J3-CON2。AT89C52 的 P1.0、P1.0、P1.2 与油位测量模块相连,P0 口、P2.0P2.5 和 LED 显示模块相连,P3.0、P3.1 和串行通信模块相连,P3.2、P3.3 通过 J3-CON2 和提前角传感器中断系统相连。VCC、Error!/VPP 连接+5V 电源。EA/VP31XTAL 119XTAL 218RST9P3.7 (RD)17P3.6 (WR)16P3.2 (IN T0)12P3.3 (IN T1)13P3.4 (T0)14P3.5 (T1)15P1.0 (T2)1P1.1 (T2 EX)2P1.23P1.34P1.45P1.56P1.67P1.78P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE / PROG30(TXD) P3.111(RXD) P3.010VCC40GND20U1AT89C52P3.1P3.0P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.5P2.4RSTP2.3P2.2P2.1P2.0C230PC130PXTAL11.0592ME622uF/50VR01KVCCP1.0P1.1P1.212J3CON2VCC图 3-1主控制模块原理图河南科技大学本科毕业设计(论文)93.2串口通信模块原理图图 3-2 中 TXD 和 RXD 分别与单片机对应的管脚相连,J1-USB-Power 定义为供电和串行通信接口,接 PC 机 USB 口,MCU 的晶振频率为 11.0592MHZ,与 PC机通信的波特率为 19200b/s,每次传送 8 位数据,还有三个起始位和一个停止位。E11UVCCE31UE21UE41UE51UC+1VS+2C-3C2+4C2-5VS-6T2OUT7R2IN8R2OU T9T2IN10T1IN11R1OU T12R1IN13T1OUT14GND15VCC16U3MAX232P3.1P3.0DoutDinVcc1DIn2Dout3Gnd4J1USB PowerGNDDoutVCCDin图 3-2串口通信模块原理图3.3A/D 转换模块原理图Ref+1In2Ref-3Gnd4I/o clk7Cs5Dout6Vcc8U2TL C1549CP123J2CON3VCCP1.0P1.1P1.2图 3-3A/D 转换模块原理图图中所示为带串行控制的 10 位摸数转换器,2 管脚是油位模拟信号的输入,河南科技大学本科毕业设计(论文)10I/o clk、Dout、Error!与 AT89C52 的 P1.0、P1.1、P1.2 相连。J2-CON3 为模拟油位传感器的 5V 电位器插座,连接如图 3-3,在实际运用中2 管脚接油位传感器。单片机通过 P1.0 和 P1.2 控制 TLC1549 工作,通过 P1.1 接收采样转换过来的二进制数据信息,再送相关程序处理得到精确的数值,最后送相关寄存器,送数码管显示。3.4按键控制 LED 显示模块原理图Q3C9015Q4C9015Q1C9015Q2C9015S2 SW-PBS1 SW-PBVCCP2.0Vcc4P2.1Vcc3P2.2Vcc2P2.3Vcc1R124.7KR114.7KR104.7KR94.7KP2.4P2.5R4470R8470R6470R5470R7470R3470R2470R1470Vcc1Vcc2Vcc3Vcc4P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7e1b7f10c4g5d2vcc46vcc38vcc29vcc112a11dp3U5SM41056图 3-4按键控制 LED 显示模块原理图SM41056 为四位共阳 LED 数码管,共有 12 个管脚,11、7、4、2、1、10、5、3 分别为段选 a、b、c、d、e、f、g、dp,12、9、8、6分别为片选 VCC1、VCC2、VCC3、VCC4。段选连 8 个 470 电阻接 AT89C52 的 P0 口,4 个片选接 4 个 C9015(PNP型硅管)的集电极,4 个 9015 的基极连 4 个 4.7K 电阻接 AT89C52 的 P2.0P2.3,4 个 C9015 的发射极共接 VCC +5V 电源。按键控制 LED 显示:S1 左端接 AT89C52 的 P2.5,S2 左端接 AT89C52 的P2.4,S1、S2 右端共地。S1 按下给 AT89C52 的 P2.5 一低电平,程序执行显示提河南科技大学本科毕业设计(论文)11前角子程序,S2 按下给 AT89C52 的 P2.4 一低电平,程序执行显示液位子程序。河南科技大学本科毕业设计(论文)12第 4 章软件流程图4.1总体测量流程以下为整体流程图 4-1 总体测量系统的流程图程序段如下:;*主程序*MAIN: SETB EA LCALL DATT ;数据处理子程序 LCALL SENDTQJ ; 提前角送显示区寄存器子程序 LCALL ADYW ;油位测量子程序 开中断执行中断服务子程序数据处理子程序油位 A/D 转换子程序提前脚送显示区寄存器子程序油位送显示区寄存器子程序按键控制 LED 显示子程序初始化和开中断河南科技大学本科毕业设计(论文)13 LCALL SENDYW ; 油位送显示区寄存器子程序 LCALL KEYCONDIS ; 按键控制 LED 显示子程序 LJMP MAIN4.2提前角测量流程4.2.1提前角测量中断流程是是开始第一个 N0 到第一个 N1 到开始记数同时开Error!中断相响应执行Error!中断下一个 N0 到,记录主轴转动一圈时 T1 的记数 R0中断服务子程序记录从 N0 到N1 的记数中断服务子程序中断返回图 4-2提前角测量中断流程图河南科技大学本科毕业设计(论文)14油泵运行于某一速度,传感器的脉冲信号转换为外中断 N0、N1 信号。来自传感器的脉冲转换信号外中断 N0 到达 AT89C52 的Error!脚,Error!使定时器 T1开始工作(T1 工作在记数状态) ,同时开Error!中断,外中断 N1 信号到达Error!,执行Error!中断子程序,存储 T1 记数 R1,下一个外中断 N0 信号到达,存储 T1记数 R0,R0 即主轴转动一圈的记数。然后用公式: 提前角=(R1/RO)*3600计算出提前角。其中 3600 为一圈 360。的 10 倍,借以方便显示。主要程序介绍:;*中断服务子程序*;定时中断 1 进行数据的记数自动装入;提前角外部中断输入 INT0、INT1,执行 MINT0、MINT1,分别记录;N0 信号一周期所记数 R0、N1 信号到记数器所记数 R1;*MINT0: NOP CLR EX0 JNB WEI0.0, MIN1RET JB WEI0.1, DT MOV TL1, #01H MOV TH1, #00H SETB TR1 SETB WEI0.1 LJMP MIN1RETDT: CLR TR1 MOV TQ31, TL1 MOV TQ41, TH1 MOV TQ11, TQ1L MOV TQ21, TQ1H SETB TR1 LCALL DELAY CLR WEI0.1 MIN1RET: CLR IE1河南科技大学本科毕业设计(论文)15 SETB EX1 CLR EX0 RETIMINT1: NOP MOV TQ1L, TL1 MOV TQ1H, TH1 CLR EX1 SETB EX0 CLR IE0 RETI TIME0: CPL P3.4TIMERET: RETITIME1: NOP MOV TL1, #01H MOV TH1, #00H MOV TQ11, #00H MOV TQ21, #00H TRET: RETI4.2.2提前脚送显示区寄存器子程序流程数据处理子程序完成提前角的计算,即 提前角=(R1/R0)*3600 计算出提前角。显示寄存区可定为 LED 显示寄存区和串口通信寄存器的存储区。图 4-3提前脚送显示区寄存器子程序流程图主要程序介绍:BIN 转 BCD 码转换子程序提前角送显示区寄存器子程序返回主程序数据处理子程序河南科技大学本科毕业设计(论文)16;* 提前角送显示区寄存器子程序*; 调用 BIN 转 BCD 码转换子程序,生成 LED 段码;提前角数据信息送显示区寄存器 DISBUF3、DISBUF2、DISBUF1、;DISBUF0;*SENDTQJ: NOP MOV R2, TQJL MOV R3, TQJH LCALL B16BCD MOV A, R4 ANL A, #0FH MOV DISF3, A ORL A, #30H MOV DISBUF3, A MOV A, R4 ANL A, #0F0H SWAP A MOV DISF2, A ORL A, #30H MOV DISBUF2, A MOV A, R5 ANL A, #0FH MOV DISF1, A ORL A, #30H MOV DISBUF1, A MOV A, R5 ANL A, #0F0H SWAP A MOV DISF0, A ORL A, #30H河南科技大学本科毕业设计(论文)17 MOV DISBUF0, A RET .4.3油位测量流程程序框图如图 4-4 所示,该主程序是油位测量的各处理子程序所组成的主程序。程序中各子程序依次执行,当调用油位测量数据采集处理子程序时,将依次调用 A/D 转换子程序,液位数据信息发送程序-A/D 转换数据 BCD 码和 ASCII码转换的子程序,程序框图如图所示。当有中断时,即响应中断,转入中断服务子程序,执行串行通信程序设定的功能。将数据在界面上显示出来,这样实现了由模拟到数字的转化,使的测试更直观,更简便。图 4-4油位测量流程图主要程序介绍:;* 油位测量子程序* ;调用调 A/D 转换子程序 ;* ADYW: NOP CLR C油位测量子程序返回主程序A/D 转换子程序BCD 码转换程序ASCII 码转换程序液位数据送显示区寄存器子程序河南科技大学本科毕业设计(论文)18 MOV YWH, #00H MOV YWL, #00H CLR A SETB P1.4 NOP NOP CLR P1.4 LCALL WADD SETB P1.4 LCALL DELAY3 MOV YWH, ZJH MOV YWL, ZJL RET ;* 油位送显示区寄存器子程序*; 调用 BIN 转 BCD 码转换子程序; 油位信息(处理后为 ASCII 码)送显示区寄存器 DISBUF7、DISBUF6、;DISBUF5、DISBUF4;* SENDYW: NOP MOV R2, YWL MOV R3, YWH LCALL B16BCD MOV A, R4 ANL A, #0FH MOV DISF7, A ORL A, #30H MOV DISBUF7, A MOV A, R4 ANL A, #0F0H SWAP A河南科技大学本科毕业设计(论文)19 MOV DISF6, A ORL A, #30H MOV DISBUF6, A MOV A, R5 ANL A, #0FH MOV DISF5, A ORL A, #30H MOV DISBUF5, A MOV A, R5 ANL A, #0F0H SWAP A MOV DISF4, A ORL A, #30H MOV DISBUF4, A RET 4.4键盘按键控制 LED 显示子程序流程如图 4-5,按键控制 LED 显示:S1 左端接 AT89C52 的 P2.5,S2 左端接AT89C52 的 P2.4,S1、S2 右端共地。S1 按下给 AT89C52 的 P2.5 一低电平,程序执行显示提前角子程序,S2 按下给 AT89C52 的 P2.4 一低电平,程序执行显示液位子程序。主要程序介绍:;*按键控制 LED 显示子程序*KEYCONDIS:JB P2.4,A1 LCALL AD3 ;防按键抖动 A3: JNB P2.5,A2 LCALL ADYW LCALL SENDYW LCALL DISPLAY河南科技大学本科毕业设计(论文)20 LJMP A3A1: LCALL DISPLAY2 A2: NOPKEYRET: RETDISPLAY: MOV R0,#35 DIS: NOP NOP MOV A,DISF4 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A CLR P2.3 LCALL YANS3 SETB P2.3 NOP NOP NOP MOV A,DISF5 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0, A CLR P2.2 LCALL YANS3 SETB P2.2 NOP NOP河南科技大学本科毕业设计(论文)21 MOV P2,#0FFH MOV P0,A NOP MOV A,DISF6 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A CLR P2.1 LCALL YANS3 SETB P2.1 NOP MOV A,DISF7 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0, A NOP NOP CLR P2.0 LCALL YANS3 SETB P2.0 NOP DJNZ R0,DIS0 LJMP DIS1DIS0: LCALL DIS DIS1: NOP RETDISPLAY2: NOP NOP 河南科技大学本科毕业设计(论文)22 MOV A,DISF3 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0, A CLR P2.0 LCALL DELAY SETB P2.0 NOP NOP MOV A,DISF2 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A CLR P2.1 LCALL DELAY SETB P2.1 NOP NOP MOV A,DISF1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0, A CLR P2.2 LCALL DELAY SETB P2.2 NOP NOP MOV A,DISF0 MOV DPTR,#TAB MOVC A,A+DPTR河南科技大学本科毕业设计(论文)23 MOV P0,A CLR P2.3 LCALL DELAY SETB P2.3 NOP RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 图 4-5键盘扫描子程序4.5串行中断服务子程序流程当单片机检测到 SUBF 的内容为“t”(#74H)时,便向微机发送八位数据,这八位数据包括三个开始位“t” 、 “q” 、 “j” ,四位提前脚数据一个停止位“/” 。 当单片机检测到 SUBF 的内容为“y”(#79H)时,便向微机发送八位数据,这八位数据包括两个开始位“y” 、 “e” 、 “w” ,四位液位数据,一个停止位“/” 。键 1 按下按下显示液位显示提前角初始化显示提前角键 2 按下按下返回主程序是是河南科技大学本科毕业设计(论文)24图 4-6串行口中断服务子程序流程图主要程序介绍:;*串行中断服务子程序*SSINT: NOP CLR ES PUSH ACC PUSH PSW JNB RI , SIN SJMP SIN1SIN: LJMP SINT SIN1: MOV A, SBUF CLR RI CJNE A,#74H, SIN2 SJMP SIN3串行中断入栈保护现场判断接受信息R 接受 1 位代码T 发送 8 位数据恢复现场中断返回河南科技大学本科毕业设计(论文)25SIN2: LJMP SINT1SIN3: NOP NOP SETB P3.6 MOV SBUF, #74H JNB TI, $ CLR TI NOP MOV SBUF, #71H JNB TI, $ CLR TI NOP MOV SBUF, #6AH JNB TI, $ CLR TI NOP MOV SBUF , DISBUF0 JNB TI , $ CLR TI NOP NOP MOV SBUF , DISBUF1 JNB TI , $ CLR TI NOP MOV SBUF , DISBUF2 JNB TI , $ CLR TI NOP MOV SBUF , DISBUF3河南科技大学本科毕业设计(论文)26 JNB TI , $ CLR TI NOP NOP MOV SBUF, #2FH JNB TI, $ CLR TI NOP CLR P3.6 LJMP SINTSINT1: NOP CJNE A, #79H, SINT MOV SBUF, #79H JNB TI, $ CLR TI NOP MOV SBUF, #77H JNB TI, $ CLR TI NOP MOV SBUF, DISBUF4 JNB TI, $ CLR TI NOP NOP MOV SBUF, DISBUF5 JNB TI, $ CLR TI NOP NOP 河南科技大学本科毕业设计(论文)27 MOV SBUF, DISBUF6 JNB TI, $ CLR TI NOP NOP MOV SBUF ,DISBUF7 JNB TI, $ CLR TI NOP MOV SBUF, #2FH JNB TI, $ CLR TI NOP CLR P3.6 LJMP SINTSINT: POP PSW POP ACC CLR P3.6 CLR TI CLR RI SETB ES RETI注:串行中断初始程序段MOV IE, #00H MOV IP, #0FH MOV TMOD, #52H MOV TL0, #0F0H MOV TH0, #0F0H MOV TL1, #01H MOV TH1, #00H河南科技大学本科毕业设计(论文)28 MOV 0CDH, #0FFH;255 MOV 0CCH, #0EEH;238 MOV 0CBH, #0FFH;255 MOV 0CAH, #0EEH;238 MOV SCON, #50H;01010000,串行控制寄存器,SM0.SM1.SM2.REN.TB8.RB8.T1.R1,;REN=1 接收(REN=0 发送)。SM0.SM1 串行模式 MOV 0C8H, #34H;52 MOV WW1, #10H MOV WW2, #0EH河南科技大学本科毕业设计(论文)29第 5 章各模块功能简介5.1AT89C52 的功能简介5.1.1主要性能参数(1)与 MCS-51 产品指令和引脚完全兼容。(2)字节可擦写 flash 闪速存储器。(3)1000 次擦写周期。(4)全静态操作:OHz-24MHz。(5)三级加密程序存储器。(6)256*8 字节内部 RAM。(7)32 个可编程 I/0 口线。(8)3 个 16 位定时/计数器。(9)8 个中断源。(10)可编程串行 UART 通道。(11)低功耗空闲和掉电模式。图 5-1AT89C52 芯片图5.1.2功能特性概述AT89C52 提供以下标准功能:8k 字节 Flash 闪速存储器,256 字节内部RAM,32 个 I/O 口线,3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全河南科技大学本科毕业设计(论文)30双工串行通信口,片内振荡器及时钟电路。同时,AT89C52 可降至 OHz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 的内容,但振荡器停止_工作并禁止:其它所有部件工作直到下一个硬件复位5。如图 5-2:P PO OR RT T 0 0 D DR RI IV VE ER RS SP PO OR RT T 2 2 D DR RI IV VE ER RS SRAM ADDRREGISTERRAMPORT 0LATCHPORT 2LATCHFLASHACCSTACKPOINTERTMP1BREGISTERTMP2PROGRAMADDRESSREGISTERBUFFERPCINCREMENTERDPTRPROGRAMCOUNTERPSWINTERRUPT,SERIAL,PORTAND TIMER BLOCKSPORT 1LATCHPORT 3LATCHOSCPORT 1 DRIVERSPORT 3 DRIVERSALUTIMINGANDCONTROLINSTUCTIONREGISTERPSENALEEARSTP0.0-P0.7P2.0-P2.7P1.0-P1.7P3.0-P3.7VCCGND图 5-2AT89C52 方框图5.1.3引脚说明Vcc:电源电压GND:地P0 口:P0 口是一组 8 位漏极开路型双向 I/0 口,也即地址/数据总线复用口。河南科技大学本科毕业设计(论文)31作为输出口用时,每位能吸收电流的力式驱动 8 个 TTE 逻辑门电路,对端口 P0写1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。Pl 口:P1 是一个带内部上拉电阻的 8 位双向 1/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTE 逻辑门电路。对端口写1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与 AT89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表 5-1表 5-1P1.0 和 P1.1 的第二功能引脚号功能特性P1.0T2(定时/计数器 2 外部数脉冲输入) ,时钟输出P1.1T2EX(定时/记数 2 捕获/重装载触发和方向控制)Flash 编程和程序校验期间,P1 接收低 8 位地址。P2 口:P2 是一个带有内部上拉电阳的 8 位双向 I/O 接口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口 P2 写“1” ,通过内部的上拉电时把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVXDPTR 指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVXRI 指令)时,P2 口输出 P2 锁存器的内容。Flash 编程或校验时,P2 亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阳的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上拉电阻输出电流(IIL) 。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如下表:河南科技大学本科毕业设计(论文)32表 5-2P3 口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断 0)P3.3INT1(外中断 1)P3.4T0(定时/计数器 0)P3.5T1(定时/计数器 1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)此外,P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。5.1.4波特率发生器当下 T2CON(表 5-3)中的 TCIK 和 RCLK 置位时,定时/计数器 2 作为波特率发生器使用。如果定时/计数器 2 作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器 1 用于其它功能.若 RCIK 和下 TCLK 置位,则定时器 2 工作于波特率发生器方式。表 5-3 定时器T2MOD 控制器T2MOD 地址=0C9H 复位值= XXXX XX00B不可寻址位_T2OEDCENBIT76543210符 号功 能未定义保留将来使用T2OE定时器 2 输出允许控制位DCEN置位该位,允许定时器 2 向上和向下记数波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2 翻转使定时器 2 的寄存器用 RCAP2 日和 RCAP2L 中的 16 位数值重新装载,该数值山软件设置。在方式 1 和方式 3,波特率由定时器 2 的溢出速率根据下式确定: 方式 1 和 3 的波特率=定时器的溢出率/16河南科技大学本科毕业设计(论文)33定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/Error!=0)。定时器 2 作为波特率发生器时,作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12 振荡频率)奇存器的值加 1,而作为波特率发生器使用时,在每个状态时间(1/2 振荡频率)奇存器的值加 1。波特率的计算公式如下:方式 1 和 3 的波特率=振荡频率/32*65536-(RCAP2H,RCAP2L)式中(RCAP2H,RCAP2L)是 RCAP2H 和 RCAP2L 中的 16 位无符号数。定时器 2 作为波特率发生器使用的电路如图 7 所示。T2CON 中的 RCLK 或TCLK=1 时,波特率工作方式才有效。在波特率发生器工作方式中,TH2 翻转不能使 TF2 置位,故而不产生中断。但若 EXEN2 置位,且 T2EX 端产生门 1 至 0 的负跳变,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论