ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:75.14KB ,
资源ID:14715458      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14715458.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(温度传感器实训报告Word格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

温度传感器实训报告Word格式.docx

1、C,也就是显示整数。如果你设定报警的温度为20C,则当环境温度达到21C时,报警发光二极管发光,同时继电器动作。如果你不需要对温度控制(报警),可以将报警温度值设置高些。如果控制的是某局部的温度,可将18B20用引线引出,但距离不宜过大,注意其引脚绝缘。2.电路的构成该电路有电源、按键控制模块、信号处理、驱动模块、显示模块、检测。.电路原理图.电路仿真图五、元件清单及功能介绍名称规格编号主要功能或作用按钮6X6X5AN1、AN2、AN3调节报警温度的值电容30PC1、C2单片机时钟振荡10UFC3单片机复位470UFC4电源滤波104C5单片机(20P座)AT89C2051IC1CPU温度传感

2、器DS18B20IC2稳压块L7805IC3电路工作于+5V接线座3P5.0J1外电路控制接线座2P5.0J2外接电源接线USB电源插座USBJ3电脑供电插座晶体12MJZ一位共阳数码管0.56LED1摄氏温度符号显示三位共阳数码管LED2温度值显示发光二极管3MMLED3报警发光指示兼Q1偏置三极管8550Q1、Q2、Q3、Q4Q1:报警时驱动继电器;Q2Q3Q4:数码管驱动电阻10KR1220和470R7R13和R14数码管限流,其中R14=4704.7KR2、R3、R4、R6三极管基极和温度传感器偏置2KR5三极管Q1基极偏置二极管1N4148V1续流,保护Q1跳线X1、X2用元件引脚连

3、继电器5V2AJDQ温度达到报警值时触点动作PCB板73MMX85MMUSB电源线连接电脑USB口6、程序:/*-温度控制器V1.5显示为三个共阳极LED温度传感器用单总线DS18B20CPU为2051,四个按键,分别为UP,DOWN,SET温度调节上限为125度,下限为-55度只能用于单只18B20-*/#include intrins.h#define Key_UP P3_0 /上调温度#define Key_DOWN P3_1 /下调温度#define Key_SET P1_7 /设定键(温度设定,长按开电源)#define RelayOutPort P3_5 /继电器输出#define

4、 LEDPort P1 /LED控制口#define LEDOneC P3_2 /LED DS1控制(百位)#define LEDTwoC P3_3 /LED DS2控制(十位)#define LEDThreeC P3_4 /LED DS3控制(个位)#define TMPort P3_7 /DS1820 DataPortunsigned char code LEDDis=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF,0xBF; /0-9的LED笔划,0xFF为空,0xF7为负号static unsigned char bdata

5、 StateREG; /可位寻址的状态寄存器sbit DS1820ON = StateREG0; /DS1820是否存在sbit SetTF = StateREG1; /是否是在温度设置状态sbit KeySETDown = StateREG2; /是否已按过SET键标识sbit PowTF = StateREG3; /电源电源标识sbit KeyTF = StateREG4; /键盘是否允许/sbit KeySETDowning = StateREG5; /SET是否正在按下static unsigned char bdata TLV _at_ 0x0029; /温度变量高低位static

6、unsigned char bdata THV _at_ 0x0028;static signed char TMV; /转换后的温度值static unsigned char KeyV,TempKeyV; /键值static signed char TMRomV _at_ 0x0027; /高温限制static signed char TMSetV _at_ 0x0026; /温度设定值static unsigned char KSDNum; /SET键连按时的采集次数static unsigned char IntNum,IntNum2,IntNum3; /中断发生次数,IntNum用于S

7、ET长按检测,IntNum2用于设定状态时LED闪烁static signed char LED_One,LED_Two,LED_Three; /LED的显示位 LED_One为十位,LED_Two为个位static unsigned char Sign; /负号标识void main(void) void InitDS1820(void); /定义函数 void ROMDS1820(void); void TMVDS1820(void); void TMRDS1820(void); void TMWDS1820(void); void TMREDS1820(void); void TMERD

8、S1820(void); void ReadDS1820(void); void WriteDS1820(void); void Delay_510(void); void Delay_110(void); void Delay_10ms(void); void Delay_4s(void); void V2ToV(void); StateREG = 0; /初始化变量 SetTF = 1; PowTF = 1; /关电源 THV = 0; TLV = 0; TMV = 0; KeyV = 0; TempKeyV = 0; KSDNum = 0; IntNum = 0; IntNum2 = 0

9、; IntNum3 = 0; LED_One = 0; LED_Two = 0; InitDS1820(); /初始化 ROMDS1820(); /跳过ROM TMERDS1820(); /E2PRAM中温度上限值调入RAM TMRDS1820(); /读出温度指令 ReadDS1820(); /读出温度值和上限值 TMSetV = TMRomV; /拷贝保存在DS18B20ROM里的上限值到TMSetV EA = 1; /允许CPU中断 ET0 = 1; /定时器0中断打开 TMOD = 0x1; /设定时器0为模式1,16位模式 TH0=0xB1; TL0=0xDF; /设定时值为2000

10、0us(20ms) TR0 = 1; /开始定时 while(1);/定时器0中断外理中键扫描和显示void KeyAndDis_Time0(void) interrupt 1 using 2 LEDPort = 0xFF; if (!Key_UP) KeyV = 1;Key_DOWN) KeyV = 2;Key_SET) KeyV = 3; /KeySETDowning = 0; /清除 if (KeyV != 0) /有键按下 Delay_10ms(); /延时防抖 按下10ms再测 TempKeyV = 1; TempKeyV = 2; TempKeyV = 3; if (KeyV =

11、TempKeyV) /两次值相等为确定接下了键 if (KeyV = 3) /按下SET键,如在SET状态就退出,否则进入 /KeySETDowning = 1; /表明SET正在按下 PowTF = 0; /电源标识开 if (!KeyTF) if (SetTF) SetTF = 0; /标识位标识退出设定 InitDS1820(); ROMDS1820(); TMWDS1820(); /写温度上限指令 WriteDS1820(); /写温度上限到DS18B20ROM TMREDS1820(); /温度上限值COPY回E2PRAM else SetTF = 1;KeySETDown) /没有第一次按下SET时,KeySETDown标识置1 KeySETDown = 1; else KSDNum = KSDNum + 1; /前一秒内有按过SET则开始计数 if (SetTF) /在SET状态下 if (KeyV = 1) & (!KeyTF) TMSetV = TMSetV + 1; /上调温度 if (KeyV = 2) & TMSetV = TMSetV -

copyright@ 2008-2022 冰豆网网站版权所有

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