数字电子秤设计毕业论文 - 图文

更新时间:2024-05-28 08:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字电子秤设计

摘 要

本文主要介绍了数字电子秤的硬件电路结构及其中的原理,所设计的电子秤具有基本称重、键盘输入、计算价格、显示、超重报警功能。电子秤的测量范围为0-10Kg,测量精度达到 1g,有高精度,低成本的特征。首先用传感器把重量转换成电压信号,再将电压信号放大输入A/D转换,利用A/D转换工具将模拟信号转化为数字信号,得到的数字信号传送至单片机,通过程序对信号进行处理,实现称重功能,然后将重量与键盘输入单价相乘计算出总价,并将重量和价格用LED显示出来。

关键词 电子秤;称重传感器;单片机

目 录

中文摘要 .................................................................... I 英文摘要 ................................................... 错误!未定义书签。 前 言 ...................................................................... 1 1. 绪论 ..................................................................... 2

1.1 研究本文的意义 ..................................................... 2 1.2 数字电子秤的工作原理 ................................................ 2 1.3 数字电子秤性能及技术要求 ............................................ 3 2. 硬件设计 ................................................................. 3

2.1 传感器模块 .......................................................... 3 2.2 A/D转换模块 ........................................................ 4

2.2.1 AD7705的结构 ................................................ 4 2.2.3 AD7705 各引脚功能 ............................................. 5 2.3 单片机模块 .......................................................... 6 2.4 键盘显示模块 ........................................................ 7

2.4.1 键盘键的功能 .................................................. 7 2.4.2 键盘和显示电路 ................................................ 8 2.5 过量程报警模块 ...................................................... 9 3. 数字电子秤软件设计 ...................................................... 10

3.1 系统软件设计 ....................................................... 10 3.2 键盘软件设计 ....................................................... 10

3.2.1 键盘扫描 ..................................................... 11 3.2.2 数字显示 ..................................................... 11 3.3 A/D转换程序 ....................................................... 12 3.4 数据处理程序 ....................................................... 13

3.4.1 重量转化 ..................................................... 13 3.4.2 价格计算 ..................................................... 13

4. 结论 ................................................................... 14 参考文献 ................................................................... 15 附录一: ................................................................... 16 附录二: ................................................................... 19 致 谢 ..................................................................... 20

前 言

电子称重技术是现代称重计量和控制系统工程的重要基础之一,电子衡器经过40年的不断改进和完善,从60年代的机电结合型发展到现在的全电子型和数字化智能型。由于它具有称量准确、快速,读取方便,环境适应性强,便于与电子计算机结合而实现称重计量与过程控制自动化等特点,在工商贸易、能源交通、轻工食品、医药卫生、航空航天等部门得到了广泛的应用。本课题本着电子秤向高精度、高可靠方向研究,讲述了用单片机控制A/D转换、键盘输入和数据显示,对如何实现键盘中断、A/D采样进行研究。设计特别适用于测量精度要求较高的场合, 具有较高的实用价值和推广价值。本文中第一章讲述了电子秤的发展情况及其工作原理,第二章讲述了电子秤的硬件电路组成部分,第三章介绍了电子秤各部分功能实现的软件设计。

1

1. 绪论

1.1 研究本文的意义

物料计量是工业生产和贸易流通中的重要环节。称重装置或衡器是不可缺少的计量工具。随着工农业生产的发展和商品流通的扩大,衡器的需求也日益增多,过去沿用的机械杠杆秤己不能适应生产自动化和管理现代化的要求。自六十年代以来,由于传感器技术和电子技术的迅速发展,电子称重技术日趋成熟,并逐步取代机械秤。尤其是七十年代初期,微处理机的出现使电子称重技术得到了进一步的发展。快速、准确、操作方便、消除人为误差、功能多样化等方面已成为现代称重技术的主要特点。称重装置不仅是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到国民经济各领域,取得了显著的经济效益。同时对称重仪表的要求也越来越高,要求仪表有更高抗干扰能力、更高的精度。

