1、 齿条行程测量仪的设计制作 摘 要 基于喷油泵技术的不断提高,满足节能和环保的需要,对喷油泵的校正参数提出了更高的要求。为了达到更好的校正效果,除了要对提前角、液位、油温的测量外,对齿条行程的测量已经提上了日程。 本设计基于AT89C52单片机设计了硬件电路,并编写了配套汇编程序,利用模数转换技术和液晶显示技术,以及与PC机的串行通信技术,开发出了完整一体化的齿条行程测量系统。其中,模数转换采用10位高精度转换器TLC1549芯片;拓展了12864J液晶显示技术,除了数字化显示测量数据外,还增加了齿条行程的波动图像的显示,以及测量计时秒表数子显示;采用19200比特率,选用MAX
2、232芯片的电平转换与PC机串行通信,保证数据准确及时发送至PC机,以备它用。 文中主要介绍了齿条行程测量的重要意义,以及整体设计方案、数模转换设计方案、液晶显示设计方案及串口通信方案,主要程序的分析,各部分电路图的说明等。 高精度和方便实用是本设计的主旨,简易的硬件电路、精炼的程序算法保证了测量数据的精确无误。 关键字:A/D转换、液晶显示、串行通信、 AT89C52、TLC1549 Design and Production of Bench Rack Distance Apparatus ABSTRACT Based on the fuel injec
3、tion pump technology inceasing enhancement, to satisfy the demand of energy conservation and environmental protection, a higher request has been put forward to the fuel injection pump adjustment parameter .In order to achieve the better adjustment effect, except to its angle of advance, fluid positi
4、on, oil temperature survey, the program has been already proposed to the rack traveling schedule survey. The hardware electric circuit of this system is designed based on the AT89C52 monolithic integrated circuit, and the necessary assembly program is compiled. Using A/D conversion technology and l
5、iquid crystal display technology, as well as with PC machine serial communication technology, the integration rack traveling schedule measurement system has been developed. In this system, the A/D conversion uses 10 high accuracy switches TLC1549 chip; which extends the 12864J liquid crystal display
6、 technology; besides digitized demonstration survey data, the rack traveling schedule undulation pictures demonstration are increased, as well as stopwatch digit display; using 19,200 bit rates, the MAX232 chip the level transformation is selected to serial communication with PC, to guarante the dat
7、a accurate prompt transmission to PC machine, prepares it to other use. This article mainly introduces the vita significance of the rack traveling schedule survey, as well as overall design plan, A/D transformation design proposal, liquid crystal display design proposal and serial communication des
8、ign proposal, main program analysis, each part of circuit diagrams explanation and so on. The high accuracy and the convenience practical are this design primary intention. The simple hardware electric circuit and the fining procedure algorithm guarante that the survey data precise is unmistakable.
9、 KEY WORDS: A/D Transformation, the Liquid Crystal Display, Serial Communication, AT89C52, TLC1549 III 河南科技大学本科毕业设计(论文) 目 录 前 言 1 第1章 喷油泵实验台概述 2 §1.1 喷油泵实验台的作用 2 §1.2 齿条在喷油泵中的用途 2 §1.3 齿条行程测量的重要性 3 §1.4 课题的提出 3 第2章 设计方案与分析 5 §2.1 齿条行程测量方案与分析 5 §2.1.1 主芯片的选择 5 §2.1.2 具体实现方案 5 §2.
10、1.3 流程图 6 §2.2 模数(A/D)转换模块方案与分析 7 §2.2.1 转换芯片的选择 7 §2.2.2 具体实现方案 7 §2.2.3 流程图 8 §2.3 液晶显示模块方案与分析 8 §2.3.1 液晶的选择 8 §2.3.2 具体实现方案 9 §2.3.3 液晶程序流程图 9 §2.4 串口通信模块方案与分析 10 §2.4.1 通信标准的选择与分析 10 §2.4.2 通信芯片的选择 11 第3章 硬件电路分析 12 §3.1 主控电路模块原理图 12 §3.2 A/D转换模块原理图 13 §3.3 液晶显示模块原理图 13 §3.4 串口通信
11、模块原理图 14 第4章 软件编程 15 §4.1 主程序流程图 15 §4.2 程序分析 16 §4.2.1 模数(A/D)转换子程序 16 §4.2.2 16位BCD码转换子程序 17 §4.2.3 液晶显示子程序 18 §4.2.4 中断子程序 20 第5章 主要芯片简介 24 §5.1 AT89C52的功能简介 24 §5.1.1 内部结构框图 24 §5.1.2 外部引脚说明 25 §5.1.3 编程方法 28 §5.2 TLC1549的功能简介 29 §5.2.1 主要功能描述 29 §5.2.2 内部结构框图 30 §5.2.3 工作原理 30
12、§5.3 12864-J的功能简介 31 §5.3.1 结构介绍. 32 §5.3.2 液晶管脚说明 35 §5.3.3 液晶指令分析 35 §5.4 MAX232的功能简介 38 §5.4.1 内部结构框图 39 §5.4.2 原理参考图 40 §5.4.3 通信标准分析 41 结 论 43 参考文献 44 致 谢 46 附 录 47 V 前 言 环境与能源,是我们迫在眉睫要解决的问题!石油作为能源,它是不可再生的宝贵能源,与各个国家的命运直接相连,与人们的生活关系密切!大到工业生产,小到机车动力油耗;但在其充当能源这一主角的的时候,也同时使我们
13、的生存环境受到了污染!我们虽然无法避免其污染性,但可以力所能及的降低污染指数,为我们的环保事业尽心出力! 机动车辆是石油的大消费者,而车内油泵的性能更是直接决定了石油的利用率的高低。油泵对机油利用率低,将会导致机油燃烧不充分,这不但污染环境,也浪费宝贵的石油资源,更加不经济。其主要原因就是油泵性能的下降,这时就需要对油泵进行人为的校正,齿条行程的检测准确度直接影响到对油泵校正的精度。 市场上的同类产品一般使用工程控制和数据采集卡,体积比较庞大而且价格不菲,而本设计是基于51系列单片机的开发,利用10位高精度A/D转换器TLC1549实现模拟信号向数字信号的转化。并利用12864液晶实时显示
14、其行程,尤其增加了齿条波动图像,显示其运动规迹;同时利用串口通信与PC机保持数据同步,将行程数据记录下来,可满足打印等其它需要。其主要目的就是充分利用计算机测控技术,对喷油泵调试中的技术参数之一:齿条行程,完全以数字化方式实现自动测量,以适应喷油泵产品技术及质量不断提高的需要。 功能强大且体积小成本低,非常具有研究价值。 采用先进的液晶显示技术,不但能够显示齿条行程的数据,而且能以直观形象的波动图像显示齿条的运动轨迹,以及精确的秒表计时系统,为校泵人员提供良好的参照依据。没有高精度的测量系统,就不能调试出高效能的油泵! 该设计带来的直接效益就是:提高校泵人员的工作效率!社会效益:节能、环
15、保!而广大的机动车主朋友们将会得到间接的不可估量的好处:经济! 基于以上因素,本设计显得尤为重要! 第1章 喷油泵实验台概述 §1.1 喷油泵实验台的作用 喷油泵试验台作为测试、调整喷油泵喷油参数的专用设备要求其精度较高,在喷油泵的制造与维修中发挥着重要的作用。随着发动机节能和环保要求的不断提高,对喷油泵试验台的测量精度提出了更高的要求。所以对喷油泵的工作质量提出了较高的要求。随着柴油机应用的日益广泛,油泵油嘴技术的不断改进,喷油泵制造厂家和维修行业对喷油泵试验台的技术要求也越来越高,致使喷油泵试验台技术不断的在自动量油和智能化控制技术方面进行更新。但目前国内喷油泵试验台的量油系统
16、仍采用传统的量筒式计量法,该测量系统存在量筒的制造误差、刻度误差和测量人员的视觉误差等,使测量系统的系统误差较大、自动化程度低、测量过程缓慢,已不能满足现代喷油泵对其测量精度的要求。随着电子技术和计算机技术的发展和普遍应用,用现代电测技术对喷油泵试验台的量油系统进行智能化自动测量己成为可能:随着汽车拥有量的增加,对汽车的排放和节能提出了更为严格的要求,所以对喷油泵试验台量油系统自动测量的研制显得十分必要。 §1.2 齿条在喷油泵中的用途 齿条是喷油量控制机构的主要零件之一,在喷油泵运行中,喷油泵每一循环的供油量主要取决于栓塞的有效行程,行程愈大,则供油量愈大。因此,可以通过转动栓塞就
17、可以改变有效行程,从而达到喷油泵循环供油的目的。而栓塞行程主要由齿条行程来体现。 齿条式调节机构是柱塞式喷油泵的一种油量调节机构。调节齿圈为夹箍形,用螺钉锁紧在油量调节套筒上,而油量调节套筒是松套在柱塞上的,在油亮调节套筒下端有切口,正好与栓塞下端凸块相配合。调节齿圈与调节齿杆相配合,拉动齿杆便可带动栓塞转动一个角度。当松开齿圈的夹紧螺钉,将油亮调节套筒及栓塞套相对栓塞转动一个角度,及可调节一个油缸供油量的大小与均匀性。因此,由油量调节特点可知,要对油量进行检测控制,可以通过检测齿条行程来检测供油量是否均匀。 §1.3 齿条行程测量的重要性 齿条行程在调节供油量时,发挥着极大的作用
18、 柴油机所发出的功率的大小是由喷油泵供油量的多少来调节的,并由操纵机构的油门踏板来控制的。喷油量控制实际上是通过操纵机构控制喷油泵内控制齿条的行程和带动与油量控制套筒做成一起的扇形齿轮来完成的。当拉动齿条时,扇形齿轮带动油量控制套筒,油量控制套筒与柱塞一起转动,而柱塞套筒不动,则使柱塞相对于柱塞套筒转动一个角度,改变了柱塞上的斜槽相对于进出油口的距离,即改变了柱塞的有效行程,从而改变柱塞的泵油量和喷油器的喷油量。 单体泵的供油量靠供油齿条的原始位置和齿条的行程来保证,在每一个喷油泵的喷油正时调好后,保证供油齿条的位置就显得很重要。 以BF6M1013EC柴油机供油齿条调整为例。
19、其中:X值为供油齿条处在停车位置时的参数值,X=0.3~1.3mm,X值是以壳体末端测量的,若其值过小,供油齿条不能完全停油。 Y值为供油齿条的最大行程参数值,Y=16.8~17.1mm,齿条行程达到这个数值可以保证喷油泵的最大供油量,如Y值较小将影响喷油泵的供油,在油门全开时也不能发挥出最大的动力性。 §1.4 课题的提出 图1-1齿条行程量具 目前的同类设计,如右图1-1,采用仪表式,不仅精度不够,而且读数很不方便,虽然也有采用8位A/D转换器,数码管显示,但精度仍不够高;而且采用数码管显示数据,不稳定,数据抖动厉害;都无法达到本设计对齿条行程测量如此一体化的高精度测试与显
20、示。 相对而言,本设计具有著多优点: 采用10位A/D转换器TLC1549,高精度测量齿条行程,为校泵人员提供相当精确的数据,从而使校正过的油泵的有良好的工作性能;采用液晶显示行程数据及其波动曲线,为校泵人员提供可视化的数据显示、以及形象的波动曲线,为快速校泵提供的很大的帮助,要远远优越于数码管测量系统!可实时监控齿条行程,并将所测数据通过串行通信发到PC机上,存储或者打印,以备其它需要!提供精确秒表计时,为校泵人员提供更多的时间参数,便于及时根据数据及时做下结论。 第2章 设计方案与分析 §2.1 齿条行程测
21、量方案与分析 §2.1.1 主芯片的选择 考虑到设计的功能,精确测量齿条行程需要用到10位TLC1549高精度转换器;液晶显示选用128列67行的宽屏液晶;与PC机串行通信用到MAX232;主单片机采用AT89C52作为足以满足这种需要。 AT89C52是一款低功耗高性能CMOS 8位微型计算机,具有8K 可擦写Flash只读存储器,与工业标准80C51和80C52指令集和引脚兼容。片内Flash程序存储器可以实现系统在线编程或使用非紫外线存储器编程器来编程。 §2.1.2 具体实现方案 首先,将传感器与齿条顶端固定在一起,然后将传感器的模拟信号输出端通过导线接入到TLC15
22、49的信号输入端ANALOG IN。TLC1549上电后会自动将已输入的模拟信号量实时地转换成数字量,分别存储于两个存储器中(由于是10位的转换,一个8位存储器是容不下10字节的。),通过DATAOUT端传送到AT89C52的数据入口P1.1。在AT89C52内部将再通过ASCII码转换和16位BCD码转换。将10位数据转换成所需要的存储格式。ASCII码数据用于和PC机串行通信;BCD码数据用于液晶显示。 其次,要通过波动图像显示齿条的运动轨迹,采用中间值比较法来做。即:取齿条行程的最大值的中间值为参照值,然后用其两侧的值与其相减,结果为正数的,则将所测值显示于波形的零点上方,结果为负数的
23、则将其显示于波形的零点下方。这样就能够形象地通过图像看到齿条偏离中间位置多远。 最后,为了方便维修人员能更清楚的知道行程时间,我又作了个计时器,精确到秒级,可以计到99小时59分59秒! §2.1.3 流程图 传感器 TLC1549模数转换 齿条行程 模拟量 AT89C52 液晶显示 串行通信 图2-1 齿条行程主流程图 数字量 返回 §2.2 模数(A/D)转换模块方案与分析 §2.2.1 转换芯片的选择 A/D转换就是把模拟量转换成数字量的过程。A/D转换器的种类很多,但应用最为广泛的有三种:V/F变换式(电荷平衡式)A/D转换器、
24、逐次逼近式A/D转换器和双积分式A/D转换器。 逐次逼近式A/D转换器内部由逐次逼近寄存器、电压比较器、D/A转换器、输出缓冲器、以及时序与逻辑控制电路组成。转换一开始,首先由时序与逻辑控制电路将逐次逼近寄存器的最高位置1,其余位清零,然后经过D/A转换得到电压VOUT与电压比较器的VIN比较,如果VOUT>VIN,那么逐次比较寄存器的最高位1保留,反之清零,接着下一位再置1,重复上述操作,反复比较,直到将逐次比较寄存器写满后,该寄存器中的内容就是A/D转换的结果,当EOC有效时,就可以把结果读到单片机中。 TLC1549C、TLC1549I和TLC1549M是10位、开关电容、逐次逼近模
25、数转换器。这些器件具有两个数字输入端和一个3态输出端[芯片选择(CS),输入/输出时钟(I/O CLOCK)以及数据输出(DATA OUT)],它们提供了与主处理器串行端口的3线接口。而ADC0809是8位,由基准电压/256分压器,比较器,寄存器组成,精度不高,测量出的数据也就不精确。而本设计的齿条行程数量级是很小的,要取得比较精确的行程数据就要必须采用10位A/D转换器TLC1549系列芯片。 §2.2.2 具体实现方案 基准电压/1024=最小刻度。 在芯片选择(CS)无效(高电平)的情况下,I/OCLOCK最初被禁止,DATAOUT处于高阻状态。当串行接口将CS拉至有效(低
26、电平)时,转换时序开始,允许I/OCLOCK工作并使DATA OUT 脱离高阻状态。AT89C52通过P1.0将I/OCLOCK序列提供给TLC1549并从DATAOUT接收前次转换结果。模拟输入的采样开始于第3个I/OCLOCK的下降沿并持续7个I/OCLOCK周期。在第10个I/OCLOCK的下降沿采样被保持并开始模/数转换,转换过程不超过21微秒。 §2.2.3 流程图 图2-2 A/D转换流程图 齿条行程模拟量 A/D转换 10位数字量 ASCII码转换程序 液晶存储器 16BCD码转换程序 中断寄存器 §2.3 液晶显示模块方案与分析 §2.3.1
27、液晶的选择 根据通信方式可以分为:串口液晶、并口液晶和串/并口液晶。 OCM4X8C串口液晶采用4位/8位并行、2线/3线串行多种接口方式,内部含有国标一级、二极简体中文字库的图形点阵液晶显示模块;利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。 HEM12864I是一种图形点阵液晶显示器。它主要采用动态驱动原理由行驱动—控制器和列驱动器两部分组成了128(列)×64(行)的全点阵液晶显示。此显示器采用了COB的软封装方式,通过导电橡胶和压框连接LCD,使其寿命长,连接可靠。 二者相比,前者有相当优势。HEM12864I采用并口通信,与AT89C52相连的
28、有8根数据线和5根控制线,而且要显示的内容都要手动编码,工作量很大,同时也增加了程序的量。OCM4X8C拥有相同大小的屏幕128列64行,采用串口模式,与AT89C52相连的只有两个管脚,一个时钟线SCLK,一个数据线SID。由于内部带有中文字库,对汉字、数字、字符类的内容就无需再重新编码。 遗憾的是,没有及时拿到OCM4X8C液晶,只能用HEM12864替代。 §2.3.2 具体实现方案 本设计所选液晶共可显示四行,首行显示毕业设计的题目“齿条行程测量仪”,第二行显示“行程:××××mm”,第三行显示齿条运动的波动图像,最后一行显示:“计时:××时××分××秒”。 程序结构定为
29、先将固定部分显示出来,再处理数字和波形的显示。 编码方式共有四种:逐列式、逐行式、行列式、行列式。不同的编码要用不同的显示程序,最初采用默认的逐列式编码,简单显示还好,功能一复杂就显示出了不足之处。现在采用行列式编码,程序思路相对简单了许多。 波形的显示是一个新的理念,采用与中间值(定值)比较法,来判断齿条的位移,差值为正的位移量在第二行的上半部分(即液晶屏的第三页)显示,差值为负的位移量在第二行的下半部分(即液晶屏的第四页)显示。显示满一整行,迅速清屏(只清本行),再从左端开始显示。 计时是采用定时中断。使用定时器T0,以10ms为定时值。 §2.3.3 液晶程序流程图
30、图2-3 液晶显示流程图 液晶存储器 处理为波形数据 处理为数字数据 液晶显示 调波形显示程序 调数据显示程序 计时发生程序 计时显示程序 §2.4 串口通信模块方案与分析 §2.4.1 通信标准的选择与分析 RS232和RS485是美国电子工业协会(EIA)批准的连接串行通信设备的串行通信接口标准。多数PC机都用RS232与鼠标、调制解调器、打印机以及其他的外围设备连接进行通信联络。RS232和RS485也广泛用于AV行业中的设备控制。例如,在投影显示系统中,常由集中控制系统主机的RS232接口与投影机、矩阵切换器等RS232接口连接,实行对其控制。 RS
31、232和RS485二种标准的主要区别与使用平衡信号和非平衡信号有关。RS232采用非平衡信号,而RS485采用平衡信号。目前,在现代演示和通信系统中,平衡和非平衡串行通信都被应用。究竟采用哪一种,主要取决于传输距离和电器噪声二个因素。在传输距离小于30米,并且环境电器噪声较小情况下,最好采用非平衡RS232,在传输距离较长,但小于300米,或者环境电器噪声影响必需考虑时,最好采用平衡RS485。 针对本设计的传输距离短和环境电噪声比较小的具体情况,我采用了RS232标准。 §2.4.2 通信芯片的选择 本设计使用的是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片MAX23
32、2,常用连接见图2-4: 图2-4 MAX232原理图 第3章 硬件电路分析 §3.1 主控电路模块原理图 图3-1 主原理图 AT89C52的40管脚(VCC)接高电平,20管脚(GND)接低电平;管脚9 (RESET)要接上复位电路,保证每次上电后单片机自动复位;管脚31(EA/VP)必须接高电平(VCC),此管脚是读取片外存储器的控制端,低电平有效,接高电平时,读取片内存储器。管脚18(XTAL2)和管脚19(XTAL1)接时钟发生电路。这样就构成了最小单片机应用系统。 P1.0、P1.1、P1.2与TLC1549相连。 P2.0、P2.
33、1、P2.2、P2.3、P2.4接液晶的控制端,P0口接液晶的数据I/O口,由于P0口内部没有上拉电阻,直接接液晶的话,电压跟不上,故要在外部接上拉电阻。 §3.2 A/D转换模块原理图 图3-2 数模(A/D)转换电路 管脚2(ANALOG IN)是模拟信号的输入端,管脚7(I/OCLOCK)、管脚6(DATAOUT)、管脚5()分别接AT89C52的P1.0、P1.1、P1.2。 §3.3 液晶显示模块原理图 图3-3 液晶显示电路 管脚7至14引脚接P0口,管脚4(D/I)接P2.0、管脚5(R/W)接P2.1、管脚6(E)接P2.2、管脚15(CS1)接
34、P2.3、管脚(CS2)接P2.4。 DWQ为液晶亮度调节器。 §3.4 串口通信模块原理图 图3-4 串行通信 图中TXD和RXD分别与单片机对应的管脚相连,DIN和DOUT分别与PC机后面的串口COM1口的3和2管脚相连,MCU的晶振频率为11.0592M/HZ,与PC机通信的波特率为19200bps,每次转送8位数据,还有一个起始位和一个停止位。 第4章 软件编程 §4.1 主程序流程图 图4-1 主程序流程图 开始 初始化 A/D转换 计时中断 串行中断 液晶显示 PC机通信 返回 数据处理 §4.2 程序分析 §4.
35、2.1 模数(A/D)转换子程序 AD: MOV CTL,#00 MOV CTH,#00 SETB P1.1 ;/CS,初始为高电平 ACALL DELAY CLR P1.1 ;构成下降沿 ACALL DELAY MOV R0,#10 ;计数10个时钟 RR0: SETB P1.2 NOP CLR P1.2 DJNZ R0,RR0 ;循环产生10个时钟,最后一个时钟保持低电平 ACALL DELAY MOV 30H, CTH;A/D转换的高两位保存在CTH中 ACALL CIR ;读取转换后的数据
36、 MOV CTH,30H SETB P1.2 NOP CLR P1.2 MOV 30H, CTH ACALL CIR MOV CTH,30H MOV R0,#8 ;A/D转换的低8位保存在R7中 RR2: SETB P1.2 NOP CLR P1.2 MOV 30H, CTL ACALL CIR MOV CTL,30H DJNZ R0,RR2 RET CIR: CLR C MOV C,P1.0 MOV A,30H RLC A MOV 30H
37、A RET §4.2.2 16位BCD码转换子程序 B16BCD: NOP CLR A MOV R4, A MOV R5, A MOV R6, A MOV R7, #10H LDP:CLR C MOV A, R2 ;CTL RLC A MOV R2, A MOV A, R3 ;CTH RLC A MOV R3, A
38、MOV A, R4 ADDC A, R4 DA A MOV R4, A MOV A, R5 ADDC A, R5 DA A MOV R5, A MOV A, R6 ADDC A, R6 DA A MOV R6, A DJNZ R7, LDP RET §4.2.3 液晶显示子程序 1. 液晶初
39、始化程序段 CS1 EQU P2.3 ;片选左 CS2 EQU P2.4 ;片选右 RS EQU P2.0;寄存器选择信号 RW EQU P2.1 ;读/写选择信号 E EQU P2.2 ;使能信号 INT: MOV COM,#0C0H ;设置显示起始行为第一行 LCALL PRL0 LCALL PRR0 MOV COM,#3FH ;开显示设置 LCALL PRL0 LCALL PRR0 ..…. 2. 数据显示程序段 MOV COM,YZ ;设置页值 LCALL PRL0 LCALL PRR0 MOV COM,L
40、Z ;设置列值 LCALL PRL0 LCALL PRR0 MOV R4,#00H LOOPZ: MOV A,AZ ADD A,R4 MOV DPTR,#CCW ;调用编码表首地址 MOVC A,@A+DPTR MOV DAT,A LCALL PRL1 ;调用左半屏显示程序 LCALL PRR1 ;调用右半屏显示程序 INC R4 ;指针加1,指向下一个编码 MOV A,R4 CJNE A,RZ,LOOPZ ;编码显示完,跳出循环 RET 3. 波动显示程序段 COMP: MOV A,R2 ;处
41、理波形正半部分的值 MOV B,#0AH DIV AB MOV BIJIAO1,A MOV BIJIAO2,#0CH MOV A,BIJIAO1 ;BIJIAO1 > BIJIAO2 SUBB A,BIJIAO2 JB ACC.7,TOM1 MOV YZ,#0BCH CJNE A,#00H,W1 MOV TTT,#00000000B RET W1: CJNE A,#01H,W2 MOV TTT,#10000000B RET …… ;依次判断2-9的值,并依次赋于TTT000000、11100000、11
42、110000、11111000、11111100、11111110、11111110B. …… W8: MOV TTT,#11111111B RET TOM1: MOV A,BIJIAO2 ;处理波形负半部分的值BIJIAO1 < BIJIAO2 SUBB A,BIJIAO1 MOV YZ,#0BDH CJNE A,#00H,S1 MOV TTT,#00000000B RET S1: CJNE A,#01H,S2 MOV TTT,#00000001B RET ……; 依次判断2-9的值,并依次赋于TTT 00000011、000001
43、11、00001111、00011111、00111111、01111111B. S8: MOV TTT,#11111111B TRET: RET §4.2.4 中断子程序 1. 串行中断程序段 SEND: NOP CLR ES ;关中断 PUSH ACC ;入栈保护 PUSH PSW …… MOV SBUF,CTBUF1 ;将要传送的数据,依次送入SBUF缓冲池中 JNB TI,$ CLR TI NOP NOP …… POP PSW ;数据传送完,受保护数据出栈 POP ACC
44、 CLR TI CLR RI SETB ES RETI 2. 定时中断程序段 TIM0: MOV TL0,#00H MOV TH0,#0DCH PUSH ACC ;T0中断服务子程序 PUSH PSW PUSH DPL PUSH DPH MOV TL0,#00H MOV TH0,#0DCH ;T0重新赋值 MOV A,48H INC A ;100ms加1 MOV 48H,A CJNE A,#64H,RETURN ;未到100个10ms的计数则中断处理结束 MOV
45、48H,#00H ;到了1000ms即1秒,则回0 MOV A,52H INC A ;秒的计数加1 MOV 52H,A CJNE A,#0AH,STHS MOV 52H,#00H MOV A,53H INC A MOV 53H,A STHS: MOV A,53H CJNE A,#06H,RETURN ;未到60个1秒的计数则中断处理结束 MOV 52H,#00H MOV 53H,#00H ;到了60秒,则回0 MOV A,54H INC A ;分的计数加1 MOV 54H,A
46、 CJNE A,#0AH,STHM MOV 54H,#00H MOV A,55H INC A MOV 55H,A STHM: MOV A,55H CJNE A,#06H,RETURN ;未到60个1分的计数则中断处理结束 MOV 54H,#00H MOV 55H,#00H ;到了60分,则回0 MOV A,56H INC A ;时的计数加1 MOV 56H,A CJNE A,#0AH,STHH MOV 56H,#00H MOV A,57H INC A MOV 57H,A STHH: M
47、OV A,57H CJNE A,#0AH,RETURN ;未到24小时的计数则中断处理结束 MOV 56H,#00H MOV 57H,#00H ;到了24小时,则回0 RETURN: POP DPH POP DPL POP PSW POP ACC RETI 由于源程序较多,不便一一列出,需要的请通过下面链接查看电子文档 点击查看完整程序 第5章 主要芯片简介 §5.1 AT89C52的功能简介 AT89C52是美国ATMEL公司生产的低电压,高性能CMOS
48、8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机适合于许多较为复杂控制应用场合。 主要功能特性见表5-1: 图5-1 AT89C52管脚图 表5-1 AT89C52主要特性参数表 兼容MCS51指令系统 8k可反复擦写Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定
49、时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 §5.1.1 内部结构框图 从图5.1可以看出,AT89C52单片机组成结构中包括运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。 图5-2 AT89C52内部结构框图 §5.1.2 外部引脚说明 AT89C52单片机具有8KFlash程序存储器、256字节RAM. 32个I/O口、3个16位定时计数器、6矢量的两级中断结构、1
50、个全双工的串行通信口、片内振荡器和时钟电路。此外,在工作频率为0Hz具有静态逻辑功能,并且支持两种软件编程的电源存储模式。空闲模式时,CPU 停止工作,但数据存储器RAM、定时计数器、串行口和中断系统继续工作。节能模式时,会保存RAM 内的数据,振荡器停振,片内所有功能失去作用。要等到有硬件复位到来时才会退出节能模式。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片复位。 ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出






