毕业设计论文基于单片机的电冰箱液晶显示温控器.doc

上传人:sccc 文档编号:4872840 上传时间:2023-05-20 格式:DOC 页数:29 大小:305.02KB
返回 下载 相关 举报
毕业设计论文基于单片机的电冰箱液晶显示温控器.doc_第1页
第1页 / 共29页
毕业设计论文基于单片机的电冰箱液晶显示温控器.doc_第2页
第2页 / 共29页
毕业设计论文基于单片机的电冰箱液晶显示温控器.doc_第3页
第3页 / 共29页
毕业设计论文基于单片机的电冰箱液晶显示温控器.doc_第4页
第4页 / 共29页
毕业设计论文基于单片机的电冰箱液晶显示温控器.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《毕业设计论文基于单片机的电冰箱液晶显示温控器.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的电冰箱液晶显示温控器.doc(29页珍藏版)》请在三一办公上搜索。

1、基于单片机的电冰箱液晶显示温控器课题:基于单片机的电冰箱液晶显示温控器 毕业论文系 部: 电子与通信工程系 学生姓名: 专业班级: 电信09C2 学 号: 指导教师: 2012年 3 月 6 日声 明本人所呈交的 毕业论文 ,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名: 日期: 2012/3/6 【摘要】近年来随着单片机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自

2、动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用仅单片机方面知识是不够的还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。而近些年来,家电领域产品变化、技术发展、更新换代之快简直令人目不暇接,但作为家用电冰箱的变化却不是很大。传统的家用电冰箱的温控器旋钮一般有7个数字,但是这些数字并不能知道电冰箱内部的具体温度,只能得知一个大概的温度而已。随着人们的生活水平的提高,人们对冰箱的控制功能要求越来越高,而这就对电冰箱控制器提出了更高的要求,传统冰箱的温控器也就无法满足人们的需求了。因此,能够实现精确控制温度、方便的设定和修改并且能够实时显示当前温度是非常重要的。本设计

3、采用单片机作为核心,内部采用了一块AT89S51单片机作为核心部件。并且使用了温度传感器DS18B20。温度传感器DS18B20用于采集电冰箱冷藏的温度,通过一块AT89S51单片机进行数字信号处理,从而达到智能控制的目的。通过处理之后,电冰箱内部的温度可以实时地显示在液晶屏幕上,并且可以通过外部按钮根据个人需求设置自己喜好的温度。在这里,通过对传统冰箱的改造,我们就可以实现电冰箱的智能控制了。ABSTRACTIn recent years, with the penetration of SCM in the social field, the application of SCM is c

4、onstantly deepening the same time promote the traditional control to detect the rapid update. In real-time detection and automatic control of microcomputer application system, the microcontroller is often a core component to use only SCM knowledge is not enough should be based on the structure of th

5、e specific hardware and software for application-specific object characteristics combine to make perfect.In recent years, changes in the field of home appliance products, technology development, replacement of the fast is simply confusing, but as changes in household refrigerators is not great. Ther

6、mostat knob of the traditional household refrigerators generally have seven digits, but these figures do not know the internal temperature of the refrigerator, only got a temperature of. As peoples living standards improve, people are increasingly demanding control functions of the refrigerator is h

7、igh, and this has put forward higher requirements for the refrigerator controller, the conventional refrigerator thermostat will not be able to meet peoples needs . Therefore, the ability to achieve precise temperature control, and convenient to set and modify and able to display the current tempera

8、ture is very important.This design uses a microcontroller as the core, the internal use of an AT89S51 microcontroller as the core components. And temperature sensor DS18B20. The temperature sensor DS18B20 for the acquisition of the temperature of refrigerators, refrigerated, and an AT89S51 microcont

9、roller digital signal processing, so as to achieve the goal of intelligent control. By processing, the refrigerator temperature inside can be real-time display on the LCD screen, and can set their own preferred temperature according to individual needs through an external button. Here, through the t