基于电子秤的现状,本文拟研究一种用单片机控制的高精度数字电子秤设计方案。这种高精度数字电子秤计量准确、携带方便,集质量称量功能与价格计算功能于一体,能够满足商业贸易和居民家庭的使用需求。

1.2 数字电子秤的工作原理

电子秤以单片机为主要部件,当商品放到秤盘上时,秤盘下的重量电阻应变式传感器产生一电信号,信号的强弱随商品重量的大小而变,该电信号经放大电路放大后,送入A/D转换芯片进行模数转换,转换后的数字量与物重成正比,再进入89C52单片机经过数据处理,89C52单片机产生一组满足显示要求的数据,送至显示电路显示出实际重量。另一方面,商品单价通过键盘扫描电路送入89C52单片机,经过数据处理,送至显示电路显示,物重与单价经过运算产生总价,也在显示电路上同时显示出来。

称重传感器 前置放大器 模数转换器 单片机 接 口 键 显示器 盘

图 1-2 基本工作原理框图

2

1.3 数字电子秤性能及技术要求

(1) 电子秤必须具有清零、去皮重、净/毛转换、最大称量设定、自动累计、过量程报警等功能;

(2) 最大秤重10Kg,精度为2g;

(3) 采用4位半共阴红色LED显示,价格、金额精确到小数点后2位数,质量精确到小数点后三位;

2. 硬件设计

2.1 传感器模块

要达到设计的性能要求,传感器的精度起着决定性作用,本设计选用应用于称重系统90%以上的高精度电阻应变式传感器。电阻应变传感器是将被测量的力通过它所产生的金属弹性变形转换成电阻变化的敏感元件。题目要求称重范围 10Kg ,重量误差不大于+0.005Kg ,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重即10KG。我们选择的是 L-PSIII 型传感器,量程 20Kg ,精度为0.01%,满量程时误差 0.002Kg ,可以满足本系统的精度要求。

本设计的测量电路采用最常见的桥式测量电路(见图2-1),用到的是电阻应变传感器半桥式测量电路。它的两只应变片和两只电阻贴在弹性梁上,测量电阻随重力变化导致弹性梁应变而产生的变化。电阻的变化使桥式测量电路的输出电压发生变化。即输出电压的变化反映出重力的变化。电桥的输出电压可由下式表示[2]

Uout?R2?R4??R1?R2?R3?R4???????UinR2?R4R1R2R3R4????输入正极R1-△R1R2+△R2R1BRIDGE+UoutR4+△R4R3-△R3_输入负极_Uin+

图 2-1 全桥测量电桥图

3

2.2 A/D转换模块

2.2.1 AD7705的结构

AD7705是一个完整的16位A/D转换器,其内部由多路模拟开关(MUX)、缓冲器、可编程增益放大器(PGA)、∑-△调制器、数字滤波器、基准电压输入、时钟电路及串行接口组成。其中串行接口包括寄存器组,它由通讯寄存器、设置寄存器、时钟寄存器、数据输出寄存器、零点校正寄存器和满程校正寄存器等组成。该芯片包括2通道差分输

入。

Vcc REF IN(-) REF IN(+)

电荷平衡型AIN1(+) AIN1(-)

AIN2(+) AIN2(-)

MUX A/D转换器 缓冲器 PGA A=1-128 ∑-△调制器 数字滤波器

串行接口 寄存器组 MCLK IN MCLK OUT

SCLK

时钟发生器 CS

DIN DOUT

GND DRDY RESET

图2-2 AD7705的内部结构图

2.2.2 器件功能

AD7705可编程增益放大器(PGA)可通过指令设定,对不同幅度的输入信号实现1、2、4、8、16、32、64、128倍的放大,因此AD7705即可接受从传感器送来的低电平输入信号,然后产生串行的数字输出。利用Σ-Δ转换技术实现了16位无丢失代码性能。选定的输入信号被送到一个基于模拟调制器的增益可编程专用前端。片内数字滤波器处理调制器的输出信号。通过片内控制寄存器可调节滤波器的截止点和输出更新速率,从而对数字波器的第一个陷波进行编程。

