欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    东华多路温度巡回检测仪的设计报告.docx

    • 资源ID:29477670       资源大小:246.53KB        全文页数:14页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    东华多路温度巡回检测仪的设计报告.docx

    1、东华多路温度巡回检测仪的设计报告多路温度巡回检测仪的设计一 设计任务及要求:设计一个多路温度检测仪,共有8个测温点,每个点连续检测8次,以平均值代表该点温度,并轮流在LED显示器上显示。测试检测元件为铂热电阻Pt1000, 温度测量范围为100 +500,测量精度为1。系统每隔10秒完成一个点的测量,测量值除在LED显示器上显示外,还必须通过串行口(RS485)发送到上位机。任何时刻,可以通过按键切换显示通道。二 设计框图 三 实验原理 以AT89C51单片机为核心的多路温度巡回检测控制系统,主要用来对多路温度测量结果进行选择性监控;该系统主要由单片机、传感器、多路转换开关、A/D转换器和驱动

    2、显示电路等组成。其中温度传感器将温度信号转化成电压的信号,为了提高设计的精度,用具有低零点漂移繁荣放大器OP193将采集来的微弱的电压信号放大。由于单片机处理的是数字信号,所以用模数转换电路将放大的模拟电信号转换成数字量输入到单片机,通过AT89C51的软件控制对输入的数字信号进行处理后输出,通过八位共阴极LED数码管动态扫描驱动电路MAX7219对测量结果进行显示。四 实验电路设计(1)温度传感器18B20DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。DS18B20 数字温度传感器具有超小的体积,超低的硬件

    3、开消,抗干扰能力强,精度高,附加功能强。 DS18B20 的主要特征: 全数字温度转换及输出。 先进的单总线数据通信。 最高 12 位分辨率,精度可达土 0.5摄氏度。 12 位分辨率时的最大工作周期为 750 毫秒。 可选择寄生工作方式。 检测温度范围为100C +500C 内置 EEPROM,限温报警功能。 64 位光刻 ROM,内置产品序列号,方便多机挂接。 (2)CPU主控模块AT89C51At89C51是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片

    4、上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内

    5、容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash。五 实验调试及运行结果六 设计体会 通过这次对多路温度巡回检测系统的设计,让我了解了利用所学单片机知识设计电路的程序与方法,也让我了解了关于多路温度巡回检测系统的基本原理与设计理念,要设计一个电路总要先用仿真仿真成功之后才实际接线的。通过这次学习,让我对各种电路都有了大概的了解,对proteus软件的使用也更为熟练。对于这些电路还是应该自己动手实际操作才会有深刻理解。七 试验程序源代码#include #include#include#include#define P

    6、CF8591 0x90 /PCF8591的地址 选择第零号通道#define NOKEY 0xff /OXff代表没有按键按下#define START 0x00 / 0x00 代表PCF8591开始转化的命令 sbit cd4051A= P24; /CD4051 的通道值 用于选择输入的通道号 sbit cd4051B= P23; sbit cd4051C= P22;unsigned char OPEN=1; /总开关标志unsigned char keynumber; /按键值unsigned char volatile send; /串口发送标志 unsigned char volati

    7、le channel=0; / 当前通道unsigned char volatile tick=0; code unsigned char disc1=Temp of No. :;unsigned int temperature8=250,250,250,250,250,250,250,250; /设置温度初始值 /*函数声明部分*/unsigned char Keyscan(void); /键盘扫描void AD_Convert(unsigned char); /AD转换程序void Display(unsigned char k); / 显示程序void TargetInit(void);

    8、 void Delay(unsigned char delay); void Lcddisplay(unsigned char number);void Delay(unsigned char); /*/ void Delay(unsigned char timedelay) /延时函数 unsigned char i; for(;timedelay0;timedelay-) for(i=0;i7)channel=0; /隔10秒切换到下一个通道 TR0=1;/*AD转换函数*/void AD_Convert(unsigned char number) float AD_data; float

    9、 sum=0; unsigned char ch; switch(number) case 0: cd4051C=0; /选择转换通道 cd4051B=0; cd4051A=0; break; case 1: cd4051C=0; cd4051B=0; cd4051A=1; break; case 2: cd4051C=0; cd4051B=1; cd4051A=0; break; case 3: cd4051C=0; cd4051B=1; cd4051A=1; break; case 4: cd4051C=1; cd4051B=0; cd4051A=0; break; case 5: cd4

    10、051C=1; cd4051B=0; cd4051A=1; break; case 6: cd4051C=1; cd4051B=1; cd4051A=0; break; case 7: cd4051C=1; cd4051B=1; cd4051A=1; break; /Delay(5); for(ch=0; ch8; ch+) ISendByte(PCF8591,START); /开始转换 选择通道0 AD_data=(float)IRcvByte(PCF8591); /读取转换结果 AD_data=(AD_data/256)*5.0; / 转换结果/256 *5V AD_data=AD_dat

    11、a*100; / if(AD_data100) AD_data=100; sum=sum+AD_data; sum=sum/8; /取连续转换八次的的平均值 temperaturenumber=(unsigned int)sum; /*显示函数*/void Lcddisplay(unsigned char number) unsigned int dis3; dis0=temperaturenumber/100+0; /百位 dis1=(temperaturenumber%100)/10+0; /十位 dis2=(temperaturenumber)%10+0; /各位 lcd_pos(0,0

    12、); prints(disc1); lcd_pos(11,0); lcd_wdat(number+0); lcd_pos(5,1); lcd_wdat(dis0); lcd_wdat(dis1); lcd_wdat(dis2); lcd_wdat( ); lcd_wdat(C);/*按键扫描函数*/unsigned char Keyscan(void) unsigned char number; number=0xff; /如果无按键 按下则返回 0xff if(P1!=0xff) Delay(10); if(P1!=0xff) switch(P1) case 0xfe:number=0; b

    13、reak; /如果有按键按下 则返回按下的按键号 case 0xfd:number=1; break; case 0xfb:number=2; break; case 0xf7:number=3; break; case 0xef:number=4; break; case 0xdf:number=5; break; case 0xbf:number=6; break; case 0x7f:number=7; break; return(number); void main() TargetInit(); lcd_init(); while(1) if(OPEN) /如果上位机发送OFF命令

    14、则停止显示 lcd_wcmd(0x01); while(OPEN) while(Keyscan()!=NOKEY) keynumber=Keyscan(); AD_Convert(keynumber); /有按键按下时 转换和显示 按键对应的通道 Lcddisplay(keynumber); if(send) send=0; Uartsend(the temp of No.,keynumber, temperaturekeynumber ); AD_Convert(channel); Lcddisplay(channel); / 无按键按下时 转换 当前的通道 if(send) send=0; Uartsend(the temp of No.,channel, temperaturechannel );


    注意事项

    本文(东华多路温度巡回检测仪的设计报告.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开