智能水温控制系统设计毕业论文内容摘要:
后三个量比较后取中间值作为我们要处理的信号。 图 水温测量电路 显示电路 ( 1) 方案的提出 方案一:静态显示 湖南工业大学科技学院毕业设计(论文) 9 方案二:采用动态扫描法并行输出数据 方案三:采用动态扫描法串行输出数据 ( 2) 方案的比较 方案一所谓的静态显示就是对 LED 电子显示屏中的每一象素点都通过硬件单独控制,整个 LED 显示屏所有的 LED 的同时显示。 此方式最大优点是程序设计简单,且画面无闪烁。 但这种设计存在致命的缺点:电路复杂,硬件利用率低, 成本巨大。 所以此方式一般不被采用。 方案二和方案三同样采用动态扫描实现显示过程。 所谓的动态扫描法是利用人眼的视觉暂留特点而实现的一种显示方法,即当刷新速率足够高时,人眼就察觉不出显示屏画面更迭的闪烁。 若要显示一帧画面,先送出第一行的数据,然后选通并点亮第一行,延时;此后送出第二行的数据,同样选通、点亮并延时;依次将所有行扫描完,即给出了一帧的画面。 但方案二的缺点也是明显的,比较而言,方案二的译码电路比较复杂,相对硬件开销大一些;方案三电路构成简单,译码电路简洁。 ( 3) 温度显示电路设计 图 温度显示 电路 温度显示电路中(如图 ) AT89S51 的 RXD 作为数据输出线, TXD 作为移位时钟脉冲。 用廉价易得的 74LS164 和 74LS138 作为扩展芯片。 74LS164 是一个 8 位串入并出的移位寄存器,其此处的功能是将 AT89S51 串行通信口输出的串行数据译码并在其并口线上输出,从而驱动 LED 数码管。 74LS138 是一个 38 译码器,它将单片机输出的地址信号译码后动态驱动相应的 LED。 但 74LS138 电流驱动能力较小,为此,我们使用了未级驱动三极管 2SA1015 作为地址驱动。 温度显示电路中采用二个 LED 显示器,显示两位温度值。 在显示器方面选择 LED 是因为同其他的显示器相比而言,它的显示湖南工业大学科技学院毕业设计(论文) 10 容量,对比度,亮度,数字化方面都较好,更重要的是 LED 的寿命很长,成本很低。 虽然同 LCD 比较它的功耗较高,但它更高的刷新速率使得 LED 在视频方面有更好的性能表现,能提供宽达 160176。 的视角,可以显示各种文字、数字、彩色图像及动画信息,也可以播放电视、录像、 VCD、 DVD 等彩色视频信号,多幅显示屏还可以进行联网播出。 有机 LED 显示屏的单个元素反应速度是 LCD 液晶屏的 1000 倍,在强光下也可以照看不误,并且适应零下 40 度的低温。 按 键电路 温度设定可以采用按钮 ,转换开关 ,拨码盘等来实现 .该系统采用按键输入。 采用可编程器件 8155 扩展单片机 I/O 口,与按键连接。 它的价格与 8255 差不多,但是多了内部锁存的功能。 如图 所示 , AT89S51 的 P0 口输出直接与 8155 的 A 口相连,既作为低 8 位地址线又作为数据总线。 地址的锁存时直接用 ALE 再 8155 内部锁存,AT89S51 的 P22 和 P23 分别与 IO和 CE 相连。 当 P23 为低电平时选中 8155,若 P 22=1,则访问 8155 的 RAM 单元。 用 8155 的 PA口和 PC口扩展了 12个键盘,分别 0 到 9的 数字键和一个小数点键和两个功能键,键盘进入温度设定状态和显示设定值状态分 图 温度设定电路 别需要按键 KEY1 和 KEY2 ,这是系统进入中断,执行中断程序,即进入温度设定和显VCC VCC 数字键盘区 显示设定键 温度设定键 湖南工业大学科技学院毕业设计(论文) 11 示设定温度状态。 报警电路 当 DS18B20 在 AS18B20 发出搜索报警信号后如果超过用户设定的温度范围将发出报警信号, AS18B20 搜索到报警信号后从 P13 输出报警信号,发光二极管指示报警状态如图 所示: 图 报警电路 驱动电路 图 驱动电路 电器开关的具体控制属于强电控制,在本设计中采用继电器控制,电路图如图 所示 . 湖南工业大学科技学院毕业设计(论文) 12 第 3 章 智能水温控制系统软件设计 系统程序结构 开机后主程序进行系统初始化 ,包括 I/O 口和中断系统的初始化 .然后对 DS18B20进行 初始化,接着进行对 DS18B20 的读,检测,显示,温度控制报警,然后是对水位的检测及报警。 对 DS18B20 的读,检测,显示,温度的控制,报警,水位报警都作为系统的模块程序。 温度的设定及显示温度设定值作为中断模块程序。 系统流程图如图 所示: 并行口初始化 串行口初始化 中断初始化 将 P11, P12, P13 置 1 将 P14, P15, P16, P17, P27 置 0 DS18B20 初始化 调读温度子 程序 调温度检测子程序 调显示子程序 开始 湖南工业大学科技学院毕业设计(论文) 13 图 系统程序流程图 系统模块程序 在应用程序总体的结构中 ,将以下几个功能程序作为模块程序:温度设定的 中断程序,显示设定的温度值的中断程序,读 DS18B20 子程序,温度检测子程序,温度显示子程序 ,温度控制子程序,报警子程序。 对于模块程序分别介绍如下: 温度=设定温度。 调温度控制子程序 调温度报警子程序 DS18B20告警标志有置位。 N Y N Y 结束 湖南工业大学科技学院毕业设计(论文) 14 图 温度设定的中断程序流程图 关 闭 中 断 保 护 现 场 R2= 6, R0 30H 程控扫描键盘 有键按下吗。 是数字键吗。 键值送 A ( R0) A R0 R0+1 R2 R21= 0 中 断 返 回 开 中 断 恢 复 现 场 查找功能键程序 N N N Y Y 湖南工业大学科技学院毕业设计(论文) 15 数字键盘区中有两个功能键,一个是 Cancel键,另一个是 Enter 键。 Cancel 键是清除刚才储存在 R0 单元的内容。 Enter 键是在输入设定的温度值后按它,那么设定的值在 LED 中显示。 子程序 在 AT89S51 的 RAM 中选择六个单元依次存放 TH, TL 和室水温度的设定值。 那么显示设定值的流程图如下: 图 显示设定温度值的中断程序 关闭中断 保护现场 A ( R0) 延时 2S SBUF A 设循环次数 R3= 3 R0 TH R0 R0+1 R21=0? 恢复现场 开中断 中断返回 N Y 湖南工业大学科技学院毕业设计(论文) 16 因为每次主机都是针对一个 DS18B20 操作,其中主机针对一个 DS18B20 的启 动温度变换并读出温度值的流程图如图 所示: 图 读取温度值的子程序 复位 DS18B20TX 脉冲 总线高电平等待 500ms,等待完成 A/D 变换 RX 读一个脉冲 TX 发 DS18B20 的 64BITROM 地址码 TX 发 55H 命令匹配的 DS18B20 复位命令匹配的 DS18B20 复位 DS18B20TX 脉冲 RX 读 一个脉冲 TX 发 BEH 读温度寄存器值 TX 发 44H A/D 转换 TX 发 55H 命令匹配的 DS18B20 RX 读一个脉冲 RX 读取温度值 9 位 湖南工业大学科技学院毕业设计(论文) 17 无论是单点还是多点温度检测,在系统安装及工作之前,应将主机逐个与 DS1820挂接,读出 其序列号。 其工作过程为:主机 TX发一个脉冲,待“ O”电平大于 480μ s后,复位 DS18B20,待 DS18B20 所发响应脉冲由主机 Rx 接收后,主机 TX 再发读 ROM命令代码 33H(低位在前),然后发一个脉冲( 15μ s) 并接着读取 DS18B20 序列号的 图 水温检测子程序 一位。 用同样方法读取序列号的 56 位。 在知道所有在线的三个 DS18B20 的序列号后,开 始 初始化 DS18B20 发 search ROM 发 F0H 读出在线的 DS18B20 序列号 初始化 DS18B20 发 skip rom 和 convert 启动所有 DS18B20 并做 A/D 转换 等待 1s L=3 发 MATCH ROM 命令 发一个 DS18B20 序列号 存在一个 DS18B20。 Y N 初始化 DS18B20 发 BEH 指令 读温度寄存器值 读匹配的 DS18B20 的温度 送数据储存单元 所有的 DS18B20读完。 L=L- 1 Y N 湖南工业大学科技学院毕业设计(论文) 18 对其进行操作。 流程图如图 所示: 温度检测程序如下: include include define uchar unsigned char define unit unsigned int sbit ds=P2^3。 //温度传感器信号线 sbit lcdrs=P2^0。 //1602 读写线 sbit lcden=P2^2。 //1602 使能线 sbit beep=P2^4。 //蜂鸣器接口 unit temp。 float f_temp。 uint warn_l=200。 // 温度下限值 温度值乘以 10 后的结果 uint warn_h=600。 //温度上限值 温度值乘以 10后的结果 void delay(uint z) //延时函数 { uint x, y。 for(x=z; x0。 x) for(y=110。 y0。 y)。 } void dsreset(void) //DS18B20 复位,初始化函数 { uint i。 ds=0。 i=103。 while(i0)i。 ds=1。 i=4。 while(i0)i。 } 湖南工业大学科技学院毕业设计(论文) 19 bit tempreadbit(void) //读一位数据函数 { uint i。 bit dat。 ds=0。 i++。 ds=1。 i++。 i++。 dat=ds。 i=8。 while(i0)i。 return(dat)。 } uchar tampered(void) //读一个字节数据函数 { uchar i,j,dat。 dat=0。 for(i=1。 i=8。 i++) { j=tempreadbit()。 dat=(j7)|(dat1)。 } return(dat)。 } void tempwritebyte(uchar dat) //向 DS18B20 写一个字节数据函数 { uint i。 uchar j。 bit testb。 for(j=1。 j=8。 j++) { 湖南工业大学科技学院毕业设计(论文) 20 testb=datamp。 0x01。 dat=dat1。 if(testb)。智能水温控制系统设计毕业论文
相关推荐
信号调制为高频电视信号,并通过混合设备同时将多路信号合并为一路电视信号,以便输送到干线传输系统。 前端设备常用的设备是天线放大器,调制器、解调器、混合器、滤波器等设备。 天线放大器主要连接于天线与前端设备,用于天线信号的放大作用。 调制器可以将各路输入信号调制到指定的电视频道信号,如图 32 所示为前端模拟调制设备。 混合器可以将输入多路信号合并为一路电视信号,不同信号占用不同的电视频道,如图
参考借鉴。 全文共分六西北工业大学网络教育学院毕业论文 部分,第一部分是绪论,主要内容是本文的选题背景、选题意义、国内外研究概述 以及课题研究方法与内容。 第二部分是相关 理论概述及内容。 第三部分是 开元 广场品牌营销分析,主要涉及公司概况、品牌营销现状和 SWOT 分析。 第四部分主要研究的是 开元 广场品牌营销中存在的问题。 第五部分的主要内容是 开元 广场品牌营销的改进建议。
id title(39。 要逼近的非线性函数 39。 )。 xlabel(39。 时间 39。 )。 ylabel(39。 非线性函数 39。 )。 %建立相应的 BP网络 = newff(minmax(t),[10,1],{39。 tansig39。 39。 purelin39。 },39。 trainlm39。 )。 %对没有训练的网络进行仿真 y1 = sim(,t)。
高,而且工艺复杂,分辨率低。 频率合成技术在电子设计中占有重要的地位。 它的发展经历了三个阶段。 首先被实际应用的技术是直接频率合成技术。 直接频率合成技术具备许多优点,如频率范围宽、转换时间短,但是其硬件结构太复杂、设备庞大、成本高,而且难以采取有效措施抑制其输出的谐波、噪声以及寄生频率 [10]。 随后进入应用的是锁相频率合成技术 [14]。
ASK_PRIO 6 //设置任务堆栈大小 define MAIN_STK_SIZE 512 //任务堆栈, 8 字节对齐 __align(8) static OS_STK MAIN_TASK_STK[MAIN_STK_SIZE]。 //任务函数 void main_task(void *pdata)。 //串口监视任务 //设置任务优先级 define WATCH_TASK_PRIO 3