AD7705串行接口可配置为三线SPI接口。增益值、信号极性以及更新速率的选择可

4

用串行输入口由软件来配置。该器件还包括自校准和系统校准选项,以消除器件本身或系统的增益和偏移误差。CMOS结构确保器件具有极低功耗,掉电模式减少等待时的功耗至20μW(典型值)。

其主要特点如下:

(1) 可将输入信号范围从0~+20mV到0~+2.5V和±20mV~±2.5V的信号进行

处理;

(2) 2个全差分输入通道的ADC(16位无丢失代码、0.003%非线性); (3) 可编程增益前端 增益:1~128; (4) 有对模拟输入缓冲的能力;

(5) 2.7~3.3V或4.75~5.25V工作电压; (6) 3V电压时,最大功耗为1mW; (7) 等待电流的最大值为8μA; 2.2.3 AD7705 各引脚功能 SCLK:串行接口时钟输入端。

MCLK IN:芯片工作时输入端。可以是晶振或外部时钟,其频率范围为500KHz到5MHz。 MCLK OUT:时钟信号输出端。当用晶振作为芯片的工作始终时,晶振必须接在MCLK IN 和MCLK OUT: 之间。如果采用外部时钟,则MCLK OUT 可用于输出反相时钟信号,以作为 其 他芯片的时钟源。该时钟输出可以通过编程来关闭。

CS:片选端,低电平有效。

RESET:片选复位端。当该端为低电平时,AD7705芯片内的接口逻辑、自校准、数据滤波器等均为上电状态。

AIN1(+),AIN1(-):分别为第1个差分模拟输入通道的正端与负端。 AIN2(+),AIN2(-):分别为第2个差分模拟输入通道的正端与负端。 REF IN(+),REF IN(-):分别为参考输入通道的正端与负端。

DIN:串行数据输入端。向片内的输入移位寄存器写入的串行数据由此输入。根据通讯寄

存器中的寄存器选择位,输入移位寄存器中的数据被传送到设置寄存器、时钟寄存器或通讯寄存器。

DOUT: 串行数据输出端。从片内的输出移位寄存器读出的串行数据由此端输出。根据通

讯寄存器中的寄存器选择位,移位寄存器可容纳来自通讯寄存器、时钟寄存器或数据寄存器的信息转换结果输出端。

DRDY:A/D 转换结束 标志。

AD7705输出移位寄存器读数时序如图2-3所示

AD7705 向输入移位寄存器写入数据时序写如图2-4所示

5

AD7705电路如图如2-5所示

图2-3 AD7705输出移位寄存器读数时序图

图2-4 AD7705 向输入移位寄存器写入数据时序图

图2-5 AD7705模块

2.3 单片机模块

该智能电子秤采用ATM公司的AT89C52作为CPU,它是一种低功耗高性能的八位CMOS微控制器,与MCS-51微控制器件兼容本设计的控制电路。以单片机89C52为控制中心,负责接收数据和外接设备的信号,再处理数据,发出控制信号,以达到所需的要求。 (1) AT89C52输入输出端口定义如下:

6

P0.3——超重报警电路

P2口——芯片8279与单片机的接口 P1.6 ——8279的片选端 P1口——AD转化模块

(2) 外部中断INT1用于键盘中断服务程

单片机外部中断INT1完成对键盘显示接口功能芯片8279的按键和数据状态显示的控制,并可输入单价,各种命令处理,显示价格、重量等参数。 (3) 定时中断T0用于A/D转换中断延时

电子秤作为一种称重仪器,对所称精确度要求颇高,所以必须通过数值滤波求的有效采样值,通过定时来完成这一系列的操作。我们定时0.5S,即定时为50ms,分10次来累计结果。

(4) 定时中断T2用于键盘中断延时

T2设为定时器状态,定时时间为13ms。在中断服务中首先扫描键盘,判断有无键按下。若有,则执行键识别程序。然后返回主程序进行其他操作。

单片机总电路图件附录二[7]

2.4 键盘显示模块 2.4.1 键盘键的功能

