




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 绪论电子重量测试仪是将检测与转换技术、计算机技术、信息处理、数字技术等技术综合一体的现代新型称重仪器。它与我们日常生活紧密结合成为一种方便、快捷、称量精确的工具,广泛应用于商业、工厂生厂、集贸市场、超市、大型商场、及零售业等公共场所的信息显示和重量计算。电子重量测试仪主要以单片机作为中心控制单元,通过称重传感器进行模数转换单元,在配以键盘、显示电路及强大软件来组成。电子重量测试仪称重不但计量准确、快速方便,更重要的自动称重、数字显示,对人们生活的影响越来越大。1.1 称重技术和衡器的发展称重技术自古以来就被人们所重视,作为一种计量手段,广泛应用于工农业、科研、交通、内外贸易等各个领域,与人民的生活紧密相连。电子重量测试仪是电子衡器中的一种,衡器是国家法定计量器具,是国计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。电子重量测试仪的发展过程与其它事物一样,也经历了由简单到复杂,由粗糙到精密、由机械到机电结合再到全电子化、由单一功能到多功能的过程。特别是近30年以来,工艺流程中的现场称重、配料定量称重、以及产品质量的监测等工作,都离不开能输出电信号的电子衡器。这是由于电子衡器不仅能给出质量或重量信号,而且也能作为总系统中的一个单元承担着控制和检验功能,从而推进工业生产和贸易交往的自动化和合理化。近年来,电子重量测试仪已愈来愈多地参与到数据处理和过程控制中。现代称重技术和数据系统已经成为工艺技术、储运技术、预包装技术、收货业务及商业销售领域中不可缺少的组成部分。随着称重传感器各项性能的不断突破,为电子重量测试仪的发展奠定了其础,国外如美国、西欧等一些国家在20世纪60年代就出现了0.1%称量准确度的电子重量测试仪,并在70年代中期约对75%的机械秤进行了机电结合式的电子化改造。称重装置不仪是提供重量数据的单体仪表,而且作为工业控制系统和商业管理系统的一个组成部分,推进了工业生产的自动化和管理的现代化,它起到了缩短作业时间、改善操作条件、降低能源和材料的消耗、提高产品质量以及加强企业管理、改善经营管理等多方面的作用。称重装置的应用已遍及到围民经济各领域,取得了显著的经济效益。因此,称重技术的研究和衡器工业的发展各国都非常重视。50年代中期电子技术的渗入推动了衡器制造业的发展。60年代初期出现机电结合式电了衡器以来,经过40多年的不断改进与完善,我国电子衡器从最初的机电结合型发展到现在的全电子型和数字智能型。现今电子衡器制造技术及应用得到了新发展。电子重量测试仪重技术从静态称重向动态称重发展:计量方法从模拟测量向数字测量发展;测量特点从单参数测量向多参数测量发展,特别是对快速称重和动态称重的研究与应用。通过分析近年来电子衡器产品的发展情况及国内外市场的需求,电子衡器总的发展趋势是小型化、模块化、集成化、智能化;其技术性能趋向是速率高、准确度高、稳定性高、可靠性高;其功能趋向是称重计量的控制信息和非控制信息并重的“智能化”功能;其应用性能趋向于综合性和组合性。电子重量测试仪是电了衡器中的一种,衡器是国家法定计量器具,是围计民生、国防建设、科学研究、内外贸易不可缺少的计量设备,衡器产品技术水平的高低,将直接影响各行各业的现代化水平和社会经济效益的提高。1.2电子重量测试仪设计目的为了学习和巩固知识,提高对所学应用基本理论分析和解决实际问题的能力,应设计并制作实际的模型实现电子重量测试仪要求的功能,从而达到并熟悉一个产品完整的开发流程和具体内容, 提高实践应用能力。本次课程设计进一步锻炼同学们在微型计算机应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。同学们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。2 系统可行性与需求分析2.1系统设计设计要求(1) 进行功能需求分析,提出多种方案,并确定合理可行的方案;(2) 选择单片机,并设计以单片机为核心的控制模块;(3) 设计控制系统电源模块;(4) 选用显示方案,设计显示系统及键盘电路,完成人机交互界面;(5) 选用合适的传感器,设计采样网络;(7) 设计合适的算法,对采集到的数据进行噪声过滤;(8) 加入调零功能;(9) 校准电子重量测试仪;(10) 控制方案合理、设计图纸及文字资料应规范,结论简练准确,系统应具备便携性性、可靠性和经济性。2.2系统可行性与需求分析电子重量测试仪的计量性能涉及的主要技术指标有:量程、分度值、分度数、准确度等级等。(1) 量程:电子衡器的最大称量Max,即电子重量测试仪在正常工作情况下,所能称量的最大值。(2) 分度值:电子重量测试仪的测量范围被分成若干等份,每份值即为分度值。用e或d来表示。(3) 分度数:衡器的测量范围被分成若干等份,总份数即为分度数用n表示。电子衡器的最大称量Max可以用总分度数n与分度值d的乘积来表示,即Max=nd(4) 准确度等级国际法制计量组织把电子重量测试仪按不同的分度数分成T、II、III、四类等级,分别对应不同准确度的电子重量测试仪和分度数n的范围,如表2-1所示:表2-1 不同准确度的电子重量测试仪和分度数标志及等级电子重量测试仪分类分度数范围特种准确度基准衡器n 100000高准确度精密衡器10000 n100000中准确度商业衡器1000 n10000普通准确度粗衡器100n1000目前,电子重量测试仪在商业贸易中的使用已相当普遍,但存在较大的局限性:体积大、成本高、携带不便、应用场所受到制约。现有的便携秤为杆秤或以弹簧、拉伸变形来实现计量的弹簧秤,居民用户使用的基本是杆秤。弹簧盘秤制造工艺要求较高,弹簧的疲劳问题无法彻底解决,一旦超过弹簧弹性限度,弹簧秤就会产生很大误差,以至损坏,影响到称重的准确性和可靠性,只是一种暂时的代用品,也被列入逐渐取消的行列。微控制器技术、传感器技术的发展和计算机技术的广泛应用,电子产品的更新速度达到了日新月异的地步。本系统在设计过程中,除了能实现系统的基本功能外,还增加了打印和通讯功能,可以实现和其他机器或设备(包括上位PC机和数据存储设备)交换数据,除此之外,系统的微控制器部分选择了兼容性比较好的51系列单片机,在系统更新换代的时候,只需要增加很少的硬件电路,甚至仅仅删改系统控制程序就能够实现。另外由于实际应用当中,称可以有一定量的过载,但不能超出要求的范围,为此还设计了过载提示。这种高精度智能电子重量测试仪体积小、计量准确、携带方便,能够满足商业贸易和居民家庭的使用需求。智能电子秤以具有良好的可靠性、准确性、技术先进性和结构简单等特点,受到广大用户的青睐。在商业活动中用途越来越广,给人们的经济生活带来了便利。本文采用STC89C51单片机计的电子计重秤, 无论是计量精度, 还是稳定性都满足国家对A级电子秤的要求, 它具有较好的标定校准方法, 性能稳定, 操作简单, 价格低廉。该电子秤集传感器技术、微计算机技术、数字显示技术于一体、其反应灵敏、准确度高、显示直观,便于使用。通过硬件的少量扩展和软件的修改, 能设计出性能优越的计价秤、电子台秤等, 满足各行各业对现代电子衡器的需求。另外稍加扩展,该电子秤还可与其它生产质量管理系统项连接,具有推广应用价值。电子秤不仅要向高精度、高可靠方向发展, 而且更需向多种功能的方向发展。据悉, 目前电子秤的附加功能主要有以下几种:(1) 电子秤附加了处理机构计算机信息补偿装置, 可以进行自诊断、自校正和多种补偿计算和处理。(2) 具有皮重、净重显示等特种功能。电子秤有些已具备了动物称量模式, 即通过进行算术平均、积分处理和自动调零等方法, 消除上述的误差。(3) 附加特殊的数据处理功能。目前的电子秤有附加多种计算和数据处理功能, 以满足多种使用的要求。下面就电子秤软件组成部分展望一下它的发展:(1) 智能化:本系统中虽然利用单片软件实现一些简单的功能,我们可以将其与电子计算机组合,开发称重用计算机,利用计算机功能使电子秤具有推理、判断、自诊断、自适应、自组织等功能。(2) 综合性:本系统中虽然利用软件实现称重显示,但远远不够,电子称重技术发展规律就是不断的加强基础扩大应用,扩展新技术领域,向相邻学科和行业渗透,综合各种技术去解决称重计量、自动控制、信息处理,与计算机网络组合可以显示很多商业信息,构成一个完整的综合控制系统。(3) 组合性:未来称重系统会大量应用在工业计量过程和工艺流程中,其要求组合性,即测量范围可以任意设定;硬件能够依据一定的工作条件和环境作某些调整;软件能按一定的程序进行修改和扩展;输入输出数据与指令可以使用不同的语言和条形码,并能与外部的控制和数据处理设备进行通信。3 总体设计3.1总体规划该系统采用应变片式传感器进行测量,得出模拟信号;再进行放大,然后送入单片机进行模数转换处理和数据处理。由传感器模块、主机接口模块、按键与显示模块组成。3.2电子重量测试仪的基本结构电子重量测试仪是利用物体的重力作用来确定物体质量(重量)的测量仪器,也可用来确定与质量相关的其它量大小、参数、或特性。不管根据什么原理制成的电了秤均由以下三部分组成:(1) 承重、传力复位系统它是被称物体与转换元件之间的机械、传力复位系统,又称电子重量测试仪的秤体,一般包括接受被称物体载荷的承载器、秤桥结构、吊挂连接部件和限位减振机构等。(2) 称重传感器即由非电量(质量或重量)转换成电量的转换元件,它是把支承力变换成电的或其它形式的适合于计量求值的信号所用的一种辅助手段。按照称重传感器的结构型式不同,可以分直接位移传感器(电容式、电感式、电位计式、振弦式、空腔谐振器式等)和应变传感器(电阻应变式、卢表面谐振式)或是利用磁弹性、压电和压阻等物理效应的传感器。 对称重传感器的基本要求是:输出电量与输入重量保持单值对应,并有良好的线性关系;有较高的灵敏度;对被称物体的状态的影响要小;能在较差的工作条件下工作;有较好的频响特性;稳定可靠。(3) 测量显示和数据输出的载荷测量装置即处理称重传感器信号的电子线路(包括放人器、模数转换、电流源或电压源、调节器、补尝元件、保护线路等)和指示部件(如显示、打印、数据传输和存贮器件等)。这部分习惯上称载荷测量装置或二次仪表。在数字式的测量电路中,通常包括前置放大、滤滤、运算、变换、计数、寄存、控制和驱动显示等环节。3.3电子重量测试仪的工作原理当被称物体放置在秤体的秤台上时,其重量便通过秤体传递到称重传感器,传感器随之产生力一电效应,将物体的重量转换成与被称物体重量成一定函数关系(一般成正比关系)的电信号(电压或电流等)。此信号由放大电路进行放大、经滤波后再由模数( A/D)器进行转换,数字信号再送到微处器的CPU处理,CPU不断扫描键盘和各功能开关,根据键盘输入内容和各种功能开关的状态进行必要的判断、分析、由仪表的软件来控制各种运算。运算结果送到内存贮器,需要显示时,CPU发出指令,从内存贮器中读出送到显示器显示,或送打印机打印。一般地信号的放大、滤波、A/D转换以及信号各种运算处理都在仪表中完成。4 详细设计按照本设计功能的要求,系统由5个部分组成:控制器部分、测量部分、数据显示部分、键盘部分、和电路电源部分,系统设计总体方案框图如图4-1所示。图4-1设计思路框图测量部分是利用称重传感器检测压力信号,得到微弱的电信号(本设计为电压信号),而后经处理电路(如滤波电路,差动放大电路,)处理后,送单片机中的A/D转换器,将模拟量转化为数字量输出,控制器接受来自A/D转换器输出的数字信号,经过复杂的运算,将数宁信号转换为物体的实际重量信号,并将其送到显示单元中。4.1控制器部分本设计由于要求必须使用单片机作为系统的主控制器,而且以单片机为主控制器的设计,可以容易地将计算机技术和测量控制技术结合在一起,组成新型的只需要改变软件程序就可以更新换代的“智能化测量控制系统”。这种新型的智能仪表在测量过程自动化、测量结果的数据处理以及功能的多样化方面,都取得了巨大的进展。再则由于系统没有其它高标准的要求,又考虑到本设计中程序部分比较大,根据总体方案设计的分析,设计这样一个简单的的系统,可以选用带A/D转换器的单片机,由于应用程序不大,应用程序直接存储存片内,不用在外部扩展存储器,这样电路也可简化。STC公司的12系列的单片机都可使用,在这里选用STC生产的STC89C51单片机。STC89C51与MCS-51相比有如下优势:第一, 指令集与MCS-51系列单片机完全兼容。第二, 片内存储器采用闪速存储器,并且支持SPI-ISP在线编程,使程序写入更加方便,提高了调试效率,缩短了开发周期。第三, 提供了更小尺寸的芯片,使整个硬件电路体积更小。此外价格低廉、性能比较稳定的MPU,具有64K8ROM、1RAM、2个16位定时计数器、5个8位I/O接口。这些配置能够很好地实现本仪器的测量和控制要求。第四, 单指令周期,运行速度高。第五, 自带上电复位电路,可减低单片机外围电路的复杂程度。第六, 内置8路10位高速A/D转换,转换速度25万次/秒。经过放大电路的信号是模拟信号即模拟量,需要把它变成数字量才能送入单片机控制系统受理,所以需要有A/D转换电路。考虑到其他部分所带来的干扰 ,8位 A/D 无法满足系统精度要求。作为一般小商品称重需求,我们只需要选择10位的A/D转换器就可以了。 最后我选择了STC89C51这个比较常用的单片机来实现系统的功能要求。STC89C51内部带有60KB的程序存储器,并且带有8路10位精度的A/D转换器,基本上已经能够满足我们的需要。STC89C51单片机的引脚图如图4-2所示。图4-2 STC89C51单片机的引脚图4.2数据采集部分电子重量测试仪的数据采集部分主要包括称重传感器、处理电路电路,因此对于这部分的论证主要分两方面。4.2.1传感器的选择在设计中,传感器是一个十分重要的元件,因此对传感器的选择也显的特别的重要,不仅要注意其量程和参数,还有考虑到与其相配置的各种电路的设计的难以程度和设计性价比等等。传感器量程的选择可依据秤的最大称量值、选用传感器的个数、秤体的自重、可能产生的最人偏载及动载等因素综合评价来确定。一般来说,传感器的量程越接近分配到每个传感器的载荷,其称量的准确度就越高。但在实际使用时,由于加在传感器上的载荷除被称物体外,还存在秤体自重、皮重、偏载及振动冲击等载荷,因此选用传感器量程时,要考虑诸多方面的因素,保证传感器的安全和寿命。传感器量程的计算公式是在充分考虑到影响秤体的各个因素后,经过大量的实验而确定的。本设计要求称重范围0-600g,重量误差不大于0.1kg。为保证电子重量测试仪称量结果的准确度,克服传感器在低量程段线性度差的缺点。传感器的量程应根据皮带秤的最大流量来选择。在实际工作中,要求称重传感器的有效量程在20%80%之间线性好,精度高。重量误差应控制存0.OIKg,又考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,根据设计需要,确定传感器的额定载荷为1Kg,允许过载为150%F.S,精度为0.05%,最大量程时误差0.1kg,可以满足本系统的精度要求。综合考虑,本设计采用SP20C-G501电阻应变式传感器,其最人量程为1Kg.称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。由于惠斯登电桥具诸如抑制温度变化的影响,抑制干扰,补偿方便等优点,所以该传感器测量精度高、温度特性好、工作稳定等优点,广泛用于各种结构的动、静态测量及各种电子秆的一次仪表。该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图4-3所示。图4-3 称重传感器原理图本设计的测量电路采用最常见的桥式测量电路,用到的是电阻应变传感器半桥式测量电路。它的两只应变片和两只电阻贴在弹性梁上,测量电阻随重力变化导致弹性梁应变而产生的变化。其测量原理:用应变片测量时,将其粘贴在弹性体上。当弹性体受力变形时,应变片的敏感栅也随同变形,其电阻值发生相应变化,通过转换电路转换为电压或电流的变化。由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由公式(4-1)给出。 (4-1)上式说明电桥的输出电压V和四个桥臂的应变片感受的应变量的代数和成正比。4.2.2放大电路选择 称重传感器输出电压振幅范围020mV。而A/D转换的输入电压要求为02V,因此放大环节要有100倍左右的增益。对放大环节的要求是增益可调的(70150倍),根据本设计的实际情况增益设为100倍即可,零点和增益的温度漂移和时间漂移极小。按照输入电压20mV,分辨率20000码的情况,漂移要小于1旧。由于其具有极低的失调电压的温漂和时漂(lI.LV),从而保证了放大环节对零点漂移的要求。残余的一点漂移依靠软件的自动零点跟踪来彻底解决。稳定的增益量可以保证其负反馈回路的稳定性,并且最好选用高阻值的电阻和多圈电位器。由称重传感器的称量原理可知,电阻应变片组成的传感器是把机械应变转换成R/R,而应变电阻的变化一般都很微小,例如传感器的应变片电阻值120,灵敏系数K=2,弹性体存额定载荷作用下产生的应变为l000,应变电阻相对变化量由公式(4-2)给出。 R/R=K=2100010-6 =0. 002 (4-2)由上式可以看出电阻变化只有0.24,其电阻变化率只有0.2%。这样小的电阻变化既难以直接精确测量,又不便直接处理。因此,必须采用转换电路,把应变计的R/R变化转换成电压或电流变化,但是这个电压或电流信号很小,需要增加增益放大电路来把这个电压或电流信号转换成可以被A/D转换器接收的信号。在前级处理电路部分,我们考虑可以采用以下几种方案:方案一:利用普通低温漂运算放大器构成前级处理电路;普通低温漂运算放大器构成多级放大器会引入大量噪声。由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。所以,此种方案不宜采用。方案二:主要由高精度低漂移运算放大器构成差动放大器,而构成的前级处理电路;差动放人器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器。一般说来,集成化仪用放大器具有很高的共模抑制比和输入阻抗,因而在传统的电路设计中都是把集成化仪器放人器作为前置放人器。然而,绝人多数的集成化仪器放大器,特别是集成化仪器放大器,它们的共模抑制比与增益相关:增益越高,共模抑制比越大。而集成化仪器放大器作为心电前置放大器时,由于极化电压的存在,前置放大器的增益只能在几十倍以内,这就使得集成化仪器放大器作为前置放大器时的共模抑制比不可能很高。有同学试图在前置放大器的输入端加上隔直电容(高通网络)来避免极化电压使高增益的前置放大器进入饱和状态,但由于信号源的内阻高,且两输入端不平衡,隔直电容(高通网络)使等共模干扰转变为差模干扰,结果适得其反,严重地损害了放人器的性能。 为了实现信号的放人,其设计电路如图4-4所示。图4-4 利用高精度低漂移运放设计的差动放大器1 前级采用运放Al和A2组成并联型差动放大器。理论上不难证明,存运算放大器为理想的情况下,并联型差动放人器的输入阻抗为无穷人,共模抑制比也为无穷人。更值得一提的是,在理论上并联型差动放人器的共模抑制比与电路的外围电阻的精度和阻值无关。2 阻容耦合电路放存由并联型差动放大器构成的前级放大器和由仪器放大器构成的后级放大器之间,这样可为后级仪器放大器提高增益,进而提高电路的共模抑制比提供了条件。同时,南于前置放大器的输出阻抗很低,同时又采用共模驱动技术,避免了阻容耦合电路中的阻、容元件参数不对称(匹配)导致的共模干扰转换成差模干扰的情况发生。3 后级电路采用廉价的仪器放大器,将双端信号转换为单端信号输出。由于阻容耦合电路的隔直作用,后级的仪器放大器可以做到很高的增益,进而得到很高的共模抑制比。4.3 硬件设计4.3.1主控制器电路主控制器是STC89C51单片机,其外围电路简单,只需要加上晶振电路和电源就可以工作。主控制器电路如图4-5所示。图4-5 主控制系统4.3.2 传感器放大电路传感器放大电路由两级组成,前级由两个同相比例运算电路组成,后级是一个差动比例运算电路。传感器信号首先进过前级进行初步放大,接着进入后级。由于前级的对称性直接影响后级的共模抑制比,考虑到元件阻值的误差,R2,R4选用多圈精密可调电阻。为了提高后级对共模信号的抑制,反馈电阻R3也采用精密多圈可调电阻。传感器放大电路如图4-6所示。图4-6 传感器放大电路4.3.3 显示电路1602液晶模块的引脚连线如图4-7。其中,第1、2脚为液晶的驱动电源;第三脚VL为液晶的对比度调节,通过在VCC和GND之间接一个10K多圈可调电阻,中间抽头接VL,可实现液晶对比度的调节;液晶的控制线RS、R/W、E分别接单片机的P0.5、P0.6、P0.7;数据口接在单片机的P2口;BL+、BL-为液晶背光电源。图4-7 1602液晶模块的接线图1602液晶模块的初始化过程:延迟15ms写指令38H(不检测忙信号)延迟5ms写指令38H(不检测忙信号)延迟5ms写指令38H(不检测忙信号)(以后每次写指令、读/写数据操作之前均需检测忙信号)写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置1602液晶模块的读操作时序如图4-8所示。图4-8 1602液晶模块的读操作时序1602液晶模块的写操作时序如图4-9所示。图4-9 1602液晶模块的写操作时序4.4软件设计4.4.1系统应用程序组成本设计采用C语言编程,编译环境为keil UV3。keil c51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统,和汇编相比,C 在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil c51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51 可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件,然后分别有C51 及A51 编辑器编译连接生成单片机可执行的二进制文件(.HEX),然后通过单片机的烧写软件将HEX 文件烧入单片机内。软件主要三个方面:一是初始化系统;二是按键检测;三是数据采集、数据处理并进行显示。这三个方面的操作分别在主程序中来进行。程序采用模块化的结构,这样程序结构清楚,易编程和易读性好,也便于调试和修改。程序结构如图4-10所示。图4-10 程序结构4.4.2 主程序流程图系统程序固化在STC89C51内部的flash存储器中,分为主程序和若干子程序。主程序的功能是系统初始化,管理和调用各个子程序。本设计的程序流程图如图4-11所示。图4-11 程序流程图4.4.3 AD采样程序块本文设计的STC89C51片内AD程序如下:#include config.h/- / SPEED1 SPEED0 A/D转换/所需时间#define AD_SPEED 0x60 / 0110,0000 1 1 90 个时钟周期转换一次, / CPU工作频率21MHz时 A/D转换速度约 300KHz/#define AD_SPEED 0x40 /0100,0000 1 0 140 个时钟周期转换一次/#define AD_SPEED 0x20 /0010,0000 0 1 280 个时钟周期转换一次/#define AD_SPEED 0x00 /0000,0000 0 0 420 个时钟周期转换一次/-unsigned int get_AD_result(unsigned char channel) unsigned char AD_finished=0; /存储 A/D 转换标志 ADC_RES = 0; /A/D 转换结果高8位 ADC_RESL = 0; /A/D 转换结果低2位 channel &= 0x07; /0000,0111 清0高5位 ADC_CONTR = AD_SPEED; _nop_();ADC_CONTR|=0xE0; /1110,0000清ADC_FLAG,ADC_START位和低三位 ADC_CONTR |= channel; /选择 A/D 当前通道 _nop_(); ADC_CONTR |= 0x80; /启动 A/D 电源 delay(1); /使输入电压达到稳定 ADC_CONTR |= 0x08; /0000,1000 令 ADCS = 1, 启动A/D转换 AD_finished = 0; while (AD_finished = 0 ) /等待A/D转换结束 AD_finished = (ADC_CONTR & 0x10);/0001,0000 测试A/D转换结束否 ADC_CONTR &= 0xE7; /1111,0111 清 ADC_FLAG 位, 关闭A/D转换 return (ADC_RES2|ADC_RESL); /返回转换后的结果4.4.4 液晶显示程序块本文设计的1602液晶操作程序如下:/* 函 数 名:WriteDataLCD() 功 能:向1602写数据入口参数:WDLCD 返 回 值:无 */void WriteDataLCD(unsigned char WDLCD)ReadStatusLCD(); /检测忙LCD_Data = WDLCD;LCD_RS = 1;LCD_RW = 0;LCD_E = 0; /若晶振速度太高可以在这后加小的延时LCD_E = 0;LCD_E = 0; /延时LCD_E = 1;/* 函 数 名:WriteCommandLCD() 功 能:向1602写指令入口参数:WDLCD,BuysC 返 回 值:无 */void WriteCommandLCD(unsigned char WCLCD,BuysC)/BuysC为0时忽略忙检/测if (BuysC) ReadStatusLCD(); /根据需要检测忙LCD_Data = WCLCD;LCD_RS = 0;LCD_RW = 0; LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1; /* 函 数 名:ReadDataLCD() 功 能:从1602读数据入口参数:无 返 回 值:LCD_Data */unsigned char ReadDataLCD(void)LCD_RS = 1; LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;return(LCD_Data);/* 函 数 名:ReadStatusLCD() 功 能:读取1602状态 说 明:如果为忙,则一直等到非忙为止 入口参数:无 返 回 值:LCD_Data */unsigned char ReadStatusLCD(void)LCD_Data = 0xFF; LCD_RS = 0;LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;delay_18B20(200); /Delay5Ms(); /检测忙信号 proteus仿真时,延迟5MS,关闭while循环while (LCD_Data&Busy) /硬件使用时,不延迟,打开while循环return(LCD_Data);/* 函 数 名:LCDInit() 功 能:1602初始化入口参数:无 返 回 值:无 */void LCDInit(void)LCD_Data = 0;WriteCommandLCD(0x38,0); /三次显示模式设置,不检测忙信号Delay5Ms(); WriteCommandLCD(0x38,0);Delay5Ms(); WriteCommandLCD(0x38,0);Delay5Ms(); WriteCommandLCD(0x38,1); /显示模式设置,开始要求每次检测忙信号WriteCommandLCD(0x08,1); /关闭显示WriteCommandLCD(0x01,1); /显示清屏WriteCommandLCD(0x06,1); / 显示光标移动设置WriteCommandLCD(0x0C,1); / 显示开及光标设置/* 函 数 名:DisplayOneChar() 功 能:按指定位置在1602显示一个字符 说 明:X为列,Y为行,DData为字符 入口参数:X,Y,DData 返 回 值:无 */按指定位置显示一个字符void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)Y &= 0x1;X &= 0xF; /限制X不能大于15,Y不能大于1if (Y) X |= 0x40; /当要显示第二行时地址码+0x40;X |= 0x80; /算出指令码WriteCommandLCD(X, 0); /这里不检测忙信号,发送地址码WriteDataLCD(DData);/* 函 数 名:DisplayListChar() 功 能:按指定位置在1602显示一串字符 说 明:X为列,Y为行,*DData为字符串 入口参数:X,Y,DData 返 回 值:无 */void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)unsigned char ListLength;ListLeng
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45572-2025航空航天用带肋十字槽
- 材料力学与智能材料性能评估重点基础知识点
- 材料疲劳断裂机理误差分析重点基础知识点
- 火灾风险应急预案演练记录(3篇)
- 行政法学的现实意义探讨试题及答案
- 风险管理在项目中的应用试题及答案
- 战略管理中的团队合作试题及答案
- 行政法学学术研究试题与答案分享
- 2025年软件水平考试试题及答案的更新
- 2025年编程与科技的融合发展趋势试题及答案
- 一二年级诗词大赛备考试题库500题(供参考)
- 食堂库存物的盘点表
- 单位闲置房屋盘活方案范本
- 美妙的高等数学(上)智慧树知到课后章节答案2023年下江西师范大学
- 新员工入职报到通知书
- 2018年版电工-国家职业技能标准
- 浅谈如何做好财务安全工作
- 电动车分期付款的合同范本
- 高中英语-Live form the Louvre教学设计学情分析教材分析课后反思
- 2023北京高考英语答题卡ok
- 医务科运用PDCA循环提高门诊医生准时出诊率PDCA成果汇报
评论
0/150
提交评论