毕业设计(论文)基于单片机的数字电子秤设计与实现_第1页
毕业设计(论文)基于单片机的数字电子秤设计与实现_第2页
毕业设计(论文)基于单片机的数字电子秤设计与实现_第3页
毕业设计(论文)基于单片机的数字电子秤设计与实现_第4页
毕业设计(论文)基于单片机的数字电子秤设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

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

2、计,硬件则以半桥传感器为主,测量 019.99kg 电子秤,随时可改变上限阈值,并达到阈值报警的功能。本课程设计的电子秤以单片机为主要部件,利用单臂电桥测量原理,通过对电路输出电压和标准重量的线性关系,建立具体的数学模型,将电压量纲(v)改为重量纲(g)即成为一台原始电子秤。其中测量电路中最主要的元器件就是电阻应变式传感器。电阻应变式传感器是传感器中应用最多的一种,本设计采用单臂电桥测量电路,使系统产生的误差更小,输出的数据更精确。adc0809 a/d 转换的作用是把模拟信号转变成数字信号,进行模数转换,然后把数字信号输送到显示电路中去,最后由显示电路显示出测量结果关键词:单臂电桥;ad 转

3、换;ledthat the design of digital electronicsabstractin this paper, the design of the electronic scale to single-chip microcomputer as the main components, with assembly language for software design, hardware-based sensors with half-bridge, measuring 0 19.99kg electronic scale, at any time can change

4、the upper limit threshold, and to achieve the alarm threshold function. this course is designed for single-chip electronic scale as the main components, the use of wheatstone bridge measuring principle, the output voltage of the circuit and the standard weight of a linear relationship, the establish

5、ment of a specific mathematical model, the dimensionless voltage (v) changed weight class (g) becomes a primitive electronic scales. measuring circuit in which the most important components is the resistance strain sensor. resistance strain sensor is the most widely used sensors in a, the design use

6、s a wheatstone bridge measurement circuit, the system error resulting from a smaller, more accurate output data. adc0809 a / d conversion is the analog signal into digital signal for analog-to-digital conversion, digital signal and then transmitted to the display circuit, and the final circuit from

7、the display shows the measurement resultskeywords: wheatstone bridge; ad conversion; led目目 录录中文摘要中文摘要 .0 英文摘要英文摘要.01.1. 总体方案设计总体方案设计 .1 12 2硬件电路设计硬件电路设计 .2 22.12.1 传感器的选择传感器的选择.2 22.1.1 电阻应变式传感器的组成以及原理 .2 22.1.2 电阻应变式传感器的测量电路 .3 32.22.2 adc0809adc0809 a/da/d 转换器转换器.3 32.32.3 adc0809adc0809 的内部逻辑结构:的

8、内部逻辑结构:.4 42.3.1 引脚结构: .4 42.3.2 adc0809 应用说明: .6 62.42.4 ledled 显示电路设计显示电路设计.6 62.4.1 led 显示器结构与原理 .6 62.4.2 led 显示器与显示方式 .6 62.52.5 报警电路的设计报警电路的设计 .7 73.3. 软件设计软件设计 .8 83.13.1监控程序的设计监控程序的设计 .8 83.23.2 数据处理子程序的设计数据处理子程序的设计 .8 8郑州大学西亚斯国际学院 数字电子秤设计 3.2.13.2.1 数据采集子程序的设计数据采集子程序的设计.8 8322 系数调整 .9 9323

9、数据处理子程序的设计 .9 93.43.4 显示子程序的设计显示子程序的设计 .11114.4. 调试分析调试分析 .12124.14.1 调试系统简介调试系统简介 .12124.24.2 调试故障及原因分析调试故障及原因分析 .13135.5. 结论及进一步设想结论及进一步设想 .1313致谢致谢 .1414参考文献参考文献 .1515附录附录 1 1 电路原理图电路原理图 .1818附录附录 2 2 程序清单程序清单 .1717郑州大学西亚斯国际学院 数字电子秤设计- 1 - 数字电子称的设计1. 总体方案设计本设计由以下四部分组成:电阻应变传感器、信号放大系统、模数转换系统、显示器。其原