键盘输入是实现电子秤人机交互部门。根据仪器要求的功能,设计了由16个按键(4×4矩阵键盘)和1个板键开关组成的键盘、开关输入电路,如图2-6所示.扳键开关控制仪器电源的通断:16个按键分别是10个数字键0~9、小数点键和5个功能键:清零、去皮重、转换/校正、累计、保持。

图2-6 4×4矩阵键盘

(1) 称重前, 若显示的值不为00.00, 则按“ 去皮” 键清除为00.00; 若被称物品需用盛器装载, 先将盛器放在秤盘板上, 按“ 去皮” 键, 屏幕显示为00.00, 然后装入被称物品进行称量。

称重过程。将被称物品放在秤盘上, 稳定后, 被称物品重量称好, 按“ 保持” 键储存; 取下被称物品, 显示屏显示物品净重量数值并自动保持( 一旦进入重量保持状态后, 只有按“ 去皮” 键才能退回到正常称重状态) 。

7

在显示单价状态下, 应先按“ 转换” 键, 再按“ 去皮” 键, 才可进入正常称重状态, 不在显示单价状态下, 直接按“ 去皮” 键即可。

当重量显示超过最大秤量值10kg 时,报警器响,表示仪器处于超载状态。电子秤不允许超载使用。

(2) 单价输入及清除。称重结束取下物品( 已在重量保持状态下),再直接按数字键输入单价。单价清除按“ 清除” 键。

(3) 显示金额。当单价置入后, 按“ 转换” 键, 则显示本次称量的金额; 若显示“ E” 表示超出计价范围。按“ 去皮” 键, 又可进行称量。

(4) 金额累计。如果需要将几种金额累加就得使用“ 累计” 键。在每次称完物品显示金额状态下, 按“ 累计” 键, 就把该次金额累加到总额中去。若显示“ E” , 表示累计总额值超出计价范围。

(5)校正。按“校正”键超过1分钟,仪器修正信息处理中拟合函数的系数,完成非线性校正。

2.4.2 键盘和显示电路

本系统中有16位LED显示器,4×4键盘和8279的接口电路。图中键盘的行线接8279的RL0~RL3,8279选用外部译码方式,SL0~SL3经74LS138译码输出,连接键盘的列线,通过读取行列电平来确定哪个键按下。因显示位数比较多,所以要用到4线-16线译码器74LS154,SL0~SL3又由74LS154译码输出,经7407驱动后到显示器LED的各个位的公共阴极。输出线OUTB0~OUTB3、OUTA0~OUTA3作为一个8位段选码数据输出端口,控制LED显示器每一位数码管显示的内容,当从一位LED数码管向下一位切换时,由消隐输出线BD输出低电平,74LS154译码产生低电平,使74LS138输出全为高电平。此时,在8位段数据输出端口输出下一个LED显示位的显示内容。74LS138译码循环产生低电平,8位段数据输出端口也依次把公共阴极为低电平位的显示位中的内容显示出来,当这一过程很快显示时,人们就会在几个LED中看到了显示出来的不同内容。在连接32键以内的简单键盘时,CNTL、SHIFT输入端可接地。74LS07芯片是8279作为LED数码管显示器的段选码输出端口的同相驱芯片。

8

U6456U8L13876512131415161718194CLKRL7RL6RL5RL4DB0DB1DB2DB3DB4DB5DB6DB7IRQCSRDWRRESETCNTLSHIFTOUTB0OUTB1OUTB2OUTB3OUTA0OUTA1OUTA2OUTA3RL0RL1RL2RL3213938E1E2E3A0A1A2VCCY0Y1Y2Y3Y4Y5Y6Y716键盘列线151413121110971234MHDR1X4键盘行线1234MHDR1X4SL0SL1SL2SL3BD323334352312381片选22写10读11+5V937362KA0200UFGNDVCC31302928272625241S0S1中断1S2S3S4SN74LS07DU1AS5S6S7GNDSN74LS138NU7VCCY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y10Y11Y12Y13Y14Y15242LED位选1234567891011131415161712345678910111213141516MHDR1X16LED段选码12345678MHDR1X823222120ABCD21819OE1OE2GND402021LED段选码128279DM54LS154J

