唐山半桥代做毕业设计 半桥计算机毕业设计 半桥代做 半桥pl_第1页
唐山半桥代做毕业设计 半桥计算机毕业设计 半桥代做 半桥pl_第2页
唐山半桥代做毕业设计 半桥计算机毕业设计 半桥代做 半桥pl_第3页
唐山半桥代做毕业设计 半桥计算机毕业设计 半桥代做 半桥pl_第4页
唐山半桥代做毕业设计 半桥计算机毕业设计 半桥代做 半桥pl_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、绪论1.1 概述随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。作为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品。本文设计的电子秤以单片机为主要部件,用汇编语言进行软件设计,硬件则以半桥传感器为主,测量

2、0500g 电子秤,随时可改变上限阈值,并达到阈值报警的功能。称重传感器输出的电量是模拟量,数值比较小达不到 A/D 转换接收的电压范围。所以送 A/D 转换之前要对其进行前端放大、整形滤波等处理。然后,A/D 转换的结果才能送单片机进行数据处理并显示。其数据显示部分采用 LCD 显示,成本低且能很好地实现所要求的功能。本次课设完成的电子秤的主要优点是:1、实时测量与监控。2、阈值修改与重设功能。3、超值报警功能。4、测量精度高。5、显示速度快、准确。本文设计的电子秤虽然是一个极其简单的智能仪器,但是通过它可以更深入的了解智能仪器的工作原理以及其优异的性能。1.21.2 本文的主要内容本文的主

3、要内容 本文分为五章,第一章主要介绍课题的产生背景和本文讲述的主要内容;第二章主要方案的论证,包括任务的分析实现、硬件和软件的方案设计;第三章详细介绍半桥电子秤的硬件设计;第四章讲述半桥电子秤的软件设计;第五章主要论述调试与分析过程。第 2 章 方案论证2.1 半桥电子秤的任务分析与实现211 设计任务利用CSY-2000 传感器与检测技术实验台中的电阻应变片式传感器实验模板完成称重的传感器部分。在传感器的输出端连接放大电路以及滤波整形电路,得到所要的在 05V 之间的信号。本设计主要利用单片机实验箱(含 A/D 转换) 、单片机仿真器等对传感器输出量进行 A/D 转换、数据处理、显示,并利用

4、单片机控制蜂鸣器,实现超值报警功能。其中,A/D 转换采用 ADC0809,键盘/显示采用 8279,蜂鸣器由单片机的 P1.1 口控制。技术指标:(1)重量显示为 XXX.Xg 。 (2)测重范围:0500g。212 任务的分析与实现方框图如下: 图 2-1 硬件原理框图由于电阻丝在外力作用下发生机械变形时,其电阻值发生变化,从而引起电压发生变化,即电桥的输出电压反映了相应的受力状态。利用半桥传感器测应力的变化,可以间接的测量物体的质量。传感器测出的信号经过放大电路、整形滤波电路进入 A/D放大器、单片机,最后通过单片机运行软件程序进行计算,最后送交 LCD 显示器显示。原理框图如图 2-1

5、 所示。2.2 半桥电子秤的硬件方案设计 首先由图 2-2 了解电子秤的构成: 图 2-2 电子秤的构成原理图根据任务的要求,半桥电子秤的硬件部分分成以下几个部分:1测量部分:用半桥传感器和振动台实现从非电量(质量)到电量(电压)的转换即 。2调理电路:主要指由双运放组成的运算放大电路。由于半桥传感器的输出电压比较小,只有几个毫伏,而 A/D 转换器要求的电压在 0V-5V 之间,而放大电路的增益是半桥传感器ADC0809时钟电路复位电路电源89C52 单片机LCD 显示8279报警电路ROM放大滤波电路测重物键盘电路键盘电路可调的,故运用运算放大电路将电压信号放大到所要求的的范围。传感器的输

6、出信号,在实验条件下会产生噪声,为了避免干扰消除噪声,就需要滤波电路。3A/D 转换部分:计算机所能处理的是二进制的数字量,而传感器经过放大器出来的信号是模拟量,计算机不能处理,所以需要一个 A/D 转换电路完成从模拟量到数字量的转换。4单片机:采集的信号要进行显示,阈值要进行比较等都要经过单片机的处理。单片机主要完成数据处理,使显示值与称重值对应。同时对键盘输入阈值进行显示并与 A/D 值比较,控制蜂鸣器进行报警。5键盘/显示电路:阈值设定与称重值显示。6报警电路部分:在所秤质量超过设定阈值时,报警电路工作,蜂鸣器报警。应变式传感器半桥式连接图 2-3:图 2-3 应变式传感器半桥式连接图2