10、理图如下所示。测量过程是把被测物体的重量通过传感器将重量信号转化为电压信号输出,放大系统把来自传感且微弱信号放大,放大后的电压信号经过模数转换把模拟量转换成数字量,数字量通过数字显示器显示重量。传感器的测量电路我们选用单臂电桥测量电路,应变电阻作为桥臂电阻接在电桥电路中。无压力时,电桥平衡,输出电压为零;有压力时,电桥的桥臂电阻值发生变化,电桥失去平衡,有相应电压输出。图 1 基于 led 显示的电子秤基本组成框图8051 单片机放大电路adc0809压力传感器led 显示8155 键盘 8279 键盘 报警电路待测重量郑州大学西亚斯国际学院 数字电子秤设计- 2 - 2硬件电路设计2.1 传

11、感器的选择2.1.1 电阻应变式传感器的组成以及原理电阻应变式传感器是将被测量的力,通过它产生的金属弹性变形转换成电阻变化的元件。由电阻应变片和测量线路两部分组成。常用的电阻应变片有两种:电阻丝应变片和半导体应变片,本设计中采用的是电阻丝应变片,为获得高电阻值,电阻丝排成网状,并贴在绝缘的基片上,电阻丝两端引出导线,线栅上面粘有覆盖层,起保护作用。电阻应变片也会有误差,产生的因素很多,所以测量时我们一定要注意,其中温度的影响最重要,环境温度影响电阻值变化的原因主要是:a.电阻丝温度系数引起的。b.电阻丝与被测元件材料的线膨胀系数的不同引起的。对于因温度变化对桥接零点和输出,灵敏度的影响,即使采

12、用同一批应变片,也会因应变片之间稍有温度特性之差而引起误差,所以对要求精度较高的传感器,必须进行温度补偿,解决的方法是在被粘贴的基片上采用适当温度系数的自动补偿片,并从外部对它加以适当的补偿。非线性误差是传感器特性中最重要的一点。产生非线性误差的原因很多,一般来说主要是由结构设计决定,通过线性补偿,也可得到改善。 滞后和蠕变是关于应变片及粘合剂的误差。由于粘合剂为高分子材料,其特性随温度变化较大,所以称重传感器必须在规定的温度范围内使用。图 2 应变式传感器安装示意图单臂电桥测量电路中,将一个应变片接入电桥对边,当应变片初始阻值:郑州大学西亚斯国际学院 数字电子秤设计- 3 - r1r2r3r

13、4,其变化值 r1r2r3r4时,其桥路输出电压uoutke/4。本设计采用 lpsiii 型电阻应变式传感器2.1.2 电阻应变式传感器的测量电路常规的电阻应变片 k 值很小,约为 2,机械应变度约为 0.0000010.001,所以,电阻应变片的电阻变化范围为 0.00050.1 欧姆。所以测量电路应当能精确测量出很小的电阻变化,在电阻应变传感器中做常用的是桥式测量电路。 桥式测量电路有四个电阻,其中任何一个都可以是电阻应变片电阻,电桥的一个对角线接入工作电压 u,另一个对角线为输出电压 uo。其特点是:当四个桥臂电阻达到相应的关系时,电桥输出为零,或则就有电压输出,可利用灵敏检流计来测量

14、,所以电桥能够精确地测量微小的电阻变化。 测量电路是电子秤设计电路中是一个重要的环节,我们在制作的过程中应尽量选择好元件,调整好测量的范围的精确度,以避免减小测量数据的误差。350350r2350r3350r4350-4v32184u1:a4227g+4vrv11k图 3 单臂电桥测量电桥图 它由电阻应变片电阻 r1、r2、r3、r4 组成测量电桥,r1r2r3r4350,加热丝阻值为 50 左右,测量电桥的电源由稳压电源 uin供给。将差动放大器调零,合上电源开关,调节电桥平衡电位 rw1,使数显表显示 0.00v。将 10 只标准砝码全部置于传感器的托盘上,调节电位器 rw3(增益即满量程

15、调节)使数显表显示为 0.200v(2v 档测量)或0.200v。拿去托盘上的所有砝码,调节电位器 r w4(零位调节)使数显表显示为0.0000v。重复 2、3 步骤的标定过程,一直到精确为止,把电压量纲 v 改为重量纲 g,就可以称重。成为一台原始的电子秤。郑州大学西亚斯国际学院 数字电子秤设计- 4 - 2.22.2 adc0809adc0809 a/da/d 转换器转换器adc0809 是带有 8 位 a/d 转换器、8 路多路开关以及微处理机兼容的控制逻辑的cmos 组件。它是逐次逼近式 a/d 转换器,可以和单片机直接接口。 2.3 adc0809 的内部逻辑结构:由上图可知,ad