图2-7 键盘显示电路

2.5 过量程报警模块

由于压力传感器L-PSIII 型的最大承受压力为20KG,本文的称重范围是10KG,若重物的重量超过了限定值,会影响测量结果。文中采用报警电路如图2-8所示,用于及时告知是否超量程使用,当单片机检测到超重信号时,从P0.3发出一个40KHz的方波进行报警提示。

图2-8过量程报警模块

9

3. 数字电子秤软件设计

3.1 系统软件设计

软件主程序包括显示程序、键盘处理程序、A/D转换程序、数据转换处理程序。控制器中AT89C52的P1.5为A/D中断请求输入线,INT1为键盘中断服务程序。A/D中断服务程序完成采样数据的存储;键盘中断服务程序完成扫描,判断数字键或功能键,若为数字将其数据送入数据缓冲区和显示缓冲区。若是功能键进入相应功能键处理程序。

主程序流程图如图3-1所示

系统初始化 A/D转换模块 数据处理 键盘中断 显示

图3-1 主程序流程

3.2 键盘软件设计

我们知道键盘和显示是人与微机系统打交道的主要设备。在本系统中我们采用8279可编程键盘/显示管理接口。利用8279可实现对键盘/显示器的自动扫描,以减轻CPU负担,并具有显示稳定、程序简单、不会出现误动作等特点。程序原理如下: 1. 键扫描子程序:主要判断有无键按下,利用8279的RL0~RL3和SL0~SL3端口判断键入数据的个数或没有输入字符。当RL0~RL3四位全为0时,便可判断无键按下, 2. 当判断有键按下后,就转向取键值子程序。首先取出行、列号进行拼装,得到所需的键号。然后与数OAH相比较,从而判断出是功能键还是数字键。若是功能键就转到功能键处理子程序;若是数字键就调用显示子程序进行显示。

3. 显示子程序。首先置显示缓冲区首址和计数长度,然后取显示数据转换为段选码,送到LED上显示。

10

3.2.1 键盘扫描

本系统中键盘控制采用中断方式实现,利用外部中断1端口来实现。微处理器平时周而复始扫描键盘,当发现有键按下时,首先判断是命令键还是数字键。若是数字键,则把按键读数存入存储器,并显示;若是命令键,则根据按键读数查阅转移表;以获得处理子程序的入口,子程序执行完后继续扫描键盘。图3-2为键盘扫描流程图

开始 扫描P2口 Y 去皮键 当前重量送入皮 Y 清单价 Y 累计键 单价清零 将金额累加 并清单价 Y 小数点? 建标志F=1 数字键? N 返回 Y F不为1 N Y 存入单价整数部分 存入单价小数部分

图3-2 键盘扫描流程图

3.2.2 数字显示

单片机确定哪个键按下时,通过SL0~SL3输出控制信号经74LS154译码器选择相应的LED位,在8279芯片 OUT0~OUT7输出 8位段数据,LED显示内容。如要换位显示则单片机检测BD是否输出低电平,若是74LS1547译码输出高电平,74LS138译码循环产生低电平,8位段数据输出端口也依次把公共阴极为低电平位的显示位中的内容显示出来,当这一过程很快显示时,人们就会在几个LED中看到了显示出来的不同内容。

11

3.3 A/D转换程序

在智能电子秤控制系统中,除了控制单元和执行单元外,还必须有反馈环节。在反馈环节中,最重要的就是对数据的采集。本文以AT89C52单片机为核心,设计一个基于单片机的数据采集系统,通过模拟电压形式输入系统,经AD 7705可以采集2路模拟量,精度为16位,并经多次采样,通过滤波,取得更精确的重量值。

启动A/D 设采样次数 中断 建立采样标志 N 采样F0是否建立? Y 读A/D数字量 存入片内RAM N 采样次数是否到? Y 采样值滤波取平均值 结束

图 3-3 AD7705 A/D流程框图

12

3.4 数据处理程序 3.4.1 重量转化

