基于STC89C52R单片机实现的蔬菜大棚温度控制系统设计 下载本文

内容发布更新时间 : 2024/6/17 10:27:50星期一 下面是文章的全部内容请认真阅读。

4 RS 择 数据/命令选12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。

2.3.2 LCD1602的指令说明及时序

LCD1602液晶模块内部的控制器共有11条控制指令[6],如表2-2所示: 表2-2 控制命令表 序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开/关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 置字符发生存贮器字符发生存贮器地址 7 0 0 0 1 地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志或地址 0 1 BF 计数器地址 写数到要写的数据内容 10 1 0 CGRAMDDRAM) 11 CGRAM或DDRAM读数 1 1 读出的数据内容 LCD1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。1为高电平、0为低电平。

指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。

指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。

指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。

指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。

指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据。 指令11:读数据。

电机控制电路设计

电机电路利用继电器来控制电机开断

第4章 程序设计

Keil C 软件概述

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),

即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

使用独立的Keil仿真器时,注意事项:

*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。

*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。

*仿真芯片的31脚已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。

1、安装好了Keil软件以后,我们打开它。

2、 我们先新建一个工程文件,点击“Project->New Project…”菜单。 3、选择工程文件要存放的路径 ,输入工程文件名 xdch 最后单击保存。 4、在弹出的对话框中选择 CPU 厂商及型号。

5、选择好STC89C52芯片,接着点击确定,弹出对话框。

6、新建一个 C51 文件, 单击左上角的 New File,保存为DS18B20_4.C,(注意后缀名必须为.C),再单击“保存”。

7、存好后把此文件加入到工程中方法如下:用鼠标在 Source Group1 上单击右键, 然后再单击 Add Files to Group Source Group 1。

8、 选择要加入的文件, 找到 MAIN.C后, 单击 Add, 然后单击 Close。 9、在编辑框里输入代码。

10、生成 .hex 烧写文件,先单击Options for Target。

11、在下图中,我们单击 Output, 选中 Create HEX F,再单击“确定”。 以上是Keil软件的基本应用。

第5章 总结

在美好的大学生活中享受知识乐趣的日子已经接近尾声。毕业设计作为检验

我们能否顺利毕业的唯一标准,对衡量我们的专业水准具有重要的意义。为了能使我顺利毕业并作一名合格的社会复合型人才,特此编写毕业设计。

编写设计的过程中,对所学的知识进行重新的温习,使我们受益匪浅,对于遇到的问题如:程序语言编写不符合标准,导致调试时不能按设定的方案实现正常的控制。这些老师都给我们极大的指导帮助,通过编写毕业设计提高了我的动手动脑能力,为我今后能更好更快的适应社会奠定了坚实的物质理论基础。 虽然因病中途离开过一段时间。在老师的指导下,我们广泛搜集资料,考察实地情况,几个同学进行讨论研究结合所学的知识进行有效的梳理,最终圆满完成此次设计。

致 谢

本课题在选题及研究过程中得到xxxxxx老师的悉心指导。在设计过程中xx老师多次为我指点迷津,帮助我解决问题。xxxxxx老师严谨求实的态度,踏踏实实的精神,不仅使我能更好的完成设计,而且让我能更深层次的理解在实践中所遇到的问题。

在论文完成之际我感谢三年来一直关心我、支持我、帮助我的老师和同学,在这里我要向他们表示最诚挚的感谢和衷心的祝福。

参考文献

[1] 李丽荣 张长全 郑建红主编《 51单片机应用设计》北京理工大