您好,欢迎来到99网。
搜索
您的当前位置:首页基于CS5532的高精度药品自动称重系统论文

基于CS5532的高精度药品自动称重系统论文

来源:99网


密 级 学 号

毕 业 设 计(论 文)

基于CS5532的高精度药品 自动称重系统的研究

院(系、部): 姓 名: 年 级: 专 业: 指导教师: 教师职称:

信息工程学院

测控技术与仪器

讲师

2013年 06月15日·北京

北 京 石 油 化 工 学 院

毕 业 设 计 (论 文) 任 务 书

学院(系、部) 信息工程学院 专业 班级 学生姓名 指导教师/职称

1.毕业设计(论文)题目

基于CS5532的高精度药品自动称重系统的研究

2.任务起止日期: 2012年 12 月 12日 至 2013年 06 月 22 日(含岗位实习)

3.毕业设计(论文)的主要内容与要求(含原始数据及应提交的成果)

具体工作任务与要求:

翻译外文资料(不少于25000字符) 技术调研

提出高精度药品自动称重系统方案 确定控制系统硬件总体方案及实现 确定控制系统软件方案及实现

预期培养目标:

具备文献查阅与综合能力 具备外文阅读与翻译能力

具备数据收集、分析、计算和处理能力 具备项目调研、设计及调试能力 具备现场解决问题的能力 具备一定的科技论文写作能力

最终提交材料:

外文资料原文(不少于25000字符)及翻译稿 设计说明书

系统硬件原理图

系统软件流程图及代码

4.主要参考文献

图书馆藏嵌入式相关图书;

cnki中国期刊全文数据库及万方数据库;

5.进度计划及指导安排(前5周的内容安排在寒假前)

周 日 期 次 1 2 3 4 5 6 7 8 9 10 工 作 内 容 熟悉题目、查阅文献资料 具 体 要 求 熟悉题目、查阅文献资料 翻译本专业原文资料、方案论证 翻译本专业原文资料、方案论证、开题 交译文/开题报告 系统硬件方案设计 交硬件配置图 系统硬件方案设计 交逻辑描述图 系统硬件原理图设计 交I/O表格及画面 系统硬件PCB设计 系统硬件PCB设计 系统软件设计

11 12 13 14 15 16 17 18 系统软件设计 系统软件设计 注:要求部分软件编制。只交流程图 系统软件设计 整理软硬件资料编写论文 整理软硬件资料编写论文 整理软硬件资料编写论文 整理软硬件资料编写论文 毕业答辩 交论文

任务书审定日期 年 月 日 系(教研室)主任(签字) 任务书批准日期 年 月 日 教学院(系、部)院长(签字) 任务书下达日期2012年12月12日 指导教师(签字)

计划完成任务日期2013年06月22日 学生(签字)

基于CS5532的高精度药品自动称重系统的研究

摘 要

随着计算机和测控技术的不断进步与发展,人们对称重系统的要求也越来越高,药品的包装现场,需要精确、操作简便和快速的称重装置。本论文采用电阻应变片式压力传感器,被待测物施加了一个压力,导致传感器发生一定形变,从而使传感器阻抗产生改变,并使其电压产生改变,输出一个变化的模拟信号。经放大电路放大该信号输出到CS5532(高精度24位A/D转换芯片,可实现传感器微弱信号的采集与转换,提高了系统的精度)将其转换成数字信号输出到核心控制器80C52。80C52根据发出的命令或者程序将运算结果输出,应用于实际产品中,提高了工作效率,体现了良好的技术效果,实现了药品的精准测量,具有良好的应用前景。 关键词 CS5532 电子称 80C52 自动称重

I

基于CS5532的高精度药品自动称重系统的研究

Abstract

With the computer and control technology continues to progress and development,people weighing system requirement are also increasing,pharmaceutical packaging site,you need accurate,easy to operate and fast weighing device,In this thesis,the resistance strain gauge pressure sensor is a pressure test was applies,resulting in occurrence of a deformation sensor,the sensor impedance is generated so that changes and to generate change in voltage,a change in the output analog signal.the amplifier circuit amplifie the signal output to the CS5533(precision 24 A/D conversion chip,enabling the sensor weak signal acquisition and conversion,improve the accuracy of the system) to convert it into a digital dignal to the central controller 80C52.80C52according to the program issued a command or operation result output applied the actual products,improve work efficiency,reflecting the good technical results,to achieve a precise measurement of drugs,has a good application prospect.

Keywords:CS5532 80C52 automatic weighing electronic scales

II

基于CS5532的高精度药品自动称重系统的研究

目 录

第一章 绪论 ......................................................... 1 1.1自动称重系统的研究背景 ........................................... 1

1.1.1称重系统的现状及发展 ........................................... 1 1.1.2传感器技术的现状及发展 ......................................... 2 1.1.3 压力传感器的历程及发展趋势 ..................................... 3

1.2 本文研究的意义 .................................................. 6 1.3本文研究的内容及工作安排 ......................................... 6 第二章 CS5532高精度药品自动称重系统的总体方案设计 .................... 8 2.1 总体结构设计 .................................................... 8 2.2 设计方案实施 .................................................... 8

2.2.1 设计方案的结构 ................................................ 8 2.2.2 传感器选型 ................................................... 9 2.2.3 单片机选型 .................................................. 10

第三章 系统装置设计及硬件配置 ...................................... 12 3.1 电阻应变片式压力传感器 ........................................ 12

3.1.1 传感器的工作原理 ............................................. 12 3.1.2 传感器的硬件配置 ............................................. 17

3.2 LM324变送电路 .................................................. 18

3.2.1 LM324原理介绍 ............................................... 18

3.2.2硬件配置 ................................................... 18 3.2 CS5532原理综述 ................................................ 19

3.2.1 CS5532工作原理 .............................................. 19 3.2.2 CS5532的硬件配置及说明 ....................................... 26

3.3 单片机80C52的综述 ............................................ 28

3.3.1 80C52最小系统原理 ........................................... 28 3.3.2 硬件配置 ................................................... 29

3.4 LED显示模块 ................................................... 32

3.4.1 LED显示模块原理 ............................................. 32 3.4.2 硬件配置 ................................................... 33

III

基于CS5532的高精度药品自动称重系统的研究

3.5 protel说明及总体硬件配置图 .................................... 34

3.5.1 protel软件说明 .............................................. 34 3.5.2 总体硬件配置图 .............................................. 35

第四章Keil软件介绍及程序流程设计 ................................... 37 4.1 Keil软件介绍 ................................................... 37 4.2 主程序流程图 ................................................... 37 4.3 CS5532初始化程序设计 ........................................... 38 4.4 CS5532A/D转换部分程序设计 ...................................... 41 4.5数码管显示部分程序设计 .......................................... 43 第五章 结论与展望 ................................................... 44 5.1 研究结论 ....................................................... 44 5.2 进一步研究的展望 ............................................... 44 参考文献 ............................................................ 45 致谢 ................................................................ 47 附录 ................................................................ 48 声明 ................................................................ 58

IV

基于CS5532的高精度药品自动称重系统的研究

第一章 绪论

1.1自动称重系统的研究背景

1.1.1称重系统的现状及发展

随着科学技术的日新月异,自动化程度要求越来越高。目前衡器行业计量系统有电子地磅,电子秤,皮带秤,电子天平等计量方式。这些单一计量方式运行缺乏数据共享不能满足自动化的发展。非标称重系统利用计算机网络技术和自动化技术将这些单一计量方式进行远程传输

数据集中汇聚对生产过程进行集中监

视、管理和分散控制充分吸收了分散式控制系统和集中控制系统的优点采用标准化、模块化、系统化设计配置灵活、组态方便。下面为大家介绍目前市场主流的非标称重系统有配料称重系统,装载机称重系统,蒸汽称重系统无人值守称重系统等等个性化称重系统[7]。

配料称重系统是通过传感器,仪表,控制系统的结合.达到对罐体的称重计量工作,从而进行控制的系统.称重及控制系统主要由多只传感器,多路接线盒(含放大器),显示仪表,输出多程控制信号.该系统可应用于各种箱体称重,罐装液体,固体称重及干粉搅拌机,砂浆配料搅拌机,液体配料罐等.用户可以直接接入PLC系统,终端控制系统,实现多程控制及自动化控制。

装载机称重系统是一种高精密度的动态计量设备;可称量煤或焦碳、有色矿、土方、花岗岩或大理石、砂子、碎石砖、工业及民用垃圾,挖掘材数及建筑材料添加料等。由液压传感器和称重仪表组成,全动态计量,操作过程无需人工干预,自动累计,称重仪表可调为全中文信息如计量单位、过磅员、货物品种等,并可直接打印,精度误差可控制在1%,无论进口、国产各种型号的装载机均可装载安装。 蒸汽环形迷宫式称重系统、天平开合装置、直线升降及定角度旋转装置,既能适应不同的测试条件,又能实现自动称重,保证称重精度。同时,为了提高测试条件的可控性,项目研发了高精度温湿度控制系统,能够精确控制蒸发环境。 无人值守称重系统是集远距离车号自动识别系统、自动语音指挥系统、称重图像即时抓拍系、红绿灯控制系统、红外防系统、道闸控制系统、远程监管系统于一身的智能称重系统。就目前市场而言,各个行业对于称重系统的要求越来越个性化,企业也在不断发展新技术来迎合整个市场需求,非标称重系统在衡器行业发展前景势

1

基于CS5532的高精度药品自动称重系统的研究