7、.3 半桥电子秤的软件方案设计根据模块化设计程序的思想设计程序,其中包括:监控子程序的设计、数据处理子程序的设计、数据采集子程序的设计、键盘扫描子程序的设计、显示子程序的设计、报警子程序的设计几大部分。监控程序实时监测测量值的范围,若超出阈值则调用报警子程序,实现报警,它是实现超值报警功能的关键部分。传感器输出值与显示值之间有一定的对应关系。A/D 采样值为十六进制数,LCD 显示需要 BCD 码,所以数制之间需要转换。这些过程都需要通过数据处理子程序来完成。数据采集子程序是控制 A/D 转换的程序,通过它启动转换,并将采集的数据存入数据存储区。这是数字化电子秤的关键。键盘扫描子程序实时监视键

8、盘是否有有重设阈值的要求,实现对键盘阈值重新设定的需求。并将键盘扫描值保存、显示。键盘是电子秤的主要控制部件,不同按键又有不同的功能定义, “09”为数据区, “F”返回重新设置阈值界面。 “E”为确定阈值输入。 ”D”为进入设置阈值界面。显示子程序是将测量结果送显示器显示。是电子秤的窗口部件。 N Y Y 图 2-4 软件原理框图初始化调监控程序调键盘扫描子程序调 A/D 转换子程序调数据处理子程序调显示子程序调报警子程序报警报警?开始第 3 章 半桥电子秤的硬件设计3.1 传感器的选择应变式电阻传感器的测量原理。应变式电阻传感器的工作原理:当导体或半导体受到外力作用时,会产生机械变形,从而

9、导致阻值变化。导体与半导体的电阻与电阻率及其几何尺寸有关。当导体受外力作用时,电阻率及几何尺寸的变化会引起电阻的变化。因此,通过测量电阻值的大小,就可以反映外界力的大小。电阻型应变片传感器的测量电路可采用桥式测量电路。桥式测量电路有四个电阻,其中任何一个电阻均可以是应变片。图 3-1 桥式测量电路图电桥平衡,即输出电压为 0 时的条件是:=。若即电桥abU31RR42RR31RR42RR不平衡时,电桥输出电压 : =(-)/(+)(+) (3-1)abU31RR42RR1R2R3R4R如能恰当选择各桥臂的电阻,可消除电桥的恒定输出,使输出电压只与应变片的电阻有关。每当桥的变化远小于本身阻值,即