10、ransformation of the traditional refrigerator, we can realize the intelligent control of the refrigerator.目录第一章 绪论61.1、引言61.2、电冰箱的发展历史与趋势6第二章 总体设计方案62.1、系统功能描述72.2、系统总体结构7第三章 硬件电路重要芯片概述73.1、AT89S51单片机83.2、数字温度传感器DS18B208第四章 硬件设计94.1、微处理器94.2、数字温度传感器DS18B2094.3、显示电路设计104.4、按键设计11第五章 软件设计125.1、主程序流程框图

11、125.2、键扫子程序流程设计135.3、数据采集子程序13第六章 仿真调试136.1、编程仿真软件Keil的简介136.2、源程序工程的录入146.3、源程序的输入14第七章 总结14附录15致谢29第一章 绪论1.1、引言随着国民经济的发展,人民的生活水平有了很大的提高,冰箱早已经在家庭、医院、旅馆、餐厅和科研单位得到了广泛应用。可以说,冰箱已经深深地渗透到了人们生活中。电冰箱作为应用较为普及的家用电器之一,近年来,随着微电子技术、传感器技术、以及控制理论的发展,电冰箱呈现迅猛发展的趋势。传统的机械式冰箱已经难以满足人们的日常生活的需要,因此应用单片机控制的电冰箱已经逐渐被越来越多的人们所

12、接受。基于单片机设计的电冰箱,在功能上来说,不仅可以满足古老的机械式电冰箱所具有的所有功能,而且还可以在机械式冰箱的基础上实现机械式电冰箱所不能实现的功能。例如电子控温。因此,基于单片机所设计的电冰箱已经成为现在的主流。平常生活中,在以前仅仅只能幻想的景象现在只需要我们轻轻点击一下按钮即可。1.2、电冰箱的发展历史与趋势 在冰箱出现以前,我们一直在为食品存放时间一久就会变得不再新鲜甚至腐败而烦恼。真正的电冰箱发明于20年代,1920年,纽约布鲁克林一家平板印刷厂的一位名叫威利斯H.卡里尔的工程师,设计出一种能控制温度和湿度的系统。存放皮毛的窖主和牛奶公司经理根据需要进一步改进了机械冰箱技术。大

13、约在第一次世界大战期间,出现了一些体积更小的家用冰箱,这是一种噪音大,易泄漏的新发明,实际上它只是在旧式“冰盒”壳内安装上电机和转动皮带,这使它的外貌看起来就像一种试验品。 1923年,当弗雷基代尔还是美国通用汽车公司的分厂的时候,它引进了一种新的机械冰箱组件,并组装成电冰箱。弗雷基代尔电冰箱的设计是把储存易腐烂食品的“冰盒”和制冷机械部分装进一个特制的柜子。这种装置安静、方便,且结构紧凑。至此,一种新的冰箱式样随着到处可见的商标名诞生了。 此后,随着生产数量剧增,冰箱价格暴跌。到1944年,约85的美国家庭都有了机械冰箱。“冰盒”仅作为一个词汇流传下来。 如果没有冰箱,不但家庭主妇要劳累得多

14、,而且许多生活享受,包括喝威士忌加冰都要大打折扣。20世纪以前,用冰箱保存食物是不可想象的,20世纪没有冰箱的生活是不可想象的。 而在21世纪,普通的电冰箱已经不能满足人们的需求,人们迫切需求更高性能、更人性化的电冰箱。基于单片机设计的智能电冰箱目前已经占据越来越多的市场,而随着这种电冰箱的不断深入,只能冰箱已经为越来越多的人所接受。现在人们买电冰箱,已经不在仅仅关注一个方面,而是更多的偏向智能方面,所以基于单片机等设计的智能电冰箱已经深入人心,而这种电冰箱相信也会逐步取代原始的机械是电冰箱的地位,成为家用电冰箱的一大霸主。第二章 总体设计方案2.1、系统功能描述随着技术的发展,目前有些冰箱采