不可挡称重技术在人类社会各行业活动中是不可缺少的组成部分,近年来的发展取得相当惊人的紧张,主要表现在称重测量技术有静态测量向动态测量,在线测量和模拟化方向发展,尤其在动态数学模型的建立,系统理论,模糊理论,人工智能,神经网络,数字滤波,振动理论,阻尼技术等科学技术在称重领域的广泛应用,系统的自诊断,自适应及功能自组织的形成,使称重计量向测量系统的信息处理智能化,组合化和功能自适应方向发展,国际上已经取得了动态精密测量的技术突破,称重技术水平已跨入了高技术王国。

1.1.2传感器技术的现状及发展

随着科技的发展传感器技术不断成熟,作为各种信息的感知、采集、转换、传输和处理的功能器件,传感器是实现现代化测量和自动控制(包括遥感、遥测、遥控)的主要环节,是现代信息产业的源头,又是信息社会赖以存在和发展的物质与技术基础。传感器技术将是21世纪人们在高新技术展方面争夺的一个制高点。在国外,各发达国家都将传感器技术视为现代高新技术的关键。从20世纪80年代起,日本就将传感器技术列为优先发展的高新技术之首,将开发和利用传感器技术列为国家重点发展的六大核心技术之一。90年代,日本科学技术制定的重点科研项目中有70个重点课题,其中有1是与传感器技术密切相关。美国等西方国家也将此技术列为国家科技和国防技术发展的重点内容。美国早在80年代初就成立了国家技术小组(BTG),帮助组织和领导各大公司与国家企事业部门的传感器技术开发工作。美国国家长期安全和经济繁荣至关重要的22项技术中有6项与传感器信息处理技术直接相关。美国空军2000年举出15项有助于提高21世纪空军能力的关键技术,传感器技术名列第二。我国在20世纪80年代以来也已将传感器技术列入国家高新技术发展的重点。“八五”、“九五”期间,信息电子部、机械工业部等有关传感器产业的相关专业部门,都分别组织有关科研和生产的专家制订我国“传感器产业发展规划”[1]。

目前传感器的发展趋势可概括为以下几个方面: 一、 集成多功能化:

1. 把信息获取、放大、变换、传输以及信息处理和存储都制作在同一基片上,不

2

基于CS5532的高精度药品自动称重系统的研究

仅具有检测功能,而且还兼有信号处理等其他功能。

2. 把一些同样的单个传感器配置于同一个平面上,如将一些传感器配置成矩阵,称为二维传感器。 二、 智能化:

传感器本身具有过程数据处理、自诊断能力、组态能力、存储功能、数字通信和自适应功能。 三、 微型化:

微机械加工技术(MEMT)和微米/纳米技术将得到高速发展,为传感器的制作工艺提供了支持。采用MEMT制作的微传感器,具有划时代的微小体积、低成本、高可靠等独特的优点。 四、 精密化:

由于各种基础理论的发展和制造工艺的提高,传感器测量的精度和灵敏度得到了很大提高。

1.1.3 压力传感器的历程及发展趋势

现代压力传感器以半导体传感器的发明为标志,而半导体传感器的发展可以分为四个阶段:

(1)发明阶段(1945-1960年):这个阶段主要是以1947年双极性晶体管的发明为标志。此后, 半导体材料的这一特性得到较广泛应用。史密斯(C.S.Smith)与1945发现了硅与锗的压阻效应[2],即当有外力作用于半导体材料时,其电阻将明显发生变化。依据此原理制成的压力传感器是把应变电阻片粘在金属薄膜上,即将力信号转化为电信号进行测量。此阶段最小尺寸大约为1cm。

(2)技术发展阶段(1960-1970年):随着硅扩散技术的发展,技术人员在硅的(001)或(110)晶面选择合适的晶向直接把应变电阻扩散在晶面上,然后在背面加工成凹形,形成较薄的硅弹性膜片,称为硅杯。这种形式的硅杯传感器具有体积小、重量轻、灵敏度高、稳定性好、成本低、便于集成化的优点,实现了金属-硅共晶体,为商业化发展提供了可能。

(3)商业化集成加工阶段(1970-1980年):在硅杯扩散理论的基础上应用了硅的各向异性的腐蚀

技术,扩散硅传感器其加工工艺以硅的各项异性腐蚀技术为主,发展成为可以自动控

3

基于CS5532的高精度药品自动称重系统的研究

制硅膜厚度的硅各向异性加工技术,主要有V形槽法、浓硼自动中止法、阳极氧化法自动中止法和微机控制自动中止法。由于可以在多个表面同时进行腐蚀,数千个硅压力膜可以同时生产,实现了集成化的工厂加工模式,成本进一步降低。 (4)微机械加工阶段(1980年-今):上世纪末出现的纳米技术,使得微机械加工工艺成为可能。通过微机械加工工艺可以由计算机控制加工出结构型的压力传感器,其线度可以控制在微米级范围内。利用这一技术可以加工、蚀刻微米级的沟、条、膜,使得压力传感器进入了微米阶段。

从世界范围看压力传感器的发展动向主要有以下几个方向。 1光纤压力传感器

这是一类研究成果较多的传感器,但投入实际领域的并不是太多。它的工作原理是利用敏感元件受压力作用时的形变与反射光强度相关的特性,由硅框和金铬薄膜组成的膜片结构中间夹了一个硅光纤挡板,在有压力的情况下,光线通过挡板的过程中会发生强度的改变,通过检测这个微小的改变量,我们就能测得压力的大小。这种敏感元件已被应用与临床医学,用来测扩张冠状动脉导管气球内的压力。可预见这种压力传感器在显微外科方面一定会有良好的发展前景。同时,在加工与健康保健方面,光纤传感器也在快速发展。 2 电容式真空压力传感器

E+H公司的电容式压力传感器是由一块基片和厚度为0.8~2.8mm的氧化铝(Al2O3)构成,其间用一个自熔焊接圆环钎焊在一起。该环具有隔离作用,不需要温度补偿,可以保持长期测量的可靠性和持久的精度。测量方法采用电容原理,基片上一电容CP位于位移最大的膜片的,而另一参考电容CR位于膜片的边缘,由于边缘很难产生位移,电容值不发生变化,CP的变化则与施加的压力变化有关,膜片的位移和压力之间的关系是线性的。遇到过载时,膜片贴在基片上不会被破坏,无负载时会立刻返回原位无任何滞后,过载量可以达到100%,即使是破坏也不会泄漏任何污染介质。因此具有广泛的应用前景。 3 耐高温压力传感器

新型半导体材料碳化硅(SiC)的出现使得单晶体的高温传感器的制作成为可能。这种传感器的主要优点是PN结泄漏电流很小,没有热匹配问题以及升温

不产生塑性变型,可以批量加工。Ziermann,Rene报导了使用单晶体n型β-SiC材料

4

基于CS5532的高精度药品自动称重系统的研究

制成的压力传感器,这种压力传感器工作温度可达573K,耐辐射。在室温下,此压力传感器的灵敏度为20.2muV/VKPa。 .4 硅微机械加工传感器

在微机械加工技术逐渐完善的今天,硅微机械传感器在汽车工业中的应用越来越多。而随着微机械传感器的体积越来越小,线度可以达到1~2mm,可以放置在人体的重要器官中进行数据的采集。 5 具有自测试功能的压力传感器

为了降低调试与运行成本一种具有自测试功能的压阻、电容双元件传

感器,它的自测试功能是根据热驱动原理进行的,该传感器尺寸为1.2mm×3mm×0.5mm,适用于生物医学领域。 6 力传感器

六维力传感器的研究和应用是力传感器研究的热点,现在国际上只有美、日等少数国家可以生产。在我国北京理工大学在跟踪国外发展的基础上,又开创性的研制出组合有压电层的柔软光学阵列触觉,阵列密度为2438tactels/cm2,力灵敏1g,结构柔性很好,能抓握和识别鸡蛋和钢球,现已用于机器人分选物品。

压力传感器的发展趋势

当今世界各国压力传感器的研究领域十分广泛,几乎渗透到了各行各业,但归纳起来主要有以下几个趋势[14]:

(1)小型化 目前市场对小型压力传感器的需求越来越大,这种小型传感器可以工作在极端恶劣的环境下,并且只需要很少的保养和维护,对周围的环境影响也很小,可以放置在人体的各个重要器官中收集资料,不影响人的正常生活。

(2)集成化 压力传感器已经越来越多的与其它测量用传感器集成以形成测量和控制系统。集成系统在过程控制和工厂自动化中可提高操作速度和效率。

(3)智能化 由于集成化的出现,在集成电路中可添加一些微处理器,使得传感器具有自动补偿、通讯、自诊断、逻辑判断等功能。

(4)广泛化 压力传感器的另一个发展趋势是正从机械行业向其它领域扩展,例如:汽车元件、医疗仪器和能源环境控制系统。

(5)标准化 传感器的设计与制造已经形成了一定的行业标准。如ISO国际质量体系;美国的AN-SI、ASTM标准、俄罗斯的ГOCT、日本的JIS标准

5

基于CS5532的高精度药品自动称重系统的研究

1.2 本文研究的意义

随着药品单元生产的批量化和质量要求的提高关于药品重量具有重要的经济意义和社会意义如何设计符合现代药品生产质量和效率要求的称重检测系统就成了一个亟待解决的问题。目前药品的成品单元主要分为片剂、丸剂和胶囊等几种,而其中胶囊的应用最为广泛。但是,目前的国内药品生产系统中,对成品胶囊的精确称重处于空白,开展关于微量称重系统的研发,现有的药品称重检测设备存在的主要问题是提供了功能模块,但不能实现整体的药品称重检测过程,机械结构对不利于药品单元的总质量情况为标准,因此不能精确测量药品单元的最小单位,造成不合格率的升高。利用重传感器对单个药品单元进行测量,克服了批量药品测量过程中出现的药品剂量不均问题,从而为微量药品检测工作提供了一种切实可行的方法。

