单片机实验-恒温冰箱.doc

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

迷你恒温冰箱 一 课程设计目的 1通过对本课程的设计加深对AVR单片机的认识、了解以及掌握 2、掌握JETC串口进行数据传输的应用,并学会使用外部芯片辅助项目设计。 3 加深对硬件电路的了解以及掌握,掌握对模数转换部分以及对中断部分的应用。 4、通过此次课程设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。 5 培养团队意识,锻炼分工合作以及协调能力。 二 设计原理 利用DS18B20芯片实现温度探测和温度信号输入,利用3个七段数码管显示温度。当温度高于临界温度15°时,单片机则输出信号,通过继电器控制半导体制冷片及风扇工作,使冰箱实现制冷功能。 三 用途与功能 1、利用DS18B20芯片实现温度探测和温度信号输入,显示室内温度,并随室内温度变化而变化。 2、利用3个七段数码管显示温度,温度精确度为0.5。 3、当外界温度高于15度时,利用单片机输出信号,通过继电器控制半导体制冷片及风扇工作,使冰箱实现制冷功能。 4、 制冷片不工作即冰箱不工作时绿灯亮,工作时红灯亮。 四 设计功能模块 迷你恒温冰箱的功能主要有4个模块构成:探测模块,显示模块,主控模块以及制冷驱动模块 。 设计功能模块图及各功能模块分析: 设计功能模块图 1探测模块 对于温度传感器,理想情况下应该能够随时高效地感应到所在整个空间内的温度变化。鉴于性价比高的考虑,我们选择了DS18B20作为本系统中的温度传感器。DS18B20是DALLAS半导体器件公司生产的可编程一线数字温度传感器芯片,它仅用一线就可完成与单片微控制器的硬件接口,具有使用简单方便、分辨率高的优点。 2显示模块 我们使用3位共阴7段数码管输出温度数据,因测量温度精确到0.5° 2.3主控模块 我们直接选用Atmel公司的ATmaga16L单片机作为主控模块。Mega16是高性能、低功耗的8位AVR微处理器,具有先进的RISC结构,内部集成两个具有独立预分频器和比较器功能的8位定时器/ 计数器和一个具有预分频器、比较功能和捕捉功能的16 位定时器计数器。可通过JTAG对MCU进行程序烧写及仿真。内置晶振,使用方便。 2.4制冷驱动模块 我们选用的是TEC12705半导体制冷片,通过5腿继电器控制其工作。 四 电路设计图 六 程序流程图 七 程序代码 #include iom16v.h #include macros.h unsigned char ds1820_reset(void); unsigned int ds1820_read_temp(void); flash unsigned char led_7[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; flash unsigned char position[4]={0x0E,0x0D,0x0B,0x07}; //初始化中断 int led_buf[4]; unsigned char poist=0; #define DQ_IN DDRA = ~(1 PA7) /*设置输入*/ #define DQ_OUT DDRA |= (1 PA7) /*设置输出*/ #define DQ_CLR PORTA = ~(1 PA7) /*置低电平0*/ #define DQ_SET PORTA |= (1 PA7) /*置高电平1*/ #define DQ_R PINA (1 PA7) /*读电平*/ unsigned char m; unsigned char flag; /*中断标志缓存*/ /* 延时函数 延时时间:i X 10 + 16uS。 CPU频率为:1MHz。 */ void delay_10us(unsigned char i) { if(i==0) { return ; } while(i--) { NOP(); NOP(); NOP(); NOP(); } } /*DS18B20复位函数*/ unsigned char ds1820_reset(void) { unsigned char i; flag=SREG; /*中断保护*/ CLI(); /*关闭中断*/ DQ_OUT; DQ_CLR; delay_10us(49); /*延时500uS(480-960)*/ DQ_SET; DQ_IN; delay_10us(7); /*延时80uS*/ i=DQ_R; delay_10us(49); /*

文档评论(0)

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

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

1亿VIP精品文档

相关文档