基于picf设计的温控仪剖析.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PIC课程设计 专 业: 电子信息工程 班 级: 姓 名: _______ 学 号: 指导教师: 2014年 月 日 2.2工作原理 (1)、总体设计思想 本设计是以PIC18F452单片机作为控制核心,以LM20模拟温度输入。首先通过4*4矩阵键盘设定一个最高温度和最低温度作为报警器报警的条件,然后单片机通过实时监控温度的变化,通过LCD1602字符型液晶显示各节点温度的数值,当温度值超出所设定的值时,报警器开始报警,从而实现对整个温度系统的管理和控制。这种温度测量系统具有成本低廉、传感精度高、系统稳定、易于管理等优点。 (2)、各模块设计 1)、4*4矩阵键盘的设计 根据设计任务书中要求实现的功能,我选择了一个4*4矩阵键盘来设置温度的上、下限值,此键盘设计符合系统设置要求,所以我选择此键盘完成本设计。 ①矩阵键盘结构: 键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘结构能够有效的提高单片机系统中I/O口的利用率。它的结构和产生的波形如图2-4所示。 图2-4 键盘结构及产生的波形图 单片机应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其它的按键或键盘都是以开关状态来设置控制功能或输入数据。 键开关状态的可靠输入 :为了去抖动我采用软件方法,它是在检测到有键按下时,执行一个20ms的延时程序后,在按键放开时,再执行一个20ms的延时程序。再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从而消除了抖动影响 在这种行列式矩阵键盘非编码键盘的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。 本次课程设计运用扫描法来进行按键设定。 键盘共有16个按键,用于方便设定温度。 表5-1键盘的按键分布 P2.0 7 8 9 设定最高 P2.1 4 5 6 设定最低 P2.2 1 2 3 设定时间 P2.3 DOT 0 OK RST P2.4 P2.5 P2.6 P2.7 2)、LCD1602液晶显示的设计 温度显示工作原理: LCD1602可以采用两种方式与单片机连接,一种是采用8位数据总线D0—D7,和RS、R/W、EN1602显示。 进行LCD设计主要是LCD的控制/驱动和外界的接口设计。控制主要是通过接口与外界通信、管理内/外显示RAM,控制驱动器,分配显示数据;驱动主要是根据控制器要求,驱动LCD进行显示。控制器还常含有内部ASCII字符库,或可外扩的大容量汉字库。 3)、LM20温度传感器的设计 LM20模拟温度输入,存在一个模拟量从数字量转变的过程,公式可上网查阅资料获得。24C02的应用整个过程都在方式进行,最终没有实现C02读取和存储的功能,有些遗憾、LED灯报警 当前温度超过最高设定或者低于最低设定,会闪烁进行报警这功能实现较为简单 3、程序清单 #includep18f452.h #include adc.h #include delays.h #includemath.h #include I2C.h #pragma config OSC=HS #pragma config WDT=OFF #pragma config LVP=OFF #define P1 PORTBbits.RB4 #define P2 PORTBbits.RB5 #define P3 PORTBbits.RB6 #define P4 PORTBbits.RB7 #define RSPIN PORTCbits.RC7 //Data or Instrument Select #define RWPIN PORTCbits.RC6 //Write or Read #define EPIN PORTCbits.RC5 //6800 mode Enable single #define RST 11 #define DOT 10 #define HIGH 12 #define LOW 13 #define SET_TIME 14 #define NOP -1 #define OK 15 #define NOW 16 #define FIRST_WRITE 0x17; #define SLAVE_ADDRESS

文档评论(0)

三四五 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档