CS5532由于其功耗低、面积小、精度高、抗干扰能力强等优点,非常适合应用于小剂量电子秤当中。CS5532内部有一个完整的自校正系统,可进行自校准和系统校准,可消除A/D本身的零点增益和漂移误差,以及系统通道的失调和增益误差。宽动态特性、可编程输出速率、灵活的供电方式及简便的三线串行输出模式,使得该A/D转换器极易和单片机接口,广泛适用于工业过程控制、称重仪器、便携式仪表及其它高分辨率测量等场合。

1.3本文研究的内容及工作安排

本论文主要研究了基于CS5532的高精度药品自动称重系统的研究,详细介绍了电阻应变片式压力传感器的电桥原理,工作原理。CS5532的基本结构及其工作原理。单片机80C51的工作原理。设计传感器,CS5532,80C52,数码管显示部分连接图,及其汇编程序的编写。

文论的结构安排如下:

第一章 绪论 介绍了选题的自重称重系统研究背景,研究意义.

第二章 总体方案设计 包括方案总体结构及方案实施,传感器及单片机选型 第三章 系统硬件设计 介绍Protel软件;传感器、变送电路、CS5532、80C52、

数码管显示部分的原理介绍及硬件配置;绘制原理图、PCB板;实物连接。

6

基于CS5532的高精度药品自动称重系统的研究

第四章 Keil软件介绍及程序设计 介绍Keil软件;主流程、CS5532初始化,

A/D转部分、数码管显示部分的流程图绘制及程序设计;进行仿真。

第五章 结论与展望 总结本论文结论,给出展望。 附有参考文件,总程序,致谢,声明。

7

基于CS5532的高精度药品自动称重系统的研究

第二章 CS5532高精度药品自动称重系统的总体方案设计

2.1 总体结构设计

本课题是设计基于CS5532的高精度自动称重药品的研究,包括对传感器,CS5532,单片机,数码管显示,四个方面的技术研究,因此本次研究中的软硬件设计应至少包括以上四个方面,药品问题的高精度测量,CS5532其性能达到24位,增加了本文设计的难度,体现了本文研究的重要意义。

由于在显示生产过程中,传感器的精度直接影响到所测量的结果,所以本文在

硬件连接中着重研究传感器的原理及其工作方式。CS55322为本文的核心部分,通过对AD转换的编程完成设计的主体,单片机为核心,数码管显示为辅助,达到研究题目所要求。

2.2 设计方案实施

2.2.1 设计方案的结构

根据药品称重系统的研究,对于基于CS5532高精度药品自动称重系统的研究包括以下几个方面:

(1) 传感器部分 (2) 变送电路 (3) 滤波电路

(4) CS5532 AD转换程序的编程 (5) 单片机80C52部分 (6) 数码管显示部分

根据设计内容的要求进行了硬件总体结构的设计,硬件设计结构如下

图2-1 硬件结构图

8

基于CS5532的高精度药品自动称重系统的研究

传感器:将重量信号或压力信号转化成电量信号, 变送电路:放大电信号。 滤波电路:滤除杂波,提抗干扰。

CS5532:将模拟量信号转化为数字量信号。 80C52:数据处理,整体控制。 数码管:显示测量结果。 2.2.2 传感器选型

传感器是测量机构最重要的部件,目前常用的有电阻应变式压力传感器,电容式压力传感器,压电式压力传感器。选用时应按着稳定性,精度等级,灵敏度,寿命和安装环境要求依次作为优先考虑[2]。

(1) 电容式压力传感器稳定性差,精度和灵敏度较高,寿命较短,对环境要求苛 刻,不易长距离传输。

(2) 压电式压力传感器稳定性好,精度和灵敏度,寿命长。

(3) 电阻应变式压力传感器稳定性较好,精度和灵敏度较高,寿命较长,对测量环境要求太严格。

9

基于CS5532的高精度药品自动称重系统的研究

图2-2 传感器使用参数

2.2.3 单片机选型

80C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

80C52内置8位处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断

10

基于CS5532的高精度药品自动称重系统的研究

结构,一个全双工串行通信口,片内时钟振荡电路。

此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C52有PDIP(40pin)和PLCC(44pin)两种封装形式[21]。

8051片内有 ROM,无须外接外存储器和373,更能体现“单片”的简练。

主要功能特性:

· 标准MCS-51内核和指令系统 · 片内8kROM(可扩充kB外部存储器) · 32个双向I/O口

· 256x8bit内部RAM(可扩充kB外部存储器) · 3个16位可编程定时/计数器 · 时钟频率3.5-12/24/33MHz · 向上或向下定时计数器 · 改进型快速编程脉冲算法 · 6个中断源 · 5.0V工作电压 · 全双工串行通信口 · 布尔处理器 —帧错误侦测

· 4层优先级中断结构 —自动地址识别 · 兼容TTL和CMOS逻辑电平 · 空闲和掉电节省模式 · PDIP(40)和PLCC(44)封装形式

11

基于CS5532的高精度药品自动称重系统的研究

第三章 系统装置设计及硬件配置

3.1 电阻应变片式压力传感器

3.1.1 传感器的工作原理

传感器的定义:能感受规定的被测量,并按照一定规律转换成可用输出信号的器件或装置。通常传感器由敏感元件和转换元件组成。其中敏感元件指传感器中能直接感受被测量的部分,转换部分指传感器中能将敏感元件输出量转换为适于传输和测量的电信号部分。现代科技的快速发展使人类社会进入了信息时代,在信息时代人们的社会活动将主要依靠对信息资源的开发和获取、传输和处理,而传感器处于自动检测与控制系统之首,是感知获取与检测信息的窗口;传感器处于研究对象与测控系统的接口位置,一切科学研究和生产过程要获取的信息,都要通过它转换为易传输与处理的电信号。因此,传感器的地位与作用特别重要。

电阻应变式传感器是一种利用电阻应变效应,将各种力学量转换为电信号的结构型传感器。电阻应变片式电阻应变式传感器的核心元件,其工作原理是基于材料的电阻应变效应,电阻应变片即可单独作为传感器使用,又能作为敏感元件结合弹性元件构成力学量传感器。电阻应变片式压力传感器稳定性好,精度和灵敏度较高,寿命较长,对测量的环境要求不太严格。

导体的电阻随着机械变形而发生变化的现象叫做电阻应变效应。电阻应变片把机械应变信号转换为△R/R后,由于应变量及相应电阻变化一般都很微小,难以直接精确测量,且不便处理。因此,要采用转换电路把应变片的△R/R变化转换成电压或电流变化。其转换电路常用测量电桥。

电阻应变式称重传感器是基于这样一个原理:弹性体(弹性元件,敏感梁)在外力作用下产生弹性变形,使粘贴在他表面的电阻应变片(转换元件)也随同产生变形,电阻应变片变形后,它的阻值将发生变化(增大或减小),再经相应的测量电路把这一电阻变化转换为电信号(电压或电流),从而完成了将外力变换为电信号的过程[8,12,13]。

由此可见,电阻应变片、弹性体和检测电路是电阻应变式称重传感器中不可缺少的几个主要部分。下面就这三方面简要论述。 一、电阻应变片

电阻应变片是把一根电阻丝机械的分布在一块有机材料制成的基底上,即成

12

基于CS5532的高精度药品自动称重系统的研究

为一片应变片。他的一个重要参数是灵敏系数K。我们来介绍一下它的意义。 设有一个金属电阻丝,其长度为L,横截面是半径为r的圆形,其面积记作S,其电阻率记作ρ,这种材料的泊松系数是μ。当这根电阻丝未受外力作用时,它的电阻值为R:

R = ρL/S(Ω) (3—1) 当他的两端受F力作用时,将会伸长,也就是说产生变形。设其伸长ΔL,其横截面积则缩小,即它的截面圆半径减少Δr。此外,还可用实验证明,此金属电阻丝在变形后,电阻率也会有所改变,记作Δρ。

对式(3--1)求全微分,即求出电阻丝伸长后,他的电阻值改变了多少。我们有:

ΔR = ΔρL/S + ΔLρ/S –ΔSρL/S2 (3—2) 用式(2--1)去除式(2--2)得到

ΔR/R = Δρ/ρ + ΔL/L – ΔS/S (3—3) 另外,我们知道导线的横截面积S = πr2,则 Δs = 2πr*Δr,所以 ΔS/S = 2Δr/r (3—4) 从材料力学我们知道

Δr/r = -μΔL/L (3—5) 其中,负号表示伸长时,半径方向是缩小的。μ是表示材料横向效应泊松系数。把式(3—4)(3—5)代入(3--3),有 ΔR/R = Δρ/ρ + ΔL/L + 2μΔL/L =(1 + 2μ(Δρ/ρ)/(ΔL/L))*ΔL/L

= K *ΔL/L (3--6) 其中

K = 1 + 2μ +(Δρ/ρ)/(ΔL/L) (3--7) 式(3--6))说明了电阻应变片的电阻变化率(电阻相对变化)和电阻丝伸长率(长度相对变化)之间的关系。

