基于51单片机系统设计
基于51单片机的毕业设计
基于51单片机的毕业设计一、选题背景二、设计目标三、硬件设计1.系统框图设计2.电路原理图设计3.电路元器件选择与参数计算四、软件设计1.程序流程设计2.程序模块设计与编写五、测试与调试六、总结与展望一、选题背景毕业设计是大学生在校期间的一项重要任务,是对所学知识的综合运用和实践能力的考验。
本文将以基于51单片机的毕业设计为例,介绍其选题背景、设计目标、硬件设计、软件设计及测试与调试等方面。
51单片机是一种广泛应用于嵌入式系统中的微控制器,其具有性价比高、易于编程等特点,因此被广泛应用于各种嵌入式系统中。
在毕业设计中使用51单片机进行开发,既可以锻炼学生的嵌入式系统开发能力,又可以提高学生对单片机原理和应用的理解。
二、设计目标本次毕业设计旨在开发一款基于51单片机的智能家居控制系统。
该系统能够通过手机APP或者语音识别等方式控制家居设备的开关,实现智能化控制。
具体的设计目标如下:1.设计一款基于51单片机的硬件系统,包括电路原理图、电路元器件选择与参数计算等。
2.设计一款基于51单片机的软件系统,包括程序流程设计、程序模块设计与编写等。
3.实现手机APP或者语音识别等方式控制家居设备的开关。
4.保证系统的可靠性和稳定性,确保系统能够长时间稳定运行。
三、硬件设计1.系统框图设计本次毕业设计中,我们需要开发一款智能家居控制系统。
该系统主要由以下几个部分组成:51单片机、无线通信模块、继电器模块、传感器模块以及电源模块。
其中,51单片机作为整个系统的核心控制器,负责接收外部信号并进行处理;无线通信模块用于实现与手机APP或者语音识别设备之间的通信;继电器模块用于控制家居设备的开关;传感器模块用于采集环境数据,并将数据传输给51单片机;电源模块则提供稳定可靠的供电支持。
2.电路原理图设计根据上述系统框图,我们可以设计出相应的电路原理图。
具体而言,我们需要设计51单片机的电路、无线通信模块的电路、继电器模块的电路、传感器模块的电路以及电源模块的电路。
基于51单片机实现的门禁控制系统设计
题目门禁控制系统设计【摘要】本设计是利用T7122M-I工业级ID读卡模块实现的门禁控制器,具有存储一张管理卡和多张用户卡的功能,同时管理人员还可以通过按键更改管理卡,增加、删除用户卡等操作,门禁刷卡控制刷卡距离约为5—12CM。
关键词:门禁系统、T7122M-I工业级读卡模块。
目录摘要 (2)第1章门禁系统的概述 (4)1.1 门禁系统概念 (4)1.2 门禁系统的特点 (4)第2章门禁系统的设计要求 (4)2.1 设计要求 (4)第3章门禁系统的方案论证 (4)3.1门禁系统的总体方案 (4)3.2门禁系统的各个方案论证 (5)3.2.1.单片机控制芯片模块 (5)3.2.1.键盘控制块 (5)第4章门禁系统的硬件部分 (6)4.1主控芯片部分 (6)4.2键盘控制部分 (7)4.3蜂鸣器控制部分 (8)4.4T7122M-I工业读卡模块 (8)第5章门禁系统的软件部分 (9)第6章门禁系统的软、硬件调试 (12)6.1硬件调试 (12)6.2软件调试 (12)6.3软、硬件设计注意事项 (12)结论 (13)致谢 (13)参考文献 (14)附录1:系统程序。
(15)第1章门禁系统的概述1.1 门禁系统概念出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。
使用者用一张卡可以打开多把门锁, 对门锁的开启也可以有一定的时间限制。
如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。
出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、监视及管理。
1.2 门禁系统的特点系统将ID卡技术、计算机控制技术与电子门锁有机结合,用ID卡替代钥匙,配合计算机实现智能化门禁控制和管理,有效的解决了传统门锁的使用繁琐和无法信息记录等不足,利用数据控制器采集的数据实现数字化管理可为内部人力资源的有效管理等带来意想不到的效果。
电子钥匙:授权后的ID卡即可当作电子钥匙,将此电子钥匙感应器前一晃, 控制器对该卡进行身份验证,验证合法后即控制电子门锁自动打开。
基于51单片机的太阳能热水器控制系统设计
基于51单片机的太阳能热水器控制系统设计一、本文概述随着全球对可再生能源需求的日益增加,太阳能作为一种清洁、可持续的能源形式,已经引起了广泛的关注和应用。
太阳能热水器作为一种常见的太阳能应用产品,其在节能减排、提高生活质量等方面具有显著的优势。
然而,太阳能热水器在实际使用过程中,仍存在一些问题,如水温控制不稳定、能效利用率不高等。
为了解决这些问题,本文提出了一种基于51单片机的太阳能热水器控制系统设计方案。
该系统以51单片机为核心控制器,结合温度传感器、水位传感器、执行机构等硬件设备,实现了对太阳能热水器水温和水位的精确控制。
通过实时监测水温和水位信息,系统能够自动调整加热功率和补水流量,确保水温稳定在用户设定的范围内,同时避免了水资源的浪费。
系统还具有故障诊断功能,能够及时发现并处理潜在的故障问题,提高了系统的可靠性和稳定性。
本文首先介绍了太阳能热水器的工作原理和现状,分析了传统控制系统存在的问题和不足。
然后,详细阐述了基于51单片机的太阳能热水器控制系统的硬件组成和软件设计。
在硬件设计方面,本文介绍了各个硬件模块的功能和选型原则,包括温度传感器、水位传感器、执行机构等。
在软件设计方面,本文详细说明了系统的控制算法和程序流程,包括温度控制算法、水位控制算法、故障诊断算法等。
本文通过实验验证了系统的可行性和有效性,为太阳能热水器的智能化、高效化提供了有益的探索和实践。
本文的研究不仅有助于提升太阳能热水器的能效利用率和用户体验,还为其他可再生能源应用产品的智能化控制提供了有益的参考和借鉴。
本文的研究成果对于推动太阳能热水器行业的技术进步和产业发展具有重要的现实意义和应用价值。
二、太阳能热水器控制系统总体设计太阳能热水器控制系统的总体设计是确保整个系统高效、稳定运行的关键。
在设计过程中,我们充分考虑了太阳能热水器的实际应用场景和用户需求,以及51单片机的性能特点,从而构建了一个既实用又可靠的控制系统。
《2024年基于51单片机的温度控制系统设计与实现》范文
《基于51单片机的温度控制系统设计与实现》篇一一、引言在现代工业控制领域,温度控制系统的设计与实现至关重要。
为了满足不同场景下对温度精确控制的需求,本文提出了一种基于51单片机的温度控制系统设计与实现方案。
该系统通过51单片机作为核心控制器,结合温度传感器与执行机构,实现了对环境温度的实时监测与精确控制。
二、系统设计1. 硬件设计本系统以51单片机为核心控制器,其具备成本低、开发简单、性能稳定等优点。
硬件部分主要包括51单片机、温度传感器、执行机构(如加热器、制冷器等)、电源模块等。
其中,温度传感器负责实时监测环境温度,将温度信号转换为电信号;执行机构根据控制器的指令进行工作,以实现对环境温度的调节;电源模块为整个系统提供稳定的供电。
2. 软件设计软件部分主要包括单片机程序与上位机监控软件。
单片机程序负责实时采集温度传感器的数据,根据设定的温度阈值,输出控制信号给执行机构,以实现对环境温度的精确控制。
上位机监控软件则负责与单片机进行通信,实时显示环境温度及控制状态,方便用户进行监控与操作。
三、系统实现1. 硬件连接将温度传感器、执行机构等硬件设备与51单片机进行连接。
具体连接方式根据硬件设备的接口类型而定,一般采用串口、并口或GPIO口进行连接。
连接完成后,需进行硬件设备的调试与测试,确保各部分正常工作。
2. 软件编程编写51单片机的程序,实现温度的实时采集、数据处理、控制输出等功能。
程序采用C语言编写,易于阅读与维护。
同时,需编写上位机监控软件,实现与单片机的通信、数据展示、控制指令发送等功能。
3. 系统调试在完成硬件连接与软件编程后,需对整个系统进行调试。
首先,对单片机程序进行调试,确保其能够正确采集温度数据、输出控制信号。
其次,对上位机监控软件进行调试,确保其能够与单片机正常通信、实时显示环境温度及控制状态。
最后,对整个系统进行联调,测试其在实际应用中的性能表现。
四、实验结果与分析通过实验测试,本系统能够实现对环境温度的实时监测与精确控制。
基于51单片机的毕业设计
基于51单片机的毕业设计Introduction51单片机是一种广泛应用于嵌入式系统开发的芯片,其低功耗、稳定性和易用性使其成为许多设计师的首选。
在毕业设计中,基于51单片机的项目可以涉及各种领域,如智能家居、智能交通系统、工业自动化等。
本文将探讨基于51单片机的毕业设计的一些重要方面和技术要点。
Challenges in Designing with 51 Microcontroller在基于51单片机的毕业设计中,可能会面临一些挑战。
以下是一些可能的挑战和解决方案:1.有限的存储空间:51单片机通常具有有限的内存和存储空间,这可能限制了项目的功能和复杂度。
在设计中,需要仔细考虑如何有效地利用存储空间,可以使用压缩算法或使用外部存储器扩展存储空间。
2.低性能:与一些现代微控制器相比,51单片机的性能较低,可能无法满足某些要求。
在设计中,应合理评估项目的性能需求,并根据需求选择合适的单片机型号。
3.缺乏先进的功能和接口:与一些先进的微控制器相比,51单片机可能缺少某些先进的功能和接口,如Wi-Fi、蓝牙和USB。
在设计中,如果需要这些功能和接口,可以考虑使用外部设备或其他芯片来扩展功能。
Design Considerations在进行基于51单片机的毕业设计时,有几个设计方面需要考虑:1. 功能需求首先要明确设计的功能需求。
这包括项目的目标、功能和性能要求。
有了清晰的功能需求,才能更好地定义系统的硬件和软件架构。
2. 硬件设计硬件设计涉及选择合适的单片机型号、外围设备和传感器,并设计电路原理图和PCB布局。
在设计硬件时,需要考虑到电源管理、信号音频处理、输入输出接口等方面。
3. 软件开发软件开发是基于51单片机的毕业设计中的关键部分。
软件开发涉及编写嵌入式C 语言程序、配置和使用开发工具、进行调试和测试等。
在软件开发期间,需要遵循良好的编码规范,并进行充分的测试和验证。
4. 系统集成与调试系统集成是将硬件和软件组合在一起,并进行调试和验证的过程。
基于51单片机 毕业设计
基于51单片机毕业设计基于51单片机的毕业设计在计算机科学与技术领域,毕业设计是学生完成学业的重要一环。
对于电子信息工程专业的学生而言,基于51单片机的毕业设计是一种常见的选择。
51单片机是一种经典的单片机芯片,广泛应用于各种嵌入式系统中。
本文将探讨基于51单片机的毕业设计的一些可能方向和实现方法。
一、智能家居控制系统设计智能家居是当今社会的热门话题,通过将各种家电设备连接到互联网,实现远程控制和自动化管理。
基于51单片机的毕业设计可以设计一个简单的智能家居控制系统。
系统可以通过手机APP或者网页界面控制家中的灯光、电视、空调等设备。
通过学习和研究相关的通信协议和电路设计,学生可以实现这个功能。
二、智能车设计智能车是一个非常有趣和实用的项目。
基于51单片机的毕业设计可以设计一个能够自主避障、跟随线路行驶的智能车。
学生可以通过学习红外传感器、超声波传感器等硬件知识,实现智能车的避障功能。
同时,学生还可以学习线路规划算法,使得智能车能够按照预定的路径行驶。
三、温湿度监测系统设计在许多实际应用中,温湿度的监测是非常重要的。
基于51单片机的毕业设计可以设计一个温湿度监测系统。
学生可以通过学习温湿度传感器的原理和使用方法,实现对环境温湿度的实时监测。
同时,学生还可以设计一个简单的数据存储和显示系统,将温湿度数据保存到存储器中,并通过LCD屏幕显示出来。
四、无人机控制系统设计无人机是近年来非常热门的领域之一。
基于51单片机的毕业设计可以设计一个简单的无人机控制系统。
学生可以通过学习无人机的控制原理和飞行动力学知识,实现对无人机的遥控和自主飞行功能。
同时,学生还可以学习无线通信协议,将无人机与遥控器进行通信。
五、智能医疗设备设计智能医疗设备是医疗行业的一个新兴领域。
基于51单片机的毕业设计可以设计一个简单的智能医疗设备。
学生可以通过学习心电图传感器、血压传感器等硬件知识,实现对患者的生理参数监测。
同时,学生还可以设计一个简单的报警系统,当患者的生理参数异常时,及时发出警报。
基于51单片机的多机通信系统设计
基于51单片机的多机通信系统设计多机通信系统是指通过一台主机与多台从机之间进行数据交互和通信的系统。
在本设计中,我们将使用51单片机实现一个基于串行通信的多机通信系统。
系统硬件设计如下:1.主机:使用一个51单片机作为主机,负责发送数据和接收数据。
2.从机:使用多个51单片机作为从机,每个从机负责接收数据和发送数据给主机。
3.串口:主机和从机之间通过串口进行通信。
我们可以使用RS232标准通信协议。
系统软件设计如下:1.主机设计:a.初始化串口:设置串口参数,如波特率、数据位、停止位等。
b.发送数据:将需要发送的数据存储在发送缓冲区中,通过串口发送给从机。
c.接收数据:接收从机发送的数据,并存储在接收缓冲区中。
2.从机设计:a.初始化串口:设置串口参数,如波特率、数据位、停止位等。
b.接收数据:接收主机发送的数据,并存储在接收缓冲区中。
c.发送数据:将需要发送的数据存储在发送缓冲区中,通过串口发送给主机。
系统工作流程如下:1.主机启动,执行初始化操作,包括初始化串口。
2.从机启动,执行初始化操作,包括初始化串口。
3.主机发送数据给从机:主机将需要发送的数据存储在发送缓冲区中,通过串口发送给从机。
4.从机接收并处理数据:从机接收主机发送的数据,并存储在接收缓冲区中,对接收到的数据进行处理。
5.从机发送数据给主机:从机将需要发送的数据存储在发送缓冲区中,通过串口发送给主机。
6.主机接收并处理数据:主机接收从机发送的数据,并存储在接收缓冲区中,对接收到的数据进行处理。
7.主机和从机循环执行步骤3-6,实现多机之间的数据交互和通信。
多机通信系统的设计考虑到以下几个方面:1.硬件设计:需要合理选择单片机和串口的类型和参数,确保系统的稳定性和可靠性。
2.软件设计:需要设计适应系统需求的通信协议和数据处理提取方法,保证数据的准确性和完整性。
3.通信协议:需要定义主机和从机之间的通信协议,包括数据的格式、传输方式等,以便实现正确的数据交互。
基于51单片机的粮食烘干炉温度控制系统设计
基于51单片机的粮食烘干炉温度控制系统设计摘要:粮食烘干是农业生产中非常重要的一环,对于保证粮食质量和储存寿命具有重要意义。
本文基于51单片机设计了一种粮食烘干炉温度控制系统,通过对温度的实时监测和控制,实现了对粮食烘干过程中温度的自动调节。
实验结果表明,该系统能够有效地控制粮食烘干过程中的温度,提高了烘干效果。
关键词:51单片机;粮食烘干;温度控制;自动调节第一章绪论1.1 研究背景随着农业生产水平的提高和人们对粮食质量要求的不断提高,传统的太阳能和人工晾晒等方法已经无法满足现代农业生产中对于高质量、高效率、低成本、低能耗等方面需求。
因此,采用科学合理的方法进行粮食烘干成为了现代农业生产中不可或缺的环节。
1.2 研究目的和意义本文旨在设计一种基于51单片机的粮食烘干炉温度控制系统,通过对温度的实时监测和控制,实现对粮食烘干过程中温度的自动调节。
通过该系统,可以提高粮食烘干过程中的温度控制精度和稳定性,提高烘干效果,保证粮食质量。
第二章系统设计2.1 系统框架本系统主要由传感器、51单片机、执行器和人机交互界面等组成。
传感器用于实时监测炉内温度情况,将数据传输给51单片机进行处理;51单片机根据监测到的数据进行分析处理,并根据设定值控制执行器调节加热功率;人机交互界面用于设定目标温度、显示当前温度等。
2.2 传感器选择与接口设计在本系统中,选择了一种高精度、稳定性好的温度传感器作为监测元件。
该传感器通过模拟量信号输出当前温度值,并与51单片机进行连接。
2.3 信号采集与处理51单片机通过模拟输入接口采集传感器输出的模拟量信号,并通过模数转换将其转换为数字量信号。
然后,通过软件算法对数字信号进行处理,得到当前温度值。
2.4 控制算法设计本系统采用PID控制算法进行温度控制。
PID控制算法是一种经典的控制算法,具有调节快、稳定性好、适应性强等特点。
通过对PID参数的调整,可以实现对温度的精确控制。
2.5 执行器设计本系统采用电热丝作为执行器。
基于51单片机的GPS定位系统设计
基于51单片机的GPS定位系统设计
GPS定位系统是一种高精度、高可靠性的定位技术,基于51单
片机的GPS定位系统可以用于车辆、船只、无人机等物体的追踪和
导航。
以下是基于51单片机的GPS定位系统设计的步骤:
1. 硬件设计:
GPS模块:选择一款支持串口通信,输出NMEA协议的GPS模块。
51单片机:选择适当的型号,具备较好的计算和通信能力。
显示模块:可以选择LCD显示屏或OLED显示屏来显示当前的定
位信息。
电源模块:GPS模块和51单片机都需要可靠的电源供应,可以
选择锂电池或干电池。
外部存储模块:为了存储历史定位数据,可以选择SD卡存储模块。
2. 软件设计:
a.串口通信程序:通过串口通信程序从GPS模块接收NMEA协议
的数据。
b.解析程序:解析NMEA协议的数据,并提取相关的定位信息
(经度、纬度、速度、时间等)。
c.定位算法:采用常见的定位算法(如卡尔曼滤波、迭代解算等)来计算当前位置。
d.存储程序:将计算出的位置信息存储到SD卡中。
e.显示程序:利用LCD或OLED显示屏显示当前的定位信息。
3. 系统测试
将系统部署到实际场景中进行测试,记录数据并进行分析。
根据测试结果对系统进行改进和优化,以提高其可靠性和精度。
总之,基于51单片机的GPS定位系统设计需要较高的硬件和软件开发能力,需要深入了解GPS原理、51单片机编程以及相关算法的实现方式。
基于51单片机的步进电机控制系统设计
基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
基于51单片机的步进电机红外控制系统的设计
文章标题:基于51单片机的步进电机红外控制系统的设计引言在现代科技发展迅速的时代,控制系统已经被广泛应用于各个领域。
其中,基于51单片机的步进电机红外控制系统的设计,不仅在工业领域有着重要的作用,同时也在家电领域、智能家居等方面得到了广泛的应用。
本文将从步进电机控制系统的设计原理、红外控制的基本概念以及基于51单片机的系统设计方案等方面展开深入探讨。
一、步进电机控制系统的设计原理步进电机是一种将电脉冲信号转换为机械位移的执行元件,其控制系统设计原理是核心。
以步进电机为执行元件的控制系统通常包括电脉冲发生电路、电流驱动电路、位置控制逻辑电路以及接口电路等模块。
在系统设计中,需要考虑步进电机的类型、工作方式、转动角度以及控制精度等因素,以选择合适的控制方案和相关元器件。
针对步进电机的控制系统设计,首先需要从硬件电路和软件控制两个方面进行综合考虑。
硬件方面需要设计合适的脉冲发生电路和驱动电路,并根据具体场景考虑相关的接口电路,以实现步进电机的控制和驱动。
而软件控制方面,则需要编写相应的控制程序,使得系统能够根据具体的控制要求进行精准的控制和调节。
二、红外控制的基本概念红外控制是一种常见的无线遥控技术,通过使用红外线传输信号来实现对设备的控制。
通常包括红外发射器和红外接收器两个部分,发射器将控制信号转换成红外信号发送出去,接收器接收红外信号并将其转换成电信号进行处理。
在实际应用中,红外控制技术已经被广泛应用于各种家电遥控器、智能家居系统以及工业自动化领域。
红外控制的基本原理是在发射器和接收器之间通过红外线进行双向通信,通过调制解调的方式进行信号的传输和解析。
设计基于红外控制的步进电机系统需要考虑红外信号的发射和接收过程,以及相关的解析算法和信号处理。
信号的稳定性、抗干扰能力以及传输距离等也是需要考虑的重要因素。
三、基于51单片机的系统设计方案在步进电机红外控制系统的设计中,选择合适的控制芯片和处理器是至关重要的。
基于51单片机的智能家居系统设计
基于51单片机的智能家居系统设计随着科技的不断发展,智能家居已经逐渐走进了人们的生活。
智能家居系统能够为人们提供更加便捷、舒适和安全的居住环境。
本文将介绍一种基于 51 单片机的智能家居系统设计。
一、系统概述本智能家居系统以 51 单片机为核心控制单元,通过传感器采集环境数据,实现对家居设备的智能控制。
系统主要包括传感器模块、单片机控制模块、执行模块和通信模块等部分。
传感器模块用于采集室内的温度、湿度、光照强度、烟雾浓度等环境参数,并将这些数据传输给单片机。
单片机控制模块对传感器采集到的数据进行处理和分析,根据预设的控制策略,向执行模块发送控制指令。
执行模块包括灯光控制、窗帘控制、电器控制等设备,负责实现具体的控制操作。
通信模块用于实现系统与用户手机或其他终端设备的通信,使用户能够远程监控和控制家居设备。
二、硬件设计1、传感器模块(1)温度传感器:采用DS18B20 数字温度传感器,它具有精度高、测量范围广、接口简单等优点,能够实时准确地测量室内温度。
(2)湿度传感器:选用 DHT11 湿度传感器,它能够同时测量温度和湿度,并将数据以数字信号的形式输出。
(3)光照强度传感器:使用 BH1750FVI 光照传感器,可精确测量环境光照强度,为灯光控制提供依据。
(4)烟雾传感器:采用 MQ-2 烟雾传感器,对烟雾等有害气体具有较高的灵敏度,能够及时检测到火灾隐患。
2、单片机控制模块选用STC89C52 单片机作为控制核心,它具有性能稳定、价格低廉、易于编程等特点。
单片机通过 I/O 口与传感器模块和执行模块进行连接,实现数据的传输和控制指令的发送。
3、执行模块(1)灯光控制:采用继电器控制灯光的开关,通过单片机输出的高低电平信号来控制继电器的通断,从而实现灯光的亮灭控制。
(2)窗帘控制:使用步进电机驱动窗帘的开合,单片机通过发送脉冲信号控制步进电机的转动角度,实现窗帘的开合程度调节。
(3)电器控制:通过智能插座实现对电器的电源控制,智能插座与单片机通过无线通信模块进行连接,接收单片机的控制指令。
基于51单片机 毕业设计
基于51单片机毕业设计基于51单片机的毕业设计引言:在现代科技快速发展的时代,电子技术在各个领域都扮演着重要的角色。
而对于电子工程专业的学生来说,毕业设计是他们在大学期间的重要任务之一。
本文将介绍一种基于51单片机的毕业设计方案,旨在帮助电子工程专业学生更好地完成毕业设计任务。
一、背景介绍单片机是一种集成电路芯片,具有处理器、存储器和输入输出设备等功能,被广泛应用于各种电子设备中。
51单片机是一种常见的8位单片机,具有较高的性价比和广泛的应用领域。
本毕业设计将基于51单片机,通过编程实现一项特定的功能。
二、设计目标本毕业设计的目标是设计一套温湿度监测系统,通过51单片机采集环境温湿度数据,并将数据以可视化的方式显示出来。
该系统将具备以下功能:1. 采集环境温湿度数据;2. 将数据通过LCD显示模块显示出来;3. 当温湿度超出设定范围时,通过蜂鸣器发出警报;4. 可以通过按键设置温湿度的报警阈值。
三、设计方案1. 硬件设计:a. 采用51单片机作为主控芯片;b. 使用DHT11传感器采集环境温湿度数据;c. 连接LCD显示模块,用于显示温湿度数据;d. 连接蜂鸣器,用于发出警报;e. 连接按键,用于设置报警阈值。
2. 软件设计:a. 使用C语言编写单片机程序,实现数据采集、显示和报警功能;b. 通过串口通信将采集到的数据传输到计算机上,以便进一步处理和分析。
四、设计过程1. 硬件搭建:按照设计方案中的硬件设计要求,搭建电路连接,确保各个模块正常工作。
2. 软件编程:a. 编写单片机程序,初始化各个模块,包括51单片机、DHT11传感器、LCD 显示模块、蜂鸣器和按键;b. 设置温湿度报警阈值,并实现相应的报警逻辑;c. 通过串口通信将采集到的数据传输到计算机上。
3. 调试测试:a. 运行程序,观察LCD显示模块上的温湿度数据是否正常显示;b. 调整环境温湿度,观察蜂鸣器是否正常发出警报;c. 通过串口通信将数据传输到计算机上,检查数据是否准确传输。
基于51单片机的温湿度检测系统设计与实现
3、无线通信模块
本系统的无线通信模块采用nRF24L01无线通信芯片。nRF24L01是一款具有 2.4GHz全球开放频率的无线通信芯片,具有低功耗、高速率、高稳定性等特点。 它将主控制器处理后的数据通过无线方式发送给接收器。
4、电源模块
本系统的电源模块采用9V电池供电。我们将9V电池通过稳压器转换为5V电源, 为整个系统提供稳定的电力支持。
三、测试与结果分析
为了验证本系统的可靠性和准确性,我们进行了一系列的测试。测试结果表 明,本系统能够准确快速地采集环境中的温湿度数据,并且能够稳定地将数据上 传至计算机或其他数据采集设备。同时,本系统的按键电路和液晶显示电路也表 现良好,用户可以通过按键调整系统的参数设置,并直观地查看温湿度数据。
2、液晶显示屏
为了方便用户直观地查看温湿度数据,本系统选用了一块16×2字符型液晶 显示屏。液晶屏的驱动电路简单易懂,且具有较低的功耗。
3、按键电路
为了便于用户对温湿度检测系统的参数进行设置,本系统加入了一个按键电 路。用户可以通过按键对系统的采样间隔、数据上传频率等参数进行设置。
4、串口通信电路
图1主程序流程图
2.温湿度采集模块
温湿度采集模块主要负责通过DHT11传感器采集环境中的温湿度数据。该模 块首先对DHT11传感器进行初始化,然后通过单总线接口接收传感器输出的温湿 度数据,最后对数据进行处理并存储。
3、液晶显示模块
液晶显示模块主要负责将温湿度数据显示在液晶屏上。该模块首先对液晶屏 进行初始化,然后根据主程序传递过来的温湿度数据,控制液晶屏的字符输出。
三、软件设计
本系统的软件设计主要分为以下几个步骤:
1、系统初始化:在系统上电后,首先进行各模块的初始化操作,包括DHT11 传感器、AT89C51单片机、nRF24L01无线通信芯片等。
基于51单片机的电梯智能控制系统设计与实现
基于51单片机的电梯智能控制系统设计与实现电梯智能控制系统是一种基于微控制器的设计,它的主要目的是帮助电梯自动化运行并保证运行的安全性。
本文将介绍基于51单片机的电梯智能控制系统的设计和实现。
一、电梯智能控制系统的设计思路若要设计一款电梯智能控制系统,我们需要考虑以下方面:1. 电梯的联动性:我们需要让电梯在呼叫系统和在楼层之间进行联动通信,从而实现自动化操作。
2. 速度控制器:电梯的电控系统中应该包括速度控制器以及对所有电动机和电脑设备的功率管理。
3. 安全保障:此类系统应该包括底层的传感器和控制器,以预防电梯陷入危险的情况。
基于这些方面,我们可以设计出以下的电梯智能控制系统:1. 位于每个楼层的面板将包括两个按钮:上行/下行和电梯呼叫。
2. 每个电梯都有自己的控制器,可以预测每个乘客的目标楼层以及电梯运动的方向。
3. 运动速度应该根据电梯的位置或者方向进行控制。
当电梯靠近楼层之后,速度应该降低并使电梯到达目的地。
4. 当电梯遇到紧急情况,如被卡住或者有人挡住,控制器应该立即响应并阻止电梯运动,避免任何可能危险的事件发生。
二、电梯智能控制系统的硬件设计以下是电梯智能控制系统的基本硬件设计:1. 单片机:电梯智能控制系统需要恰当的单片机来控制每个电梯的速度和位置,同时实现通信功能。
在本例中,我们使用51单片机。
2. 传感器:控制电梯位置和速度的传感器包括霍尔传感器和光电传感器。
3. 驱动器:驱动器是一种组件,可以调节电器负载的功率流量。
在电梯中,我们使用电动机和变频器驱动器来控制电梯的运动。
4. LED 显示器:该显示器用于指示电梯的运动状态,例如方向的指示灯、上行/下行箭头、电梯当前位置的数字等。
5. 按钮面板:面板应该在每个楼层提供上行/下行按钮和呼叫按钮,以允许乘客控制电梯。
三、电梯智能控制系统的软件设计以下是电梯智能控制系统的基本软件设计:1. 定时器:使用定时器来控制每个电梯的位置和速度,例如电梯到达楼层时,应该停止电梯并允许乘客离开或进入电梯。
基于51单片机的温控系统设计
基于51单片机的温控系统设计1.引言1.1 概述概述部分的内容可以包括以下几个方面:温控系统是一种广泛应用于各个领域的实时温度控制系统。
随着科技的发展和人们对生活质量的要求提高,温控系统在工业、家居、医疗、农业等领域得到了广泛应用。
温度作为一个重要的物理量,对于许多过程和设备的稳定运行至关重要。
因此,设计一种高效可靠的温控系统对于提高工作效率和产品质量具有重要意义。
本文将基于51单片机设计一个温控系统,通过对系统的整体结构和工作原理的介绍,可以深入了解温控系统在实际应用中的工作机制。
以及本文重点研究的51单片机在温控系统中的应用。
首先,本文将介绍温控系统的原理。
温控系统的核心是温度传感器、控制器和执行器三部分组成。
温度传感器用于实时检测环境温度,通过控制器对温度数据进行处理,并通过执行器对环境温度进行调节。
本文将详细介绍这三个组成部分的工作原理及其在温控系统中的作用。
其次,本文将重点介绍51单片机在温控系统中的应用。
51单片机作为一种经典的微控制器,具有体积小、功耗低、性能稳定等优点,广泛应用于各种嵌入式应用中。
本文将分析51单片机的特点,并介绍其在温控系统中的具体应用,包括温度传感器的数据采集、控制器的数据处理以及执行器的控制等方面。
最后,本文将对设计的可行性进行分析,并总结本文的研究结果。
通过对温控系统的设计和实现,将验证51单片机在温控系统中的应用效果,并对未来的研究方向和发展趋势进行展望。
通过本文的研究,可以为温控系统的设计与应用提供一定的参考和指导,同时也为利用51单片机进行嵌入式系统设计的工程师和研究人员提供一定的技术支持。
1.2文章结构文章结构部分的内容可以包含以下内容:文章结构部分旨在介绍整篇文章的组织结构和各个部分的内容。
本篇文章基于51单片机的温控系统设计,总共分为引言、正文和结论三部分。
引言部分主要包括概述、文章结构和目的三个小节。
首先,概述部分介绍了本文的主题,即基于51单片机的温控系统设计。
基于51单片机的步进电机控制系统设计与实现
基于51单片机的步进电机控制系统设计与实现步进电机控制系统是基于51单片机的一种控制系统,它主要用来控制步进电机的转动方向和转速等参数。
下面详细解释一下这个系统的设计和实现。
1. 系统硬件设计步进电机控制系统的硬件主要包括51单片机、驱动电路、步进电机和电源等部分。
其中,驱动电路是控制步进电机的关键,它通常采用L298N芯片或ULN2003芯片等常用的驱动模块。
在硬件设计方面,主要需要考虑以下几个方面:(1)步进电机的种类和规格,以便选择合适的驱动电路和电源。
(2)驱动电路的接线和参数设置,例如步进电机的相序、脉冲频率和电流大小等。
(3)电源的选取和参数设置,以满足系统的供电要求和安全性要求。
2. 系统软件设计步进电机控制系统的软件设计主要包括编写控制程序和调试程序。
其中,控制程序是用来实现步进电机的正转、反转、加速和减速等控制功能,而调试程序则用来检测系统的电路和程序的正确性和稳定性。
在软件设计方面,主要需要考虑以下几个方面:(1)确定控制程序的算法和流程,例如使用“循环控制法”或“PID控制法”等控制方法。
(2)选择编程语言和编译器,例如使用汇编语言或C语言等。
(3)编写具体的控制程序和调试程序,并进行测试和调试,以确保程序的正确性和稳定性。
3.系统实现步进电机控制系统的实现主要包括硬件组装和软件烧录两个部分。
在硬件组装方面,需要按照硬件设计图纸进行零部件的选取和电路的组装,同时进行电源和信号线的接入。
在软件烧录方面,需要使用专用的编程器将程序烧录到51单片机的芯片中,并进行相应的设置和校验。
总之,基于51单片机的步进电机控制系统是一个功能强大、应用广泛的控制系统,可以实现精密控制和自动化控制等多种应用,具有很高的实用价值和研究价值。
基于51单片机的课程设计
摘要 (2)第1章概述 (3)1.1ADC0832调节频率输入实现的意义 (3)第2章频率计实现的理论分析 (3)2.1ADC0832调节频率输出的基本结构和原理 (3)第3章单片机基础与芯片使用 (4)3.1单片机介绍 (4)3.2ADC0832介绍和时序使用 (7)第4章系统方案设计及实现 (11)4.1单片机选取 (11)4.2系统硬件结构图 (13)4.3各模块的实现 (13)4.4软件的实现 (15)4.5功能调试 (24)结束语 (26)参考文献 (27)致谢 (28)“ADC0832控制频率输出”实质上是运用可调电阻反馈电压模拟量输入到ADC0832中输出数字量。
应用数字量填充单片机定时器初值,可产生中断从而实现电平转换,接到示波器上可观察方波的输出,由数码管直观的看出电平变化频率。
设计的关键在于数模转换,这个由ADC0832来实现,所以可以比较容易得到一个可控制的频率计。
本文以单片机的实际应用为背景,介绍了以单片机为核心ADC0832控制频率输出设计的基本结构和基本原理。
关键词:单片机;ADC0832;数模转换Abstract"ADC0832 control frequency output" is actually using the adjustable resistorfeedback analog voltage input to the ADC0832 digital output. Application ofdigital single-chip timer initial filling, can generate an interrupt to realize the conversion level, received the oscilloscope can observe Fang Bo's output, by the digital tube directly see level change frequency. The key lies in the design of digital to analog conversion, this is implemented by ADC0832, so it can be easily obtained a controlled frequency meter.Based on the background of the practical application of SCM, SCM introduced to the basic structure of frequency output control design of the core and basic principle of ADC0832.Keyword: MCU; ADC0832; digital to analog conversion第1章概述1.1 ADC0832调节频率输入实现的意义应用ADC0832和可调电阻,由可调电阻反馈电压模拟量输入到中输出数字量。
基于51单片机的智能窗帘控制系统设计
基于51单片机的智能窗帘控制系统设计智能家居技术的快速发展使得我们的家居生活更加智能化和便利化。
其中,智能窗帘控制系统作为其中一个重要组成部分,带来了更加舒适和人性化的体验。
本文将介绍一种基于51单片机的智能窗帘控制系统设计。
一、系统设计概述智能窗帘控制系统设计旨在通过使用51单片机作为核心控制器,实现对窗帘的自动控制。
系统能够根据光线传感器的数据,自动调节窗帘的开闭程度,同时也支持用户手动控制。
二、硬件设计1. 51单片机51单片机是一种常见的嵌入式控制芯片,具有良好的稳定性和灵活性。
该单片机能够通过编程控制各种外设,如光线传感器、电机驱动模块等。
2. 光线传感器光线传感器用于感知环境的光线强度。
基于这个数据,系统能够判断当前是否需要调节窗帘的开闭程度。
3. 电机驱动模块电机驱动模块负责控制窗帘的开闭。
通过控制不同的电机转速和方向,实现窗帘的自动开关。
4. 人机交互模块人机交互模块包括按键、液晶屏等设备,用于用户手动控制窗帘的开闭,同时也显示系统的运行状态和参数。
三、软件设计1. 硬件初始化在系统启动时,需要对各个硬件设备进行初始化,并进行必要的设置,如引脚配置、中断配置等。
2. 光线传感器数据采集系统通过光线传感器实时采集光线强度数据,并通过模数转换将其转化为可用的数字信号。
3. 窗帘控制算法基于光线传感器数据,系统根据预设的算法判断窗帘的开闭程度。
当光线强度较弱时,窗帘自动关闭;当光线强度较强时,窗帘自动打开。
算法还可以考虑其他因素,如时间、季节等。
4. 手动控制模式系统支持用户手动控制窗帘的开闭。
用户可以通过按键或其他人机交互设备来实现手动操作。
5. 显示与反馈系统通过液晶屏等设备将系统的运行状态和参数显示给用户,同时也可以通过提示音或其他方式进行反馈,以增强用户的交互体验。
四、系统实现与测试在完成系统设计后,需要进行系统的实现和测试。
首先,按照硬件设计部分的要求进行电路的搭建和元件的连接。
基于51单片机的洗碗机控制系统设计
基于51单片机的洗碗机控制系统设计一、引言洗碗机控制系统是指基于51单片机的电子控制系统,用于控制洗碗机的各种功能和操作。
本文将介绍基于51单片机的洗碗机控制系统的设计方案。
二、设计思路1.系统组成洗碗机控制系统主要由51单片机、传感器、电机驱动模块和显示屏组成。
其中,传感器用于检测洗碗机内部的水位、温度和洗涤剂浓度等参数;电机驱动模块用于控制洗碗机的电机运行;显示屏用于显示洗碗机的状态和操作界面。
2.功能设计洗碗机控制系统的主要功能包括选择洗碗程序、设置洗碗时间、调节洗涤剂浓度、监测洗碗机状态等。
用户可以通过按键或触摸屏选择不同的洗碗程序,并可以根据需要调节洗涤剂浓度。
洗碗机在洗碗过程中会根据传感器检测到的水位、温度和洗涤剂浓度等参数进行相应的控制,并可以在显示屏上显示当前的洗碗状态和剩余时间。
三、系统设计1.硬件设计洗碗机控制系统的硬件设计主要包括51单片机的选型和外围电路的设计。
在选型方面,应选择适合洗碗机控制需求的51单片机,考虑其性能、存储容量和接口数量。
在外围电路设计方面,需根据具体传感器和电机的特性设计相应的电路,包括信号放大、滤波、隔离等。
2.软件设计洗碗机控制系统的软件设计主要包括洗碗程序的选择、传感器参数的读取和电机控制等。
其中,洗碗程序的选择可以通过按键或触摸屏输入,并通过51单片机的输入端口进行检测和处理。
传感器参数的读取可以通过51单片机的ADC(模拟数字转换)输入端口进行采集,然后进行处理和控制。
电机控制可通过51单片机的IO(输入输出)口和电机驱动模块进行控制,根据传感器的参数进行相应的启停和调速。
四、系统测试洗碗机控制系统设计完成后,需要进行系统测试以验证其功能和性能。
测试可以分为单元测试和集成测试两个阶段。
在单元测试中,需分别测试各个模块和组件的功能,如按键输入、传感器读取、电机控制等。
在集成测试中,将各个模块和组件进行整合,测试系统的整体功能和性能。
五、总结本文介绍了基于51单片机的洗碗机控制系统的设计方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的多路温度采集控制系统设计言:随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。
本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。
本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。
单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。
本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。
我所采用的控制芯片为AT89c51,此芯片功能较为强大,能够满足设计要求。
通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。
关键词:温度多路温度采集驱动电路正文:1、温度控制器电路设计本电路由89C51单片机温度传感器、模数转换器ADC0809、窜入并出移位寄存器74LS164、数码管、和LED显示电路等组成。
由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D7-D0输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端窜行输出到74LS164,经74LS164 窜并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。
89C51的P2.0、P2.1、P2.2分别接入ADC0809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。
输出驱动控制信号由p1.0输出,4个LED为状态指示,其中,LED1为输出驱动指示,LED2为温度正常指示,LED3为高于上限温度指示,LED4为低于下限温度指示。
当温度高于上限温度值时,有p1.0输出驱动信号,驱动外设电路工作,同时LED1亮、LED2灭、LED3亮、LED4灭。
外设电路工作后,温度下降,当温度降到正常温度后,LED1亮、LED2亮、LED3灭、LED4灭。
温度继续下降,当温度降到下限温度值时,p1.0信号停止输出,外设电路停止工作,同时LED1灭、LED2灭、LED3灭、LED4亮。
当外设电路停止工作后,温度开始上升,接着进行下一工作周期。
2、温度控制器程序设计本软件系统有1个主程序,6个子程序组成。
6个子程序为定时/计数器0中断服务程序、温度采集及模数转换子程序ADCON、温度计算子程序CALCU、驱动控制子程序DRVCON、十进制转换子程序METRICCON 及数码管显示子程序DISP。
(1)主程序主程序进行系统初始化操作,主要是进行定时/计数器的初始化。
(2)定时/计数器0中断服务程序应用定时计数器0中断的目的是进行定时采样,消除数码管温度显示的闪烁现象,用户可以根据实际环境温度变化率进行采样时间调整。
每当定时时间到,调用温度采集机模数转换子程序ADCON,得到一个温度样本,并将其转换为数字量,传送给89C51单片机,然后在调用温度计算子程序CALCU,驱动控制子程序DRVCON,十进制转换子程序MERTRICCON,温度数码显示子程序DISP。
(3)温度采集及模数转换子程序ADCON该子程序进行温度采样并将其转换为8位数字量传送给89C51的P0口。
采样得到的温度数据存放在片内RAM的20H单元中。
(4)温度计算子程序CALCU根据热敏电阻的分度值和电路参数计算出出一张温度表,存放在DATATAB数据表中,由于篇幅关系,本程序只给出0-49℃的温度数据。
一个温度有两个字节组成,前一字节为温度值,后一字节为该温度所对应的热敏电阻上的电压的数字量。
根据采样值,通过查表及比较的方法计算出当前的温度值,并将其存入片内RAM的21H单元。
采用查表法计算温度值时为了克服热敏电阻的阻值——温度特性曲线的非线性,提高测量精度。
(5)驱动控制子程序DRVCON该子程序调节温度,当温度高于上限温度时(本程序设为30℃),P1.0输出驱动控制信号,驱动外设工作降温;当温度下降到下限温度时(本程序设为25℃),P1.0停止输出,温度上升,周而复始;工作状态有LED1-LED4指示。
(6)十进制转换子程序METRICCON将存放于内部RAM21H单元的当前温度值得二进制数形式转换为十进制数(BCD码)形式,以便输出显示,转换结果存放在片内RAM的32H单元(百位)、31H(十位)、30H单元(个位)。
(7)数码显示子程序DISP该子程序利用89C51串口的方式0串行移位寄存器工作方式,将片内RAM的30H、31H、32H单元的BCD码查表转换为七段码后由RXD端串行发出去,然后经74LS164串并转换,将七段值传送给数码管,以十进制形式显示出当前温度值。
根据以上分析画出的部分程序设计流程图如图1-0至图1-4所示。
图1-0 部分程序设计流程图的设计框架图1-1 主程序流程图图1-2 T0中断服务程序流程图图1-3 温度采样及模数转换子程序流程图图1-4 温度计算子程序流程图3、具体内容(1)温度控制器电器原理图设计按以上分析及相关知识设计出的温度控制器电路原理图如图1-5所示。
图1-5 温度控制电路原理图(2)温度数据表在图1-5所示的电路中,热敏电阻的连接如图1-6所示。
图1-6 热敏电阻的连接本设计所使用的热敏电阻的分度表及ADC0809转换后的电压数字量见附表1-1所示转换后的电压数字量的计算方法为:热敏电阻与R8并并联后的总电阻:R=(Rt*R8)/(Rt+R8)R与R7串联电路中R的分压值(即输入ADC0809的模拟量):V=5R/(R+R7)5V被分成256等分(8位量化),则每份的电压值:△=5/256输入的模拟量电压经8位量化后的数字量:D=V/△例如,热敏电阻在温度为20℃时的阻值为62.254千欧,则根据上述方法计算出的电压数字量为169,注意在计算中R7用实测值19.6千欧代入进入计算。
在实际做该电路时,可根据自己所选择的热敏电阻的分度表计相关电路参数,按上述方法计算出ADC0809转换后的各温度对应的电压数字量。
程序中的温度数据表构成:1个温度数据占2个字节,前一字为温度值,后一个字节为该温度下热敏电阻上的模拟电压转换成德8位数字量。
如在20℃时,热敏电阻对应的电压数字量为169,则20,169组成一个温度为20℃的温度数据。
按这样方法组成的0-49℃的温度数据表如下:DATA TAB:DB 0,194,1 ,193 ,2 ,192,3,191,4,190DB 5,189,6,188,7 ,187,8,186,9,185DB10,184,11,182,12,181,13,180,14,178DB 15,177,16,175,17,174,18,173,19,171DB 20,169,21,168,22,166,23,165,24,163DB 25,161,26,159,27,158,28,,156,29,154DB 30,152,31,150,32,149,33,147,34,145DB 35,143,36,141,37,139,38,147,39,135DB 40,133,41,131,42,129,43,127,44,125DB 45,123,46,121,47,118,48,116,49,114在温度采样机模数转换子程序中,采样得到的当前温度下热敏电阻上的数字电压存于20H单元,在温度计算子程序中通过查表的方法从表中的第一个温度(0℃)下热敏电阻上的数字电压开始,依次取出各温度下热敏电阻上的十字电压,与与存于20H单元的当前温度下热敏电阻上的的数字电压比较,如小于当前温度的数字电压,则在取出下一温度的数字电压与当前温度的数字电压比较;直到大于或等于当前的温度数字电压,比较结束。
如大于则取出前一温度作为当前温度存于21H单元,如等于则将该温度作为但前温度存于20H单元。
这种温度计算方法,避免了温度特性曲线的非线性对温度计算精确性的影响,计算出的温度非常精确。
(3)温度控制程序设计在本设计中,晶体振荡器频率为6MHz,T0定时时间为100ms,T0工作于方式1,则T0的初值为:X=(最大计数值M―定时时间t/及其周期Tm)=216 -100ms/2us=15536=3CB0H按以上任务分析设计出的源程序如下:ORG 0000H;跳转到主程序LJMP MAIN;ORG 000BH;LJMP T0INT;跳转到T0中断服务程序;主程序ORG 0100H;MAIN:MOV R1,#10; T0 100马上定时溢出计数寄存器R1赋初值10MOV P1,#0FFH; 所有指示灯灭MOV SP,#60H; 堆栈指针赋初值60HMOV TMOD,#01H; T0定时、方式1、软启动MOV TL0,#0B0H; T0赋初值MOV TH0,#3CH;MOV IE,#82H; 开放T0中断SETB TR0; 启动T0SJMP $;定时/计数器0中断服务程序ORG 0200H;T0INT:DJNZ R1,NEXT; T0溢出10次,即1s进一次采样处理LCALL ADCON; 调用温度采样及模数转换子程序LCALL CALCU; 调用温度计算子程序LCALL DRVCON; 调用驱动控制子程序LCALL METRICCON; 调用十进制转换子程序LCALL DISP; 调用数码管显示子程序MOV R1,#10; R1重赋值10NEXT:MOV TL0,#0B0H; T0重装初值MOV TH0,#3CH;RETI;温度采样及模数转换子程序ORG 0300H;ADCON:MOV DPTR,#0F0FFH; 选通ADC0809通道0MOV A,#00H;MOVX @DPTR,A; 启动A/D转换HERE:JNB P3.3,HERE; 判断数据转换是否结束,没结束则等待MOVX A,@DPTR; 读取转换后的数据MOV 20H,A; 将从ADC0809中读取的当前温度下热敏电阻上的电压值存于20H单元RET ;温度计算子程序ORG 0400H;CALCU:MOV R2,#01H; R2为数据表的索引值寄存器MOV DPTR,#DA TATAB; 温度数据表首地址送DPTRNEXT1:MOV A,R2; 索引值送AMOVC A,@A+DPTR; 查表取出某一温度的数字电压值CJNE A,20H,K1; 与当前温度的数字电压值比较DEC R2; 等于当前温度的数字电压值,则查表取出该温度值作为当前温度值MOV A,R2;MOVC A,@A+DPTR;LJMP K3;K1:JNC K2; 大于当前温度的数字电压值,则继续取出下一温度的数字电压进行比较DEC R2; 小于当前温度的数字电压值,则查表取出前一个温度值作为当前温度值DEC R2DEC R2MOV A,R2;MOVC A,@A+DPTR;LJMP K3;K2:INC R2;INC R2;LJMP NEXT1;K3:MOV 21H,A; 将当前温度值存于21H单元RET;DATA TAB;DB 0,194,1,193,2,192,3,191,4,190;温度数据表DB 5,189,6,188,7,187,8,186,9,185DB 10,184,11,182,12,181,13,180,14,178DB 15,177,16,175,17,174,18,173,19,171DB 20,169,21,168,22,166,23,165,24,163DB 25,161,26,159,27,158,28,156,29,154DB 30,152,31,150,32,149,33,147,34,145DB 35,143,36,141,37,139,38,137,39,135DB 40,133,41,131,42,129,43,127,44,125DB 45,123,46,121,47,118,48,116,49,114驱动控制子程序ORG 0500H;DRVCON:MOV A,21H; 取出当前温度值CJNE A,#30,J1; 与上限温度值(30℃)比较LJMP GO;J1:JNC DRV1; 若高于上限温度,则输出驱动信号,同时高于上限温度指示灯点亮CJNE A,#25,J2; 与显现温度(25℃)比较LJMP GO;J2:JC DRV2; 弱低于下限温度,则驱动信号停止输出,同时点亮低于下限温度的指示灯LJMP GO;DRV1:CLR P1.0;SETB P1.1;CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0SETB P1.1;CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0;SETB P1.1;SETB P1.1;SETB P1.2;CLR P1.3;LJMP OVER;GO:CLR P1.1; 在下线温度(25℃)至上限温度(30℃)之间,则驱动信号保持前面状态,同时温度正常指示灯点亮SETB P1.2;SETB P1.3;OVER:RET;;十进制转换子程序ORG 0600H;METRICCON:MOV R3,#00H; 将存于21H单元中的当前温度转换为BCD码MOV R4,#00H; 百位存于32H单元,十位存于31H单元,个位存于30H单元MOV A,21H;CLR C;W1:SUBB A,#100;JC W2;INC R4;AJMP W1;W2:ADD A,#100;CLR C;W3:SUBB A,#10;JC W4;INC R3;AJMP W3;W4:ADD A,#10;MOV 30H,A;MOV 31H,R3;MOV 32H,R4;RET;;数码管显示子程序ORG 0700H;DISP:MOV R5,#03H; 将存于32H单元、31H单元、30H单元中的温度BCD码查表转换为七段码MOV R0,#30H; 通过串行ORG 0100H;MAIN:MOV R1,#10; T0 100马上定时溢出计数寄存器R1赋初值10MOV P1,#0FFH; 所有指示灯灭MOV SP,#60H; 堆栈指针赋初值60HMOV TMOD,#01H; T0定时、方式1、软启动MOV TL0,#0B0H; T0赋初值MOV TH0,#3CH;MOV IE,#82H; 开放T0中断SETB TR0; 启动T0SJMP $;定时/计数器0中断服务程序ORG 0200H;T0INT:DJNZ R1,NEXT; T0溢出10次,即1s进一次采样处理LCALL ADCON; 调用温度采样及模数转换子程序LCALL CALCU; 调用温度计算子程序LCALL DRVCON; 调用驱动控制子程序LCALL METRICCON; 调用十进制转换子程序LCALL DISP; 调用数码管显示子程序MOV R1,#10; R1重赋值10NEXT:MOV TL0,#0B0H; T0重装初值MOV TH0,#3CH;RETI;温度采样及模数转换子程序ORG 0300H;ADCON:MOV DPTR,#0F0FFH; 选通ADC0809通道0MOV A,#00H;MOVX @DPTR,A; 启动A/D转换HERE:JNB P3.3,HERE; 判断数据转换是否结束,没结束则等待MOVX A,@DPTR; 读取转换后的数据MOV 20H,A; 将从ADC0809中读取的当前温度下热敏电阻上的电压值存于20H单元RET ;温度计算子程序ORG 0400H;CALCU:MOV R2,#01H; R2为数据表的索引值寄存器MOV DPTR,#DA TATAB; 温度数据表首地址送DPTRNEXT1:MOV A,R2; 索引值送AMOVC A,@A+DPTR; 查表取出某一温度的数字电压值CJNE A,20H,K1; 与当前温度的数字电压值比较DEC R2; 等于当前温度的数字电压值,则查表取出该温度值作为当前温度值MOV A,R2;MOVC A,@A+DPTR;LJMP K3;K1:JNC K2; 大于当前温度的数字电压值,则继续取出下一温度的数字电压进行比较DEC R2; 小于当前温度的数字电压值,则查表取出前一个温度值作为当前温度值DEC R2DEC R2MOV A,R2;MOVC A,@A+DPTR;LJMP K3;K2:INC R2;INC R2;LJMP NEXT1;K3:MOV 21H,A; 将当前温度值存于21H单元RET;DATA TAB;DB 0,194,1,193,2,192,3,191,4,190;温度数据表DB 5,189,6,188,7,187,8,186,9,185DB 10,184,11,182,12,181,13,180,14,178DB 15,177,16,175,17,174,18,173,19,171DB 20,169,21,168,22,166,23,165,24,163DB 25,161,26,159,27,158,28,156,29,154DB 30,152,31,150,32,149,33,147,34,145DB 35,143,36,141,37,139,38,137,39,135DB 40,133,41,131,42,129,43,127,44,125DB 45,123,46,121,47,118,48,116,49,114驱动控制子程序ORG 0500H;DRVCON:MOV A,21H; 取出当前温度值CJNE A,#30,J1; 与上限温度值(30℃)比较LJMP GO;J1:JNC DRV1; 若高于上限温度,则输出驱动信号,同时高于上限温度指示灯点亮CJNE A,#25,J2; 与显现温度(25℃)比较J2:JC DRV2; 弱低于下限温度,则驱动信号停止输出,同时点亮低于下限温度的指示灯LJMP GO;DRV1:CLR P1.0;SETB P1.1;CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0SETB P1.1;CLR P1.2;SETB P1.3;LJMP OVER;DRV2:SETB P1.0;SETB P1.1;SETB P1.1;SETB P1.2;CLR P1.3;LJMP OVER;GO:CLR P1.1; 在下线温度(25℃)至上限温度(30℃)之间,则驱动信号保持前面状态,同时温度正常指示灯点亮SETB P1.2;SETB P1.3;OVER:RET;;十进制转换子程序ORG 0600H;METRICCON:MOV R3,#00H; 将存于21H单元中的当前温度转换为BCD码MOV R4,#00H; 百位存于32H单元,十位存于31H单元,个位存于30H单元MOV A,21H;CLR C;W1:SUBB A,#100;JC W2;INC R4;AJMP W1;W2:ADD A,#100;CLR C;W3:SUBB A,#10;JC W4;INC R3;AJMP W3;W4:ADD A,#10;MOV 30H,A;MOV 31H,R3;RET;;数码管显示子程序ORG 0700H;DISP:MOV R5,#03H; 将存于32H单元、31H单元、30H单元中的温度BCD码查表转换为七段码MOV R0,#30H; 通过串行通信方式0输出驱动3个数码管,显示当前温度MOV DPTR,#TAB;LOOP:MOV A,@R0;MOVC A,@A+DPTR;MOV SBUF,A;WAIT:JNB T1,WAIT;CLR T1;INC R0;DJNZ R5,LOOP;RET;TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;通信方式0输出驱动3个数码管,显示当前温度MOV DPTR,#TAB;LOOP:MOV A,@R0;MOVC A,@A+DPTR;MOV SBUF,A;WAIT:JNB T1,WAIT;CLR T1;INC R0;DJNZ R5,LOOP;RET;TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;七段码数据表附表:1-1热敏电阻分度表及经ADC0809转换后的电压数字量9 103.5243 18510 98.6833 18411 94.1006 18212 89.7613 18113 85.6511 18014 81.7564 17815 78.0646 17716 74.5637 17517 71.2425 17418 68.0903 17319 65.0972 17120 62.254 16921 59.5519 16822 56.9829 16623 54.5392 16524 52.2138 1625 50 16126 47.8916 15927 45.8829 15828 43.9683 15629 42.1428 15430 40.4017 15231 38.7405 15032 37.1552 14933 35.6418 14734 34.1967 14535 32.8164 14336 31.4979 14137 30.238 13938 29.0339 13739 27.883 13540 26.7828 13341 25.7308 13142 24.725 12943 23.763 12744 22.843 12545 21.9629 12346 21.1211 12147 20.3158 11848 19.5453 11649 18.8082 11450 18.1028 11251 17.4241 11052 16.7787 108。