太阳能热水器控制器_第1页
太阳能热水器控制器_第2页
太阳能热水器控制器_第3页
太阳能热水器控制器_第4页
太阳能热水器控制器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

jhjh※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※2009级学生电子综合课程设计电子综合课程设计报告书课题名称太阳能热水器控制器的设计姓名**学号*********院系通信与电子工程学院专业电子科学与技术指导教师***讲师2012年12月30日设计任务及要求:1.提出一个基于单片机的太阳能热水器控制器的整体设计方案。2.对整体的电路进行具体的设计以及程序的编写。3.运用PROTEUS对电路进行仿真以及VISIO软件进行流程图绘制。4.控制器信息通过LCD显示,包括当前系统时间,水温和水量。5.测温范围13℃到52℃指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章:年月日目录电子综合课程设计报告书 1目录 3太阳能热水器控制器的设计 41设计要求 42总体设计方案 43硬件电路设计 43.1系统电路 43.2显示电路 43.3水位调节电路 43.4时钟电路 53.5温度控制电路 54软件设计 64.1系统软件设计 64.2主要程序设计 65系统仿真 76设计总结 8参考文献 8附录 9太阳能热水器控制器的设计#(湖南城市学院通信与电子工程电子科学与技术专业,益阳,413000)1设计要求1.水温显示:水温显示在LCD上,测温范围13℃~52℃;精度±2.水位显示:用LCD来显示当前水位。3.水位设置:通过按变阻器“∧”或“∨”键可以调整水位。4.时间显示:当前系统时间显示在LCD上。2总体设计方案设计并制作如图2.1所示的太阳能热水器控制器。ATAT89C51温度传感器水位检测电路水箱加水电磁阀水位指示电路加热器当前系统时间温度显示键盘报警电路工作状态指示电路图2.1太阳能热水器控制器3硬件电路设计3.1系统电路系统电路原理图如3.1所示。系统电路主要由温度控制电路,水位调节电路,时钟电路等组成。3.2显示电路系统电路原理图如3.2所示。显示电路用型号为LGM12641BS1R的LCD显示,显示电路测试时可在LCD上面显示当前系统时间,水温范围及当前水温,水箱水量。3.3水位调节电路水位调节电路设计原理图如3.3所示。水位调节电路采用ADC0832,电压表和滑动变阻器组成。通过改变滑动变阻器的阻值来改变电压,将信息存入ADC0832,传入到显示电路。3.4时钟电路时钟电路的设计原理图如3.4所示。时钟电路采用DS1302,电容和电源组成。时钟电路通过DS1302获取当前系统时间。3.5温度控制电路温度控制电路的设计原理图如3.5所示。温度控制电路采用DS18B20,电阻和电源组成。电路通过DS18B20上的两个按钮调节所需要的温度值,并在显示电路中LCD上显示。图3.1系统电路原理图图3.2显示电路原理图图3.3水位调节电路原理图图3.4时钟电路原理图图3.5温度控制电路原理图4软件设计4.1系统软件设计太阳能热水器控制器主程序流程图如图4.1所示。系统初始化后,液晶显示系统默认设置,包括当前系统时间,水温范围及当前水温,储水量。运行后可以通过调节控制水位电路中的滑动变阻器改变储水量,通过调节温度控制电路达到需要的水温。4.2主要程序设计1)获取当前系统时间程序clock.c2)液晶驱动程序lcd.c3)键盘程序key.c具体程序见附件。开始开始单片机系统初始化初始化AT89C51NY判断初始化标志位=55H?读EEPROM参数到数据存储器写初始化参数到EEPROM看门狗检测水温检测水位扫描显示图4.1太阳能热水器控制器主程序流程图5系统仿真整体仿真电路图如图5.1所示。图5.1整体电路proteus仿真图6设计总结本次课程设计采用AT89C51单片机完成简易太阳能热水器控制器的设计,期间遇到的最大的问题就是程序的设计。程序的设计需要严谨的思维逻辑,良好的书写规范,最后才能调试成功。这是我在此次设计中得到的最大成果。只有把所学的理论知识与实践相结合起来,从理论出发,以实际有用产品为目标,才能提高自己的实际动手能力和独立思考的能力,成为有用之才。参考文献[1]李建忠.单片机原理及应用[M].西安:西安电子科技大学出版,2002:63-78.[2]张俊谟.单片机中级教程[M].北京:北京航空航天大学出版,2000:36-45.[3]蔡可健.节能热水器智能电路设计方案[J].智能仪器仪表,2004-9.[4]马敏,孙寅聪,张炜宇.太阳能热水器控制器的设计[M].河南科学出版社,2003-4[5]康光华,陈大钦.电子技术基础(模拟部分)[M].高等教育出版社,1999[6]王娟.Proteus在单片机专题实训中的应用[J].产品开发与应用,2012,11(01):67-68[7]范焘.基于Proteus的单片机虚拟实验教学研究[J].实验教学,2011,33(01):131-132附录/*********************************************************************程序名:LCD.c编辑者:***编辑时间:2012-编译环境:Keil4硬件平台:AT89C51功能描述:LCD显示程序**********************************************************************/#ifndef_LCD_12864#define_LCD_12864/*****************************预定义**************************************/#defineucharunsignedchar#defineuintunsignedint#defineportP0sbitrs=P2^2; //10sbitrw=P2^1; //11sbite=P2^0; //12sbitcs1=P2^3; //27sbitcs2=P2^4; //26/*******************************************************************************函数名称:Delay()*功能:延迟时间=a*1ms*入口参数:*出口参数:无******************************************************************************/voidDelay(uinta){uchari;while(a--)for(i=0;i<1250;i++);}/*******************************************************************************函数名称:Lcd_Display_On()*功能:LCD显示开*入口参数:无*出口参数:无******************************************************************************/voidLcd_Display_On(){port=0x3f;rs=0;rw=0;e=1;e=0;}/*****************************************************************************名称:Lcd_Character_16X8(bitbit_flag,ucharx,uchary,ucharcode*point)*功能:显示16X8字符(字母)*入口参数:*出口参数:*说明:bit_flag=1正常显示bit_flag=0黑白反相显示****************************************************************************/voidLcd_Character_16X8(bitbit_flag,ucharx,uchary,ucharcode*point){uchari,j,temp;temp=y;if(bit_flag){for(i=0;i<2;i++){x+=i; y=temp;for(j=0;j<8;j++){Lcd_Set_X_Y(x,y);y++;Lcd_Write_Byte(point[i*8+j]);}}}else{for(i=0;i<2;i++){x+=i;y=temp;for(j=0;j<8;j++){Lcd_Set_X_Y(x,y);y++;Lcd_Write_Byte(~point[i*8+j]);}}}}/*****************************************************************************名称:Lcd_Data(uchar*clock_time)*功能:显示日期*入口参数:无*出口参数:无*说明:时间数组BCD码形式****************************************************************************/voidLcd_Data(uchar*clock_time){uchari=0;clock_time+=3;//显示"year年month月day日"i=*clock_time>>4;Lcd_Character_16X8(1,0,80,letter_logo[i]);//显示day的高位i=*clock_time&0x0f;Lcd_Character_16X8(1,0,88,letter_logo[i]);//显示day的低位Lcd_Character_16X16(1,0,96,data_logo[2]);//显示日clock_time++;i=*clock_time>>4;Lcd_Character_16X8(1,0,48,letter_logo[i]);//显示month的高位i=*clock_time&0x0f;Lcd_Character_16X8(1,0,56,letter_logo[i]);//显示month的低位Lcd_Character_16X16(1,0,64,data_logo[1]);//显示月clock_time++;i=*clock_time>>4;Lcd_Character_16X8(1,0,16,letter_logo[i]);//显示year的高位i=*clock_time&0x0f;Lcd_Character_16X8(1,0,24,letter_logo[i]);//显示year的低位Lcd_Character_16X16(1,0,32,data_logo[0]);//显示年}/*****************************************************************************名称:Lcd_Data(uchar*clock_time)*功能:显示日期*入口参数:无*出口参数:无*说明:时间数组BCD码形式******************************************************************************/voidLcd_Clock(uchar*clock_time){Lcd_Data(clock_time);//显示日期Lcd_Time(clock_time);//显示时间}uintLcd_Temperture(uchar*temperature){uchartemp;ucharCurr_tem;switch(*temperature&0x0f)//查表精确到0.1{case0x00:temp=0;break;case0x01:temp=0;break;case0x02:temp=1;break;case0x03:temp=2;break;case0x04:temp=2;break;case0x05:temp=3;break;case0x06:temp=4;break;case0x07:temp=4;break;case0x08:temp=5;break;case0x09:temp=6;break;case0x0a:temp=6;break;case0x0b:temp=7;break;case0x0c:temp=8;break;case0x0d:temp=8;break;case0x0e:temp=9;break;case0x0f:temp=9;break;default:break;}Curr_tem=temp;Lcd_Character_16X8(1,4,104,temperture_logo[2]);Lcd_Character_16X8(1,4,96,temperture_logo[1]);Lcd_Character_16X8(1,4,88,letter_logo[temp]);//小数位Lcd_Character_16X8(1,4,80,temperture_logo[0]);//.temp=(*temperature)>>4;temperature++;temp|=(*temperature)<<4;Lcd_Character_16X8(1,4,72,letter_logo[temp%10]);//个位Lcd_Character_16X8(1,4,64,letter_logo[temp/10]);//十位/*if(temp>=30)Lcd_Character_16X16(1,6,112,sensor_inducator_logo[0]);//大雨30度显示图形else{if(temp<20) Lcd_Character_16X16(1,6,112,sensor_inducator_logo[2]);//小于20度显示图形 else Lcd_Character_16X16(1,6,112,sensor_inducator_logo[1]);//大于20度小于30度//显示图形}return(Curr_tem+temp*10);}/*******************************************************************************名称:Lcd_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论