基于stc89c52r单片机实现的蔬菜大棚温度控制系统设计内容摘要:
据 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 脚:背光源负极。 LCD1602 的指令说明及时序 LCD1602 液晶模块内部的控制器共有 11条控制指令 [6],如表 22 所示: 表 22 控制命令表 序号 指令 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 写数到CGRAMDDRAM) 1 0 要写的数据内容 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 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。 机器汇编是通过汇编软件将源程序变为机器码,用于 MCS51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展, Keil 软件是目前最流行开发 MCS51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。 Keil 提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境( uVision)将这些部份组合在一起。 运行 Keil 软件需要 Pentium 或以上的 CPU, 16MB 或更多 RAM、 20M 以上空闲的硬盘空间、 WIN9 NT、 WIN20 WINXP 等操作系统。 掌握这一软件的使用对于使用 51系列单片机的爱好者来说是十分必要的 ,如果你使用 C语言编程,那么 Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用 C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 使用独立的 Keil 仿真器时,注意事项 : *仿真器标配 的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 *仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 *仿真芯片的 31 脚已接至高电平,所以仿真时只能使用片内 ROM,不能使用片外 ROM;但 仿真器外引插针中的 31 脚并不与仿真芯片的 31 脚相连,故该仿真器仍可插入到扩展有外部 ROM(其 CPU 的 /EA 引脚接至低电平)的目标系统中使用。 安装好了 Keil 软件以后,我们打开它。 我们先新建一个工程文件 ,点击 “Project New Project„” 菜单。 选择工程文件要存放的路径 ,输入工程文件名 xdch 最后单击保存。 在弹出的对话框中选择 CPU 厂商及型号。 选择好 STC89C52 芯片,接着点击确定,弹出对话框。 新建一个 C51 文件 , 单击左上角的 New File,保存为 ,(注意后缀名必须为 .C),再单击“保存”。 存好后把此文件加入到工程中方法如下 :用鼠标在 Source Group1 上单击右键 , 然后再单击 Add Files to Group Source Group 1。 选择要加入的文件 , 找到 , 单击 Add, 然后单击 Close。 在编辑框里输入代码。 生成 .hex 烧写文件 ,先单击 Options for Target。 1在下图中 ,我们单击 Output, 选中 Create HEX F,再单击“确定”。 以上是 Keil软件的基本应用。 第 5 章 总结 在美好的大学生活中享受知识乐趣的日子已经接近尾声。 毕业设计作为检验我们能否顺利毕业的唯一标准,对衡量我们的专业水准具有重要的意义。 为了能使我顺利毕业并作一名合格的社会复合型人才,特此编写毕业设计。 编写设计的过程中,对所学的知识进行重新的温习,使我们受益匪浅 ,对于遇到的问题如:程序语言编写不符合标准,导致调试时不能按设定的方案实现正常的控制。 这些老师都给我们极大的指导。基于stc89c52r单片机实现的蔬菜大棚温度控制系统设计
相关推荐
根据估算的结果本系统的 I/O 点数为输入 21 个,输出 26 个 , 如表 2— 1 所示。 表 2— 1 病床呼叫系统输入 /输出地址表 输入点 名称 地址 说明 启动按钮 开 始 医护站内复位按钮 复位 病房一①号床呼叫信号 检测是否呼叫 病房一②号床呼叫信号 检测是否呼叫 病房一③号床呼叫信号 检测是否呼叫 病房一④号床呼叫信号 检测是否呼叫 病房二 ① 号床呼叫信号 检测是否呼叫
sbit K4=P1^3。 sbit K5=P1^4。 sbit K6=P1^5。 sbit K7=P1^6。 sbit K8=P1^7。 sbit K_Time=P3^2。 //答题计时键 sbit K_startcount=P3^3。 //开始抢答时间调整键 sbit K_timecount=P3^4。 //答题计时时间调整键 void delay(uchar ms) { uchar y。
08 MOV DPTR ,TAB MOV A,50H ANL A,0FH MOVC A,@A+DPTR LCALL W08 POP ACC RET。 键盘 SCAN SCAN: MOV P3,0FFH CLR MOV A,P3 ANL A,0FH XRL A,0FH JZ NOKEY1 LCALL DELY10MS MOV A,P3 ANL A,0FH XRL A,0FH JZ NOKEY1
用于连接开关或 2线接近开关 (BERO)。 数据采集部分与背板总线通过光电耦合器隔离。 模块的每个输出点有一个绿色发光二极管 LED 显示输入状态。 输入开关闭合即有输入电压 14 时, LED 亮。 32 位数字输出模块 SM322D032*24DC/ 0. 5A 数字输出模块将 s7— 300的内部信号电平转化为控制过程所需的外部信号电平。 按负载回路使用的电源不同分为:直流输出模块
析结果。 2 软件开发工具 系统开发工具简介 本系统主要是用 版本进行安装所需的开发环境, Appserv组合包是方便初学者完成系统所需环境的快速搭建,主要包括 apache、 php、 mysql、phpmyadmin 安装与配置工作。 开发博客管理系统平台时,该项目使用的软件开发环境如下: PHP 是大多数开发者选择的服务器端的嵌入式脚本语言, 主要优势是开源、跨平台、面向对象、简单
出九大类近百个品种的立体停车设备,拥有停车设备制造企业 400 多家,车库设备年增长率达 30%;台湾拥有停车设备制造企业 268 家,产量几乎两年翻一翻;韩国现在拥有停车设备制造企业 400 多家,通过引进日本技术和自我开发,每年车库设备以 30% 的速度发展 [1]。 我国立体车库的发展,始于二十世纪八十年代,河北承德的华一机械车库集团有限责任公司于 1989