本课题中,A/D转换采用AD7705芯片,它是16位输出,重量计算要求精确到克,其输出值范围为0000000000000000B ~1111111111111111B转换为十进制数0~65535,而系统所要求输出重量范围0~10000g,所以我们进行线性参数的标度变换,

Wx=(Ws/Ns)Nx。Wx为实际重量值Ws,满量程重量10000g,Ns为16位二进制值,Nx为AD装换读取值,其量化单位为10000/65535=0.15。如下:为使技术方便我们将0.15=15/100,即化为定点数来算。

3.4.2 价格计算

价格计算公式S=U*Wx, S为价格 U为单价,Wx为实际测得重量值。

13

4. 结论

单片机控制的电子秤集传感器技术、微计算机技术、数字显示技术于一体、其反应灵敏、准确度高、显示直观,便于使用。另外稍加扩展,该电子秤还可与其它生产质量管理系统项连接,具有推广应用价值。

电子秤不仅要向高精度、高可靠方向发展, 而且更需向多种功能的方向发展。目前飞电子秤技术朝着以下方向发展 :

(1) 智能化:本系统中虽然利用单片软件实现一些简单的功能,我们可以将其与电子计算机组合,开发称重用计算机,利用计算机功能使电子秤具有推理、判断、自诊断、自适应、自组织等功能。

(2) 综合性:本系统中虽然利用软件实现称重、计价、显示,但远远不够,电子称重技术发展规律就是不断的加强基础扩大应用,扩展新技术领域,向相邻学科和行业渗透,综合各种技术去解决称重计量、自动控制、信息处理,与计算机网络组合可以显示很多商业信息,构成一个完整的综合控制系统。

(3) 组合性:未来称重系统会大量应用在工业计量过程和工艺流程中,其要求组合性,即测量范围可以任意设定;硬件能够依据一定的工作条件和环境作某些调整;软件能按一定的程序进行修改和扩展;输入输出数据与指令可以使用不同的语言和条形码,并能与外部的控制和数据处理设备进行通信。

在整个毕业设计过程中,我对大学四年所学的知识有了一个系统的认识和理解,尤其

是对本课题所用到的单片机及其相关知识有了进一步的掌握,对利用单片机进行控制系统的设计与开发又及对系统的分析和问题的解决有了切身的认识和体会,正所谓学以致用,在此实践过程中增长了知识、丰富了经验,提高了解决问题的能力。系统的分析与设计过程是对学习的总结过程,更是进一步学习和探索的过程。控制系统的开发设计是一项复杂的系统工程,必须严格按照系统分析、系统设计、系统实施、系统运行与调试的过程来进行。系统的分析和设计是项很辛苦的工作,同时也是一个充满乐趣的过程,在设计过程中,要边学习,边实践,遇到新问题就不断探索和努力即可使问题得到解决。

14

参考文献

[1] 关德新,冯文全. 单片机外围器件实用手册 [M].京:北京航空航天大学出版社,1998,6.33~98 [2] 郁有文,常健,程继红. 传感器原理及工程应用[M].西安:西安电子科技大学出版社,2006.10~200 [3] 范立南,李雪飞,尹授远. 单片微型计算机控制系统设计[M].北京:人民邮电出版社,2004.15~100 [4] 高吉祥. 电子技术基础试验与课程设计[M].北京:电子工业出版社,2005.55~99 [5] 唐俊杰,高秦生. 微型计算机原理及应用[M].北京:高等教育出版社,1993.60~150 [6] 康华光,陈大钦. 模拟电子技术基础[M].北京:高等教育出版社,1999.6,10~200 [7] 张毅刚主编. 单片机原理及应用[M].北京:高等教育出版社,2003.12.220~250 [8] 厉志飞. 电子衡器的发展趋势[J].现代计量仪器与技术,2003,(04) [9] 王艳春. 智能电子称重系统的设计[J].微计算机信息,2007,(04) [10] 张景元. 一种基于单片机的多功能电子称[J].微计算机信息,2006,(04)