需要说明的是:灵敏度系数K值的大小是由制作金属电阻丝材料的性质决定的一个常数,它和应变片的形状、尺寸大小无关,不同的材料的K值一般在1.7—3.6之间;其次K值是一个无因次量,即它没有量纲。

在材料力学中ΔL/L称作为应变,记作ε,用它来表示弹性往往显得太大,

13

基于CS5532的高精度药品自动称重系统的研究

很不方便

常常把它的百万分之一作为单位,记作με。这样,式(3--6)常写作: ΔR/R = Kε (3—8) 二、弹性体

弹性体是一个有特殊形状的结构件。它的功能有两个,首先是它承受称重传感器所受的外力,对外力产生反作用力,达到相对静平衡;其次,它要产生一个高品质的应变场(区),使粘贴在此区的电阻应变片比较理想的完成应变枣电信号的转换任务。

以托利多公司的SB系列称重传感器的弹性体为例,来介绍一下其中的应力分布。

设有一带有肓孔的长方体悬臂梁。

肓孔底部中心是承受纯剪应力,但其上、下部分将会出现拉伸和压缩应力。主应力方向一为拉神,一为压缩,若把应变片贴在这里,则应变片上半部将受拉伸而阻值增加,而应变片的下半部将受压缩,阻值减少。下面列出肓孔底部中心点的应变表达式,而不再推导。

ε = (3Q(1+μ)/2Eb)*(B(H2-h2)+bh2)/ (B(H3-h3)+bh3) (3--9) 其中:Q--截面上的剪力;E--扬氏模量:μ—泊松系数;B、b、H、h—为梁的几何尺寸。

需要说明的是,上面分析的应力状态均是“局部”情况,而应变片实际感受的是“平均”状态。 三、检测电路

检测电路的功能是把电阻应变片的电阻变化转变为电压输出。因为惠斯登电桥具有很多优点,如可以抑制温度变化的影响,可以抑制侧向力干扰,可以比较方便的解决称重传感器的补偿问题等,所以惠斯登电桥在称重传感器中得到了广泛的应用。

因为全桥式等臂电桥的灵敏度最高,各臂参数一致,各种干扰的影响容易相互抵销,所以称重传感器均采用全桥式等臂电桥。

直流电桥的特点是信号不会受各元件和导线的分布电感及电容的影响,抗干扰能力强,但因机械应变的输出信号小,要求用高增益和高稳定性的放大器放大。 下图为一直流供电的平衡电阻电桥,Ein接直流电源E:

14

基于CS5532的高精度药品自动称重系统的研究

图3-1传感器结构原理图

当电桥输出端接无穷大负载电阻时,可视输出端为开路,此时直流电桥称为电压桥,即只有电压输出。

当忽略电源的内阻时,由分压原理有: uo=uBD=uAB-uAD

E(R1R4)R1R2R3R4RRRR• 1 3 2 4 (3-10) = E

(R1R2)(R3R4)

当满足条件R1R3=R2R4时,即 uoR1R2R4R3(3-11)

=0,即电桥平衡。式(3-11)称平衡条件。

应变片测量电桥在测量前使电桥平衡,从而使测量时电桥输出电压只与应变片感受的应变所引起的电阻变化有关。

若差动工作,即R1=R-△R,R2=R+△R,R3=R-△R,R4=R+△R,按式(3-10),则电桥输出为

(RR)2Euo(RR)(RR)(RR)(RR)R•ER(RR)2kE

15

基于CS5532的高精度药品自动称重系统的研究

电阻应变式压力传感器主要有弹性体,电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷发生形变时,电阻应变片(转换元件)受到拉伸或压缩应变片变形后,它的阻值将发生变化(增大或减小)。从而使电桥失去平衡,产生相应的差动信号,工后续电路测量和处理[16,17,18]。

图3-2 传感器电桥结构图

当垂直压力P作用于梁上是,梁产生形变,电阻应变片R1,R3受压弯拉伸,阻值增加;R2,R4受压缩,阻值减小;电桥失去平衡,产生不平衡电压Eout,Eout与作用在传感器上载荷P成正比,从而将非电量转化成电量输出。其工作原理如下图所示:

图3-3 传感器受力示意图

16

基于CS5532的高精度药品自动称重系统的研究

3.1.2 传感器的硬件配置

下图为3k高精度称重传感器尺寸图

图3-4 传感器尺寸图

下图为传感器与其配套的支座安装实物图

图3-5 传感器安装实物图

17

基于CS5532的高精度药品自动称重系统的研究

3.2 LM324变送电路

3.2.1 LM324原理介绍

LM324系列器件为价格便宜的带有真差动输入的四运算放大器,工作电压可低

至3.0伏或者高至32伏,共模输入范围包括负电源,因而消除在许多场合中采用外部偏置元件的必要性,输出电压范围也包括负电源电压。其优点有以下; 短路保护输出、真差动输入级、低输入偏置电流最大100纳安、每一封装四个放大器、内部补偿、共模范围扩展到负电源、行业标准引脚输出。 3.2.2硬件配置 下图为LM324管脚图

图3-6 LM324管脚图

下图为变送电路设计图,将电信号放大10倍

图3-7 变送电路原理图

18

基于CS5532的高精度药品自动称重系统的研究

3.2 CS5532原理综述

CS5532是美国Cirrus Logic公司推出的一种具有极低噪音的、多通道Δ-Σ型模

拟/数字转换器,由于其采用电荷平衡技术和极低噪声的可编程增益斩波稳定测量放大器,可得到高达24位分辨率的输出结果,精度高,动态特性宽,是其它类型转换器所无法比拟的。CS5532的差动输入端可以直接测量来自传感器的毫伏信号,简化了与外围电路的连接。可编程增益放大器可使放大倍数从1~32进行设定(以2倍步长增加),大大提高了系统的动态特性。多级程控数字滤波器使得数据输出速率可选择,范围为7.5Hz~3.84kHz,方便了与外设的连接。该A/D转换器有一个灵活而简便的同步串行接口,使转换数据以串行方式输出,它与SPI、Microwire兼容。此外, CS5532内部有一个完整的自校正系统,可进行自校准和系统校准,可消除A/D本身的零点增益和漂移误差,以及系统通道的失调和增益误差。宽动态特性、可编程输出速率、灵活的供电方式及简便的三线串行输出模式,使得该A/D转换器极易和单片机接口,广泛适用于工业过程控制、称重仪器、便携式仪表及其它高分辨率测量等场合[3,6,11]。 3.2.1 CS5532工作原理

CS5532由多路开关、可编程增益放大器(PGIA)、四阶差动Δ-Σ调制器、程控多阶数字滤波器以及串口、时钟发生器、校准控制系统和输出锁存等组成。其结构如图

图3-8 CS5532内部结构图

19

基于CS5532的高精度药品自动称重系统的研究

一 模拟输入

1 模拟输入范围

ADC可量化的满量程输入信号的范围由增益设定和VREF+、VREF- 之间的参考电压决定。ADCs 的满量程输入信号范围等于((VREF+)-(VREF-))/(GxA),其中G 是放大器的增益;且当VRS=0,A=2;当VRS=1,A=1。VRS为参考电压选择位,必须按芯片VREF+和VREF-引脚的差动输入电压设置。更详细的内容可见2.3.5。复位后,单位增益缓冲器处于激活态,此时参考电压为2.5V ,则缺省的输入满量程电压范围为2.5V 。若要使用仪表放大器(当增益设置大于1x 时)并设置增益为32x 时,满量程输入电压为2.5V/32或约78mV 。注意,上述输入范围假设校准寄存器是在缺省值(Gain=1.0 ,Offset=0.0 )的情况。

2 连续转化稳定时间

CS5531/32/33/34 使用连续转换时的稳定时间受仪表放大器之后的单极点低通滤波器的。为达到数据手册中规定的稳定时间和线性度,采用22nF COG 电容器。在允许交流

信号畸变有较少增加的情况下,也可使用10nF 的电容器和X7R型电容器

二 ADC寄存器结构及操作模式

CS5531/32/33/34 有一个片内控制器,含有大量用户可访问的寄存器,用于保存偏移和增益校准结果、设置操作模式、保存转换指令和转换数据。模数转换器的每一通道都有一个32 位偏移校准寄存器和一个32 位增益校准寄存器。两通道ADC具有两个偏移校准寄存器和两个增益校准寄存器,四通道ADC具有四个偏移校准寄存器和四个增益校准寄存器。这些寄存器保存校准结果,寄存器中的内容可以读写,这使得校准数据可以下载到一个外部EEPROM 。用户也可以通过改变这些寄存器的内容修改ADC的偏移和增益。模数转换器具有一个32 位配置寄存器,其中的10 位用于设置操作模式,诸如掉电操作、ADC复位、模拟输入短路、诊断测试位使能等。模 数 转 换 器 具 有 一 组 通 道 设 置 寄 存 器(CSR ),用于保存预装转换指令。每个通道设置寄存器为32 位,保存两个16 位的转换指令,称其为设置单

20

基于CS5532的高精度药品自动称重系统的研究