16、c0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 a/d 转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 a/d 转换器进行转换。三态输出锁器用于锁存 a/d 转换完的数字量,当 oe 端为高电平时,才可以从三态输出锁存器取走转换完的数据。 2.3.1 引脚结构:郑州大学西亚斯国际学院 数字电子秤设计- 5 - 放大电路in0in7:8 条模拟量输入通道 adc0809 对输入模拟量要求:信号单极性,电压范围是 05v,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路

17、。 地址输入和控制线:4 条 ale 为地址锁存允许输入线,高电平有效。当 ale 线为高电平时,地址锁存与译码器将a,b,c 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。a,b 和 c 为地址输入线,用于选通 in0in7 上的一路模拟量输入。通道选择表如下表所示。 cba选择的通道000in0001in1010in2011in3100in4101in5110in6111in7数字量输出及控制线:11 条 st 为转换启动信号:当 st 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行 a/d转换;在转换期间,st 应保持低电平。eoc 为转换结束信号。当 e

18、oc 为高电平时,表明转换结束;否则,表明正在进行 a/d 转换。oe 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。oe1,输出转换得到的数据;oe0,输出数据线呈高阻状态。d7d0 为数字量输出线。 郑州大学西亚斯国际学院 数字电子秤设计- 6 - clk 为时钟输入信号线:因 adc0809 的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为 500khz,时钟电路vref() ,vref()为参考电压输入。 2.3.2 adc0809 应用说明:1)adc0809 内部带有输出锁存器,可以与 8031 直接相连。 2)初始化时,使 st 和 oe 信号全

19、为低电平。 3)送要转换的哪一通道的地址到 a,b,c 端口上。 4)在 st 端给出一个至少有 100ns 宽的正脉冲信号。 5)是否转换完毕,我们根据 eoc 信号来判断。 6)当 eoc 变为高电平时,这时给 oe 为高电平,转换的数据就输出给单片机了。 2.4 led 显示电路设计2.4.1 led 显示器结构与原理led 显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是七段 led。这种显示块有共阴极与共阳极两种。共阴极 led 显示块的发光二极管阴极共地。当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极 led 显示块的发光二极管阳极并接。2.4.2

20、led 显示器与显示方式在单片机应用系统中使用 led 显示块构成 n 位 led 显示器。n 位 led 显示器有n 根位选线和 8*n 根段选线。根据显示方式不同,位选线与段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的亮,暗。led 显示器有静态显示与动态显示两种方式。我们使用的为动态显示 led 动态显示方式。 在多位 led 显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个 8 位 i/o 口控制,而共阴极点或共阳极点分别由响应的 i/o 口线控制。郑州大学西亚斯国际学院 数字电子秤设计- 7 - 图 5 mcs-51 的接口电路 led 显示电路图2.

21、5 报警电路的设计报警电路是超过设定的范围,单片机输出信号驱动蜂鸣器发声警报,如图 所示,当 bdll 端为低电平时,有电流通过蜂鸣器,蜂鸣器报警,反之不报警,这里设定当超过质量的上限时通过软件使 8031 的 p1.0 口清零,再过 p1.0 口出来的低电平信号连接到bell 端蜂鸣器发声报警。图 6 报警电路p10buz1buzzerq12n5401r12k+5vd034d133d232d331d430d529d628d727rd5wr36a09a18reset35cs6pa04pa13pa22pa31pa440pa539pa638pa737pb018pb119pb220pb321pb42

22、2pb523pb624pb725pc014pc115pc216pc317pc413pc512pc611pc710u18255a郑州大学西亚斯国际学院 数字电子秤设计- 8 - 3. 软件设计3.1 监控程序的设计智能仪器的设计既要满足设定的功能的完成如计算等功能的任务功能程序,也要有可以监控仪器仪表正工作,保证其可靠性方面的监控程序。整个智能仪器的测量都是智能仪器自动完成的,所以设计一套功能完备的监控程序是必须的也是必要的。监控程序的主要作用是实时的响应来自系统的各种信息,按信息的类别进行处理;当系统出现故障时,能自动的采取有效的措施,消除故障,保证系统能够继续进行正常工作。3.23.2 数据

23、处理子程序的设计数据处理子程序的设计数据处理子程序是整个程序的核心。主要用来调整输入值系数,使输出满足量程要求。另外完成 a/d 的采样结果从十六进制数向十进制数形式转化。3.2.1 数据采集子程序的设计对于重量与传感器的电压之间的关系,为了确保测量的准确度,用 matlab 软件编程。lsline 指令实现了对多组测量数据的最小二乘拟合,得到了比较理想的线性关系,又运用回归函数 polyfit(x,y,1)得到压力与电压的函数关系,使压力的测量的精度进一步提高。数据采集由 adc0809 芯片来完成,主要分为启动、读取数据、延时等待转换结束、读出转换结果、存入指定内存单元、继续转换(退出)几

