




免费预览已结束,剩余25页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 基于单片机(at89c51)的温度采集控制系 统 摘 要 目前国内喷油泵试验台的量油系统仍采用传统的量筒式计量法该测量系 统存在量筒的制造误差、刻度误差和测量人员的视觉误差等,使测量系统的系 统误差较大、自动化程度低、测量过程缓慢,已不能满足现代喷油泵对其测量 精度的要求。将微机引入喷油泵试验台,对实现检测自动化提高检测精度和效 率,增加检测功能有一定的实际意义和经济效益。结合实际情况,对原有电子 控制喷油泵试验台进行改造、设计、开发,将单片机和计算机引入喷油泵试验 台,设计一套监控系统,用单片机作为下位机控制试验台,用计算机作上位机, 在基于 windows 的操作界面下用预先编制好的监控软件控制单片机,既操作简 单,对实现检测自动化、提高检测精度和效率、增加检测功能又有重要的现实 意义 本文提出的温度采集控制系统以单片机(at89c51)为核心,由控制部分、 显示部分和温度测量(ad590)部分组成。该系统大部分功能通过硬件来实现, 电路简单明了,系统稳定性很高。 这套温度控制系统可以方便地实现温度测量、温度显示等功能,并通过与 单片机连接的键盘可以实时设定测控温度的下限,还可以连接相应的外围电路, 在收到单片机发出的指令后对环境进行检测 本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介 绍了本系统所应用的各硬件模块的功能和它的工作过程;其次,详细阐述了程 序的各个模块及其实现过程。本系统的主要设计思想是以硬件为基础,软件和 硬件相结合,最终实现各个模块的功能。 关键词:at89c51、 温度采集、 ad590 ii abstract the amount of domestic oil pump test-bed system is still uses the traditional liangtong type measurement. the measurement system of existing manufacturing error liangtong, calibration error and surveyors visual error, etc., so that the system error measuring system of bigger, the low automatic degree, measurement process slow, already cannot satisfy the measurement accuracy of modern fuel the requirements. will the microcomputer introducing to the realization of pump test-bed, improves the detection inspecting automation accuracy and efficiency, increase the detection function has certain practical significance and economic benefits. combined with the actual situation, the original electronic control pump test-bed for reform, the design, the development, will introduce single-chip microcomputer and computer pump test-bed, design a set of monitoring system, with single chip microcomputer as lower level computer control test rig, with the computer for pc, in windows based user interface with programmed monitoring software control microcontroller, both simple operation, to realize detection automation, improving precision and efficiency, increase the detection function and have important practical significance in this paper, temperature gathering control system takes microcontroller (at89c51) as the core, from controlling part, display section and temperature measurements (ad590) parts. the system hardware to realize most function through, circuit straightforward, stability of the system is very high. the temperature control system can easily achieve temperature measurement, temperature display, etc., and through the keyboard can connect with single-chip microcomputer temperature measurement and control the lower limit of real-time settings, also can connect to the corresponding peripheral circuit, when receiving a command for scm environment after testing this paper firstly describes the system hardware work principle, each accompanied by a diagram to illustrate the system structure, introduces this system that the application of the hardware modules of the system and its working process; secondly, this paper expounds the program modules and realize process. the systems main design ideas based on the hardware, software and hardware combined, finally realizes the function of each module. keywords: at89c51 temperature collection ad590 iii 目 录 摘 要 i abstract .ii 目 录 iii 第一章 设计背景及设计意义 .1 1.1 引言 1 1.2 设计背景及意义 2 第二章 系统方案设计 .3 2.1 功能设计要求 3 2.2 系统方案确定 3 2.2.1 方案论证 .3 2.2.2 方案确定 .5 第三章 油温控制系统硬件电路设计 .6 3.1 硬件部分的简介 6 3.1.1at89c51 的简介 .6 3.1.2 元器件的选择 .7 3.2 硬件电路设计 10 3.2.1 各模块接口电路 .10 3.2.2 温控系统硬件电路设计 .12 第四章 油温控制系统软件设计 .15 4.1 单片机编程语言 15 4.1.1 单片机编程语言分类及特点 .15 4.1.2 汇编语言的指令格式 .15 4.1.3 汇编语言的步骤及方法 .16 4.2 程序结构设计 17 4.3 主要程序模块清单 20 第五章 硬件软件系统制作调试 23 5.1 硬件电路的制作 23 5.2 硬软件的调试 23 致 谢 .25 参考文献 .26 附录 1 元器件清单 .27 1 第一章 设计背景及设计意义 1.1 引言 在国民经济各部门,如电力、化工、机械、冶金、农业、医学以及人们的 日常生活中,温度检测是十分重要的。在许多模拟量控制和监视应用中,温度 测控通常是基于 -40125温度范围内的应用,如环境监测、蔬菜大棚、粮 库、热电偶冷端温度补偿、设备运行的可靠性等应用。实时采集温度信息,及 时发现潜在故障,并采取相应的处理措施,对确保设备良好运行具有重要意义。 本文介绍了一个基于单片机的温度控制系统,该系统可以方便地实现温度采 集、温度显示等功能。本系统的温度控制部分采用单片机完成。单片机有着体 积小、功耗低、功能强、性能价格比高、使用电子元件较少、内部配线少、制 造调试方便等显著优点,将其用于温度检测和控制系统中可大大地提高控制质 量和自动化水平,具有良好的经济效益和推广价值。利用单片机对温度进行测 控的技术,日益得到广泛应用。 在众多的温度控制系统中,测温元件常常选用热敏电阻、半导体测温二极 管、三极管、集成温度传感器等。相比而言,集成温度传感器具有线性好、稳 定度高、互换性强、易处理等突出优点,故在许多场所得到了广泛应用。本系 统中单片机作为下位机,完成测温任务,并通过与单片机连接的键盘可以实时 设定测控温度的下限。本系统还可以连接相应的外围加热电路,当环境温度低 于设定下限温度时,单片机发出的指令,加热器起动对环境进行加热,当温度 回升到下限温度时加热器停止加热。为了便于操作,还设计一个简单的操作面 板,它主要由键盘与按钮开关组成,通过操作面板可以进行系统的开停、 reset、设置温度下限告警值等。键盘输入部分采用了键盘专用 ic 74c922,简化 了软件编程,用起来非常方便。 系统软件主要由初始化程序、主程序、监控显示程序等组成。其中初始化 程序是对单片机的接口工作方式,a/d 转换方式等进行设置;显示程序包括对显 示模块的初始化、显示方式设定及输出显示;主程序则完成对采集数据进行处 理。 该系统应用范围相当广泛,同时采用单片机技术, 由于单片机自身功能强 大,因而系统设计简单,工作可靠,抗干扰能力强,也可在此基础上加入通信 接口电路,实现与上位机之间的通信。 2 1.2 设计背景及意义 喷油泵是柴油机燃料供给系统中最精密的部件,被称为柴油机的“心脏” , 是柴油机各项技术性能的控制机构。它根据柴油机的转速均匀分配再汽缸的进 油量。喷油泵由泵油机构、供油量调节机构、驱动机构、喷油泵体组成。 喷油泵又称为高压油泵,它根据柴油机不同的运转情况,将燃油输送泵送 来的低压油提升压力,在预定的时间内将相应的油量按一定规律压送到喷油器。 喷油泵试验台作为测试、调整喷油泵泵油参数的专用设备,在喷油泵的制造与 维修中发挥着重要的作用。喷油泵试验台的主要用途是检测和调整喷油泵在各 种工况时的喷油量及各缸喷油间隔角。衡量喷油泵试验台性能和质量的一个重 要指标就是喷油量测量的精确性。 目前国内喷油泵试验台的量油系统仍采用传统的量筒式计量法该测量系 统存在量筒的制造误差、刻度误差和测量人员的视觉误差等,使测量系统的系 统误差较大、自动化程度低、测量过程缓慢,已不能满足现代喷油泵对其测量 精度的要求。将微机引入喷油泵试验台,对实现检测自动化提高检测精度和效 率,增加检测功能有一定的实际意义和经济效益。结合实际情况,对原有电子 控制喷油泵试验台进行改造、设计、开发,将单片机和计算机引入喷油泵试验 台,设计一套监控系统,用单片机作为下位机控制试验台,用计算机作上位机, 在基于 windows 的操作界面下用预先编制好的监控软件控制单片机,既操作简 单,对实现检测自动化、提高检测精度和效率、增加检测功能又有重要的现实 意义。因此,本文就油温一个问题进行研究,利用单片机下位机程序的设 计控制,实现对油泵油温的控制使得油泵更好的工作。 3 第二章 系统方案设计 2.1 功能设计要求 这套温度采集、控制系统可以方便地实现温度测量、温度显示等功能,并 通过与单片机连接的键盘可以随时设定测控温度的下限,还可以连接相应的外 围电路,在收到单片机发出的指令后对环境进行监测,当温度回升到下限温度 时加热器停止监测。 1、采集温度并显示温度值。对温度控制器而言,最基本的功能是测温功能 即能时时采集被测环境的温度并通过显示部分显示出来。 2、设定测控温度下限。温度采集一般都具有设定限定温度功能,即预设一 个温度值,一旦温度低于这个温度值,控制器就会发出提示,连接相应的外围 电路就可以对环境进行检测。 3、采用专用直流供电电源。与其它的温度控制器相比,本系统的温度采集 器输出模拟电流,易受干扰。因而必须以专用直流电源供电,分别为模拟部分 和数字部分提供专用电压。 4、利用单片机制作一个油温控制器,要求如下: 温度设定范围 38-42,最小区分度 1,标定误差1。 用十进制数码显示水的实际温度。 环境温度降低时,温度控制的静态误差1。 2.2 系统方案确定 2.2.1 方案论证 方案一 采用美国 dallas 半导体公司继 ds1820 之后推出的一种该进型智能温度传 感器 ds18b20 作为检测元件,检测范围55125,最大分辨率可达 0 0625。ds18b20 可以直接读出被测温度值,而且采用三线制与单片机相连,减 少了外部的硬件电路,具有低成本和易使用的特点, ds18b20 at89c51 主控制器 显示电路 扫描驱动 图 2-1 基于 ds18b20 的温控电路 4 本电路由 3 个模块组成;主控制器,测温电路及显示电路,主控制电路; 单片机 at89c51 具有低电压供电和小体积等特点。 .7kvcds18b20单 图 2-2 ds18b20 与单片机的接口电路 显示电路:采用 4 位共阳 led 数码管,从 p1 口输出段码,到扫描用 p3.0- p3.1 口来实现,列驱动用 9012 三极管。 ds18b20 与单片机的接口电路,如图 2-2: ds18b20 可以采用两种方式供电,一种是采用电源供电方法,如图此时 ds18b20 的 1 脚接地,2 脚作为信号线,3 脚接电源,另一种是寄生电源供电方 式,单片机接口接单线总线,为保证有效的 ds18b20 时钟周期内提供足够的电 源,可用一个 mosfet 管来完成总线的上位。 当 ds18b20 处于写存储器操作和温度 ad 转换操作时,总线上必须有强 的上位,上位开启时最大为 10 ua。采用寄生电源供电方式时 vdd 和 gnd 端 军接地。由于单线制只有一根线,因此发送接口必须是三态的。 方案二 由 ad590 配以 adc0809。adc0809 是最常用的 8 位模数转换器,属于逐 次逼近型。adc0809 采用单一的+5v 供电,片内有带锁存功能的 8 路模拟开关, 可对 05v,8 路模拟信号分时进行转换,完成一次转换的的时间是 100us,数 字输出信号具有 ttl 三态锁存器,可以直接与 at89c51 相连。 通过对比,方案一中使用 ds18b20 采集温度,结构较复杂,价格也稍显昂 贵,适合较大规模的工业农业使用。成本较高故从以上两种方案,很容易看出 采用方案二,电路不仅比较简单,软件设计也比较简单,故采用了方案二 5 图 2-3 系统组成方框图 2.2.2 方案确定 由设计要求可知,该油温控制器应包括主控制器单片机、温度检测模块、 加热控制模块、键盘设定模块及数据显示模块。温度检测模块由温度传感器 ad590、信号放大器及a/d转换器adc0809组成。由 ad590将温度转换成电流信 号再经信号放大器得到对应的模拟电压,再经adc0809转换后接入单片机。 键盘扫描由11个按键及3位led共阳极显示器组成。通过p1、p2口直接驱动 键盘,为了简化显示接口,这里采用了串行口扩展led显示器 6 第三章 油温控制系统硬件电路设计 3.1 硬件部分的简介 3.1.1at89c51 的简介 at89c51 单片机是最常用的单片机,是一种低损耗、高性能、cmos 八位微 处理器。at89c51 与 mcs-51 系列的单片机在指令系统和引脚上完全兼容,而 且能使系统具有许多 mcs-51 系列产品没有的功能,功能强、灵活性高且价格 低。at89c51 可构成真正的单片机最小应用系统,缩小系统体积,增加系统的 可靠性,降低了系统成本。 at89c51 提供以下标准功能: 32 个 i/o 口线 2 个 16 位定时/计数器 4k 字节 flash 闪速存储器 128 字节内部 ram 一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电 路。同时,at89c51 降至 0hz 的静态逻辑操作,并支持两种可选的节电工作模 式。空闲方式体制 cpu 的工作,但允许 ram,定时 /计数器,串行通信口及中 断系统继续工作。掉电方式保存 ram 中的内容,但振荡器体制工作并禁止其他 所有不见工作直到下一个硬件复位。 引脚功能说明 89c51 共 40 个引脚,大致可分为四类: 图 3-1 89c51 引脚图 p 1 . 1 x t a l 2 t 1 / p 3 . 5 t x d / p 3 . 1 p 1 . 2 r x d / p 3 . 0 r e s e t p 1 . 7 p 1 . 6 p 1 . 5 p 1 . 4 p 1 . 3 p 0 . 0 p 0 . 1 v c c v s s x t a l 1 p 0 . 2 p 0 . 7 p 0 . 6 p 0 . 5 p 0 . 4 p 0 . 3 p 2 . 7 p 2 . 6 p 2 . 5 p 2 . 4 p 2 . 3 p 2 . 2 p 2 . 1 p 2 . 0 / p 3 . 2i n t 0 / p 3 . 3i n t 1 t 0 / p 3 . 4 / p 3 . 6w r / p 3 . 7r d p p/e a v p s e n p r o g/a l e 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 p 1 . 0 8 9 c 5 1 / a d 0 / a d 1 / a d 2 / a d 3 / a d 4 / a d 5 / a d 6 / a d 7 / a 1 5 / a 1 4 / a 1 3 / a 1 2 / a 1 1 / a 1 0 / a 9 a 8 / 7 (1)电源引脚 vcc:电源端, +5v。 vss:接地端(gnd) 。 (2)时钟电路引脚 xtal1:外接晶振输入端。 xtal2:外接晶振输出端。 (3)i/o 引脚 p0.0p0.7/ad0ad7:一组 8 位漏极开路型双向 i/o 口,也是地址/数据总 线复用口。作输入/输出口用时,必须外接上拉电阻,它可驱动 8 个 ttl 门电路。 当访问片外存储器时,用作地址/数据分时复用口线。 p1.0p1.7:一组内部带上拉电阻的 8 位准双向 i/o 口,可驱动 4 个 ttl 门 电路。 p2.0p2.7/a8a15:一组内部带上拉电阻的 8 位准双向 i/o 口,可驱动 4 个 ttl 门电路。当访问片外存储器时,用作高 8 位地址总线。 p3.0p3.7:一组内部带上拉电阻的 8 位准双向 i/o 口。出于芯片引脚数的 限制,p3 端口每个引脚具有第二功能。 (4)控制线引脚 reset/vpd:复位端/备用电源输入端。当 reset 端出现持续两个机器周 期以上的高电平时,可实现复位操作。vpd 端可外接备用电源,以便在 vcc 掉 电时向 ram 供电。 ea/vpp :片外程序存储器选择端/ flash 存储器编程电源。若要访问外部程 序存储器则 ea 端必须保持低电平。vpp 端用于 flash 存储器编程时的编程允许 电源+12v 输入端。 ale/prog :地址锁存允许端/编程脉冲输入端。当访问外部程序存储器或 数据存储器时,ale 输出脉冲用于锁存 p0 口分时送出的低 8 位地址(下降沿有 效) 。不访问外部存储器时,该端以时钟频率的 1/6 输出固定的正脉冲信号,可 用作外部时钟。对内部 flash 存储器编程期间,该引脚用于输入编程脉冲。 psen :读片外程序存储器选通信号输出端。当 89c51 从外部程序存储器 取指令时,该脚有效(上升沿) 。每个机器周期 psen 均产生两次有效输出信号。 3.1.2 元器件的选择 (1)ad590 的性能特点与工作原理 8 图 3-2 ad590 管脚封装图 图 3-3 ad590 的基本电路图 ad590 的内部电路如电路图 3-3 所示。传感器 ad590 的输出电流会随着温 度的变化而变化,变化量为 1ua/k,ad590 与 10k 电阻连接,把电流转化为电压, 取出电压后经过一个电压跟随器。接稳压管的那一路则是要使 50k 变阻器的输 出电压为 2.732v,与跟随器的输出在经过一个差动放大器,求得温度变化值所对 应的电压变化值,送到 a/d 转换器中去。 (因为 0 度时,ad590 的输出电流是 273.2ua,取出的电压为 273.2*10k=2.732v,及后温度变化取出的电压也跟着变化, 经过差动放大就可以把电压变化值取出送到 a/d 转换器中) (2)模数转换-adc0809 芯片 adc0809 采用逐次逼近式 a/d 转换原理,可实现 8 路模拟信号的分时采集, 9 片内有 8 路模拟选通开关,以及相应的通道地址锁存与译码电路,转换时间为 100us 左右。adc0809 内部中多路开关可选通 8 个模拟通道,允许 8 路模拟量 分时输入,共用一个 a/d 转换芯片进行转换。地址锁存与译码电路完成对 a、b、c 3 个地址位进行锁存与译码,其译码输出用于通道选择。8 位 a/d 转 换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及 256 欧姆电阻阶梯网络组成。输出锁存器用于存放和输出转换得到的数字量。 adc0809 芯片为 28 引脚双列直插式封装。 adc0809 芯片引脚的功能: in7-in0:模拟量输入通道。adc0809(图 2-3)对输入模拟量的要求主要 有:信号单极性,电压范围为 0-5v。 a、b、c:地址线,模拟通道的选择信号。a 为地位地址,c 为高位地址。 ale:地址锁存允许信号。 start:转换启动信号。start 上跳沿时,所有内部寄存器清 0;start 下跳沿时,开始进行 a/d 转换;在 a/d 转换期间,start 应保持低电平。 d7-d0:数据输出线。为三态缓冲输出形式,可以与单片机直接相连。d0 为最低位,d7 为最高位。 oe:输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数 据。oe=0,输出数据线呈高电阻;oe=1 输出转换得到的数据。 clk:外部时钟信号引入端。adc0809 的内部没有时钟电路,所需时钟信 号由外界提供。 eoc:转换结束信号。eoc=0,正在进行转换;eoc=1,转换结束。使用 中该状态信号即可以作为查询的状态标志,又可以作为中断请求信号使用。 vcc:+5v 电源。 vref:参考电源。其典型值为+5v。 图 3-4adc0809 引脚图 10 3.2 硬件电路设计 根据已经确定的方案,我们大致可以确定基于单片机的油温控制系统工作 原理图,如下图所示: 下 位 机( at89c51)上 位 机 ( pc) 下 位 机( at89c51) 传 感 器 模 块显 示 模 块控 制 模 块传 感 器 模 块 显 示 模 块控 制 模 块上 位 机 ( ) 下 位 机( ) 传 感 器 模 块显 示 模 块控 制 模 块传 感 器 模 块 显 示 模 块控 制 模 块 图 3-5 单片机控制系统原理图 3.2.1 各模块接口电路 (1)键盘模块 当按键数量较多时,可将这些按键按行列构成矩阵,在每个行列的交点上 连接一个按键,因此又称矩阵式键盘或行列式键盘。本文采用 4*4 矩阵键盘, 如下图所示: 图 3-6 键盘接口电路 p 0 . 0 p 0 . 1 p 0 . 2 p 0 . 3 p 0 . 4 p 0 . 5 p 0 . 6 p 0 . 7 8 9 c 5 1 & i n t 0 + 5 v 0 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 y 0 y 1 y 2 y 3 x 0 x 1 x 2 x 3 11 (2)显示模块 led 数码显示器(图 3-7)是由若 干段发光二极管构成的,当某些段的发 光二极管导通时, 显示对应的字符。 led 显示器控制简单,使用方便,在 单片机中应用非常普遍。由于每一位 led 显示器分别由一个 8 位输出口控 制字形码,显示器能稳定且独立显示 图 3-7 数码显示器 字符,这种方式编程简单,但占用的 i/o 口多,适合于显示器位数少的场合。 因此利用 74ls164 寄存器 led 显示器构成显示模块,如下图: 图 3-8 74ls164 构成的显示电路 (3)89c51 单片机最小系统 在单片机实际应用系统中,由于应用条件及控制要求的不同,其外围电路 的组成各不相同。单片机的最小系统就是指在尽可能少的外部电路条件下,能 使单片机独立工作的系统。 由于 89c51 内部已经有 4kb 的 flash e2prom 及 128b 的 ram,因此只需 要接上时钟电路和复位电路就可以构成单片机的最小系统,如图 3-9 所示: 1 2 3 5 1 0 9 8 6 e d c o m d p g f c o m b 4 7 c a t x d r x d l e d 0 l e d 1 l e d 2 p 1 . 3 7 4 l s 1 6 4 7 4 l s 1 6 4 7 4 l s 1 6 4 + 5 v & p 1 . 4 a b c k c l r q 0 q 7 a b c d e f g d p a b c d e f g d p a b c d e f g d p a b c k c l r q 0 q 7 a b c k c l r q 0 q 7 8 9 c 5 1 12 图 3-9 单片机最小系统 3.2.2 温控系统硬件电路设计 根据对各个模块的分析,其硬件接线图如下,包括主控制器单片机、温度 检测模块、加热控制模块、键盘设定模块及数据显示模块。 a d 0 a d 1 c l k a d 2 a d 3 a d 4 a d 5 a d 6 a d 7 e a / v p x 1 x 2 r e s e t r d w r i n t 0 a l e / p t x d r x d 8 9 c 5 1 l e d 0 l e d 1 l e d 2 0 1 2 3 4 5 6 7 8 9 s e t + 5 v + 5 v p 1 . 0 p 1 . 1 p 1 . 2 p 1 . 3 p 1 . 4 p 1 . 5 p 1 . 6 p 1 . 7 p 0 . 0 p 0 . 1 p 0 . 2 p 0 . 3 p 0 . 4 p 0 . 5 p 0 . 6 p 0 . 7 p 2 . 7 2 0 p f 2 0 p f 1 2 m h z 1 k 2 2 f 7 4 l s 1 6 4 7 4 l s 1 6 4 7 4 l s 1 6 4 + 5 v & v c c + 5 v 1 1 1 1 1 s t a r t a l e o e e o c 1 2 v 1 . 2 k 1 0 k 5 0 k 6 v 1 0 k 1 0 k 1 0 k 4 9 k 4 9 k 1 2 v i n 0 a d d a a d d b a d d c v c c r e f ( + ) r e f ( - ) g n d p 2 . 0 p 2 . 1 p 2 . 2 + 5 v + 5 v 1 a c s s r + 5 v 2 2 0 v 2 7 0 a 加热丝 1 a c s s r + 5 v 2 7 0 c 加热丝 1 a c s s r + 5 v 2 7 0 b 加热丝 a d c 0 8 0 9 e a / v p 3 1 x t a l 1 1 9 x t a l 2 1 8 r s t 9 r d 1 7 w r 1 6 i n t 0 1 2 i n t 1 1 3 t 0 1 4 t 1 1 5 1 2 3 4 5 6 7 8 p s e n a l e / p t x d r x d 8 9 c 5 1 + 5 v + 5 v 3 9 3 8 3 7 3 6 3 5 3 4 3 3 3 2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 1 1 1 0 p 1 . 0 p 1 . 1 p 1 . 2 p 1 . 3 p 1 . 4 p 1 . 5 p 1 . 6 p 1 . 7 p 0 . 0 p 0 . 1 p 0 . 2 p 0 . 3 p 0 . 4 p 0 . 5 p 0 . 6 p 0 . 7 p 2 . 0 p 2 . 1 p 2 . 2 p 2 . 3 p 2 . 4 p 2 . 5 p 2 . 6 p 2 . 7 3 0 p f 3 0 p f 1 2 m h z 1 0 k 1 0 f 13 图 3-10 基于 at89c51 温控系统原理图 利用 protel99 我们绘制出 pcb 布线图,原理图的设计步骤: (1)新建原理图设计文件 为了方便电路设计文件的管理,在新建原理图设计之前,应当新创建一个 设计数据库文件,然后再在该设计数据库文件下新建原理图设计文件。 (2)设置图纸区域工作参数 图纸区域工作参数的设置指的是图纸大小、电气栅格、可视栅格和捕捉栅 格等参数的设置,它们构成了原理图设计的工作环境。 (3)载入原理图库 在原理图设计过程中,放置的元器件全部来源于载入到原理图编辑器中的 原理图库。如果原理图库没有载入到原理图编辑器,那么在绘制原理图时就找 不到所需的元器件。因此,在绘制原理图之前,应当根据原理图设计的需要将 所需的原理图库载入到原理图编辑器即可。 (4)放置元器件 放置元器件指的是从原理图库中选择所需的各种元器件,并将其逐一放置 到原理图设计中,调整元器件的位置,同时完成对元件器的编号,添加封装形 式和定义元器件的显示状态等操作。 (5)原理图布线 原理图布线,指的是在放置完元器件后,用具有电气意义的导线、网络标 号、电源和接地符号、以及端口等图件将元器件连接起来,使各元器件之间具 有特定的电气连接关系,能够实现一某项电气功能的过程。 (6)补充完善 在原理图设计基本完成之后,可以在原理图上作一些相应的说明,标注和 修饰,以增强原理图的可读性和整齐美观性。 根据以上步骤我们画出图 3-11 如下所示: 14 图 3-11 单片机温控原理图 15 第四章 油温控制系统软件设计 4.1 单片机编程语言 4.1.1 单片机编程语言分类及特点 单片机的编程语言有机器语言、汇编语言与高级语言三种。机器语言 (machine language)是指直接用机器码编写程序、能够为计算机直接执行的机 器级语言。机器码是一串由二进制代码“0” 和“1” 组成的二进制数据,执行速度快。 但对于使用者来说,用机器语言编写程序非常繁琐,不易看懂和记忆,容易出 错。机器语言一般只在简单的开发装置中使用。汇编语言(assembly language)是指用指令助记符代替机器码的编程语言。程序结构简单,执行速 度快,程序易优化,编译后占用存储空间小,能充分发挥单片机的硬件功能, 是单片机应用系统开发中最常用的程序设计语言。高级语言(high-level language)是在汇编语言的基础上用高级语言来编写程序,例如 franklin c51、 mbasic 51 等,程序可读性强,通用性好,适用于不熟悉单片机指令系 统的用户。大中型单片机系统的软件开发采用 c 语言的开发周期通常要比采用 汇编语言短得多。高级语言编写程序的缺点是实时性不高,结构不紧凑,编译 后占用存储空间比较大,这一点在存储器有限的单片机应用系统中没有优势。 由上述三种编程语言的各自特点可以看出,如果应用系统的存储空间比较 小,且对实时性的要求很高,则应选用汇编语言。如果系统的存储空间比较大, 且对实时性的要求不是很高,则应选用高级语言。不论是汇编语言还是高级语 言都要转化为机器语言才能为计算机所用。因此,机器语言程序又称为目标程 序,而用汇编语言和高级语言编写的程序称为源程序 4.1.2 汇编语言的指令格式 指令是指挥计算机工作的命令,是计算机软件的基本组成单元。指令有机 器指令和汇编语言指令两种。机器指令是用二进制数表示的能直接被计算机识 别并执行的指令,由于二进制书写起来较长,通常用十六进制数表示。显然这 种指令不便记忆和理解,书写时也容易出错。为了便于记忆和使用,常以指令 的英文名称或缩写形式作为助记符来表示指令的 功能(如用“mov”表示传送,用 “add”表示加法) ,这样的指令称为汇编语 言指令。 指令的表示形式称为指令格式。用 mcs-5l 汇编语言表示的指令格式如下: 标号: 操作码助记符 操作数 1,操作数 2, 操作数 3 ;注释 例如:loop: add a , #50h ; 执行加法 16 在指令格式中,方括号中的内容为可选项,不一定都有。各字段的意义如 下: 标号:表示该指令所在的地址。并不是每条指令都必须有标号,通常在程 序分支、转移所需要的地方才加上一个标号。标号是以字母开始的,由 18 个 字符(字母或数字)组成,标号不能使用汇编语言中已经定义过的符号名,如 指令助记符、寄存器名、伪指令等。标号以“:” 结尾。特别应注意的是,在一个 程序中不允许重复定义标号,即同一程序内不能在两处及两处以上使用同一标 号。 操作码:表示该语句要执行的操作内容,是每条指令必有的部分。操作码 用指令助记符表示。操作码后面至少留一个空格,使其与后面的操作数分隔。 操作数:表示操作码的操作对象,常用符号(如寄存器、标号) 、常量(如 立即数、地址值等)来表示。操作码和操作数之间用若干空格分隔,而各操作 数之间用逗号“ , ”分隔。指令的操作数可以有 3 个、 2 个、1 个或没有(如空操作 指令 nop) 。操作数的个数因指令功能而异。 例如:mov a,#30h ;传送指令,两个操作数,第 1 个为目的操作 数,第 2 个为源操作数 inc a ;累加器加 1 指令,只有一个操作数 reti ;中断返回指令,没有操作数 注释:该字段可有可无,是用户为阅读程序方便而加的解释说明。注释段 以“;”开始,不影响程序的执行。 4.1.3 汇编语言的步骤及方法 用汇编语言编写程序,一般要经过如下步骤: (1) 分析问题,明确任务 这一步就是要明确设计任务,功能要求及技术指标,对系统的硬件资源和 工作环境进行分析。这是单片机应用系统程序设计的基础和条件。 (2)确定算法 确定算法就是在全面准确分析程序设计任务之后,具体地选定解决问题的算法。 对同一个问题,可以有多种不同的算法,设计者要分析各种不同的算法,从中 选 择一种最佳算法。 (3)程序流程图设计,是将算法转化为具体程序的一个准备过程。所谓流 程图,就是用箭头线将些规定的图形符号,如半圆弧形框、矩形框、菱形框 等,有机地连接起来的图形。这些半圆弧形框、矩形柜和菱形框与文字符号相 17 配合用来表示实现某一特定功能或求解某一问题的步骤。利用流程图可以将复 杂的工作条理化、抽象的思路形象化。如下图所示为流程图中常用的图形符号。 端点框:表示程序的开始或结束。 处理框:表示一段程序的功能或处理过程。 判断框:表示条件判断,以决定程序的流向。 换页符:当流程图在一页画不下需要分页时,使用换页符表示相关流程图 之间的连接。 流程线:表示程序执行的流向。 (4) 编写源程序 用汇编语言把流程图表明的步骤或过程描述出来。在编写源程序之前,应 合理地选择和分配内存单元和工作寄存器。 (5) 汇编和调试 汇编就是将编写好的源程序翻译为计算机所能识别执行的机器语言程序, 即目标程序。实际应用中这一步都是采用机器汇编。在汇编过程中,可以发现 源程序中在指令格式及使用上出现的问题或错误。 调试是输入给定的数据,让程序运行起来,检查程序运行是否正常、结果 是否正确。调试工作可一个一个模块程序运行和修改,然后将各模块程序连起 来运行和修改,这样查找问题和错误的范围小、容易、快捷。只有通过上机调 试并得出正确结果的程序才能认为是正确的程序。 4.2 程序结构设计 (1)主程序 用于进行初始化处理,包括各端口的初始化,定时/计数器的设定、中断允 许的设定等。同时进行键盘的扫描输入。 端点框 处理框 判断框 流程线 换页符 18 开始 打开显示器 串行口初始化 定时器初始化 中断初始化 调用键盘扫描子程序 等待定时中断 图 4-1 为主程序流程图 (2)定时中断服务程序 通过单片机内部的定时器 t0 进行 50ms 定时,再通过寄存器 r6 进行计数, 以实现 1s 定时中断的要求。进入中断服务程序后,可进行当前温度的检测及显 示,根据所测值与设定值比较进行温度控制等。 定时中断程序开始 1 s 定时时间到 ? 调用标度转换子程序 关定时 、 关中断 调用温度检测子程序 显示实测温度 调用温度控制子程序 中断返回 y 开定时 、 开中断 n 19 图 4-2 为中断服务程序流程图 (3)温度检测程序 温度检测采用每 1s 定时采样的方式,为了实现温度的准确检测,采用了平 均值滤波法抗干扰。即连续 4 次启动 adc0809 进行 a/d 转换,求取转换结果的 平均值,存入指定单元,以得到检测温度值。 图 4-3 为温度检测程序流程图 (4)温度控制程序 通过比较键盘设定值与温度检测值的差别,按照一定的控制规律,控制输 出口线的状态,实现三组加热丝的控制。 温度检测开始 转换结束否 ? 将结果单元清 0 转换次数送 r 7 启动 a / d 转换 累加转换结果 存结果 4 次转换结束否 ? 返回 y n y n 求平均值 温度控制开始 取实测值 实测值 设定值 温差 0 ? 温差 1 0 ? 温差 5 ? 返回 关 a 、 b 、 c 加热 开 a 、 b 、 c 加热 开 a 、 b 加热 开 a 加热 n y y y n n 20 图 4-4 为温度控制程序流程图 (5)温度显示程序 在每次温度检测后,进行一次温度显示刷新;在进行温度设定时,显示设 定温度值。 4.3 主要程序模块清单 主程序: org 0000h ajmp main org 000bh ajmp t0int org 0030h main: mov sp,#60h mov p1,#0ffh ;开显示 mov scon,#00h;设置串行口工作方式 0,发送 mov tmod,#01h;定时器初始化 mov th0,#3ch ;50ms 定时初值 mov tl0,#0b0h mov r6,#14h ;1s 定时用( 50ms20 次) mov 5dh,#00h ;显示缓冲区清零 mov 5eh,#00h mov 5fh,#00h acall disp setb et0 setb ea setb tr0 lm0 : acall keyscan ;调用键盘扫描子程序 ajmp lm0 定时中断服务程序: t0int: mov th0,#3ch mov tl0,#0b0h djnz r6,t0end ;1s 未到,中断返回 clr tr0 clr ea mov r6,#14h ;恢复 r6 初值 21 acall tadc ;调用温度检测子程序 acall xscl ;调用标度转换子程序 acall disp ;调用显示子程序 acall tcont;调用温度控制子程序 setb tr0 setb ea t0end: reti 温度检测子程序: tadc: mov 50h,#00h ; 清存检测值单元 mov b,#00h mov r7,#04h; ;设置转换次数 mov dptr,#7fffh ; 送 adc0809 地址 tt0: movx dptr,a ; 启动 a/d 转换 jb p3.2,$ ; 等待转换结束 movx a, dptr ;读 a/d 转换数据 add a,50h mov 50h,a jnc tt1 ;是否超出 8 位二进制范围 inc b tt1: djnz r7,tt0 ; 4 次转换是否完成 clr c ;求 4 次 a/d 转换的平均值 xch a,b rrc a xch a,b rrc a clr c xch a,b rrc a xch a,b rrc a mov 50h,a ;平均值存 50h ret 温度控制子程序: tcont: mov a,51h clr c subb a,50h ;设定值实测值 mov r0,a 22 jnc ccpr ;小于设定温度,接通相应加热 器 mov p0,#0ffh ;否则,关闭加热器 ajmp conend ccpr: mov a,r0 subb a,#19h jc ccpr1 mov p0,#0f8h ;开三组加热器 ajmp conend ccpr1: mov a,r0 subb a,#0ch jc ccpr2 mov p0,#0fch ;开两组加热器 ajmp conend ccpr2: mov p0,#0feh ;开一组加热器 conend: ret 显示子程序如下: disp: mov r2,#03h ;显示数据的个数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经济学在重大公共危机中的应用探讨试题及答案
- 职业健康管理考试试题及答案
- 饺子趣味测试题及答案
- 客户业务测试题及答案
- 宽窄排序测试题及答案
- 软件设计师职业技能提升指南试题及答案
- 经营管理试题及答案
- 金融学期末试题及答案
- 云南省重点中学2025年八下数学期末综合测试试题含解析
- 精神科试题及答案
- 延迟退休合同协议
- 消毒隔离知识培训课件
- 课后托管服务的岗位职责与管理
- 技术合作协议范本
- DB32-T 5082-2025 建筑工程消防施工质量验收标准
- 2025年度建筑施工安全演练计划
- 生产车间6S培训
- 托幼机构十项卫生保健制度
- 彩钢板围挡搭设施工方案
- 山东2025年山东省烟草专卖局(公司)高校毕业生招聘208人笔试历年参考题库附带答案详解
- 船舶工程设备租赁保障措施
评论
0/150
提交评论