单片机的智能仪器设计.doc_第1页
单片机的智能仪器设计.doc_第2页
单片机的智能仪器设计.doc_第3页
单片机的智能仪器设计.doc_第4页
单片机的智能仪器设计.doc_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

目录1绪论51.1课题来源51.2课题背景和研究目的的意义61.3国内外在该研究方向的研究现状及分析82智能仪器的功能要求92.1智能仪器功能实现的要求92.2智能仪器的未来发展及要求93基于单片机的智能仪器总体设计113.1单片机对浮点数处理方法的介绍113.1.1浮点数的基本知识113.1.2浮点数的加减运算123.1.3浮点数的乘除运算153.2单片机芯片的选择173.3智能仪器的方案选择194系统硬件设计204.1智能仪器硬件设计框图204.2主控制器244.2.1主控制器硬件及框图244.3键盘按键电路设计分析254.4液晶显示电路设计分析265智能仪器系统程序设计315.1系统软件流程图设计315.2主程序设计325.3键盘按键程序设计415.4液晶显示程序设计476智能仪器的具体操作步骤54结 论56参考文献57 1绪论1.1课题来源当今社会,随着人们生活的不断提高,电子产品已经走进了家家户户,无论是生活还是学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。基于单片机的智能仪器作为一种快速通用的计算工具方便了用户的使用。基于单片机的智能仪器可谓是我们最亲密的电子伙伴之一。单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中,单片机是微型计算机的一个重要分支,也是颇具生命力的机种。单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。1.2课题背景和研究目的的意义智能仪器是一类新型的、内部装有微处理器或单片机的微机化电子仪器,它是由传统的电子仪器发展而来的,但在结构和内涵上已经发生了本质的变化。在物理结构上,微型计算机包含于电子仪器中,微处理器及其支持部件是智能仪器的一个组成部分;但是从计算机的角度来看,测试电路与键盘、 通信接口及显示器等部件一样,可看作是计算机的一种外围设备。 因此,智能仪器实际上是一个专用的微型计算机系统,它主要由硬件和软件两大部分组成。智能仪器的主体部分是由单片机及其扩展电路(程序存储器EPROM、数据存储器RAM及输入输出接口等)组成的。主机电路是智能仪器区别于传统仪器的核心部件,用于存储程序、 数据,执行程序并进行各种运算、数据处理和实现各种控制功能。输入电路和A/D 转换接口构成了输入通道;而D/A转换接口及驱动电路则构成了输出通道;键盘输入接口、显示器接口及打印机接口等用于沟通操作者与智能仪器之间的联系,属于人机接口部件;通信接口则用来实现智能仪器与其他仪器或设备交换数据和信息。 与传统仪器相比,研究基于单片机的智能仪器有几方面的目的与意义:(1)微处理器或单片机的引入使智能仪器的功能较传统仪器有了极大的提高。许多原来用硬件电路难以解决或根本无法解决的问题,由于利用软件而获得较好的解决。(2)智能仪器可以通过数据处理进行自动校正、非线性补偿、数字滤波等修正和克服由各种传感器、变换器、放大器等引进的误差和干扰,从而提高仪器的精度和其他性能指标。(3)智能仪器一般都具有很高的自动化水平。单片机能控制仪器的整个测量过程,如键盘扫描,量程选择,数据采集、传输、处理及显示记录输出等,实现测量过程的自动化。(4)智能仪器具有对外接口能力,能很方便地通过接口组成多功能自动测试系统。(5)智能仪器由于采用了微处理器,从而可以用软件代替许多硬件电路的工作。这样仪器可以简化结构、减少体积、减低成本和提高可靠性。(6)智能仪器通常具有自测试和自诊断功能。它能自行测试功能是否正常,自行诊断是否存在故障及故障的部位,提高了仪器的可靠性,简化和加快了仪器的维修工作。1.3国内外在该研究方向的研究现状及分析从电子仪器在国内外的发展历程,我们可以发现,从仪器使用的器件来看大致经历了三个阶段,即真空管时代晶体管时代集成电路时代。若从仪器的工作原理来看,又可以分为以下几个阶段:第一代,模拟式电子仪器(又称指针式仪器)。这一代仪器应用和处理的信号均为模拟量。第二代,数字式电子仪器,如数字电压表、数字式测温仪、 数字频率计等。它们的基本工作原理是将待测的模拟信号转换成数字信号并进行测量,测量结果以数字形式输出显示。第三代,智能型仪器。这一代仪器是计算机科学、通信技术、微电子学、 数字信号处理、人工智能、VLSI等新兴技术与传统电子仪器相结合的产物。智能仪器的发展水平是朝着小型化(微型化)、集体化、数字化、多功能化、智能化、网络化、自动化的方向发展。仪器的性能、灵敏度、稳定性、可靠性等指标将不断提高。当前仪器的微型化、智能化和网络化尤其受到人们的关注。智能仪器的发展,依赖现代科学技术。传感技术、微电子、计算机、计算机、激光、超导、通信。人工智能、信息处理等对智能仪器的发展起了极大的推动作用。因此,在研究智能仪器时,必须时刻紧跟科技发展的步伐,关注各种新理论、新技术的发展动向,及时地将各种新成果应用到智能仪器的研发过程中,不断提高智能仪器的水平。 当然智能仪器的设计也存在不少问题,最主要的问题有:(1)产品更新换代太快(2)市场竞争日趋激烈(3)满足用户不同层次和不断变化的要求。2智能仪器的功能要求2.1智能仪器功能实现的要求能够掌握智能仪器的基本组成结构、工作原理、智能仪器的典型处理功能以及智能仪器的数据通信方式,初步了解智能仪器的结构。然后通过对智能仪器典型的实物,进一步阐述智能仪器各主要部件的电路结构、工作原理,智能仪器的特点以及不同类型仪器的软、硬件设计思路;并对智能仪器使用中的常见故障、故障产生的原因及其处理方法。2.2智能仪器的未来发展及要求 随着微电子、计算机、网络和通讯技术的飞速发展以及综合自动化程度的不断提高,目前广泛应用于工业自动化领域的智能仪表,其技术也同样在过去的二十多年里得到了迅猛的发展。目前国外智能仪表占据了国际应用市场的绝大比重,如何结合目前智能仪表的工业应用经验并快速跟踪国际智能前沿技术应用于我国智能仪表的开发研究成为振兴民族智能仪器仪表的一大突出问题。对于智能仪器的未来发展技术有以下几条建议(1)智能仪表的智能化程度有待进一步提高智能仪表的智能化程度表征着其应用的广度和深度,目前的智能仪表还只是处于一个较低水平的初级智能化阶段,但某些特殊工艺及应用场合则对仪表的智能化提出了较高的要求,而当前的智能化理论,如:神经网络、遗传算法、小波理论、混沌理论等已经具备潜在的应用基础,这就意味着我们有必要也有能力结合具体的应用需要下大气力开发高级智能化的仪表技术。(2)智能仪表的稳定性、可靠性有待长期和持续的关注仪表运行的稳定性、可靠性是用户首要关心的问题,智能仪表也不例外,随着智能仪表技术的不断拓展、新型的智能仪表也将陆续投放市场,这需要我们始终把握一个原则:每一项智能新技术的应用有待实践的检验,是否用户有信心和勇气敢于做“第一个吃螃蟹的人”。这就需要安全性、可靠性技术的并行开发。(3)智能仪表的潜在功能应用有待最大化目前工业自动化领域的实际应用尚未将智能仪表的功能发挥最大化,而更多的只是应用了其总体功能的半数左右,而这一应用现状的主要原因是,控制系统的总体架构忽略了诸如现场总线的技术优势,这需要仪表厂商与用户建立良好的合作伙伴关系,加强长期合作,以短期投资促长期效益,通过建立“智能仪表现场总线”的控制系统架构,确立优化的投资观念,达成和谐共赢的目标。(4)继续加大国内智能仪表的开发投入智能仪表技术及应用还需要经历一个较为漫长的成熟发展期,而对于国内智能仪表技术及产品开发已经面临着更大的挑战,这种局面召唤着国内仪表行业共同探讨智能仪表的发展问题,应对激烈的国际竞争市场,担负仪表产业的历史使命,在日益优厚的国家及政府扶持政策下,坚持产、学、研的密切结合,继续加大国内智能仪表的开发投入。3基于单片机的智能仪器总体设计3.1单片机对浮点数处理方法的介绍3.1.1浮点数的基本知识同样的数值可以有多种浮点数表达方式,比如 17.3 可以表达为 17.3 10 1,0.173 10 2 或者0.173 10 3 ,因为这种多样性,所以必须对其加以规范化以达到统一的表达目标。对于10进制浮点数来说,规范的浮点数表达方式具有如下形式:d.dd.d 10 其中 d.dd.d 即尾数,10 为基数,e 为指数。尾数中数字的每个数字 d 介于 0 和基数之 间,包括0,小数点左侧的数字不为0。在计算机内部数据表示的通用格式为: SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 在这里:S:尾数的符号位,0表示正,1表示负。E:指数的值,实际存储的是相对于127的偏移量。M:24位的尾数(实际存储23位)。0是一个特殊的值,其指数和尾数都是0。.3.1.2浮点数的加减运算 浮点数的加减运算一般由以下五个步骤完成:对阶尾数运算结果规格化舍入处理溢出判断设两浮点数X、Y进行加减运算,其中XMx2Ex,YMy2Ey1).对阶所谓对阶是指将两个进行运算的浮点数的解码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行Mx2Ex与My2Ey加减运算时,只有使两浮点数的指数值部分相同,才能将相同的指数值作为公因数提出来,然后进行尾数的加减运算。对阶的具体方法是:首先求出两浮点数阶码的差,即EEx-Ey,将小阶码加上E,使之与大阶码相等,同时将小阶码对应的浮点数的尾数右移相应位数,以保证该浮点数的值不变。几点注意:(1)对阶的原则是小阶对大阶,之所以这样做是因为若大阶对小阶,则尾数的数值部分的高位需移出,而小阶对大阶移出的是尾数的数值部分的低位,这样损失的精度更小。(2)若E0,说明两浮点数的阶码已经相同,无需再做对阶操作了。(3)采用补码表示的尾数右移时,符号位保持不变。(4)由于尾数右移时是将最低位移出,会损失一定的精度,为减少误差,可先保留若干移出的位,供以后舍入处理用。2). 尾数运算尾数运算就是进行完成对阶后的尾数相加减。这里采用的就是我们前面讲过的纯小数的定点数加减运算。3). 结果规格化在机器中,为保证浮点数表示的唯一性,浮点数在机器中都是以规格化形式存储的。对于IEEE754标准的浮点数来说,就是尾数必须是1.M的形式。由于在进行上述两个定点小数的尾数相加减运算后,尾数有可能是非规格化形式,为此必须进行规格化操作。规格化操作包括左规和右规两种情况。左规操作:将尾数左移,同时阶码减值,直至尾数成为1.M的形式。例如,浮点数0.001125是非规格化的形式,需进行左规操作,将其尾数左移3位,同时阶码减3,就变成1.110022规格化形式了。右规操作:将尾数右移1位,同时阶码增1,便成为规格化的形式了。要注意的是,右规操作只需将尾数右移一位即可,这种情况出现在尾数的最高位(小数点前一位)运算时出现了进位,使尾数成为10.xxxx或11.xxxx的形式。例如,10.001125右规一位后便成为1.0001126的规格化形式了。4).舍入处理浮点运算在对阶或右规时,尾数需要右移,被右移出去的位会被丢掉,从而造成运算结果精度的损失。为了减少这种精度损失,可以将一定位数的移出位先保留起来,称为保护位,在规格化后用于舍入处理。IEEE754标准列出了四种可选的舍入处理方法:(1)就近舍入(round to nearest) 这是标准列出的默认舍入方式,其含义相当于我们日常所说的“四舍五入”。例如,对于32位单精度浮点数来说,若超出可保存的23位的多余位大于等于10001,则多余位的值超过了最低可表示位值的一半,这种情况下,舍入的方法是在尾数的最低有效位上加1;若多余位小于等于01111,则直接舍去;若多余位为10000,此时再判断尾数的最低有效位的值,若为0则直接舍去,若为1则再加1。(2)朝+舍入(round toward +) 对正数来说,只要多余位不为全0,则向尾数最低有效位进1;对负数来说,则是简单地舍去。(3)朝-舍入(round toward -) 与朝+舍入方法正好相反,对正数来说,只是简单地舍去;对负数来说,只要多余位不为全0,则向尾数最低有效位进1。(4)朝0舍入(round toward 0) 即简单地截断舍去,而不管多余位是什么值。这种方法实现简单,但容易形成累积误差,且舍入处理后的值总是向下偏差。5). 溢出判断与定点数运算不同的是,浮点数的溢出是以其运算结果的阶码的值是否产生溢出来判断的。若阶码的值超过了阶码所能表示的最大正数,则为上溢,进一步,若此时浮点数为正数,则为正上溢,记为+,若浮点数为负数,则为负上溢,记为-;若阶码的值超过了阶码所能表示的最小负数,则为下溢,进一步,若此时浮点数为正数,则为正下溢,若浮点数为负数,则为负下溢。正下溢和负下溢都作为0处理。3.1.3浮点数的乘除运算阶码运算:阶码求和(乘法)或阶码求差(除法) 即 Ex+Ey移= Ex移+ Ey补 ExEy移= Ex移+ Ey补浮点数的尾数处理:浮点数中尾数乘除法运算结果要进行舍入处理例题:X=0 .0110011*211,Y=0.1101101*2-10求XY解:X浮: 0 1 010 1100110 Y浮: 0 0 110 1101101第一步:阶码相加Ex+Ey移=Ex移+Ey补=1 010+1 110=1 0001 000为移码表示的0第二步:原码尾数相乘的结果为:0 10101101101110第三步:规格化处理:已满足规格化要求,不需左规,尾数不变,阶码不变。第四步:舍入处理:按舍入规则,加1进行修正所以 XY= 0.10101112+000 。3.2单片机芯片的选择STC89C51芯片的选择具有以下原因1).具有较完美的系统控制器8052单片机是美国公司ATMEL公司生产的具有多个中断、定时器的单片机,它具有一个标准的全双工串行接口,其电平为TTL电平,8052单片机内部结构如图3所示。2).具有超强的控制器存储结构8051单片机的串行口是由发送寄存器(SBUF)、接收寄存器(SBUF)、和移位寄存器三部分组成。在完成串行口初始化后,只需将要发送的数据写入SBUF,CPU将自动启动并完成串行数据的发送;同样,接收时,CPU将自动接收到的数据存入SBUF,用户只需要从SBUF中读出接收数据。串行数据通信有异步通信和同步通信两种新式。异步通信依靠起始位、停止位保持通信同步,同步通信依靠同步字符保持同步。同步传输方式比异步传输方式速度快,但同步传输方式必须要用一个时钟来协调收发器的工作,所以它的设备比较复杂。异步串行通信常用于MCU到CRT终端、字符打印机之间的通信、直通电报、无线电通信的数据发送及工业现场的数据远传等。波特率是串行通信中一个重要的概念,是指数据传输的速率,波特率的定义是每秒传输数据的位数。互相通信的甲乙双方必须具有相同的波特率,否则无法成功的完成串行数据通信。SCON用于串行数据通信的控制。其单元地址为98H,位地址为98H-9FH,其内容及位地址如图表2所示REN:接收使能位。REN位于对串行口数据的接收进行控制,该位由软件置位或清除。当REN=0时,禁制接收;REN=1时;允许接收。在方式0中,发送完8位数据后,

温馨提示

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

评论

0/150

提交评论