24、个步骤。adc0809 初始化后,就具有了将某一通道输入的 05v 模拟信号转换成对应的数字量 00hffh,然后再存入8051 内部 ram 的指定单元中。其转换方式可以采用程序查询方式,延时等待方式和中断方式三种。本设计采用的是延时等待方式,具体程序流程图如图 8 所示。开始保护现场启动adc0809延时读转换结果送暂存单元返回回郑州大学西亚斯国际学院 数字电子秤设计- 9 - 图 7 数据采集程序流程图3.2.2 数据采集子程序的设计对于重量与传感器的电压之间的关系,为了确保测量的准确度,用 matlab 软件编程。lsline 指令实现了对多组测量数据的最小二乘拟合,得到了比较理想的线

25、性关系,又运用回归函数 polyfit(x,y,1)得到压力与电压的函数关系,使压力的测量的精度进一步提高。所得拟合曲线如图 7 所示:图 7 拟合曲线图323 系数调整在 in0 输入的数最大为 5v,要求的质量 500g 对应的是 4.8v,为十六进制向十进制转换方便,将系数放大 100 倍。并用小数点位置的变化体现这一过程。324 数据处理子程序的设计数据处理子程序是整个程序的核心。主要用来调整输入值系数,使输出满足量程要郑州大学西亚斯国际学院 数字电子秤设计- 10 - 求。另外完成 a/d 的采样结果从十六进制数向十进制数形式转化。在硬件调试过程中重量与电压的关系如表一所示:表一:重

26、量0.020.040.060.080.10电压0.1450.3000.4450.5930.742重量0.120.140.160.180.20电压0.8901.0401.1891.3371.486重量0.220.0.240.260.280.30电压1.6351.7841.9322.0812.230重量0.320.340.360.380.40电压2.3782.5272.6762.8262.973重量0.420.440.460.480.50电压3.1213.2703.4193.5683.717经 matlab 软件编程,得拟合函数为: (4-1) 001avagf式中 物体所受的重量;f传感器输出的

27、压力值0v(其中=7.3458 = -0.0012)1a0a数据处理过程是对 a/d 转换结果的数字量的处理,即 (4-2)du1258式中 数据的模拟量;u数据的数字量d再对和进行十进制与十六进制的转换=( ) (4-3)101uah (4-4)100uah所以在编程中实际的运算过程为 (4-5) 0vgf因此在数据处理中要进行的是将 a/d 值转换值进行乘法和减法运算进行处理和调整,经过系数调整后,送入暂存单元进行进制间的调整,使二进制数变换为十进制数存放在显缓单元以供显示。郑州大学西亚斯国际学院 数字电子秤设计- 11 - 具体的流程图如图 9 所示:图 8 数据采集程序流程图3.4 显

28、示子程序的设计显示程序是用来实时显示所测质量值,该部分程序是将显缓单元数据进行实时显示,其流程图如图 12 所示。开始a/d 转化结果196返回进制转换送显缓单元进制转换减去(.001219.6)乘以 7.3458送显缓单元郑州大学西亚斯国际学院 数字电子秤设计- 12 - 图 9 显示子程序流程图就继续扫描。当有键按下时,利用按键的特征码判断是哪一个键按下,再转入到按下该键所要执行的功能子程序中进行键值处理,完成后返回继续进行扫描。且将最后一次输入值 保存在暂存单元用于报警比较。由键盘编码方式可以得出0、1、2、3、4、5、6、7、8、9 各键对应的键值:0d8h、0d0h,、0d1h、0d

29、2h、0c8h、0c9h、0cah、0c0h、0c1h、0c2h 该模块的程序流程图如 13 所示。4. 调试分析4.1 调试系统简介调试包括硬件调试、软件调试和样机调试。软件的调试和硬件的调试都是独立进行的,软件部分包括数据采集子程序、数据处理子程序、显示子程序、键盘扫描子程序、报警子程序。软件调试中需要用到的测量信号可以用仿真实验台上的电压信号进行模拟,而不需要进行硬件的连接。同样硬件部分的调试也是不需要软件连接而独立进行的。当软件调试和硬件调试都正确无误的时候,就可以进行连接调试,在调试中继续找显示程序r0:显缓地址r2:最左位选码取段码段码送 b 口位码送 a 口延时 35ms返回r0