元(Setup)。上电时,这些寄存器可以由微控制器用转换指令初始化,然后用户可以根据所选设置单元(Setup) 设置的工作模式进行单次或连续模式转换,或进行校准。在单次转换模式下,需要向串口写入一个8bit命令字,命令字中的指针位“指向”通道设置寄存器中将要执行的16位命令。通过对16位设置单元(Setup)编程可用ADC的任一输入通道执行模数转换。同一模拟输入通道可以使用多个16位设置单元(Setup),因此用户可以对同一输入信号进行不同速度、不同增益等的转换。另一方面,用户也可以设置这些寄存器,对每一输入通道执行不同的转换。模数转换器有连续转换能力,通过设置16位设置单元(Setup)内容进行连续转换。在连续转换模式下,转换结果数据被装入一个移位寄存器中,转换结束时,SOD引脚产生标志,用户可以读寄存器结果。更详细的内容参见描述执行转换的章节。以下部分叙述如何初始化ADC、如何执行偏移及增益校准、以及如何将ADC设置为不同的转换模式。并将详细介绍配置寄存器和通道设置寄存器中的每一位,介绍完后有一些例子。“命令寄存器快速参考”部分解释所有的有效命令(输入串口的前8bit 数据) 1 系统初始化

CS5531/32/33/34 不具有上电复位功能,要初始化模数转换器,必须执行软件复位,软件复位可通过串口初始化程序对串口复位实现。通过发送15个字节的SYNC1 (0xFFH ),然后发送1个字节的SYNC0 (0XFEH )可将串口复位成命令模式。注意,该程序可随时发出,从而对串口再次进行初始化。要完成系统初始化,用户也必须设置配置寄存器的系统复位(RS )位,从而复位系统。在随后的时间里也可随时设置RS=1 ,进行系统复位。

当一个复位周期完成后,RS 自动返回到‘0 ’ 片内寄存器的初始值为: 配置寄存器 00000000(H ) 偏移寄存器 00000000(H ) 增益寄存器 01000000(H ) 通道设置寄存器 00000000(H )

系统初始化或复位后,片内控制器进入命令模式,等待接受一个有效命令(传送到串口的前8bit数据,被保存在命令寄存器)。当接受到有效的命令并对其译码后,该命令将指示ADC发送、接收寄存器数据,或进行模数转换或校准。

21

基于CS5532的高精度药品自动称重系统的研究

图3-9 CS5531/32/33/34 寄存器框图

2 串行接口

CS5531/32/33/34的串口包括四条控制线:CS ,SDI,SDO,SCLK,图7为命令和数据字时序。

CS ,片选,是允许访问串口的控制线,当CS拉低时,串口可作为三线接口来访问。 SDI,串行数据输入,用于将数据串行输入到ADC。

SDO,数据串口输出,用于将数据串行从ADC输出,当CS =1,SDO为高阻态。 SCLK,串行时钟,是数据位移入或移出ADC串口的控制时钟。只有当CS =0 时,串口时钟才能被端口逻辑识别。为了和光电耦合器相匹配,SCLK的输入端集成了一个施密特触发器,以允许使用上升和下降时间较长的光电耦合器直接驱动该引脚。另外,SDO具有接收或输出5mA电流的能力,可以直接驱动光电耦合器的LED。在接收或输出5mA电流时,SDO的驱动电压损失小于400mV[4]。

3 读/写片内寄存器

CS5531/32/33/34的偏移、增益、配置和通道设置寄存器均可读/写,而转换数据寄存器只能读不能写。如图所示,要写特定的寄存器,用户必须先向ADC输入相应的

22

基于CS5532的高精度药品自动称重系统的研究

写指令,然后跟随32位的写入数据。例如,要向物理通道1 的增益寄存器写入0x80000000(H),必须先输入命令字0x02(H),输入数据0x80000000(H)。同样,要读某个寄存器,必须先向ADC输入相应的读指令,然后获得32 位读出数据。一旦寄存器读、写完毕,串口

即返回到命令模式。除了一次访问一个内部寄存器外,还可以对偏移、增益、配置和通道设置寄存器进行阵列式访问(即用一个命令访问所有同类寄存器)。CS5531/32有两个增益和偏移寄存器,CS5533/34有四个增益和偏移寄存器,每种芯片都有四个通道设置寄存器。例如,要向CS5533的所有4个增益寄存器写入0x80000000(H),用户须先输入命令字0x42(H),然后重复输入四个0x80000000(H),(即0x42(H),0x80000000(H),0x80000000(H),0x80000000(H),0x80000000(H)),寄存器按顺序读写。一旦寄存器读、写完毕,串口即返回到命令模式[5]。

图3-10 命令和数据字时序

23

基于CS5532的高精度药品自动称重系统的研究

三 配置寄存器 1 功耗

CS5531/32/33/34 有三种供电模式:常规、待机和休眠模式,其中常规模式为系统默认模式,上电后自动进入。该模式下,CS5531/32/33/34-AS 耗电35mW ,CS5532/34-BS 耗电70mW 。后两种供电模式为节电模式,会终止大部分模拟供电并停止滤波器卷积运算。当配置寄存器的节电模式位(PDW )置为逻辑1 时,芯片进入节电模式。具体进入哪种节电模式取决于节电模式选择位(PSS )。如果PSS 为逻辑0 ,芯片进入待机模式,功耗降低为4mW ,此时只有时钟振荡器和模 拟部分的片内偏置电压发生器处于激活态。这就使得一旦节电模式位(PDW )设置回逻辑1 ,芯片能迅速返回到常规模式。如果节电模式位(PDW )和节电模式选择位(PSS )同时为1 ,芯片进入休眠模式,功耗降低到约500μW ,由于在休眠模式下振荡器不振荡,所以此时要进入常规模式时,需要大约20ms 的延迟启动振荡器,如使用外部时钟则不必延迟。还要注意,在使用单位增益时,可

编程增益仪表放大器PGIA 不工作。此时功耗降为常规模式下的1/2。使用单位增益时,休眠和待机模式下的功耗不受影响。 2 系统复位

配置寄存器的系统复位位(RS )允许用户对系统进行复位,通过将RS 位置1 可以在任何时候复位系统,复位周期结束后,系统复位有效位(RV )被置1 ,表示内部逻辑已正确复位。在读取配置寄存器后,RV 位自动清0 。注意,复位后,片内寄

存器被初始化为以下数据: 配置寄存器 00000000 (H ) 偏移寄存器 00000000 (H ) 增益寄存器 01000000 (H ) 通道设置寄存器 00000000 (H )

系统复位后,RS位自动归0,模数转换器返回到命令模式,等待输入有效命令。并且在系统复位时,RS位为配置寄存器中唯一可置位的位(也就是说需要再发出命令置位配置寄存器中的其它位)。 四 通道设置寄存器

CS5531/32/33/34具有四个通道设置寄存器(CSR) 。每个CSR包括两个16 位

24

基于CS5532的高精度药品自动称重系统的研究

设置单元(Setup),可由用户编程,包含以下信息:

1)将进行转换的物理通道; 2)进行转换的通道的增益; 3)进行转换的通道的字速率; 4)转换输出为单极性还是双极性; 5)转换中输出锁存的状态;

6) 转换开始前是否延时以保证输出锁存; 7)是否开路检测激活的电流源。

另外,配置寄存器中的OGS置位时,设置单元(Setup)确定转换或校准时使用哪一组偏移及增益寄存器。注意对某一指定的物理通道可使用多个设置单元(Setup)设置,设置中可以有不同的输出速率,增益范围等(也就是每个设置单元(Setup)可单独定义)。每个32位CSR可单独访问,包含有两个16位设置单元(Setup)。例如,写通道设置寄存器命令( 0x05 ) 配置CS5531/32/33/34 中的设置单元(Setup)1,CSR1中的31位到16位属于设置单元(Setup)1,15位到0位属于设置单元(Setup)2,注意当读写CSR时,在同一32位CSR内的两个设置单元(Setup)都被访问,即使其中一个未用,也会被读写 四 执行校准

执行校准时,要发送一个MSB 为1 的命令字,其指针位CSRP2-CSRP0 用于寻址所要校准的设置单元(Setup) ,校准位CC2-CC0 选择校准类型。但CSR 要提前初始化,因为其中的物理通道、滤波速率、增益范围以及极性等相关信息均来自由命令字指针位CSRP2-CSRP0 所选中的通道设置寄存器CSR。一旦CSR初始化后,一个命令字即可

完成校准。校准所用的时间比进行一次单次转换所用的时间略少(见表1有关单次转换时间的部分)。

FRS=0时,偏移校准少用了608个时钟周期, FRS=1时,偏移校准少用了729个时钟周期。 FRS=0时,增益校准少用了128个时钟周期, FRS=1时,增益校准少用了153个时钟周期。

校准周期完成后,SDO 置0 ,结果存放在被校准通道的偏移或增益寄存器中,此时OGS=0。若OGS=1,结果将被储存在相应设置单元(Setup)中OG1-OG0位

25

基于CS5532的高精度药品自动称重系统的研究

指定的寄存器中。.在开始下一个命令字前,SDO保持低电平。若其它的校准使用了相同的寄存器,最后的校准结果将取代早先的值,因为对每个物理通道来说,只有一个偏移和增益寄存器可用。每个命令字只能进行一次校准。要校准所用通道,需使用多个校准命令字。 3.2.2 CS5532的硬件配置及说明

图3-11 CS5532管脚图

时钟发生器

OSC1 ;OSC2 - 主时钟

芯片内部的反向放大器与这些引脚相连,同时与晶振连接后可为芯片提供主时钟,同时,外部

(CMOS 兼容)时钟与OSC2 连接也可为芯片提供主时钟。 控制和串行输入/输出引脚

CS - 片选

当低电平有效时,串口识别SCLK ,高电平时,SDO 引脚为输出高阻态。CS 应在SCLK=0 时改 变状态。

SDI - 串行数据输入

SDI 是串行口的输入引脚,数据以与SCLK 同步的速率输入。 SDO - 串口数据输出

26

基于CS5532的高精度药品自动称重系统的研究