15、用了电脑只能温控及LCD(或LED)箱门外温度显示。所谓智能温控就是通过感温头精确感应,把冰箱内温度的变化传递给中央控制芯片,由芯片控制制冷系统使冰箱内温度达到显示屏上设定值,使用者只需要根据食物的种类不同设定不同的温度即可,以此达到最大的保鲜程度。该系统通过感温头精确感应,把冰箱内部温度的变化传递给中央控制芯片,由芯片控制制冷系统使冰箱内的温度达到显示屏上设定的值,使用者只需要根据食物的种类不同设定不同的温度即可,以此达到最大的保鲜程度。此外,液晶显示屏上还将显示时间,设定温度,以及当前冰箱内部温度。用户可以利用键盘对冰箱温度进行设定,同时还可以对时间进行调整。2.2、系统总体结构 图为液晶

16、显示电冰箱温控器系统构成框图。AT89S51单片机为控制核心,它既负责读取DS18B20测得的冷藏室温度并输出至液晶模组显示,同时又产生实时时钟供液晶显示,并且还负责键盘输入扫描及输出控制压缩机的运行等。第三章 硬件电路重要芯片概述3.1、AT89S51单片机 AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中。AT89S51

17、提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM, 32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.2、数字温度传感器DS18B20 与传统的温度传感器相比,DS18B20温度数字温度传感器具有体积更小、精度更高、适用电压更宽、采

18、用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。 美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的 DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。 同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。现场温度直

19、接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。1. DS18B20的特性(1)适应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数据线供。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20在使用中不需