10、时,可得输出电压为:=iRiRabU(-+-) (3-2))(2121RRRR11RR22RR33RR44RR传感器的分类和选择应变片式电阻传感器按其测量电路(桥式)可分为单臂式、半桥式、全桥式三种。所谓半桥,即将电桥的四臂接入四应变片。其中:一片受拉,一片受压,另外两应变片不受力。全桥是两片受拉,两片受压,故灵敏度比半桥式的大一倍。本方案采用半桥式传感器。3.2 放大电路的设计传感器输出电压为毫伏级,而 A/D 转换器所能处理的电压是 05V,所以必须在A/D 转换器前加入一个前置差动放大电路以实现电压的放大,放大倍数为 100200 倍,使输出电压为 05V。由于单运放在应用中要求外围电路

11、匹配精度高、增益调整不便、差动输入阻抗低,故采用三运放结构。三运放结构具有差动输入阻抗高、共膜抑制比高、偏置电流低等优点,且有良好的温度稳定性,低噪单端输出和和增益调整方便,适于在传感器电路中应用。如图 3-2 所示,图中为增益调节电阻,整个芯片仅为外接电阻,而运放gRgR为增益为 1 的差动输入放大器。利用理想运放条件可列写方程。3A设流过的电流为: =gRgIgIgooRRUU1212再由、的虚短可知: =1A2AgIgiiRUU21所以 =2121iiooUUUUggRRR 12又=-oU1oU2oU故=(-) (1+2)oU1 iU2iUgRR1所以 =1+2 (3-3)dA21ooo

12、UUUgRR1可以看出三运放增益只与取值有关。gR图 3-2 放大电路硬件原理图3.3 采集电路的设计3.3.1 数据采集系统的组成数据采集的核心是计算机,它对整个系统进行控制和数据处理。它由采样/保持器、放大器、A/D 转换器、计算机等组成。图 3-3 数据采样系统框图3.3.2 数据采样保持器进行模数变换时,从启动变换到变换结束的数字量输出,需要一定的时间,即A/D 转换的孔径时间。当输入信号频率较高,由于孔径时间的存在,会造成较大的转换误差;为了防止误差需在中间加一个功能器件采样/保持器,进行有效、正确的数据采集。采样/保持器通常由保持电容器、模拟开关和运算放大器组成。其中对于低速场合可

13、以采用继电器作为开关以减小开关漏电流的影响;在高速场合也可以用晶体管、场滤波放大器采样/保持器A/D 转换器单片机半桥 传感器测量物体效应管来作为开关。 采样保持器的原理:如图,当开关闭合时,V1 通过限电流电阻向电容 C 充电,在电容值合理的情况下,V0 随 Vi 的变化而变化;当 K 断开时,由于电容 C 有一定的容量,此时输出 V0 保持输入信号再开断开瞬间的电平值。在模拟信号输入通道中,是否需要加采样/保持器,取决于模拟信号的变化频率和A/D 转换器的孔径时间;对快速过程信号,当最大孔径误差超过允许值时,必须在 A/D转换器前加采样/保持器。但如果输入模拟量是直流量或者被测信号模拟量随

14、时间变化非常缓慢,采样/保持(S/H)电路可以省去。3.3.3 A/D 转换器设计中 A/D 转换器用的是 ADC0809 A/D 转换器,它是 8 路 8 位逐次逼近式转换器,结果为 8 位二进制数据,转换时间短(一般在级) ,满足题目要求的“实时采样” ,并且它的转换精度在 0.1%上下,比较适中,适用于一般场合。由图 3-5 可见,单片机通过读控制线 WR 和 0809 片选线控制启动 A/D 转换及输入通道地址锁存,写控制线 WR 与 ADC0809 片选线控制输出允许。由于 ADC0809 具有通道地址锁存功能,通道选择 ADD.A、ADD.B、ADD.C 直接接单片机的数据口。模拟

15、电压由IN0 通道输入,A/D 采样电压在 05v 之间变化。所模拟通道 IN0 地址口为 0AOOOH,但是 ADC0809 无内置时钟,所以 CLOCK 由外部时钟信号控制。图 3-4 采集/保持原理图图 3-5 A/D 转换器与单片机的接口电路3.4 显示电路的设计显示部分可以将处理得出的信号在显示器上显示,让人们直观的看到被测体的质量,也可以进行报警提示。LCD 液晶显示器是一种极低功耗显示器,从电子表到计算器,从袖珍时仪表到便携式微型计算机以及一些文字处理机都广泛利用了液晶显示器。本设计采用的显示模块是 12864 点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置 8192 个中

16、文汉字(16X16 点阵) 、128 个字符(8X16 点阵)及 64X256 点阵显示 RAM(GDRAM) 。可与 CPU 直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。3.5 键盘电路的设计利用键盘可选择电子秤工作模式、设定测量上限等。键盘部分采用矩阵式的键盘,采用这种结构的特点是把检测线分为两组,一组为行线,一组为列线,按键放在行线和列线的交叉点上。矩阵式的键盘的优点是需要的测试线的数量少,对于一个 MN的矩阵键盘与主机连接只需要 M+N 条测试线,这样键盘的规模越大,矩阵时键盘的有点越显著,当需要的按键数目大于 8

17、时,一般都采用矩阵式键盘。图 3-6 矩阵式键盘结构图3.6 报警电路的设计报警电路是超过阈值设定的范围,单片机输出信号驱动蜂鸣器发声报警。如图 3-8 所示。当 BELL 端为低电平时,有电流通过蜂鸣器,蜂鸣器报警。反之,当 BELL 端为高电平时,不报警。即当电压值超过预定值时,电路报警。这里设定当超过质量上限时通过软件使 8031 的 P1.0 口清零,再用 P1.0 口出来的低电平信号连接至BELL 端驱动蜂鸣器发声报警。 图 3-8 报警电路第 4 章 半桥电子秤的软件设计4.1 引言软件设计一般按下列步骤进行:即先分析仪器系统对软件的要求;然后在此基础上进行软件总体设计,包括程序整

18、体结构设计和对程序进行模块化设计,模块化设计即将程序划分为若干个相对独立的模块;接着画出每一个专用模块的详细流程图,并选择合适的语言编写程序;最后按照软件总体设计时给出的结构框图,将各模块连接成一个完整的程序。在主程序的设计中要合理地调用各模块程序,特别注意各模块的入口、出口及对硬件的、资源占用情况。采用模块化设计方法以后依据仪表的功能要求将软件的初始化模块、转换模块、显示模块、比较报警模块、键盘输入模块、键功能处理模块、延时模块。分别进行设计和调试,然后把它们连接起来,进行总调。 蜂鸣器9012+5vP1.0Pp而硬件分成主机、过程通道、人机联系部件、通信接口和电源等模块。模块化设计的优点是

19、:无论是硬件还是软件,每一个模块都相对独立,故能独立地进行设计、研制、调试和修改,从而使复杂的工作得以简化。模块之间的相互独立也有助于研制任务的分解和设计人员之间的分工合作,这样可提高工作效率和仪表的研制速度。上述各种软、硬件模块的研制调试完成之后,还需要将它们按一定的方法连接起来,才能构成完整的仪表,以实现数据采集、传输、处理和输出等各种功能。软件模块的连接,一般是通过监控主程序调用各种功能模块,或采用中断的方法实时地执行相应的服务模块来实现,并且按功能层次继续调用下一级模块。模块之间的联系是由数据接口(数据缓冲器和标志状态)来完成的。硬件模块的连接,是通过商业化的模板进行连接完成的。4.2

20、 监控程序的设计智能仪器的设计既要满足设定的功能的完成如计算等功能的任务功能程序,也要有可以监控仪器仪表正工作,保证其可靠性方面的监控程序。整个智能仪器的测量都是智能仪器自动完成的,所以设计一套功能完备的监控程序是必须的也是必要的。监控程序的主要作用是实时的响应来自系统的各种信息,按信息的类别进行处理;当系统出现故障时,能自动的采取有效的措施,消除故障,保证系统能够继续进行正常工作。4.3 数据处理子程序的设计数据处理子程序是整个程序的核心。主要用来调整输入值系数,使输出满足量程要求。另外完成 A/D 的采样结果从十六进制数向十进制数形式转化。431 系数调整在 IN0 输入的数最大为 5V,

21、要求的质量 500g 对应的是 4.8V,为十六进制向十进制转换方便,将系数放大 100 倍。并用小数点位置的变化体现这一过程。因而系数为:1005002551gK432 数制转换数制之间的转换:在二进制数制中,每向左移一位表示数乘二倍。以每四位作为一组对数分组,当第四位向第五位进位时,数由 8 变到 16,若按十进制数制规则读数,则丢失 6,所以应进行加六调整。DA 指令可完成这一调整。可见数制之间的转换可以通过移位的方法实现。其中,移出数据的保存可以通过自乘再加进位的方法实现,因为乘二表示左移一位,左移后,低位进一,则需加一。否则,加零。而通过移位已将要移入的尾数保存在了进位位中,所以能实

22、现。开始R3 存 16 位二进制的低八位R2 存 16 位二进制的高八位R6 存调整后的低两位,R5存中间两位,R4 存高两位R3 左移一位,R2 右移一位R6、R5、R4 依次保存移入值,并分别进行调整取 R4 的低位存入 30H 单元作为百位信息,R5 高位存入 31H 作为十位信息,低位存入 32H 作为个位 R6 高位作为小数点信息返回R7=0R7=R7-1NY图 4-2 数据处理原理框图4.4 数据采集子程序的设计数据采集用 A/D0809 芯片来完成,主要分为启动、读取数据、延时等待转换结束、读出转换结果、存入指定内存单元、继续转换(退出)几个步骤。ADC0809 初始化后,就具有

23、了将某一通道输入的 05 模拟信号转换成对应的数字量 00HFFH,然后再存入8031 内部 RAM 的指定单元中。在控制方面有所区别。可以采用程序查询方式,延时等待方式和中断方式。图 4-3 数据采集子程序原理框图4.5 显示子程序的设计0809 初始化启动 A/D 转换 A/D 转换完成数据储存数据显示开始YN显示子程序是字符显示,首先调用事先编好的 8279 的键盘显示子程序:调用 8279 初始化命令,然后输出写显示命令。在显示过程中一定要调用延时子程序。当输入通道采集了一个新的过程参数,或仪表操作人员键入一个参数,或仪表与系统出现异常情况时显示管理软件应及时调用显示驱动程序模块,以更

24、新当前的显示数据显示符号。为了是过程信息、按键内容与显示缓冲器相衔接,设计人员可在用户 RAM 区开辟一个数显示欢迎界面显示功能选择界面有无按键有无按键是否为 D是否为 E是否为 F显示测量界面键盘输入界面YNNYYYNNY图 4-4 LCD 显示流程框图开始返回据缓冲区,作为显示管理模块与其他功能模块的数据接口。4.6 键盘扫描子程序的设计如图 4-5 所示:键盘电路设计成如图的 4X4 矩阵式,由键盘的编码方式可以得出 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 各键对应的键值:0D8H,0D0H,0D1H,0D2H,0C8H,0C9H,0CAH,0C0H,0C1H,0

25、C2H,0C3H,0CBH,0D3H,0DBH,0DAH,0D9H 。在程序中可以先判断按键编码,然后根据编码将键盘代表的数值送到相应的存储单元,再进行功能选择或数据处理。 图 4-5 键盘扫描程序原理框图4.7 报警子程序的设计由于要求要键盘设定阈值,所以要求有报警电路,报警电路可以有声报警也可有光报警,将设定的阈值与实时显示的值进行比较,如果设定值小于实时显示的值,则将 P1.0 置为 1,将发光二极管点亮,或使蜂鸣器发出声音。这就需要一段比较程序以及一小段置 1 清 0 程序。开始A/D 高位大?与阈值相等?A/D 低位大?与阈值相等?A/D 高位大?报警返回YYYYNNNNYNN图 4

26、-6 报警子程序框图第 5 章 调试与分析5.1 调试系统简介调试包括硬件调试、软件调试和样机调试。软件的调试和硬件的调试都是独立进行的,软件部分包括监控子程序、数据采集子程序、数据处理子程序、显示子程序、键盘扫描子程序、报警子程序。软件调试中需要用到的测量信号可以用仿真实验台上的电压信号进行模拟,而不需要进行硬件的连接。同样硬件部分的调试也是不需要软件连接而独立进行的。当软件调试和硬件调试都正确无误的时候,就可以进行连接调试,在调试中继续找出单独调试中无法指出的故障,反复进行修改软件、修改硬件设计的工作,直到所设计的电子秤显示数据与理想数据误差不大。最后进行软件的固化与整机的组装工作。5.2

27、 调试故障及原因分析故障一:传感器显示电压示数范围与要求的 LCD 显示器的质量示数范围不符。原因分析:没有选择好转换系数,使质量范围不能满足要求。解决方法:修改程序中的转换子程序部分,在进制转换时计算出转换系数值。故障二:经过放大器的传感器信号不稳定,且不满足设定的放大倍数。原因分析:信号不稳定是由于传感器精度不够准确,以及连线时线路不稳定等因素的影响;不满足放大倍数是由于放大器选择不合适,导致不能满足设定的放大倍数。解决方法:选择精度高的传感器,预先计算好运放放大倍数,以便于选择合适的运算放大器。 结 论随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的

28、被智能仪器所取代。智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的发展。而传感器作为测控系统中对象信息的入口,越来越受到人们的关注。传感器好比人体“五官”的工程模拟物,它是一种能将特定的被测量信息(物理量、化学量、生物量等)按一定规律转换成某种可用信号输出的器件或装置。本次课设中的半桥电子秤就是在以上仪器的基础上设计而成的。因此,只有充分了解有关智能仪器、单片机、传感器以及各部分之间的关系才能达到要求。首先是传感器的精密度,它将直接影响电子秤的称重准确度。课设时由于传感器发出的信号不是很稳定,所以称重时误差很大。如果使用精密度较高的传感器,效果会好的多。其

29、次是数据采集处理阶段,此阶段是对传感器发出的信号进行量化、采集,主要分为信号放大、采集,然后进行 A/D 转换。该阶段需注意的地方是对传感器输出的信号进行放大时,应选取合适的运算放大电路。最好是预先计算好应放大的倍数,以便选取。还有就是进行数据处理时,选取适当的数据转换系数,使输出满足量程要求。最后是结果的显示。本次设计使用 LCD 液晶显示器,显示效果较好。本次课设给我最大的启示是要敢于进行大胆的尝试,还有就是要有科学的严谨的态度,这是做好本次课设所必需的。当然,最重要的还是坚实的知识做基础,这样当你遇到各种问题时才能用最快的速度解决。参考文献12张毅刚.MCS-51 单片机应用设计.哈尔滨

30、工业大学出版社,2003:142-169345附录 1 半桥电子秤硬件系统原理图半桥传感器重物附录 2 半桥电子秤软件程序清单;定义 中文 LCD 液晶 128X64 的地址W_C_GLCD XDATA 0E000HW_D_GLCD XDATA 0E001HR_B_GLCD XDATA 0E002HR_D_GLCD XDATA 0E003H;-TIMER0 DATA 30H ;延时时间的初值TIMER1 DATA 31H ;调用延时子程序的次数DATA1 DATA 32H ;点阵显示的变量 1DATA2 DATA 33H ;点阵显示的变量 2X DATA 34H ;X 方向的位置Y DATA

31、35H ;Y 方向的位置COUNTER DATA 36H ;计数器N DATA 37H ;行数变量D1 DATA 38H ;点变量 1D2 DATA 39H ;点变量 1ADDR DATA 3AH ;起始的显示位置ADDR1 DATA 3BH ;起始的显示位置临时变量N1 DATA 3CH ;行数的临时变量 ;*;* 主程序开始 ;*ORG 0000HAJMP STARTORG 0030HSTART: CLR P1.0 SETB P1.1 MOV SP,#60H LCALL INITIAL_GLCD ; 调用 LCD 初始化 LCALL KAIJI ; 显示开机画面 LCALL DELAY50

32、0 LCALL DELAY500 LCALL DELAY500 LCALL TISHI ; 显示主界面 LCALL INI_8279;-;判断是否继续;-KEY_A: MOV DPTR,#8101H ; 8101H 为 8279 命令 MOVX A,DPTR ; 读状态字 ANL A,#07H ; 判断低三位是否为 0 CJNE A,#00H,LP1 ; 不为 0(有键按下)则跳转 SJMP KEY_A ; 为 0(没键按下)则继续查询LP1: MOV DPTR,#8100H ; 8100H 为 8279 数据口 MOVX A,DPTR ; 读键值 CJNE A,#0DBH,KEY_A ; 判

33、断是否按 D 键 AJMP K1K1: LCALL YUZHI ; 阈值设定 LCALL celianjieguo ; 结果显示界面 LCALL CELIANGJIEGUO ; 结果显示 AJMP $;*;* 主程序开始 ;*;=;各界面显示内容;=DHTABLE1: DB 欢 迎 使 用 DHTABLE2: DB 半桥电子秤 DHTABLE3: DB 设计人: x x x DHTABLE4: DB 时间:xxxx DHTABLE5: DB *DHTABLE6: DB 设置报警上限 DHTABLE7: DB 确定 DHTABLE8: DB 请按 D 键 DHTABLE9: DB DHTABLE

34、10: DB 报警上限重量: DHTABLE11: DB . g DHTABLE12: DB 确定(E) CELIANG1: DB 电子秤 CELIANG2: DB 重量是: CELIANG3: DB . g CELIANG4:DB 返回 (F) ;=;开机界面子程序;=KAIJI: MOV ADDR1,#00H ; 第一行显示 MOV N1,#08H ; 数量 8 个MOV DPTR,#DHTABLE1 ; 需要显示的汉字位置 CALL DHZ ; 调用汉字子序 MOV ADDR1,#10H ; 第二行显示 MOV N1,#08HMOV DPTR,#DHTABLE2 CALL DHZ MOV

35、 ADDR1,#08H ; 第三行显示 MOV N1,#08HMOV DPTR,#DHTABLE3 CALL DHZ MOV ADDR1,#18H ; 第四行显示 MOV N1,#08H MOV DPTR,#DHTABLE4 CALL DHZ RET;=;提示界面子程序;=TISHI: LCALL CLEAR_GLCD ; 清除 LCD 显示屏幕 MOV ADDR1,#00H MOV N1,#08HMOV DPTR,#DHTABLE5CALL DHZMOV ADDR1,#10H MOV N1,#08H MOV DPTR,#DHTABLE6 CALL DHZMOV ADDR1,#08H MOV

36、N1,#08HMOV DPTR,#DHTABLE7CALL DHZ MOV ADDR1,#18H MOV N1,#08H MOV DPTR,#DHTABLE8 CALL DHZ RET;=;阈值设定界面子程序;=SHEDING: LCALL CLEAR_GLCD MOV ADDR1,#00H MOV N1,#08H MOV DPTR,#DHTABLE9 CALL DHZ MOV ADDR1,#10H MOV N1,#08H MOV DPTR,#DHTABLE10 CALL DHZMOV ADDR1,#08H MOV N1,#08HMOV DPTR,#DHTABLE11CALL DHZ MOV

37、ADDR1,#18H MOV N1,#08H MOV DPTR,#DHTABLE12 CALL DHZ RET;=;测量界面子程序;=celianjieguo: LCALL CLEAR_GLCD MOV ADDR1,#00H MOV N1,#08HMOV DPTR,#CELIANG1CALL DHZ MOV ADDR1,#10H MOV N1,#08HMOV DPTR,#CELIANG2CALL DHZ MOV ADDR1,#08H MOV N1,#08 MOV DPTR,#CELIANG3 CALL DHZ MOV ADDR1,#18H MOV N1,#08 MOV DPTR,#CELIAN

38、G4 CALL DHZ RET;=;8279 初始化子程序;=INI_8279: MOV DPTR,#8101H MOV A,#00H MOVX DPTR,A MOV A,#32H MOVX DPTR,A MOV A,#0DFH MOVX DPTR,A RET;=;键盘设定阈值子程序;=YUZHI: LCALL SHEDING MOV 44H,#00H ; 44H 单元存按键次数,先清 0;*键盘按键存储空间 * MOV 55H,#00H ;存入四次按键值 MOV 56H,#00H MOV 57H,#00H MOV 58H,#00H MOV 50H,#00H ; 存阈值百位 MOV 51H,#

39、00H ; 存阈值十位和个位 MOV 52H,#00H ; 存阈值小数位;*KEY_09: MOV DPTR,#8101H ; 判断是否有键按下 MOVX A,DPTR ANL A,#07H CJNE A,#00H,LPP1 AJMP KEY_09;-;各个键的处理;-LPP1: MOV DPTR,#8100H MOVX A,DPTRB0: CJNE A,#0D8H,B1 AJMP KK0B1: CJNE A,#0D0H,B2 AJMP KK1B2: CJNE A,#0D1H,B3 AJMP KK2B3: CJNE A,#0D2H,B4 AJMP KK3B4: CJNE A,#0C8H,B5

40、AJMP KK4B5: CJNE A,#0C9H,B6 AJMP KK5B6: CJNE A,#0CAH,B7 AJMP KK6B7: CJNE A,#0C0H,B8 AJMP KK7B8: CJNE A,#0C1H,B9 AJMP KK8B9: CJNE A,#0C2H,BE AJMP KK9BE: CJNE A,#0DAH,YUZHI AJMP KKEKK0: MOV 5BH,#00H ; 5BH 存键值 AJMP COUNT_1KK1: MOV 5BH,#01H AJMP COUNT_1KK2: MOV 5BH,#02H AJMP COUNT_1KK3: MOV 5BH,#03H AJM

41、P COUNT_1KK4: MOV 5BH,#04H AJMP COUNT_1KK5: MOV 5BH,#05H AJMP COUNT_1KK6: MOV 5BH,#06H AJMP COUNT_1KK7: MOV 5BH,#07H AJMP COUNT_1KK8: MOV 5BH,#08H AJMP COUNT_1KK9: MOV 5BH,#09H AJMP COUNT_1KKE: AJMP END_PCOUNT_1: MOV A,44H ; 44H 存按键次数 INC A MOV 44H,A CJNE A,#05H ,CW1 ; 按键次数是否达到 4 次 AJMP YUZHI ; 五次按键

42、则重设阈值CW1: ADD A,#54H ; 键盘按键存储空间 MOV R0,ACW2: CLR A MOV A,5BH MOV R0,A LCALL PRO_SHOW AJMP KEY_09 RET;=;各次报警值按键处理子程序;=PRO_SHOW: NOP PR_1: CLR A ; 一次按键 MOV A,44H CJNE A,#01H,PR_2 MOV R0,#55H MOV A,R0 SUBB A,#05H JNC SS MOV 51H,55H MOV A,55H MOV ADDR1,#0AH LCALL SHUZIXIANSHI SJMP END_P PR_2: CLR A ; 二次

43、按键 MOV A,44H CJNE A,#02H,PR_3 CLR A MOV A,55H SWAP A ADD A,56H MOV 51H,A MOV A,55H MOV ADDR1,#09H LCALL SHUZIXIANSHI MOV A,56H MOV ADDR1,#0AH LCALL SHUZIXIANSHI AJMP END_P PR_3: CLR A ; 三次按键 MOV A,44H CJNE A,#03H,PR_4 CLR A MOV 50H,55H MOV A,56H SWAP A ADD A,57H MOV 51H,A MOV A,55H MOV ADDR1,#08H LC

44、ALL SHUZIXIANSHI MOV A,56H MOV ADDR1,#09H LCALL SHUZIXIANSHI MOV A,57H MOV ADDR1,#0AH LCALL SHUZIXIANSHI SJMP END_P PR_4: CLR A ; 四次按键 MOV A,58H SWAP A MOV 52H,A SWAP A MOV ADDR1,#0CH LCALL SHUZIXIANSHI SJMP END_P END_P: RET SS: LJMP YUZHI;=;结果显示子程序;=CELIANGJIEGUO: LCALLADC0809 ; 调用 0809 采样程序LCALLZH

45、H ; 调用转换程序MOVADDR1,#08H ; 采数据送 LCD 显示 MOVA,40H LCALL SHUZIXIANSHI MOVADDR1,#09H MOV A,41H SWAP A LCALL SHUZIXIANSHI MOVADDR1,#0AHMOVA,41H LCALL SHUZIXIANSHI MOVADDR1,#0CH MOV A,43H SWAP A LCALL SHUZIXIANSHICALL DELAY500 ; 调用延时 CALL BJ ; 判断是否超过阈值,超过则报警;-;F 键判断是否返回提示界面;-KEY_F: MOV DPTR,#8101H MOVX A,D

46、PTR ANL A,#07H CJNE A,#00H,LP2 SJMP CELIANGJIEGUOLP2: MOV DPTR,#8100H MOVX A,DPTR CJNE A,#0D9H,CELIANGJIEGUO ;判断是否按 F 键 SETB P1.1 CLR P1.0 AJMP K1;=;报警子程序;=BJ: MOV R1,#50H MOV A,R1 CLR C SUBB A,40H JC WARNING JZ COMP1 SETB P1.1 CLR P1.0 RETCOMP1: INC R1 MOV A,R1 CLR C SUBB A,41H JC WARNING JZ COMP2

47、SETB P1.1 CLR P1.0 RETCOMP2: INC R1 MOV A,R1 CLR C SUBB A,43H JC WARNING SETB P1.1 CLR P1.0 RETWARNING: CLR P1.1 SETB P1.0 RET;=;0809 采样程序ADC0809: PUSH DPL PUSH DPH PUSH ACC MOV DPTR,#W_D_0809 ; AD0809 的启动地址 MOV A,#00H MOVX DPTR,A ; 0 通道 LCALL DELAY01 ; 延时 100US MOVX A,DPTR ; 读出 A/D 的结果 MOV 3FH,A ;

48、暂存POP ACC POP DPH POP DPL RET;=;转换子程序 : 3FH 的内容(A/D 采样的结果)*(5V/256(FFH)=十进制结果;40H,41H.例如:3FH=0FFH, 那么程序执行后:40H=04H , 41H=99H 既 4.99V;=ZHH: PUSH PSW PUSH ACC SETB RS0 MOV A,#4eH MOV B,3FH MUL AB MOV R6,B MOV R7,AHB2: CLR A MOV R3,A MOV R4,A MOV R5,A MOV R2,#10HHB3: MOV A,R7 RLC A MOV R7,A MOV A,R6 RL

49、C A MOV R6,A MOV A,R5 ADDC A,R5 DA A MOV R5,A MOV A,R4 ADDC A,R4 DA A MOV R4,A MOV A,R3 ADDC A,R3 MOV R3,A DJNZ R2,HB3 MOV 40H,R3 MOV 41H,R4 MOV 43H,R5 POP ACC POP PSW RET;=;点阵式 LCD(128X64)模块显示部分子程序 ;以下是公共的程序:;=;LCD 初始化子程序;=INITIAL_GLCD: PUSH ACC MOV A,#30H ; 功能设定 CALL COMMAND_GLCD MOV A,#30H ; 功能设定 CALL COMMAND_GLCD MOV A,#30H ; 功能设定 CALL COMMAND_GLCD MOV A,#06H ; 显示器控制:游标不显示; CALL COMMAND_GLCD MOV A,#01H ; 清除显示器 CALL COMMAND_GLCD MO

温馨提示

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

评论

0/150

提交评论