SDO 是串行口的输出引脚,当CS 为1 时,SDO 为输出高阻态。 SCLK - 串口时钟输入

该引脚的时钟信号决定了SDI/SDO 引脚的数据传输速率,由于内部的斯密特触发器,该引脚允许

缓慢变化的时钟输入,只有当CS =0 时,SCLK 才能被串口识别。 A0 - 逻辑输出(模拟)/保护,A1-逻辑输出(模拟)

根据配置寄存器中OLS位的状态,A0-A1 的逻辑状态模拟设置单元(Setup)中的OL1-OL0位,

或配置寄存器中的A1-A0位,其中逻辑输出0=VA-,逻辑输出1=VA+,通过设置配置寄存器的GB

位,A0 可作为仪表放大器的保护位。 测量和参考输入

AIN1+,AIN1-,AIN2+,AIN2-,AIN3+,AIN3-,AIN4+,AIN4- - 差分模拟输入 差动输入引脚。

VREF+,VREF - 电压参考输入

完全差动输入,为片内调制器建立参考电压。 C1 ,C2 - 放大器输入电容 与仪表放大器的电容相连。 电源连接

VA+ - 正模拟电源 提供模拟正电源 VD+ - 正数字电源

提供数字正电源(标称值为+3.0V 或+5V ) VA- - 负模拟电源 提供模拟负电源 DGND - 数字地 数字接地

27

基于CS5532的高精度药品自动称重系统的研究

下图为传感器与CS5533连接图

图3-12 传感器与CS5532连接图

3.3 单片机80C52的综述

3.3.1 80C52最小系统原理

ATC51/52 ATC55,s52 8031,8051与80C52兼容下面着重以51单片机下面将着重介绍时钟电路及复位电路。

1. 时钟电路

单片机工作时,从取指令到译码指令再进行微操作,必须在时钟信号控制下才能有序的进行,时钟电路就是为单片机工作提供基本时钟的,单片机的时钟信号通常有两种产生方式:内部时钟和外部时钟。

内部时钟方式是在单片机内XTAL1和XTAL2引脚上跨接一个晶振和两个稳频电容,可以与单片机内的电路构成一个稳定的自激振荡器。晶振的取值范围一般为0~24MHZ,一些新型的单片机还可以选择更高的频率。外接电容的作用对振荡器进行频率微调,使震荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20~30PF的瓷片电容。

外部时钟是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于时序是单片机在执行指令是CPU发出的控制信号在时间的先后顺序。51单片机

28

多片单片机同时工作的情况,使用同一时钟信号可以保证单片机工作同步。

基于CS5532的高精度药品自动称重系统的研究

的时序概念有四个,可用定时单位来说明,包括震荡周期,时钟周期,机器周期和指令周期。

震荡周期是片内震荡电路或片外为单片机提供的脉冲信号周期,用P表示。

时钟周期是震荡脉冲送入内部时钟电路,由时钟电路对其二分频后输出的时钟脉冲周期,为震荡周期的2倍,用S表示。机器周期是单片机完成一个基本操作所需要的时间。指令周期是执行一条指令的时间[9,10]。

2. 复位电路

在单片机刚开始接上电源时还是运行过程中发生故障都需要复位。复位电用于将单片机内部各电路的状态恢复到一个确定的初始值,并从这个状态开始工作。51单片机的复位引脚RST出现2个机器周期以上的高电平,单片机就执行复位操作,若持续为高电平,单片机就处于循环复位状态。

3. EA、VPP的功能和接法

51单片机的EA/VPP是内部和外部程序存储器的选择管脚,当EA保持高电平时,单片机访问的是内部程序存储器:当EA保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。本设计中EA管脚接VCC。特别注意,EA管脚悬空会导致程序执行不正常[15,19,20]。 3.3.2 硬件配置

图3-13 80C52内部结构图

29

基于CS5532的高精度药品自动称重系统的研究

图3-14 80C52管脚描述

P3口也可作为ATC51的一些特殊功能口,如下表所示:

口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周

30

基于CS5532的高精度药品自动称重系统的研究

期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

图3-15 80C52最小系统原理图

31

基于CS5532的高精度药品自动称重系统的研究

3.4 LED显示模块

3.4.1 LED显示模块原理

74LS245是用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。 PNP是共阴极,即两个PN结的N结相连做为基极,另两个P结分别做集电极和发射极;电路图里标示为箭头朝内的三极管。

放大:b极提供信号(输入) c提供能量 e输出 常用在模电

还有一个重要的特点:Ubc在线性电路中通常为0.7v 这个性质可以稳压稳流等 饱和:利用它的开关特性 常用在数字电路

晶体三极管按材料分有两种:锗管和硅管。而每一种又有NPN和PNP两种结构形式,但使用最多的是硅NPN和PNP两种三极管,两者除了电源极性不同外,其工作原理都是相同的,当b点电位高于e点电位零点几伏时,发射结处于正偏状态,而C点电位高于b点电位几伏时,集电结处于反偏状态,集电极电源Ec要高于基极电源Ebo。

在制造三极管时,有意识地使发射区的多数载流子浓度大于基区的,同时基区做得很薄,而且,要严格控制杂质含量,这样,一旦接通电源后,由于发射结正偏,发射区的多数载流子(电子)极基区的多数载流子(空穴)很容易地越过发射结互相向对方扩散,但因前者的浓度基大于后者,所以通过发射结的电流基本上是电子流,这股电子流称为发射极电流Ie。

由于基区很薄,加上集电结的反偏,注入基区的电子大部分越过集电结进入集电区而形成集电集电流Ic,只剩下很少(1-10%)的电子在基区的空穴进行复合,被复合掉的基区空穴由基极电源Eb重新补给,从而形成了基极电流Ibo.根据电流连续性原理得: Ie=Ib+Ic

这就是说,在基极补充一个很小的Ib,就可以在集电极上得到一个较大的Ic,这就是所谓电流放大作用,Ic与Ib是维持一定的比例关系,即: β1=Ic/Ib

32

基于CS5532的高精度药品自动称重系统的研究

式中:β1--称为直流放大倍数,

集电极电流的变化量△Ic与基极电流的变化量△Ib之比为: β= △Ic/△Ib

式中β--称为交流电流放大倍数,由于低频时β1和β的数值相差不大,所以有时为了方便起见,对两者不作严格区分,β值约为几十至一百多。

3.4.2 硬件配置

下图为数码管显示部分元件图

图3-16 74LS245管脚图及实物图 图3-17 PNP三极管原理图及实物图

数码管显示部分如图所示

图3-18数码管显示部分原理图

33

基于CS5532的高精度药品自动称重系统的研究

3.5 protel说明及总体硬件配置图

3.5.1 protel软件说明

Protel 99SE是ProklTechnology公司开发的基于Windows环境下的电路板设计系统,它建立在Protel独特的设计管理器Design Explorer 基础上,Protel 99 SE的设计管理器已经经过优化处理,使程序的运行速度进一步加快,稳定性也大大提高了,系统的总体性得到增强,在内存的利用率上也有很多改善,Protel 99 SE主要由原理图设计系统,印制电路板设计系统两大部分组成。 1.原理图设计系统

这是一个易于使用的具有大量原件库的原理图编辑器,主要用于原理图的设计,它可以为印制电路板设计提供网络表,该编辑器除了具有强大的原理图编辑功能以外,其分层组织设计功能,设计同步器,丰富的电气设计检验功能及强大而完善的打印输出功能,使用户可以轻松完成所需要的设计任务 2.印制电路板设计系统

这是一个功能强大的印制电路板设计编辑器,具有非常专业的交互式布线及元件布局的特点,用于印制电路板(PCB)的设计并最终产生PCB文件,直接关系到印制电路板的生产。Protel 99 SE的印制电路板设计系统可以进行多达32层信号层,16层内部内部电源/接地层布线设计,交互式的元件布置工具极大的减少了印制板设计的时间,同时它还包含一个具有专业水准的PCB信号完整性分析工具,功能强大的打印管理系统,一个先进的PCB三位视图预览工具

34

基于CS5532的高精度药品自动称重系统的研究

3.5.2 总体硬件配置图

下图为基于Protel软件下的原理图绘制 原理图设计流程

1.图纸设置 2.放置元件 3.原理图布线 4.检查与校对 5.输出

图3-19 总原理图

35

基于CS5532的高精度药品自动称重系统的研究

下图为Protel环境下手动布线的PCB图 印制电路板设计流程

1.规划电路板 2.设置参数 3.引入网络表 4.元件布局和调整 5.布线规则设置 6.自动布线和手工调整 7.报表输出,存盘和打印

图3-20 PCB封装图

下图为硬件连接实物图

图3-21 硬件实物图

36

基于CS5532的高精度药品自动称重系统的研究

第四章Keil软件介绍及程序流程设计

4.1 Keil软件介绍

单片机开发除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种,一种Keil软件图标是手工汇编,另一种是机器汇编。随着单片机软件开发的不断发展,Keil软件是目前最流行的MCS-51系列单片机的软件。Keil uVISION3支持众多不一样公司的MCS51架构的芯片;集编辑,汇编,仿真等于一体,同时还支持汇编、C语言的程序设计;界面和常用的微软VC++的界面相似,界面友好,易学易用;在调试程序,软件仿真方面也有很强大的功能;不懂得单片机的指令集,也能够编写完美的单片机程序;提供auto、static、const等存储类型和专门针对51架构单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理的分配地址;提供常用的标准库函数,以提供用户直接使用;头文件中定义宏,说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发。

4.2 主程序流程图

