基于单片机的智能仪器综合设计实验..doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的智能仪器综合设计实验.

基于单片机的智能仪器综合设计实验~实验三的基础上,完成综合设计实验,学会信号采集、数据处理、键盘控制、LD显示等功能的智能仪器K分度号热电偶进行温度检测,测温范围为0-1200oC,室温为25oC,按键选择室温和被测温度的显示,用LCD显示。 具有8路温度信号循环检测功能,通道切换时间可调;具有任意指定通道显示功能。(选作) 具有北京时间显示、修改功能。(选作) 3.主要仪器设备 PC机;单片机实验板、连接导线、ST7920图形液晶模块 Keil c51软件 4.设计思想 该实验主要完成北京时间显示与修改,数据采集通道显示与修改,室温显示与设定,采集结果显示。 4.1 硬件设计 4.1.1 最小系统设计 该实验中的最小系统模块中包括CPU、复位电路和晶振,其最小系统原理图如图4.1.1所示 图4.1.1 CPU时钟与复位电路图 4.1.2 4*4非编码键盘 图4.1.2 矩阵键盘原理图 4.1.3 LCD显示电路 本设计采用ST7920控制器的LCD液晶显示器,其具有低电压,字迹清晰、能够显示汉字和字符等特点,且编程方便,易于查看、修改。本实验中主要用到了VSS、VDD、RS、RW、CS引脚。ST7920液晶显示器与MCU接口电路原理图如图4.1.3所示。 图4.1.3 LCD显示电路原理图 4.1.4 AD采集电路 本设计采用ADC0809为电压采集转换芯片。ADC0809是一种8位逐次比较型A/D转换器,转换时间为100us,输入电压范围为0~5V,片内有8通道模拟开关,可接入8个模拟量输入。芯片内有输出数据锁存器,输出的数字量可直接与连接在计算机的CPU数据总线相接,而无需附加接口电路。其接口电路如图4.1.4所示。 图4.1.4 AD采集接线图 4.2 软件设计 根据功能将软件系统分为八部分,主程序、数据采集部分、滤波函数部分、查表部分、按键扫描部分、中断部分、显示部分以及延时部分。 4.2.1 主程序 程序执行时,在主程序里循环扫描标志位,如果室温或者采集通道号有所改动,就重新采集数据。如果没改动,就一分钟采集一次。如果通道号、室温、时间有所改变,即刷新LCD显示屏。主函数流程图如图4.2.1所示。 图4.2.1 主程序流程图 4.2.2 数据采集部分 当主函数调用该函数时,感函数首先选择通道号,然后启动ADC0809,对指定通道数据采集10次,并将转换后的结果存储在全局变量table数组中供后续程序处理。其流程图如图4.2.2所示。 图4.2.2 数据采集函数流程图 4.2.3 滤波函数部分 该函数要实现去掉采集结果的最大值和最小值,并将采集结果转换为标准电压。所以该函数首先采用冒泡排序法对全局变量table数组进行排序,然后去掉两个最值,求取剩余项的平均值,最后将结果转换为标准电压值。其流程图如图4.2.3所示。 图4.2.3 滤波函数流程图 4.2.4 查表部分 该函数主要采用了对半查表法进行程序编写。K分度表中0~1200°C范围的121个电压值(每隔10°C对应一个电压值)都放大1000倍变成整数,构成一张表存放在程序存储器中备查。该函数主要对全局变量进行操作,将所得结果赋值给全局变量fhwd供后续操作。其流程图如图4.2.4所示。 图4.2.4 查表函数流程图 4.2.5 按键扫描部分 该函数主要被定时器调用。此函数主要用行扫描法先将行拉低,再读取值,若读回的值与输出值不一致则表示有键按下,再根据读回的值判断具体按键,返回该按键的值。流程图如图4.2.5所示。 图4.2.5 按键扫描函数流程图 4.2.6 中断部分 该函数主要用于整个程序中的定时,并在其中调用按键函数,以达到实时采集按键信息的目的。可以通过按键实时修改北京时间、室内温度和通道选择。因为该函数中代码较长,所以选择50ms定时中断一次。当中断次数达到20次时,秒计数自增一,修改时间更新标志。当秒变量等于60时,秒变量清零,分变量自增一,以此递推关系类推。当时变量等于24时,分、秒、时变量均清零,重新计数。其流程图如图4.2.6所示。 图4.2.6 中断函数流程图 4.2.7 显示部分 该函数主要在主函数中被调用。当刷新标志位变化时,就调用该函数刷新显示。该函数主要执行步骤为送显示命令,然后送待显示字符,最后刷新显示。其流程图如图4.2.7所示。 图4.2.7显示程序流程图 4.2.8 延时部分 该函数主要用于数据采集过程中的延时。该函数是用C语言编写,为非精确定时。主要通过两个嵌套for循环达到延时的目的。其流程图如图4.2.8所示。 图4.2.8 延时函数流程图 5.调试 该函数的调试过程遇到不少麻烦。可能因为代码太长,自己思路

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档