1、单片机实验恒温冰箱迷你恒温冰箱 一 课程设计目的1通过对本课程的设计加深对AVR单片机的认识、了解以及掌握2、掌握JETC串口进行数据传输的应用,并学会使用外部芯片辅助项目设计。 3 加深对硬件电路的了解以及掌握,掌握对模数转换部分以及对中断部分的应用。4、通过此次课程设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。 5 培养团队意识,锻炼分工合作以及协调能力。二 设计原理 利用DS18B20芯片实现温度探测和温度信号输入,利用3个七段数码管显示温度。当温度高于临界温度15时,单片机则输出信号,通过继电器控制半导体制冷片及风扇工作,使冰箱实现制冷功能。 三 用
2、途与功能1、利用DS18B20芯片实现温度探测和温度信号输入,显示室内温度,并随室内温度变化而变化。2、利用3个七段数码管显示温度,温度精确度为0.5。3、当外界温度高于15度时,利用单片机输出信号,通过继电器控制半导体制冷片及风扇工作,使冰箱实现制冷功能。4、 制冷片不工作即冰箱不工作时绿灯亮,工作时红灯亮。四 设计功能模块迷你恒温冰箱的功能主要有4个模块构成:探测模块,显示模块,主控模块以及制冷驱动模块。设计功能模块图及各功能模块分析: 设计功能模块图1探测模块 对于温度传感器,理想情况下应该能够随时高效地感应到所在整个空间内的温度变化。鉴于性价比高的考虑,我们选择了DS18B20作为本系
3、统中的温度传感器。DS18B20是DALLAS半导体器件公司生产的可编程一线数字温度传感器芯片,它仅用一线就可完成与单片微控制器的硬件接口,具有使用简单方便、分辨率高的优点。2显示模块我们使用3位共阴7段数码管输出温度数据,因测量温度精确到0.52.3主控模块我们直接选用Atmel公司的ATmaga16L单片机作为主控模块。Mega16是高性能、低功耗的8位AVR微处理器,具有先进的RISC结构,内部集成两个具有独立预分频器和比较器功能的8位定时器/ 计数器和一个具有预分频器、比较功能和捕捉功能的16 位定时器计数器。可通过JTAG对MCU进行程序烧写及仿真。内置晶振,使用方便。2.4制冷驱动
4、模块 我们选用的是TEC12705半导体制冷片,通过5腿继电器控制其工作。四 电路设计图六 程序流程图七 程序代码 #include #include unsigned char ds1820_reset(void);unsigned int ds1820_read_temp(void);flash unsigned char led_710=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;flash unsigned char position4=0x0E,0x0D,0x0B,0x07; /初始化中断int led_buf4;unsigne
5、d 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 480uS)*/ if(flag&0x80) /*恢复中断*/ SEI(); if(i) return 0x00; else return 0x01; /*DS18B20读取函数*/unsigned cha
6、r ds1820_read_byte(void) unsigned char i; unsigned char value=0; flag=SREG; /*中断保护*/ CLI(); /*关闭中断*/ for(i=8;i!=0;i-) value=1; DQ_OUT; DQ_CLR; NOP(); /*延时4uS*/ NOP(); NOP(); NOP(); DQ_SET; DQ_IN; NOP(); /*延时10uS*/ NOP(); NOP(); NOP(); NOP(); NOP(); NOP(); NOP(); NOP(); NOP(); if (DQ_R) value|=0x80;
7、delay_10us(5); /*延时60uS*/ if(flag&0x80) /*恢复中断状态*/ SEI(); return(value);/*DS18B20字节写入函数*/void ds1820_write_byte(unsigned char value) unsigned char i; flag=SREG; /*中断保护*/ CLI(); /*关闭中断*/ for(i=8;i!=0;i-) DQ_OUT; DQ_CLR; NOP(); /*延时4uS*/ NOP(); NOP(); NOP(); if (value & 0x01) DQ_SET; delay_10us(7); /*
8、延时80uS*/ DQ_SET; /*位结束*/ value=1; if (flag & 0x80) /*恢复中断状态*/ SEI(); /*启动DS1820转换*/void ds1820_start(void) ds1820_reset(); ds1820_write_byte(0xCC); /*保留地址*/ ds1820_write_byte(0x44); /*启动转换*/*DS8B20读取温度*/unsigned int ds1820_read_temp(void) unsigned int i; unsigned char buf9; ds1820_reset(); ds1820_wr
9、ite_byte(0xCC); /*保留地址*/ ds1820_write_byte(0xBE); /*读取温度*/ for (i = 0; i 9; i+) bufi=ds1820_read_byte(); i=buf1; i=15)PORTD|=0x30;else PORTD|=0x40;if(poist=1) PORTB=led_7led_bufpoist|0x80;delay_ms(2);if(+poist=3)poist=0;void main(void) unsigned int i;DDRA=0x0F; /*方向输入*/PORTA=0xFF;DDRC=0xFF;PORTC=0x0
10、0; /*打开上拉*/DDRB=0xFF; /*方向输出*/PORTB=0xFF; /*电平设置*/DDRD=0xFF;PORTD=0x00;SEI(); /中断TCCR0=0x0B;TCNT0=0x00;OCR0=0x8B; TIMSK=0x02;delay_ms(200);ds1820_reset(); /* D18B20复位*/ while (1) ds1820_start(); /*启动一次转换*/delay_ms(15); /*等待转换结束*/i=ds1820_read_temp(); /*读取温度数值*/i=(i*10)/16; /*温度数值处理*/led_buf3=i/1000;
11、 /*将显示信息加载到显示缓存区*/i=i%1000;led_buf2=i/100;i=i%100;led_buf1=i/10;led_buf0=i%10;m=led_buf2*10+led_buf1;八 程序运行图图一图2九 实物图及现象开始时为设定温度0度,绿灯亮,风扇不转,制冷片不工作显示室内温度30.0度,红灯亮,制冷片风扇工作显示室内温度30.0度,红灯亮,制冷片风扇工作十 项目花费材料花费(元)总计(元)电路板51DS18B20温度探测芯片54段七段数码管半导体制冷片40散热风扇3继电器3电阻及电线发光二极管三极管十一 参考文献(1) 网站资料(2)电子资料DS18B20数据手册(
12、5)书籍资料(1)AVR单片机嵌入式系统原理与应用实践马潮编北京航空航天大学出版社(2)C语言程序设计 谭浩强编 清华大学出版社 ( 3 ) 单片机原理与技术接口 李茂奎 等 编著 山东大学出版社十二 总结与心得体会 相比电工实验来说这个要难很多,虽说原理之类的东西之前学到了,但由于是自己设计,需添加什么功能,或者是怎么实现都觉得很困难。第一天看了看老师给的例子,又查了查网上别人做的东西,虽说感觉到有困难但是看到别人做出的好多好多好玩的东西还是蛮期待的,想象自己做出来的会是什么样的。最后我们把范围缩小到两个课题上:“音乐喷泉”,“迷你恒温冰箱”。由于音乐喷泉需要小电机和能喷水的东西,我们决定用
13、汽车风窗洗涤器来代替,我们在一家修摩托的地方找到了,由于价格比较贵,决定放弃。于是我们开始寻找另一个的器材,器材方面也费了很大精力,第一是中发只有一家卖半导体制冷片的,而两次去老板都去进货啦,还好我们在知春电子城买到了。由于之前对这些器材不是很了解,不知道继电器的原理,还好找到了一个卖继电器的叔叔,他很了解,解决了我们的难题。由于我们的实验是在温度传感器上的拓展,在网上查了些资料,因而电路连接方面问题不是很大,只是在软件方面我们学的是C+,虽说与C是通的,但是还是有些约定缩成的东西不是很了解,有C方面书籍的帮助,最后还是完成啦。虽说时间很短但是收获很大,最重要的是小组之间的合作沟通和解决问题的能力。硬件方面比如数码管共阴共阳问题及继电器的连接还有制冷片的用法等等,虽说在连得过程中走了很多弯路,但是正因为如此才会理解的更加深刻。小组合作过程中虽说有时会有些分歧,但是最后两人都明白后问题就解决了。同时实验中锲而不舍的精神还是很重要的,有时遇到一些困难可能两三天都没法解决,这时就需要不断探索,直到找到解决的方法或者判断出这么做是行不通的。感谢这次小学期,收获了许多知识,收获了许多快乐。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1