




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PIC课程设计专业电子信息工程班级12电子(3)姓名王伟_学号2012329600173指导教师陈科_2014年7月5日1、设计要求以PIC18F452为核心,实现以下程序功能(1)、44键盘设定,最高温度,最低温度限制;(2)、1602液晶显示当前温度,最高温度,最低温度限制值;(3)、LM20模拟温度传感器输入;(4)、24C02存储最高温度,最低温度限制值;(5)、温度检测周期在160秒可调,步进1秒;默认5秒;2、系统的组成及工作原理21系统框图控制器1602液晶44键盘24C02LM2022工作原理(1)、总体设计思想本设计是以PIC18F452单片机作为控制核心,以LM20模拟温度输入。首先通过44矩阵键盘设定一个最高温度和最低温度作为报警器报警的条件,然后单片机通过实时监控温度的变化,通过LCD1602字符型液晶显示各节点温度的数值,当温度值超出所设定的值时,报警器开始报警,从而实现对整个温度系统的管理和控制。这种温度测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。(2)、各模块设计1)、44矩阵键盘的设计根据设计任务书中要求实现的功能,我选择了一个44矩阵键盘来设置温度的上、下限值,此键盘设计符合系统设置要求,所以我选择此键盘完成本设计。矩阵键盘结构键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘结构能够有效的提高单片机系统中I/O口的利用率。它的结构和产生的波形如图24所示。图24键盘结构及产生的波形图单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。键开关状态的可靠输入为了去抖动我采用软件方法,它是在检测到有键按下时,执行一个20MS的延时程序后,在按键放开时,再执行一个20MS的延时程序。再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响在这种行列式矩阵键盘非编码键盘的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。本次课程设计运用扫描法来进行按键设定。键盘共有16个按键,用于方便设定温度。表51键盘的按键分布2)、LCD1602液晶显示的设计温度显示工作原理LCD1602可以采用两种方式与单片机连接,一种是采用8位数据总线D0D7,和RS、R/W、EN三个控制端口;另一种是只用D4D7作为四位数据分两次传送。本实验将使用并采用八位数据方式来控制1602显示。进行LCD设计主要是LCD的控制/驱动和外界的接口设计。控制主要是通过接口与外界通信、管理内/外显示RAM,控制驱动器,分配显示数据;驱动主要是根据控制器要求,驱动LCD进行显示。控制器还常含有内部ASCII字符库,或可外扩的大容量汉字库。3)、LM20温度传感器的设计LM20模拟温度输入,存在一个模拟量从数字量转变的过程,转换公式可上网查阅资料获得。4、24C02的应用由于整个设计过程都在以仿真方式进行,最终没有实现用24C02读取和P20789设定最高P21456设定最低P22123设定时间P23DOT0OKRSTP24P25P26P27存储的功能,有些遗憾。5)、LED灯报警如果当前温度超过最高设定或者低于最低设定,LED灯会闪烁进行报警。这方面功能实现较为简单。3、程序清单INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEPRAGMACONFIGOSCHSPRAGMACONFIGWDTOFFPRAGMACONFIGLVPOFFDEFINEP1PORTBBITSRB4DEFINEP2PORTBBITSRB5DEFINEP3PORTBBITSRB6DEFINEP4PORTBBITSRB7DEFINERSPINPORTCBITSRC7/DATAORINSTRUMENTSELECTDEFINERWPINPORTCBITSRC6/WRITEORREADDEFINEEPINPORTCBITSRC5/6800MODEENABLESINGLEDEFINERST11DEFINEDOT10DEFINEHIGH12DEFINELOW13DEFINESET_TIME14DEFINENOP1DEFINEOK15DEFINENOW16DEFINEFIRST_WRITE0X17DEFINESLAVE_ADDRESS0XA0DOUBLEHIGH0,LOW0,NOW0,TIME_SEC0INTTEMP0INTNUM447,8,9,HIGH,4,5,6,LOW,1,2,3,SET_TIME,DOT,0,OK,RSTINTP1_INTP2_INTP3_INTP4_INTGETINPUTINTCOMMANDINTCOMDOUBLESETPARAMVOIDAD_INITDOUBLEGET_TEMPVOIDLED_YELLOWINTTEMPVOIDPRINT_LCDVOIDINIT_LCDINTSTRINGINTX,INTY,CHARSTRVOIDDELAYMSINTMSVOIDLCD_WRITE_COMUNSIGNEDCHARCOMBUFVOIDLCD_WAIT_BUSYVOIDVOIDLCD_WRITE_COM_BUSYUNSIGNEDCHARCOMBUFVOIDLCD_WRITE_DATAUNSIGNEDCHARDATABUFVOIDLCD_WRITE_ADDRESSUNSIGNEDCHARX,UNSIGNEDCHARYVOIDLCDRESETVOIDVOIDLCD_WRITE_CHARUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARBUFVOIDINIT_TIMER0VOIDINTERRUPTHANDLERHIGHVOIDVOIDNUM_PRINTINTPOSITION,DOUBLETEMPVOIDSELECTINTPOSITIONVOIDSELECT_CLEARINTPOSITIONVOIDIIC_INITVOIDSAVEVOIDLOADVOIDMAININTI1,AX0,AY0,COMINTDISTRISB0XF0PORTB0XFFCOMMANDRSTAD_INITINIT_LCD/IIC_INITINIT_TIMER0NOWGET_TEMP/LOADWHILE1COMGETINPUTCOMMANDCOMIFNOWHIGH|NOW35I1ELSEIFP1_0AY0RETURNNUMAXAYELSEIFP2_0AY1RETURNNUMAXAYELSEIFP3_0AY2RETURNNUMAXAYELSEIFP4_0AY3RETURNNUMAXAYAXRETURNNOPINTCOMMANDINTCOMIFCOM10IFDOT1DOT_CELSEDOT1FORI0IDOT_CIPARAMPARAM/10RETURNPARAM/名称1602忙检测函数/VOIDLCD_WAIT_BUSYVOIDDELAY100TCYX40/名称1602写命令函数/VOIDLCD_WRITE_COMUNSIGNEDCHARCOMBUFRSPIN0/选择指令寄存器RWPIN0/选择写PORTDCOMBUF/把命令字送入RDEPIN1/使能线电平变化,命令送入1602的8位数据口DELAY1TCYEPIN0/恢复使能线电平/名称1602写命令函数(带忙检测)/VOIDLCD_WRITE_COM_BUSYUNSIGNEDCHARCOMBUFLCD_WAIT_BUSY/调用忙检测函数LCD_WRITE_COMCOMBUF/调用写命令函数/名称1602写数据函数(带忙检测)/VOIDLCD_WRITE_DATAUNSIGNEDCHARDATABUFLCD_WAIT_BUSY/调用忙检测函数RSPIN1/选择数据寄存器RWPIN0/选择写PORTDDATABUF/把数据字送入P2EPIN1/使能线电平变化,命令送入1602的8位数据口DELAY1TCYEPIN0/恢复使能线电平/名称1602显示地址写函数/VOIDLCD_WRITE_ADDRESSUNSIGNEDCHARX,UNSIGNEDCHARYX/列地址限制在015Y/行地址限制在01IFY0X00LCD_WRITE_COM_BUSYX|0X80/第一行的列地址写入ELSELCD_WRITE_COM_BUSYX0X40|0X80/第二行的列地址写入/名称1602初始化函数/VOIDLCDRESETVOIDDELAY100TCYX15LCD_WRITE_COM0X38DELAY100TCYX5LCD_WRITE_COM0X38DELAY100TCYX5LCD_WRITE_COM0X38LCD_WRITE_COM_BUSY0X38/8位数据,双列,57字形LCD_WRITE_COM_BUSY0X08/显示功能关,无光标LCD_WRITE_COM_BUSY0X01/清屏指令LCD_WRITE_COM_BUSY0X06/写入新的数据后,光标右移,显示屏不移动LCD_WRITE_COM_BUSY0X0C/显示功能开,无光标,/名称指定地址写入函数/VOIDLCD_WRITE_CHARUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARBUFLCD_WRITE_ADDRESSX,Y/写入地址LCD_WRITE_DATABUF/写入显示数据VOIDDELAYMSINTMSINTIFORI0IMSIDELAY10TCYX400/HIGHPRIORITYINTERRUPTVECTOR/PIC中断标准服务程序PRAGMACODEINTERRUPTVECTORHIGH0X08/中断向量VOIDINTERRUPTVECTORHIGHVOID_ASMGOTOINTERRUPTHANDLERHIGH/JUMPTOINTERRUPTROUTINE_ENDASM/HIGHPRIORITYINTERRUPTROUTINE/中断服务程序PRAGMACODEPRAGMAINTERRUPTINTERRUPTHANDLERHIGHVOIDINTERRUPTHANDLERHIGHIFINTCONBITSTMR0IF/CHECKFORTMR0OVERFLOWINTCONBITSTMR0IF0/CLEARINTERRUPTFLAGTEMPIFTEMP2TIME_SECNOWGET_TEMPTEMP0PRINT_LCDVOIDNUM_PRINTINTPOSITION,DOUBLETEMPINTNUMBER,S1,S2,S3,X,YNUMBERINTTEMP10S3NUMBER1048NUMBERNUMBER/10S2NUMBER1048NUMBERNUMBER/10S1NUMBER1048SWITCHPOSITIONCASEHIGHX2Y0BREAKCASELOWX10Y0BREAKCASENOWX4,Y1BREAKCASESET_TIMELCD_WRITE_CHAR12,1,S1LCD_WRITE_DATAS2LCD_WRITE_DATASRETURNLCD_WRITE_CHARX,Y,S1LCD_WRITE_DATAS2LCD_WRITE_DATALCD_WRITE_DATAS3VOIDSELECTINTPOSITIONINTX,YSWITCHPOSITIONCASEHIGHX7Y0BREAKCASELOWX15Y0BREAKCASESET_TIMEX15Y1BREAKLCD_WRITE_CHARX,Y,VOIDSELECT_CLEARINTPOSITIONINTX,YSWITCHPOSITIONCASEHIGHX7Y0BREAKCASELOWX15Y0BREAKCASESET_TIMEX15Y1BREAKLCD_WRITE_CHARX,Y,4仿真图4总结本报告介绍了用单片机PIC18F452实现温度控制的设计,通过运用44矩阵键盘设定最高和最低温度,读取温度传感器的温
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑料厂办公设备管理规范制度
- 化肥厂采购设备更新规章
- 2025年小学租房合同范本
- 粤教版高 一 信息技术 必修一教学设计:1.1 信息及其特征
- 3.3《天气系统-气旋和反气旋》教学设计-2024-2025学年湘教版(2019)高中地理选择性必修一
- 本册综合教学设计-2025-2026学年小学信息技术(信息科技)六年级下册青岛版(六三制)
- Unit 4 Perseverance and Success Exploring and Using 教学设计-2024-2025学年高中英语重大版(2019)选择性必修第二册
- 2025江苏苏州常熟市基层公共服务岗位招聘低收入家庭、困难家庭和就业困难高校毕业生25人考试备考试题及答案解析
- 矿山企业工伤赔偿项目和赔偿标准合同
- 建筑施工模板及脚手架安装拆除一体化承包合同
- 2025年绿化工技师试题及答案
- 2025年新高考1卷(新课标Ⅰ卷)语文试卷(含答案)
- 国际压力性损伤溃疡预防和治疗临床指南(2025年版)解读
- 建筑室外围蔽板材(简化)
- YS/T 397-2015海绵锆
- GB/T 3217-1992永磁(硬磁)材料磁性试验方法
- GB/T 250-2008纺织品色牢度试验评定变色用灰色样卡
- GB/T 2091-2008工业磷酸
- GB/T 19816.2-2005涂覆涂料前钢材表面处理喷射清理用金属磨料的试验方法第2部分:颗粒尺寸分布的测定
- 市政工程工程量计算规范课件
- 隐身技术概述课件
评论
0/150
提交评论