30、+1r2 右移5 位显示完?郑州大学西亚斯国际学院 数字电子秤设计- 13 - 出单独调试中无法指出的故障,反复进行修改软件、修改硬件设计的工作,直到所设计的电子秤显示数据与理想数据误差不大。最后进行软件的固化与整机的组装工作。硬件调试系统和软件调试系统。其中硬件调试系统主要是csy2000 传感器与检测技术试验台和单片机实验箱(含 a/d 转换) ,其中单片机实验箱(含 a/d 转换)提供了单片机、a/d 转换、led 显示器和蜂鸣器;csy2000 传感器与检测技术试验台提供所需的+4v+30v 电源还有电阻应变式传感器及传感器实验模板提供信号调理、整形和放大电路。 4.2 调试故障及原因

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

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

33、是数据采集处理阶段,此阶段是对传感器发出的信号进行量化、采集,主要分为信号放大、采集,然后进行 a/d 转换。该阶段需注意的地方是对传感器输出的信号进行放大时,应选取合适的运算放大电路。最好是预先计算好应放大的倍数,以便选取。还有就是进行数据处理时,选取适当的数据转换系数,使输出满足量程要求。郑州大学西亚斯国际学院 数字电子秤设计- 14 - 致 谢指导老师张凤炳治学严谨,学识渊博,品德高尚,平易近人,在我做论文期间不仅传授了做学问的秘诀,还传授了做人的准则。这些都将使我终生受益。无论是在平时的阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到导师的悉心指导和帮助。借此机

34、会向导师表示衷心的感谢!非常感谢学院这些年的栽培!在毕业设计的这段时间里,老师们言传身教,以他们广博的知识,敏锐的洞察力,多年的教学和实际工作经验,在毕业设计上给予我很大的帮助。在本次设计中我学到的不仅是科学知识和工作方法,更学到了作为一个研究人员应有的治学态度以及为人处世的道理,这一切都将使我终身受益。谨在此向罗中剑院长,董承廷老师,尤联荣老师致以崇高的敬意和衷心的感谢!同时,对在设计中给予我支持和帮助的各位同学表示感谢!郑州大学西亚斯国际学院 数字电子秤设计- 15 - 参考文献1 赵茂泰.智能仪器原理及应用.北京:电子工业出版社,2004:100-1562 张毅刚.mcs-51单片机应用

35、设计.哈尔滨:哈尔滨工业大学出版社,2003:142-169 3 贾伯年,俞朴.传感器技术.南京:东南大学出版社,2000:33-624 单成祥.传感器理论设计基础及其应用.北京:国防工业出版社,1999:78-1335 李道华,李玲,朱艳.传感器电路分析与设计.武汉大学出版社,2000:61-88 6 李刚,林凌,姜苇单片机系统设计与应用技巧北京:北京航空航天大学出版社,郑州大学西亚斯国际学院 数字电子秤设计- 16 - 附录附录 1 电路原理图电路原理图2 -1msb21add b24add a25add c23vref(+)12vref(-)16in31in42in53in64in75s

36、tart62 -58eoc7output enable9clock10vcc112 -220gnd132 -7142 -6152 -8lsb172 -4182 -319in228in127in026ale22u3adc0809bat15vxtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326

37、p2.6/a1427p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115u280c31123u3:a400132u4:a4009564u3:b4001d034d133d232d331d430d529d628d727rd5wr36a09a18reset35cs6pa04pa13pa22pa31pa440pa539pa638pa737pb018pb119pb220pb321pb422pb523pb624pb725pc

38、014pc115pc216pc317pc413pc512pc611pc710u28155r14.7kr24.7kbat15vbat25vr40r1r50r1r60r1r70r1r80r1r90r1r100r1r110r1r120r1ls1speaker2634u1ad680j2634u5ad680jr1350rr2350rr3350rr4350rr5350rrv1res-varbat14v郑州大学西亚斯国际学院 数字电子秤设计- 17 - 附录 2 程序清单ml8155 equ 0df00hk8155a equ 0df01hk8155b equ 0df02hk8155c equ 0df03hd

39、timer0 equ 30h ;;延时时间的初值dtimer1 equ 31h ;;调用延时子程序的次数set_vh equ 50h ; 预置值的高位set_vl equ 51h ; 预置值的低位set_vl1 equ 52h ; 预置值的低位的高位set_vl2 equ 53h ; 预置值的低位的低位adval equ 3fh ; ad 转换结果temp equ 32h ; 存放中间结果temp1 equ 33h ;存放中间结果 temp2 equ 34h ; 存放中间结果org 0000hljmp mainorg 1000hmain:mov sp,#60hsetb p1.0clr p1.1