主程序依次为系统上电,系统初始化,CS5532初始化,进入大循环,首先CS5532

进行A/D采样转换,然后采样后进行数据处理,最后完成数码管结果显示。主程序流程图如下所示

图4-1 主程序流程图

37

基于CS5532的高精度药品自动称重系统的研究

4.3 CS5532初始化程序设计

CS5532在启动时有20 ms的延迟,所以要在其启动20 ms后再对其进行初始化。

CS5532没有加电复位功能,首先需要人工通过ADC串口发送初始化序列,即15个SYNC1(0xFF)命令字节和1个SYNC0(0xFE)命令字节,使ADC串口进入命令模式;接着通过设置配置寄存器的RS位,实现系统复位。进入校验模式,完成校验后,启动进入命令模式,屏蔽片选后,CS5532初始化结束。下图为CS5532初始化流程图。

图4-2 CS5532初始化过程

CS5533初始化程序设计

// AD CS5533 initiality

void CS5533_init(void) //定义CS5533初始化函数 { fifo_point=0;

delay_us(20000); //延时20ms CS5533_CS_DOWN; //片选拉低

CS5533_reset(); //15---0xFF, 1---0xFE //写入15个0xFF和一个0xFE do {

38

基于CS5532的高精度药品自动称重系统的研究

write_byte(cmd_write_basic_cfg); // reset 0000 0011 Config Register write_long(0x20000000); //0010 ..... RS=1 delay_us(1000);

write_byte(cmd_read_basic_cfg); // 0000 1011 read_long();// read data save to CS5533_reg_data

} while( CS5533_reg_data.data!=(0x10000000) );//0001 .... if RV=1 ? // 校验 模式

write_byte(cmd_write_basic_cfg);//model reg: set adjust model write_long(0x0A000000);// IS=1,VRS=1 0000 1010 ......

write_byte(cmd_write_unit_one_two);////0000 0101 write_long(0x04404440); //1--gain 4,sps 3840,single pole //2--gain 4,sps 3840,single pole

write_byte(cmd_write_unit_three_four);//0001 0101 write_long(0x8440C440); //3--gain 8,sps 3840,single pole //4--gain 4,sps 3840,single pole

write_byte(cmd_write_offset_unit_one);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_offset_unit_two);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_offset_unit_three);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_offset_unit_four);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_gain_unit_one);//gain adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_gain_unit_two);//gain adjust

39

基于CS5532的高精度药品自动称重系统的研究

while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_gain_unit_three);//gain adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_gain_unit_four);//gain adjust while((P2IN|0x7F)==0xFF);

//正常模式

write_byte(cmd_write_basic_cfg);//set normal write_long(0x02000000);//VRS=1

write_byte(cmd_write_unit_one_two);////0000 0101 write_long(0x04404440); //1--gain 4,sps 3840,single pole //2--gain 4,sps 3840,single pole write_byte(cmd_write_unit_three_four);//0001 0101 write_long(0x8440C440); //3--gain 8,sps 3840,single pole //4--gain 4,sps 3840,single pole CS5533_CS_UP; }

40

基于CS5532的高精度药品自动称重系统的研究

4.4 CS5532A/D转换部分程序设计

首先将片选拉低,然后选择转换的通道,随后等待是否转换成功,若转换成功,读入A口数据,返回成功(状态1);若转换失败,则进行串口初始化,返回状态0。下图为CS5532进行A/D转换流程图。 ,

图4-3 CS5532进行A/D转换

CS5532进行A/D转换程序设计

unsigned char CS5533_channel_conv(unsigned char cmd_channel) {

unsigned int i;

CS5533_CS_DOWN; //CS5533片选拉低 write_byte(cmd_channel);//选择第一通道 for(i=0;i<4000;i++) //判断是否完成转换

{ if((P2IN&0x80)==0x00) {break;} else

{delay_us(1);}

}

41

基于CS5532的高精度药品自动称重系统的研究

if(i == 4000) // 转换失败

{CS5533_reset();//串口初始化 CS5533_reg_data.data = 0;

CS5533_CS_UP; //片选拉高 return (0); //返回 0

}

//转换成功

{ delay_us(100);

read_long(); // 读入A口数据 else

write_byte(0x00);

CS5533_CS_UP; //片选拉高 return (1); //返回 1

//读取4Byte转换数据,取前16位转换结果 }

///////////////////////////////////////

void CS5533_reset(void) //定义CS5533重置函数 {

unsigned char i;

// 初始化发送15个字节的0xFF,一个字节的0xFE for (i=0;i<18;i++)

{ write_byte(0xFF); } write_byte(0xFE); }

}

42

基于CS5532的高精度药品自动称重系统的研究

4.5数码管显示部分程序设计

首先80C52片选拉低,选中P2口数码管的第一位,然后送入P0口数据,此设

计为四位数码管,按照选中第一位数码管的流程一次完成数据的显示。下图为数码管显示部分程序流程图。

图4-4 数码管显示部分

43

基于CS5532的高精度药品自动称重系统的研究

第五章 结论与展望

5.1 研究结论

通过本次研究可以看出电阻应变片式压力传感器精准采集重量信息,经放大过

滤电路,芯片CS5532进行A/D转换,传入单片机80C52,进行数据的分析与处理,通过数码管显示电路,给出最终结果。

本重量测量系统,充分发挥80C52单片机强大的控制能力和计算机的数据处理能力,通过称重传感器和24位分辨率的A/D转换芯片CS5532实现了对重量的高级毒测量, 在误差允许范围内,实验结果与理论推导结果基本一致,说明药品自动称重系统对药品的药品的检测情况具有较高的可靠性和准确性,可以为药品称重系统的设计提供新的方法和思路。

5.2 进一步研究的展望

高精度称重一直是称重系统研究是重点难点,虽然本课题取得了一些成果,但

由于时间的,传感器的精度问题,本次设计仍有待提高之处,可以通过提高传感器的灵敏度,尽可能缩小零点漂移,提高传感器的质量。虽然CS5532的精确度高,但运行速度较慢,如果可以换为可以两者兼顾的芯片可以给本次研究结果减小误差,提高速度。

44

基于CS5532的高精度药品自动称重系统的研究

参考文献

[1].刘迎春,叶湘滨.传感器原理设计与应用(第四版)[M].长沙:国防科技大学出版社,2002,59-

[2].张伟刚, 梁龙彬,赵启大等.光纤光栅与电阻应变片应变测量的对比分析[J],传感技术学报,2001,14(3):200-205

[3]高明.24 位模数转换器CS5532 及其应用[J].仪表技术与感应器,2002,7:40-46.

[4]卜玉明.SPI串行总线在单片机应用系统中的设计与实现[J].工业控制计算机,2003,13(1):59-60.

[5]杨敏,滕召胜,陈良柱,王宝,王体明.基于CS5532 的高精度电子天平设计[J].仪表技术与传感器.2010(01).

[6]陈伟,曾荣登.基于CS5532的高精度自动称重系统设计[J].单片机与嵌入式系统应用.2008(10). [7]肖绚,邵世煌,胡鸿豪. 一种新的定量动态称重方法[J]. 自动化仪表. 2004,25( 11) : 28-30.

[8]徐科军,朱志能,苏建徽,等. 传感器动态非线性的一种补 偿 方 法[J]. 仪 器 仪 表学 报,2002,23 ( 3) :278-282.

[9]王幸之王雷等.单片机应用系统抗干扰技术.北京:北京航空航天大学出版社,2000.9

[10]何立民.MCS51系列单片机应用系统设计-系统配置与接口技术.北京:北京航空航天大学出版社,1990.

[11]16-Bit and 24-Bit ADCs with Ultra Low Noise PGIA.Cirrus Log-ic,Inc.Crystal Semiconductor Products Division,January 1999.

[12]张兴会,赵杰,陈增强,等.智能数据采集系统的研究[J].仪器仪表学报,2001,22(4):2 [13]肖奇军,李胜勇智能电子称重系统[J]肇庆学院学报,2005,26(2):51-53.

[14]张萌,柳旭.称重传感器高精度自动检测系统设计[J].厦门大学学报,2005,44(2):206-209. [15]刘乐善,欧阳星明,刘学清.微型计算机接口技术及应用[M].武汉:华中科技大学出版社,2002: 209-215.

[16]李宝安,李行善,罗先和. 动态称重系统计量误差的动态校正[J]. 仪器仪表学报,2001,22( 3) : 251-254.

[17]王琦.电阻应变式称重传感器的设计[J].木材加工机械,2005,(3):20-23. [18] 卢文科.电子检测技术[M].北京:国防工业出版社,2002:197-203.

45

基于CS5532的高精度药品自动称重系统的研究

[19]吴健,侯文,郑宾.基于STCC52单片机的温度控制系统[J].电脑知识与技术,

2011-(4):902-903.

[20]黄勤,李楠,杨天怡.单片机原理及应用[M].北京:清华大学出版社,2010. [21]张海涛.嵌入式系统的设计及应用[M].北京:科学出版社,2007.

46

基于CS5532的高精度药品自动称重系统的研究

致谢

在此我要感谢北京石油化工学院刘学君老师在本次毕业设计中给我的大力支持, 在本次毕业设计中,从选题、查阅资料、翻译外文到设计整理,刘学君老师都给予了我莫大的知道和帮助,引导我在整个的设计过程中逐步掌握运用所学知识解决实际问题的方法。本学期的毕业设计培养了我对实际问题的分析研究能力,通过英文资料的翻译使我进一步巩固了专业英语的知识,提高了我选择、阅读以及参考外文资料的能力。