[11] 孙鹏,徐发明. 模拟称重传感器信号发生器的设计[J].牡丹江师范学院学报,2007,(03):23 [12] 南光群. 基于HT49R30A-1单片机控制的电子秤设计[J].电工技术,2007,(04):8~9 [13] 明尚志. 电子秤称重传感器V/F转换电路的设计[J].电子测量技术,2007,30(03):175~177 [14] 周清华,马善农. 高性能低成本电子秤的参考设计[J].世界电子元器件,2006,(5):59~64 [15] 张海霞. 新型便携式电子秤设计[J].计量技术,2005,(9):6~9

15

附录一:

A/D转换程序

#include

sbit ad_cs=P1^1; //AD转换器AD7705硬件I/O定义 sbit ad_sclk=P1^0; sbit ad_dout=P1^4; //AD输入输出I/O sbit ad_din=P1^3; //AD输入输出I/O sbit ad_reset=P1^2; //AD7705复位 sbit ad_drdy=P1^5; //AD7705

data unsigned int lsb,msb; void delay()

{ data unsigned int i; i=0;

while(i<7000) { i++; } }

void ad_write(unsigned char command)//数据输入 { data unsigned char i; ad_sclk=1; ad_cs=0; i=8;

while(i!=0)

{ ad_sclk=0; ad_in=command&0x80; ad_sclk=1;

command=command<<1; i--; }

ad_din=1; //送完命令置'1',准备输入数据 ad_cs=1; }

//设置A/D转换模式.然后可以连续读出结果.

Void ad_set (unsigned char ch,unsigned char gain) // //ch=1,2;gain=0,1,2,3(1,2,4,8...) ch通道 gain 增益

{ data unsigned char i=0x46; //单极性,加缓冲器 data unsigned char j=gain; j=j<<3; i=i|j;

ad_write(0x0f+ch); //写通讯寄存器,选择通道1,2,并建立下一个操作为写设置寄存器

16

ad_write(i); //写设置寄存器,清除FSYNC,建立增益等运行条件

//初始化被选通道为自校准模式,有缓冲器

}

//A/D转换结果读取函数. unsigned int ad_pro()

