基于stc89c51的温度检测及报警系统设计内容摘要:
RXD 串行输入口 TXD 串行输出口 /INT0 外部中断 0 /INT1 外部中断 T0 0 外部输入 T1 记时器 1 外部输入 /WR数据存储器写选通 /RD外部数据存储器读选通 P3口同时为闪烁编程和编程校验接收一些控制信号。 控制线 (共 4 根 ) RST 复位输入。 当振荡器复位器件时要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG 当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间此引脚用于输入编程脉冲。 在平时ALE 端以不变的频率周期输出正脉冲信号此频率为振荡器频率的 1/6。 因此它可用作外部数据存储器时将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时 ALE 只有在执行 MOVXMOVC 指令是 ALE 才起作用。 另外该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止置位无效。 /PSE 外部程序存储器的选通信号。 在由外部程序存储器取指期间每个机器周期两次 /PSEN 有效。 但在访问外部/PSEN 信号将不出现。 /EA/VPP 当 /EA 保持低电平0000HFFFFH 不管是否有内部程序存储器。 注意加密方式 1 时 /EA 将内部锁 定为 RESET 当 /EA存储器。 在 FLASH 编程期间此引脚也用于施加 12V 编程电源 VPP。 3 硬件电路设计 电源电路 工作原理 220V 交流市电经过电源变压器变换成交流低电压整流电路 D2D5和滤波电容 C5 的整流和滤波 LM7805的 Vin和 GND两端形成一个并不十分稳定的直流电压 (该电压常常会因为市电电压的波动或负载的变化等原因而发生变化 )。 此直流电压经过 LM7805 的稳压和 C7 的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。 本稳压电 源可作为TTL 电路或单片机电路的电源。 三端稳压器是一种标准化、系列化的通用线性稳压电源的集成电路 好、工作可靠、使用简捷方便等特点路图如图 电源电路 LM7805 LM7805 是一种常用的三端稳压器一般使用的是 TO220提供 DC 5V保护电路。 带散热片时能持续提供 1A 的电流。 电子制作 中经常采用。 但当稳压管温度过高时稳压性能将变差甚至损坏。 其外形引脚如图 显示电路、报警电路、复位电路、按键电路 ① 显示电路 共阴数码管管脚图为 显示 连接 电路图为: ② 报警电路 : 蜂鸣器电路 二极管电路 ③ 复位电路 本设计所用复位电路与其他单片机所用电路类似为电容式复位,主要实现温度和时间的复位。 其电路图如下 ④ 按键电路,由上拉电阻和按键组成,主要实现温度上下限和时间的调整 4 软件流程及描述 系统的软件主要是采用 C 语言对单片机进行编程实现各种功能。 当然也可以C责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值并负责调用各子程序。 主程序流程图和 按键处理子程序 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值,温度测量每 1s 进行一次。 这样可以在一秒之内测量一次被测温度,其程序流程见下图 按键处理子程序主要是负责参数的设置行扫描 ,判断是否有输入键按下则进行一系列的按键输入操作。 其程序流程框图如下图所示: 初始化 调用显示子程序 1S 到。 初次上电 读出温度值温度计算处理显示数据刷新 发温度转换开始命令 N Y N Y 读温度子程序 读 出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC 校验,校验有错时不进行温度数据的改写。 其程序流程图如图 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。 温度转换命令子程序流程图如下图 1 1 2 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如上图 2 5 心得体会 这次课程设计是软件与硬件结合的实践。 历时一周。 分别进行了电路仿真图的设计以及实物电路板的焊制两个过程。 通过这次的课程设计,我们不仅加深了对 Proteus 仿真软件的了解和使用,还学到了许多课本上没有涉及知识,练习了电路原理图的设计和仿真运行,同时对本学期学习的单片机课程进行了一次全面的复习和巩固,受益匪浅。 第一天,我们完成了对各部分电路原理图的设计与绘制。 刚开始感觉有一定的难度,主要是对 对 Proteus 仿真软件及其 功能的不了解。 但通过百度和老师同学的帮助下还是顺利的 绘制完成了,也对接下来的设计有了信心。 在这部分的设计中,主要包括了以下几部分电路的设计:时钟电路的原理图设计,复位电路原理图的设计, LED 灯电路(控制温度超过上限下限的显示灯)原理图的设计,温度传感器 DS18D20 电路原理图 设计 , 蜂鸣器电路原理图 设计, 串行口下载电路原理图的设计,键盘控制电路原理图的设计,数码管显示电路和稳压电路设计。 第二天,我们开始对所绘制的电路原理图进行仿真测试。 首先要做的就是根据找的资料编写实验要求的功能程序。 刚开始,一头雾水,不知道从何下手,对代码看得也很陌生,有点茫然,通过单片 机课本,也将各个模块分开,慢慢的能看懂一部分代码,逐个突破,最后终于勉强将程序修改完成。 完成了仿真测试。 第三天,我们开始了自我们感觉最难的部分 焊接实物。 在这部分,很考验我们的细心与谨慎,如果没有仔细查明各个元器件的管脚特性,一不小心就焊错了。 首先在稳压电源这部分电路,由于起初的疏忽,焊错了两个电容的关系,导致后面在调试最小系统时,遇到了障碍。 检查了几遍最小系统的电路都没有发现问题,后来经过同学的帮助,才纠正过来。 再而就是,数码显示这部分电路,花了我们不少功夫,找出对应的端口。 总的来说,今天勉强完成了 硬件的焊接。 第四天,开始软件下载,硬件调试的一天了。 陆陆续续的有人做出来了。 有点紧张硬件上的结果。 果不其然,仿真可以,到硬件上还需要在纠结一段。 这部分碰到了几个很棘手烦人问题。 第一、数码管上的数字显示不完整,经检测发现时有一个小路短路了。 纠正后显示正常了。 第二、复位电路,复位键不行用,经检测问题是出现在复位电路的那个 10K 的电阻没有接好;最后问题是蜂鸣器的反应时好时坏,问题出现在电路不稳定。 第五天,检查,总结,写报告。 总的来说,这次课设,体验到很多。 通过本次课设,能够使我们熟练掌握单片机控制电路的设计 、程序编写和整体焊接及系统调试,从而全面地提高我们对单片机的软件、硬件等方面的理解,进而增强我们在实践环节的动手操作能力。 譬如,我们可以根据实验指导书的要求,完成 BS18D20 电路的硬件设计、电路器件的选择、单片机软件的运行、以及整体系统调试,并写出完善的设计报告。 相信此次学到的知识在以后的生活和学习中对我会有很大的帮助。基于stc89c51的温度检测及报警系统设计
相关推荐
综合分析 布局布线 时序仿真 编程和配置 生成变成文件 建立对应器件链接文件 转换变成文件 设计输入 第三章:时钟芯片设计方案 7 第三章 时钟芯片设计方案 多功能时钟的设计指标 技术指标: A、具有数字电子钟的基本功能:拥有年月日时分秒显示,并且月日的显示要有阴阳历两种显示,时为 12 小时制显示; B、支持闰年闰月提醒、传统节假日提醒和日程提醒功能; C、支持时间校对功能; D、支持闹铃功能
中,二进制基带信号是用正负电平表示的,载波频率随着调制信号为 1 或 1 二变化,其中 1 对应于载波频率 w1 表示, 1 对应载波频率 w2. 2,设计方案 调制部分 : ACOS(ω1t) 半波整流器 相乘器 基带信号 a(n) 加法器 SFSK( t) 倒相 半波整流器 相乘器 ACOS(ω2t) 基带信号经整流后,双极性码变为单极 性码,形成键控信号。 解调部分 : ACOS(ω1t)
= (int16)_IQtoIQ15()。 // MfuncC1 is in Q15 = (int16)_IQtoIQ15()。 // MfuncC2 is in Q15 = (int16)_IQtoIQ15()。 // MfuncC3 is in Q15 (amp。 pwm1)。 endif // (BUILDLEVEL==LEVEL2) // ***************** LEVEL3
3 主要元器件原理及其应用 本次设计中主要器件有继 电器、 51 系列单片机 AT89S5 数码管 显示模块、 5V 稳压芯片 7805,在介绍系统的硬件设计之前,下面先简要介绍 一下这些关键器件的原理及应用。 继电器介绍 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又 称输出回路),通常应用于自动控制 电路 中,它实际上是用较小的电流去控制较大电流的一种 “自动开关
20 人。 ⑵ 装修期间 抹灰工 60 人;木工 4 人;油工 8 人;电工 6 人;水暖工10 人。 四、主要施工方法 施工测量放线 ⑴ 施工测量基本要求 A、 西夏建材城生活区 1 30住宅楼定位依据: 西夏建材城生活区 工程总体规划 图,北京路、规划道路永久性定位 B、根据工程特点及<建筑工程施工测量规程> DBI01- 21- 95, 2 条,此工程设置精度等级为二级,测角中误差177。
设为 1 % 即系统存在输入输出之间的直通项 , 否则执行将出现错误 % 系统输出方程函数结束 Simulink建模: 二、实验结果及分析 flag =0 t =[] x =[] u =[] 11 flag =3 t =0 x =0 0 0 u =NaN flag =2 t =0 x =0 0 0 u =3 flag =1 t =0 x =0 0 0 u =3 flag =3 t = x = u