另外,在本次毕业设计过程中,刘学进老师经常性牺牲周末的时间,利用周日下午知道我们小组硬件连接,帮助我们解决所遇到的问题,耐心的给我们讲解相关知识并鼓励我们向更加深入的方向研究,增强了我们克服困难的信心。他运用不同的方法给我们分析和讲解我们在实际设计中遇到的各种问题,不但开阔了我的思路,而且提高了我实际解决问题的能力。

总之,毕业设计是对我大学四年来学习上的一次全面考察,是我对四年所学知识的一次全面应用。毕业设计的时间是非常短暂的,本次设计还有很多不足之处,希望各位老师和同学给予批评和指正,提出宝贵意见和建议。

47

再次,我衷心的感谢帮助我的老师和同学!

基于CS5532的高精度药品自动称重系统的研究

附录

系统运行程序如下:

#include #include \"MyDefine.h\" #include

#define con_number 12// digit filter number

#define cmd_write_basic_cfg 0x03 //0000 0011 #define cmd_read_basic_cfg 0x0B //0000 1011

#define cmd_write_unit_one_two 0x05 //0000 0101 unit 1 and unit 2 #define cmd_write_unit_three_four 0x15 //0001 0101 unit 3 and unit 4

#define cmd_write_offset_unit_one 0x81 //1000 0001 偏移 #define cmd_write_offset_unit_two 0x //1000 1001 #define cmd_write_offset_unit_three 0x91 //1001 0001 #define cmd_write_offset_unit_four 0x99 // 1001 1001

#define cmd_write_gain_unit_one 0x82 //1000 0010 增益 #define cmd_write_gain_unit_two 0x8A //1000 1010 #define cmd_write_gain_unit_three 0x92 //1001 0010 #define cmd_write_gain_unit_four 0x9A //1001 1010

#define cmd_conv_channel_one 0x80 //1000 0000 #define cmd_conv_channel_two 0x88 //1000 1000 #define cmd_conv_channel_three 0x90 //1001 0000 #define cmd_conv_channel_four 0x98 //1001 1000

static unsigned int fifo_AD_data[4][con_number]; static unsigned char fifo_point=0;

48

基于CS5532的高精度药品自动称重系统的研究

struct adc_reg { unsigned char fourth; unsigned char third; unsigned char second; unsigned char first; }; union

{ unsigned long data; struct adc_reg byte; } CS5533_reg_data;

void write_byte(unsigned char data_byte); unsigned char read_byte(void);

void write_long(unsigned long write_data); void read_long(void);

unsigned char CS5533_channel_conv(unsigned char cmd_channel); void AD_conv_global (void); void CS5533_reset(void);

// AD CS5533 initiality void CS5533_init(void) { fifo_point=0; delay_us(20000); CS5533_CS_DOWN;

CS5533_reset(); //15---0xFF, 1---0xFE do {

write_byte(cmd_write_basic_cfg); // reset 0000 0011 Config Register write_long(0x20000000); //0010 ..... RS=1

49

基于CS5532的高精度药品自动称重系统的研究

delay_us(1000);

write_byte(cmd_read_basic_cfg);// 0000 1011 read_long();// read data save to CS5533_reg_data

} while( CS5533_reg_data.data!=(0x10000000) );//0001 .... if RV=1 ?

// 校验 模式

write_byte(cmd_write_basic_cfg);//model reg: set adjust model write_long(0x0A000000);// IS=1,VRS=1 0000 1010 ......

write_byte(cmd_write_unit_one_two);////0000 0101 write_long(0x04404440); //1--gain 4,sps 3840,single pole //2--gain 4,sps 3840,single pole

write_byte(cmd_write_unit_three_four);//0001 0101 write_long(0x8440C440); //3--gain 8,sps 3840,single pole //4--gain 4,sps 3840,single pole

write_byte(cmd_write_offset_unit_one);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_offset_unit_two);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_offset_unit_three);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_offset_unit_four);//offset adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_gain_unit_one);//gain adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_gain_unit_two);//gain adjust while((P2IN|0x7F)==0xFF);

50

基于CS5532的高精度药品自动称重系统的研究

write_byte(cmd_write_gain_unit_three);//gain adjust while((P2IN|0x7F)==0xFF);

write_byte(cmd_write_gain_unit_four);//gain adjust while((P2IN|0x7F)==0xFF);

//正常模式

write_byte(cmd_write_basic_cfg);//set normal write_long(0x02000000);//VRS=1

write_byte(cmd_write_unit_one_two);////0000 0101 write_long(0x04404440); //1--gain 4,sps 3840,single pole //2--gain 4,sps 3840,single pole write_byte(cmd_write_unit_three_four);//0001 0101 write_long(0x8440C440); //3--gain 8,sps 3840,single pole //4--gain 4,sps 3840,single pole CS5533_CS_UP; }

////////////////////////////////////////////////////////////////////////////////

unsigned char CS5533_channel_conv(unsigned char cmd_channel) {

unsigned int i; CS5533_CS_DOWN; write_byte(cmd_channel); for(i=0;i<4000;i++)

{ if((P2IN&0x80)==0x00)

{break;} else

{delay_us(1);}

}

51

基于CS5532的高精度药品自动称重系统的研究

if(i == 4000)

{CS5533_reset();//串口初始化 CS5533_reg_data.data = 0;

CS5533_CS_UP; return (0);

}

else

{ delay_us(100);

write_byte(0x00);

read_long(); // return CS5533_reg_data.data;

CS5533_CS_UP; return (1);

//读取4Byte转换数据,取前16位转换结果 }

/////////////////////////////////////// void CS5533_reset(void) {

unsigned char i;

// 初始化发送15个字节的0xFF,一个字节的0xFE for (i=0;i<18;i++)

{ write_byte(0xFF); } write_byte(0xFE); }

///////////////////////////////////////

void write_byte(unsigned char data_byte) {

unsigned char count;

for (count=0;count<8;count++) { CS5533_SCLK_DOWN;

}

52

基于CS5532的高精度药品自动称重系统的研究

if((data_byte&0x80)==0x80) {CS5533_SDI_UP;} else

{CS5533_SDI_DOWN;} CS5533_SCLK_UP; data_byte<<=1; }

CS5533_SCLK_DOWN; CS5533_SDI_DOWN; }

////////////////////////////////////// unsigned char read_byte(void) {

unsigned char count;

unsigned char receive_data=0x00; for (count=0;count<8;count++) { receive_data<<=1; CS5533_SCLK_DOWN; CS5533_SCLK_UP; if((P2IN|0x7f)==0xFF)

{receive_data=receive_data|(0x01);} else

{receive_data=receive_data&(0xFE);} }

CS5533_SCLK_DOWN; return (receive_data); }

//////////////////////////////////////// void read_long(void) {

53

基于CS5532的高精度药品自动称重系统的研究

CS5533_reg_data.byte.first=read_byte(); CS5533_reg_data.byte.second=read_byte(); CS5533_reg_data.byte.third=read_byte(); CS5533_reg_data.byte.fourth=read_byte(); }

//////////////////////////////////////////

void write_long(unsigned long write_data) {

CS5533_reg_data.data=write_data; write_byte(CS5533_reg_data.byte.first); write_byte(CS5533_reg_data.byte.second); write_byte(CS5533_reg_data.byte.third); write_byte(CS5533_reg_data.byte.fourth); }

unsigned char code table[]= {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86};

//**************************************** sbit EN3 = P1^1; sbit EN2 = P1^2; sbit EN1 = P1^3; sbit EN0 = P1^4; sbit SOUND = P1^0;

sbit TLC_549_CLK=P2^4; /*片选*/

sbit TLC_549_DO=P2^5; /*TLC549 的时钟信号*/ sbit TLC_549_CS=P2^6; /*TLC549的数据输出*/

54

基于CS5532的高精度药品自动称重系统的研究

void delay();

unsigned char CS5533_init(void);

//************************************* main()

//主程序

{ unsigned char i; unsigned char ad_data; unsigned char display_data_3; unsigned char display_data_2; unsigned char display_data_1; unsigned char display_data_0; while (1) {

ad_data=CS5533_conv(void); ad_data=ad_data-15; //ad_data=234; display_data_3=0;

display_data_2=display_data_2/100; display_data_1=ad_data%100; display_data_1=display_data_1/10; display_data_0=ad_data%10; EN0 =1; EN3 =0; P0=table[display_data_3];

delay();

EN3 =1; EN2 =0;

P0=table[display_data_2];

55

基于CS5532的高精度药品自动称重系统的研究

delay();

EN2 =1; EN1 =0;

P0=table[display_data_1];

delay();

EN1 =1; EN0 =0;

P0=table[display_data_0];

delay();

} }

void delay() {

unsigned int i=300; while(i--); }

unsigned char tlc549_read(void) {

unsigned char i,adcdata; adcdata=0;

TLC_549_CS=1; TLC_549_CLK=0; TLC_549_CS=0; ; for(i=0;i<8;i++) {

56

基于CS5532的高精度药品自动称重系统的研究

TLC_549_CLK=1; if(TLC_549_DO) {adcdata++;} adcdata=adcdata<<1; TLC_549_CLK=0; }

TLC_549_CS=1; return (adcdata); for(i=0;i<3;i++) {; } }

57

基于CS5532的高精度药品自动称重系统的研究

声明

本人郑重声明:所呈交的学位论文(毕业设计说明书),是本人在导师指导下,进行研究(设计)工作的总结。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。

签 名: 日 期:

58

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务