{ data unsigned int j,k=0; data unsigned char kk; while(ad_drdy==1);

ad_write(0x38); //读通讯寄存器,选择通道1,2,并建立下一个操作位读数据寄存器

ad_sclk=1; //读取结果 ad_cs=0; kk=16;

while(kk!=0) { k=k<<1; ad_sclk=0; j=ad_dout; ad_sclk=1;

k=k|j; //或 kk--; }

ad_cs=1; ad_dout=1;

return(k); }

//AD初始化复位,50赫兹输出速率 ad_init()

{ ad_cs=0;

ad_reset=1; //复位AD转换器1--0--1脉冲,40ms delay(); ad_reset=0; delay(); ad_reset=0; delay(); ad_reset=1;

ad_write(0x20); //写通讯寄存器,选择通道1,并建立下一个操作为写时钟寄存器

ad_write(0x04); //写时钟寄存器,设时钟信号位于使用的主时钟信号(2.4576MHz)

ad_write(0x10); ad_write(0x46); }

17

void ad_jiaozhun() //初始化A/D,校准两个通道.在通道一上持续工作.

{ ad_init(); ad_set(1,0);

while(ad_drdy==0); while(ad_drdy==1); while(ad_drdy==0); while(ad_drdy==1);

// ad_write(0x20); //写通讯寄存器,选择通道1,并建立下一个操作为写时钟寄存器,掉电.

// ad_write(0x14); //A/D }

void main() {

ad_jiaozhun(); lsb=ad_pro(); msb=ad_pro(); }

基准断电. 18

附录二: R1-△R1R2+△R2输入正极R1BRIDGEU12VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7403938373635343332123456782122232425262728+5V+5VR?Res21KVCCR11K+12LEDQ1PNPU1BellC4 R4+△R4R3-△R3+5VC5100pF30PGNDL19312930RSTEA/VPPPSENALE/PROG_输入负极_1Uout30P24M1918XTAL1XTAL2+5VUin+200VCC161514131211109U921K101112中断1131415读16写17P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7C130PFC2SCLK2M/CSRESET30PF输入正极输入负极12345678SCLKGNDMCLK INVDDMCLK OUTDIN/CSDOUTRESET/DRDYAIN2(+)AIN2(-)AIN1(+)REF IN(-)AIN1(-)REF IN(+)AD7705SCLK/CSRESETDINDOUT/DRDYU2VSS1435810124GNDDS75492MU31435810VSS11VCC12345678abcdefgdp11KEY0VCCKEY1KEY2KEY3驱动1驱动21LED132LED146LED157913DINDOUT/DRDY120VSSat89c52S0S1S2S3S4S5S6S7驱动3KEY4KEY5KEY6KEY7LED199LED29LED39LED4DS31KNCbcdpLED5DS49U6456123E1E2E3A0A1A2VCCY0Y1Y2Y3Y4Y5Y6Y71615141312111097VCCKEY4KEY5KEY6KEY7VCCafegd1KNCbcdpDS11012345678abcdefgdpVCCafegd1KNCbcdpDS21012345678abcdefgdpVCCafegd1KNCbcdp10U8L13876512131415161718194CLKRL7RL6RL5RL4DB0DB1DB2DB3DB4DB5DB6DB7IRQCSRDWRRESETCNTLSHIFTGNDVCC1LED12LED26LED37LED49LED513LED6RL0RL1RL2RL3213938KEY0KEY1KEY2KEY38GND1S0S1中断1S2S3S4SN74LS07DU1AS5S6S721GND12345678abcdefgdpVCCafegd1012345678abcdefgdpVCCafegd1KNCbcdp10SL0SL1SL2SL3BD3233343523SN74LS138NU7VCCY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y10Y11Y12Y13Y14Y152412345678910111314151617VCCDS?Dpy Red-CALED69Dpy Red-CALED79Dpy Red-CALED89Dpy Red-CALED99Dpy Red-CALED10DS91012345678abcdefgdpDS54GND1112345678abcdefgdpVCCafegd1KNCbcdpDS61012345678abcdefgdpVCCafegd1KNCbcdpDS71012345678abcdefgdpVCCafegd1KNCbcdpDS81012345678abcdefgdpVCCafegd1KNCbcdp912VCCafegd1KNCbcdp10片选22写10读11+5V937362KA0200UFOUTB0OUTB1OUTB2OUTB3OUTA0OUTA1OUTA2OUTA3313029282726252423222120DS75492MU5VSS1435VCCABCD1LED72LED86LED97LED102Dpy Red-CALED119Dpy Red-CALED129Dpy Red-CALED139Dpy Red-CALED149Dpy Red-CALED15DS141012345678abcdefgdp40202110124GNDDS75492M9LED1113LED1212345678DS10abcdefgdpDS11NC12GNDVCCafegd108279GND713591113U9GNDVCCA1Y1A2Y2A3Y3A4Y4A5Y5A6Y6Component_1DM54LS154JVCC14246810121U2A2bcdp12345678abcdefgdpVCCafegd1KNCDS121012345678abcdefgdpVCCafegd1KNCDS131012345678abcdefgdpVCCafegd1KNC91819OE1OE2驱动1驱动2驱动38VCCafegd1KNC10bcdpbcdpbcdpbcdpDpy Red-CADpy Red-CADpy Red-CADpy Red-CADpy Red-CASN74LS07DU3A12+5VSN74LS07D 19

致 谢

在这几个月的时间里,从对课题的理解,方案的设计,到程序的编写,再到论文的写作,中间有着自己的努力,更有着老师和同学的关心和巨大的帮助。

首先我要对本论文的指导老师***老师致以衷心的感谢!从论文的选题、有关资料的收集、课题的讨论,到论文的撰写和修改,导师都给了我悉心的指导和帮助。他对学生认真负责的态度让我由衷地敬佩。

感谢***同学给予我无私的帮助,他们对我所遇到的难题的解答让我受益匪浅。 感谢母校和老师们在大学四年中对我的培养。

20

本文来源:https://www.bwwdw.com/article/m567.html

Top