单片机双路信号检测系统综合设计.docVIP

单片机双路信号检测系统综合设计.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机双路信号检测系统综合设计

基于单片机的双路信号检测系统综合设计 摘要:通过单片机编程实现对电压和温度两路信号进行实时检测并且显示,同 时设置不同的工作状态,使得可以单独显示电压或者温度值,当然也能同时显示两路信号。其中电压由外部电路输入进行测试,温度由温度传感器进行输入测试为了测试方便记录显示,还应设计一个等待状态。 关键字:单片机 温度显示 电压显示 设计任务概述 设计一个能同时对环境温度和0V~2.5V直流电压进行检测的系统,压的检测采用TLC549串行ADC器件;对温度的检测采用LM75A数字温度感器;检测结果以动态扫描方式显示在一个8位LED数码显示器上(可以同时显示,也可以轮流显示)。结合Quick51核心板SmartSOPC教学实验开发平台综合实验系统主要由以下几部分组成:89C51单片机及其仿真系统,温度、模拟量传感器及其接口电路,A/D转换模块,数据存储模块,成框图如图1所示系统采用89C51单片机作为主控芯片,A/D转换模块将路模拟号转换为数字信号;外部数据存储模块为该系统采集的数据提供存储空间;按键控制模块向CPU传回键值,用来设置;时钟芯片不仅可以给系统提供准确的时间;看门狗电路模块为系统提供了精确复位和低电压监控功能,一旦系统出现故障或程序跑飞,它就可以在超时周期之后使CPU复位,提高系统的整体可靠性和抗干扰能力LCD液晶显示模块可时显示,单片机仿真系统可以模拟CPU在仿真机上运行用户程序(程序和数据存器借用仿真机的),也可以连接外部电路来实现动态监测与控制功能.仿真机一般都具有单片机的基本功能部件,如CPU、RAM、用户程序存储区、键盘等;具有单步、设置断点(以便随时观察内部各RAM、特殊功能寄存器的数据变化)、连续运行用户程序的功能该机可以仿真8031、89C2051、89C51等类型的单片机,该机的调试软件可以直接编辑汇编源程序.通过仿真机进行编程和调试减少了对芯片的频繁写人、擦除和修改操作,只有当程序调试顺利通过才将程序写入芯片,编程方便且节省时间.AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器共阴极共阳极一个LED数码显示器两端所加正向电压增加到2V时,则会出现正向电流并发光,极限电流为20mA左右。因此,无论是共阳极,还是共阴极结构,LED数码显示器都要加限流电阻。  系统软件包括单片机软件和PC机软件单片机软件采用模块化结构,利语言编写.根据要实现的功能,该软件由主程序以及数据采集、A/D转换、数据通信、日历时钟编程、键盘中断调控、液晶显示、D/A转换、数码管显示等程序模块组成给出系统程序流程图如图所示 图7 键值处理处的框图流程图: 图 8 3.2 各部分程序函数介绍 3.2.1 数字温度计显示函数: ReadAdc() 功能: 读取A/D转换结果 结果: 返回8位ADC代码 3.2.2 接口初始化函数:AdcInit() 功能:初始化ADC接口 3.2.3 延迟函数:Delay() 功能:延时1ms~65.536s 参数:t0时,延时(t*0.001)s;t=0时,延时65.536s 3.2.4 系统初始化函数:SysInit() 功能:系统初始化 3.2.5 温度读取函数:LM75A_GetTemp 功能:读出LM75A的温度值 返回:LM75A温度寄存器的数值(乘以0.125可得到摄氏度值) 3.2.6 转换函数:ByteToStr() 功能:字节型变量c转换为十进制字符串 3.2.7 函数:DispTemp() 功能:在数码管上显示出温度值 参数:t:补码,除以8以后才是真正温度值 4 系统调试 4.1 SmartSOPC 实验箱实验箱’不在程序要求的位置。如要求‘P’在第5格显示,而开始在第2位显示。 解决办法:必须在软件中修改,具体改发如下:就是在第一种情况下(K=0)时把显示字符串的程序DispChar(2,p)改成DispChar(5,p);就会得到想要的结果。 3.单独显示温度时出现了很多不必要的0如:出现20.000,出现这种情况的原因是显示程序中没有把字符串型的数据转

文档评论(0)

phl805 + 关注
实名认证
文档贡献者

建筑从业资格证持证人

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

领域认证该用户于2023年05月12日上传了建筑从业资格证

1亿VIP精品文档

相关文档