20、要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围55125,在-10+85时精度为0.5。(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2.DS18B20内部结构及DS18B20的管脚

21、排列64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。不同的器件地址序列号不同。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。 DS18B20的引脚定义:(1)DQ为数字信号输入/输出端(2)GND为电源地(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)第四章 硬件设计4.1、微处理器 AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8

22、051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中。AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM, 32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位

23、。4.2、数字温度传感器DS18B20 与传统的温度传感器相比,DS18B20温度数字温度传感器具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。 美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的 DS18B20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。 同DS

24、1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。1. DS18B20的特性 (1)适应电压范围更宽,电压范围:3.05.5V,寄生电源方式下可由数据线供。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双

25、向通讯。(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围55125,在-10+85时精度为0.5。(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极

26、强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2.DS18B20内部结构及DS18B20的管脚排列64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。不同的器件地址序列号不同。DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。 DS18B20的引脚定义:(1)DQ为数字信号输入/输出端(2)GND为电源地(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)4.3、显示电路设计显示电路采用1602液晶显示模块。 1602采用标准的16脚接口,其中VSS为

27、地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,可通过一10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。VDD/VSS:电源5(110%)V或接地。VSS/VDD:接地或电源5(110%)V。

28、VDD:反视度调整。使用可变电阻调整,通常接地。RS:寄存器选择。1为选择数据寄存器;0为选择指令寄存器。R/W:读/写选择。1为读;0为写。E:使能操作。1为LCM可做读写操作;0为LCM不能做读写操作。DB0DB7:双向数据总线的第07位。VDD:背光显示器电源+5V。VSS:背光显示器接地。1602液晶模块内部的控制器共有11条控制指令,如表所示:指令RSR/WD7D6D5D4D3D2D1D0清显示0000000001光标返回000000001*置输入模式00000001I/DS显示开/关控制0000001DCB光标或字符移位000001S/CR/L*置功能00001DLNF*置字符发生

29、存储器地址0001字符发生存储器地址(ACG)置数据存储器地址001显示数据存储器地址(ADD)读忙标志或地址01BF计数器地址(AC)写数到CGRAM或DDRRAM10要写的数据从CGRAM或DDRRAM11读出的数据 1602液晶模块指令表4.4、按键设计本系统使用的按键数目少,故按键采用硬件去抖。按键电路如图所示。用两个与非门构成一个RS触发器。当按键未按下时输出为1,刚键按下时输出为0。此时即使用按键的机器性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原来状态A,双稳态电路的状态不会改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双

30、稳态电路之后,其输出为正规的矩形波。第五章 软件设计5.1、主程序流程框图 系统初始化开始P显示A键按下?进入自动计时状态检测到A键按下进入时间设置状态检测到A键按下YNNYYN5.2、键扫子程序流程设计扫描程序采用边延时边扫描的方法,当设置键SET_KEY按下一次,指示灯L1亮,按ADD(+)键和SUB()键设置冷藏室温度。当设置键SET_KEY按下二次,指示灯L2亮,L1灭,按ADD(+)键和SUB()键设置冷冻室温度。当设置键SET_KEY按下三次,设置完成,指示灯L1,L2均灭。如果3S内无键按下,表示误按或用户放弃设置。退出扫描。5.3、数据采集子程序主程序循环调用定时器和其定时扩展

31、寄存器中的树值,根据设定的脉冲个数计算出脉冲频率。然后根据预先设置的参数,计算出当前冰箱中的温度。定时器1中断服务程序流程图如下图所示。第六章 仿真调试6.1、编程仿真软件Keil的简介 KeilSoftware公司推出的uVision2是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision2还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision2提供逻辑分析器,可监控基于MC

32、UI/O引脚和外设状态变化下的程序变量。uVision2提供对多种最新的8051类微处理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。6.2、源程序工程的录入 点击“Project-New Project ”菜单,出现一个对话框,在编缉框中输入一个将要建立的工程名字,不需要扩展名。点击“保存”按钮,出现第二个对话框,要求选择目标 CPU(即你所用芯片的型号,一般选择AT89C51)。选择后再点击“确定”按钮,回到主界面。在工程窗口的文件页中点击 “Target1” 前面 “+”号展开,点击“Source Group1”使其反白显示

33、,点击鼠标右键,选中下拉菜单的“Add file to Group”Source Group1”,出现一个对话框,寻找源文件,注意 “文件类型”的选择,选中源文件后双击将其加入工程项目。(可加入多个文件)6.3、源程序的输入Keil单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。在如图所示的集成开发环境中选择FileNew命令、单击新建工具按钮或者按快捷键Ctrl+N将打开一个新的文本编辑窗口,如图所示。在图中已经完成了汇编语言源文件的输入,并且完成了源程序向当前工程的添加。第七章 总结 本系统采用了AT89S51单片机,从一定程度上提高了电冰箱的智能程度,而数字温度传

34、感器的使用更为电冰箱的使用提供了更好的操作体验。从以上的设计中我们可以总结出以下结论:1.本系统运用单片机速度快、体积小、价格低廉的8位MCS51单片机,可以做出可行、可靠性强的自动控制产品-电冰箱温度的控制系统。实现了电冰箱温度的自动控制。2.在单片机应用环境不是很恶劣的地方,利用软件抗干扰也可以达到精度不高的要求,而且,节省了硬件资源,降低了产品设计成本,有助于产品的推广、民用化。 3.本系统的设计尽量简化电路,提高软件质量。 4.本系统支持多功能模块。如果再加上少许外围器件,如语音芯片,环境温度传感器,在软件方面采用模糊控制技术,可以使电冰箱的智能化大大提高。附录液晶显示电冰箱温控器源程

35、序#include /器件配置文件#include sbit LCM_RS=P33; /引脚定义sbit LCM_RW=P34; /引脚定义sbit LCM_EN=P35; /引脚定义sbit OUT=P36;/控制继电器sbit TSOR=P37;/温度测试端#define Busy 0x80 /常量定义#define uchar unsigned char#define uint unsigned int#define DATAPORT P1 #define reset() WDT=0x1e;WDT=0xe1;/看门狗启动/复位宏定义sfr WDT=0xa6;/看门狗寄存器定义bit ON

36、_OFF;bit outflag;/=uchar temp1,temp2;uchar cnt;uchar deda,sec;/时间变量char min,hour;char set,T;uchar data buff10;uchar ReadStatusLCM(void);/读数据到MCU子函数声明uchar code str0=- : : - ;/待显字符串uchar code str1=SET: C SA: . C;uchar code str2= ;/待显空字符串/=函数声明=void fun0(void);void fun1(void);void fun2(void);void fun3

37、(void);void set_adj(void);void inc_key(void);void dec_key(void);void key(void);void gettempTS(void);void initTS(void);uchar readBTS(void);void writeBTS(uchar byte);void resetTS(void);bit readTS(void);void write1TS(void);void write0TS(void);void delay15us(void);void delay60us(void);/*延时K*1mS,12.000MH

38、z*void delay(uint k)/函数名为delay的延时子函数。定义k为无符号整型变量 /delay函数开始uint i,j; /定义i、j为无符号整型变量for(i=0;ik;i+) /for循环语句开始for(j=0;j60;j+) / for循环语句开始;reset() /两个for循环体 /delay函数结束/*-写指令到LCM子函数-*/void WriteCommandLCM(uchar WCLCM, uchar BusyC) /*函数名为WriteCommandLCM 的写指令到LCM子函数。定义WCLCM、BusyC 为无符号字符型变量*/ /WriteCommand

39、LCM函数开始if(BusyC)ReadStatusLCM(); /*若BusyC为1,则调用ReadStatusLCM子函数进行忙检测*/DATAPORT=WCLCM; /将变量WCLCM中的指令传送至P1口LCM_RS=0; /选中指令寄存器LCM_RW=0; /写模式LCM_EN=0; /置LCM_EN端为低电平LCM_EN=0; /置LCM_EN端为低电平,延时一会儿LCM_EN=1; /置LCM_EN端为高电平,写入使能 / WriteCommandLCM函数结束/*-写数据到LCM子函数-*/void WriteDataLCM(uchar WDLCM) /*函数名为WriteDat

40、aLCM 的写数据到LCM子函数。定义WDLCM 为无符号字符型变量*/ / WriteDataLCM函数开始ReadStatusLCM(); /调用ReadStatusLCM子函数检测忙信号DATAPORT=WDLCM; /将变量WDLCM中数据传送至P1口LCM_RS=1; /选中数据寄存器LCM_RW=0; /写模式LCM_EN=0; /置LCM_EN端为低电平LCM_EN=0; /置LCM_EN端为低电平,延时一会儿LCM_EN=1; /置LCM_EN端为高电平,写入使能 / WriteDataLCM函数结束/*-读数据到MCU子函数-*/*uchar ReadDataLCM(void

41、) /函数名为ReadDataLCM的读数据到MCU子函数 / ReadDataLCM函数开始LCM_RS=1; /选中数据寄存器LCM_RW=1; /读模式LCM_EN=0; /置LCM_EN端为低电平LCM_EN=0; /置LCM_EN端为低电平,延时一会儿LCM_EN=1; /置LCM_EN端为高电平,读使能return(DATAPORT); /返回P1口的内容*/ / ReadDataLCM函数结束/*-读状态到MCU子函数-*/uchar ReadStatusLCM(void) /函数名为ReadStatusLCM的读状态到MCU子函数 /ReadStatusLCM函数开始DATAPORT=0xFF; /置P1口为全1LCM_RS=0; /选中指令寄存器LCM_RW=1; /读模式LCM_EN=0; /置LCM_EN端为低电平LCM_EN=0; /置LCM_EN端为低电平,延时一会儿LCM_EN=1; /置LCM_EN端为高电平,读使能while(P1&Busy); /*检测忙信号。当P1口内容与Busy(80H)相与后不为零时,程序原地踏步*/return(DATAPORT); /返回P1口的内容 / ReadStatusLCM函数结束/*-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号