40、mov set_vh,#05hmov set_vl,#00h郑州大学西亚斯国际学院 数字电子秤设计- 18 - mov set_vl1,#00hmov set_vl2,#00hlcall init_8155start1:lcall ad_ledlcall set_keylcall armsjmp start1ad_led:lcall adc0809 ; 调用 0809 采样程序lcall zhh ;采样值转换为电压值mov a,40hcall hex_leddmov 5fh,tempmov a,41hcall hex_ledmov 5eh,temp1mov 5dh,temp2mov 5ch,#

41、6fh ;ulcall write_ledretadc0809:push dpl push dph push acc mov p2,#7fh mov r1,#78h l1: movx r1,a mov r2,#10h l4: djnz r2,l4郑州大学西亚斯国际学院 数字电子秤设计- 19 - l2: jnb p3.3,l2 movx a,r1 mov adval,a pop acc pop dph pop dpl ret zhh:push psw push acc setb rs0 mov a,#0c4h mov b,adval mul ab mov r6,b mov r7,a hb2:c

42、lr a mov r3,a mov r4,a mov r5,a mov r2,#10h hb3:mov a,r7 rlc a mov r7,a mov a,r6 rlc a mov r6,a mov a,r5 addc a,r5郑州大学西亚斯国际学院 数字电子秤设计- 20 - 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 pop acc pop psw rethex_ledd:push dphpush dplpush ac

43、canl a,#0fhmov dptr,#bcd_coded ; dptr 到 scii-codemovc a,a+dptr ; 取得段码mov temp,apop accpop dplpop dphretbcd_coded:db 3fh,06h,5bh,4fh,66hdb 6dh,7dh,07h,7fh,6fh郑州大学西亚斯国际学院 数字电子秤设计- 21 - db 77h,7ch,39h,5eh,79h,71h,73h,00h,40hhex_led:push dphpush dplpush accpush accswap a anl a,#0fhmov dptr,#bcd_code ; d

44、ptr 指到 ascii-codemovc a,a+dptr ; 取得段码mov temp1,a ;;显存位置pop accanl a,#0fhmov dptr,#bcd_code ;;留下低四位单元movc a,a+dptr ;;取得 ascii 码mov temp2,a ; 后加pop accpop dplpop dphretbcd_code:db 3fh,06h,5bh,4fh,66hdb 6dh,7dh,07h,7fh,6fhdb 77h,7ch,39h,5eh,79h,71h,73h,00h,40hwrite_led:push dphpush dplpush accmov r0,#5

45、chmov r3,#0f7h郑州大学西亚斯国际学院 数字电子秤设计- 22 - mov a,r3again:mov dptr,#k8155amovx dptr,amov a,r0mov dptr,#k8155bmovx dptr,alcall delay01inc r0mov a,r3jnb acc.0,outrr amov r3,aajmp againout:pop accpop dplpop dphretset_key:mov r7,#00h mov r6,#00h mov r5,#00h lcall read_key1 mov a,b cjne a,#04h,end_st mov 5fh

46、,#76h mov 5eh,#00h mov 5dh,#00h mov 5ch,#00h lcall write_led郑州大学西亚斯国际学院 数字电子秤设计- 23 - seth:lcall read_key1 mov a,b cjne a,#0ffh,ggg lcall write_led ljmp seth ggg:cjne a,#05h,set_l mov a,r7 cjne a,#06h,set_h mov a,#00h mov r7,a set_h:mov set_vh,r7 mov dptr,#bcd_coded movc a,a+dptr mov 5eh,a lcall wri

47、te_led inc r7 ljmp seth set_l:cjne a,#06h,set_ll mov a,r6 cjne a,#0ah,set_l1 mov a,#00h mov r6,a set_l1:mov set_vl1,r6 mov dptr,#bcd_code movc a,a+dptr mov 5dh,a lcall write_led inc r6 ljmp seth 郑州大学西亚斯国际学院 数字电子秤设计- 24 - set_ll:cjne a,#07h,keyjs mov a,r5 cjne a,#0ah,set_ll1 mov a,#00h mov r5,a set_ll1:mov set_vl2,r5 mov dptr,#bcd_code movc a,a+dptr mov 5ch,a lcall write_

温馨提示

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

评论

0/150

提交评论