课程设计——基于单片机的智能电风扇控制系统
本科毕业论文---基于单片机智能电风扇控制系统设计

目录摘要 (1)第1章概述 (2)1.1 STC89C52单片机简介 (2)1.2 本设计任务和主要内容 (2)第2章方案选择 (4)2.1 温度传感器的选用 (4)2.2 控制核心的选择 (5)2.3 显示电路 (5)2.4 调速方式 (6)2.5 控制执行部件 (6)第3章硬件设计 (7)3.1 系统总体设计 (7)3.2 控制装置原理 (7)3.3 温度检测和显示电路 (8)3.3.1DS18B20的温度处理方法 (8)3.3.2温度传感器和显示电路组成 (9)3.4 电机调速电路 (10)3.4.1电机调速原理 (10)3.4.2电机控制模块设计 (11)第4章软件设计 (13)4.1 主程序 (13)4.2 数字温度传感器模块和显示子模块 (14)4.3 电机调速与控制子模块 (15)总结 (17)附录1 主要程序代码 (19)附录2 仿真图 (35)附录3 实物图 (36)附录4 元件清单 (37)摘要本设计为一种温控风扇系统,具有灵敏的温度感测和显示功能,系统STC89C52单片机作为控制平台对风扇转速进行控制。
可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。
所设高低温值保存在温度传感器DS18B20内部E2ROM中,掉电后仍然能保存上次设定值,性能稳定,控制准确。
关键词单片机;温度传感器;智能控制。
四川信息职业技术学院毕业设计说明书第1章概述1.1STC89C52单片机简介STC89C52是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内4bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置用8位中央处理器(CPU)和Flash存储单元,功能强大。
基于单片机的智能风扇的设计

基于单片机的智能风扇的设计智能风扇的设计是基于单片机的一种智能化家电产品,通过集成了传感器、单片机、通信模块和风扇控制电路等功能模块,能够实现自动感知环境温度、湿度等参数,并根据用户的需求自动调节风扇的转速和工作模式。
下面将详细介绍智能风扇的设计。
1.硬件设计智能风扇的硬件设计包括传感器模块、单片机模块、通信模块和控制电路模块。
传感器模块:智能风扇的传感器模块通常包括温度传感器和湿度传感器,用于感知环境的温度和湿度。
可以选择常见的数字温湿度传感器,如DHT系列传感器。
单片机模块:单片机模块是智能风扇的核心控制模块,可选择一款适合的单片机,如51单片机或STM32系列单片机,并结合开发板进行开发。
单片机模块负责读取传感器数据,并根据温度和湿度的变化进行风扇转速和工作模式的调节。
通信模块:通信模块用于实现智能风扇与其他设备的远程控制和数据传输功能。
可以选择Wi-Fi模块或蓝牙模块,实现与智能手机或其他智能设备的连接。
控制电路模块:控制电路模块包括电机驱动电路和电源电路。
电机驱动电路用于控制风扇电机的转速,可以选用H桥驱动芯片。
电源电路负责为各个模块供电,可以采用稳压模块和滤波电路,保证各个模块的正常运行。
2.软件设计智能风扇的软件设计主要包括数据采集、数据处理和控制策略。
数据采集:单片机模块通过传感器模块采集到温湿度数据,并将数据转换为数字信号以供程序识别。
数据处理:单片机模块通过算法处理采集到的温湿度数据,进一步计算出风扇应该运行的转速和工作模式。
可以根据不同的温湿度阈值设置不同的转速和工作模式,如低温低湿度下风扇停止运行,高温高湿度下风扇全速运行。
控制策略:单片机模块根据处理后的数据,通过控制电路模块控制风扇的转速和工作模式。
控制策略可以通过采用PID控制算法,根据环境温湿度的反馈信息进行动态调节,使风扇以最佳转速运行。
3.功能设计智能风扇可以通过通信模块与智能手机或其他智能设备连接,实现远程控制和数据传输的功能。
基于单片机的智能电风扇的设计

基于单片机的智能电风扇的设计
1. 系统设计思路:
智能电风扇系统由传感器、单片机以及电机驱动电路组成。
传感器检测环境温度、湿度和人体距离等参数,单片机根据这些参数控制电机的工作,并且可以根据预设程序自动调节电风扇的转速和运转模式。
2. 硬件设计:
(1) 传感器模块:
环境温湿度传感器模块和人体距离传感器模块分别采用DHT11和HC-SR501。
(2) 单片机模块:
根据项目需求,使用STM32F103ZET6单片机,主要处理传感器的读取和数据处理,并进行PWM波输出,控制电机转速。
(3) 电机驱动模块:
电机采用直流无刷电机,控制驱动电路采用L298N芯片。
3. 软件设计:
(1)初始化各个模块,包括传感器、GPIO等。
(2)读取传感器的数据,并根据不同温度、湿度和人体距离进行选择参数,设置不同的转速和运转模式。
(3)通过PWM波输出,控制电机的转速,实现电风扇的自动调节和控制。
4. 实现功能:
灵活的温湿度和人体距离检测,自动选择合适的电风扇运转模式和转速,节能环保,人性化的操作界面等。
总之,基于单片机的智能电风扇系统可以在提供便利的同时,达到节能环保的目的。
基于单片机的电风扇模拟控制系统设计

基于单片机的电风扇模拟控制系统设计一、引言电风扇是现代生活中常见的家用电器之一,它的使用方便、功能多样,深受人们喜爱。
随着科技的发展,基于单片机的电风扇控制系统逐渐成为研究的热点。
本文将介绍一种基于单片机的电风扇模拟控制系统设计,旨在提供一个可靠、智能的电风扇控制方案。
二、系统设计1. 系统框架基于单片机的电风扇模拟控制系统主要由单片机、传感器、电机驱动电路、显示器和按键等组成。
其中,单片机充当控制中心的角色,传感器用于采集环境参数,电机驱动电路用于控制电机的转速,显示器和按键用于用户与系统进行交互。
2. 传感器选择传感器的选择对于系统的精确性和稳定性至关重要。
在电风扇控制系统中,常用的传感器有温度传感器和湿度传感器。
温度传感器用于检测环境温度,湿度传感器用于检测环境湿度。
根据不同的需求,可以选择合适的传感器进行使用。
3. 单片机编程单片机是系统中的核心部件,其编程决定了整个系统的功能和性能。
在电风扇控制系统中,单片机需要实现以下功能:- 读取传感器采集到的温度和湿度数据;- 根据设定的温度和湿度阈值,控制电机的转速;- 实时显示温度、湿度和电机转速等信息;- 通过按键进行系统设置和操作。
4. 电机驱动电路电机驱动电路用于控制电机的转速。
常用的电机驱动电路有直流电机驱动电路和交流电机驱动电路。
根据不同的电机类型,选择适合的驱动电路。
在电风扇控制系统中,一般采用直流电机,因此需要设计一个合适的直流电机驱动电路。
5. 显示器和按键显示器和按键用于用户与系统进行交互。
显示器可以显示当前环境的温度、湿度和电机转速等信息,按键则可以用于设置温度和湿度阈值以及控制电机的开关。
合理设计显示器和按键的布局和界面,使用户操作方便,信息清晰。
三、系统优势1. 智能化控制基于单片机的电风扇模拟控制系统可以根据环境的温湿度变化自动调节电机的转速,实现自动控制。
用户只需设定好温湿度阈值,系统会自动根据环境参数进行调节,提供舒适的使用体验。
单片机课程设计+电风扇模拟控制系统设计

目录一总体方案设计1.1设计要求以电风扇模拟控制系统设计内容:1、有3个独立按键分别控制“自然风”、“睡眠风”、“常风”,(三者的区别是直流电机的停歇时间不同),并在数显管上显示出区别。
2、每种类型风可以根据按下独立按键次数分为4个档的风力调节。
3、设计风扇的过热保护,用继电器实现。
即当风扇运行一段时间后,暂停10秒。
4、其他创新内容(蜂鸣器报警提示)1.2 优点及意义这款电风扇可以根据自己日常存在的环境还有在不同情况下的需求随时调节三种不同的模式。
三种模式分别是“自然风”、“睡眠风”、“常风”。
如果在使用的过程中感觉三种模式下的风速不适合自己的要求的话,还可以在三种单独的模式下根据按键按动次数的不同来微调节风速,在一个模式下有4中不同的档位,相当于这款电风扇可以有12种可调节的模式,可以满足日常的基本需求。
不同的档位可以在数码管上显示出来,可以做到更加的直观、准确。
风扇电机的部分采用的是无刷直流电机,静音效果和节能效果出色,比较省电;风量档位多,风比较柔和;送风距离更远。
同时在加上蜂鸣器过热保护,使得风扇使用寿命更长,在风扇稳定性还有占用的体积来说这款电风扇都是有着较强的优势1.2初步设计思路2电风扇的系统以AT89C51单片机为核心,由时钟电路,复位电路,显示电路,直流无刷电机组成。
由复位电路来保证程序的复位和初始化,时钟电路来保证内各部件协调工作的控制信号。
作用是来配合外部晶体实现振荡的电路提供高频脉冲,更是作为电机的PWM占空比的前提条件。
矩阵键盘作为电风扇的按键来控制电机的转动速度,键盘控制的原理就是调节电动机的输出电压来控制电动机的转速。
实际上是利用了PWM控制方法,可以更好的控制电动机的频率,确保了运行时候的准确度还有精度也是较强的二硬件电路设计2.1 AT98C51单片机与蜂鸣器模块图二蜂鸣器模块2.1.1 89C51单片机89C51单片机由中央处理器(CPU)、存储器、定时/计数器、输入/输出(I/O)接口、中断控制系统和时钟电路组成。
基于51单片机的智能风扇控制系统设计与实现

基于51单片机的智能风扇控制系统设计与实现智能风扇控制系统是一种能够根据环境温度自动调节风扇速度的系统。
在本文中,将介绍基于51单片机的智能风扇控制系统的设计与实现。
首先,需要明确智能风扇控制系统的主要功能。
该系统的主要功能包括:根据环境温度自动调节风扇速度、显示当前环境温度和风速、设置风扇工作模式等。
下面将详细介绍智能风扇控制系统的硬件设计和软件实现。
硬件设计方面,系统需要使用51单片机作为主控芯片。
此外,还需使用一个温度传感器来感知环境温度。
为了实现显示功能,可以使用一个数码管或液晶显示屏。
此外,还需要一个电机驱动模块来控制风扇的转速。
软件实现方面,首先需要编写一个温度采集程序,从温度传感器中读取环境温度,并将其保存在一个变量中。
然后,需要编写一个风扇控制程序,根据环境温度的变化调节风扇的转速。
可以通过改变电机驱动模块中的PWM信号来控制风扇的转速。
同时,还需要编写一个显示程序,以实时显示当前环境温度和风速。
在风扇控制程序中,可以设置一些阈值来决定风扇的工作模式。
例如,可以设置一个最低温度阈值和一个最高温度阈值。
当环境温度低于最低温度阈值时,风扇停止工作;当环境温度高于最高温度阈值时,风扇以最大速度工作;在最低温度阈值和最高温度阈值之间,风扇的转速随着温度的升高而逐渐增加,以保持环境温度在一个合适的范围内。
此外,还可以为系统添加一些附加功能,如远程控制功能。
可以通过添加一个无线通信模块,使得用户可以通过手机或电脑远程控制智能风扇的开关和工作模式。
综上所述,基于51单片机的智能风扇控制系统可以通过温度传感器感知环境温度,并根据环境温度的变化来调节风扇的转速。
通过添加显示功能和远程控制功能,可以提高智能风扇控制系统的实用性和便利性。
该系统的设计与实现不仅可以提供更舒适的使用体验,还可以节省能源和降低使用成本。
基于51单片机的智能温控风扇系统的设计

基于51单片机的智能温控风扇系统的设计题目:基于51单片机的智能温控风扇系统的设计一、需求分析在炎热的夏天人们常用电风扇来降温,但传统电风扇多采用机械方式进行控制,存在功能单一,需要手动换挡等问题。
随着科技的发展和人们生活水平的提高,家用电器产品趋向于自动化、智能化、环保化和人性化,使得智能电风扇得以逐渐走进了人们的生活中。
智能温控风扇可以根据环境温度自动调节风扇的启停与转速,在实际生活的使用中,温控风扇不仅可以节省宝贵的电资源,也大大方便了人们的生活。
二、系统总体设计1、硬件本系统由集成温度传感器、单片机、LED数码管、及一些其他外围器件组成。
使用89C52单片机编程控制,通过修改程序可方便实现系统升级。
系统的框图结构如下:图1-1硬件系统框图其中,单片机为STC89C52,这个芯片与我开发板芯片相同,方便拷进去程序。
晶振电路和复位电路为单片机最小系统通用设置,温度采集电路,使用的是DS18B20芯片,数码管使用的是4位共阳数码管,风扇驱动芯片使用的是L298N,按键为按钮按键,指示灯为发光二级管。
2、软件要实现根据当前温度实时的控制风扇的状态,需要在程序中不时的判断当前温度值是否超过设定的动作温度值范围。
由于单片机的工作频率高达12MHz,在执行程序时不断将当前温度和设定动作温度进行比较判断,当超过设定温度值范围时及时的转去执行超温处理和欠温处理子程序,控制风扇实时的切换到关闭、低速、高速三个状态。
显示驱动程序以查七段码取得各数码管应显数字,逐位扫描显示。
主程序流程图如图4-1所示。
图1-2软件系统框图这是该系统主程序的运行流程,当运行时,程序首先初始化,然后调用DS18B20初始化函数,然后调用DS18B20温度转换函数,接着调用温度读取函数,到此,室内温度已经读取,调用按键扫描函数这里利用它设置温度上下限,然后就是调用数码管显示函数,显示温度,之后调用温度处理函数,再调用风扇控制函数使风扇转动。
基于单片机的智能温控风扇系统设计

基于单片机的智能温控风扇系统设计一、本文概述随着科技的快速发展,智能家居系统在人们的日常生活中扮演着越来越重要的角色。
其中,智能温控风扇系统作为智能家居的重要组成部分,通过自动调节风速和温度,为用户提供舒适的室内环境。
本文旨在探讨基于单片机的智能温控风扇系统的设计与实现。
本文首先介绍了智能温控风扇系统的背景和意义,阐述了其在现代家居生活中的重要性和应用价值。
接着,文章详细分析了系统的总体设计方案,包括硬件平台的选择、软件编程的思路以及温度控制算法的实现。
在此基础上,文章还深入探讨了单片机在智能温控风扇系统中的应用,包括单片机的选型、外设接口的设计以及控制程序的编写。
文章还注重实际应用的可行性,对智能温控风扇系统的硬件电路和软件程序进行了详细的说明,包括电路原理图的设计、元器件的选择以及程序的调试过程。
文章对系统的性能和稳定性进行了测试和分析,验证了系统的有效性和可靠性。
通过本文的阐述,读者可以全面了解基于单片机的智能温控风扇系统的设计和实现过程,为相关领域的研究和应用提供参考和借鉴。
本文也为智能家居系统的发展提供了新的思路和方法。
二、系统总体设计智能温控风扇系统的设计旨在实现根据环境温度自动调节风扇转速的功能,从而提高使用的舒适性和能源效率。
整个系统以单片机为核心,辅以温度传感器、电机驱动模块、电源模块以及人机交互界面等组成部分。
在总体设计中,首先需要考虑的是硬件的选择与配置。
单片机作为系统的核心控制器,需要选择运算速度快、功耗低、稳定性高的型号。
温度传感器则选用能够精确测量环境温度、响应速度快、与单片机兼容的型号。
电机驱动模块负责驱动风扇电机,需要选择能够提供足够驱动电流、控制精度高的模块。
电源模块需要为整个系统提供稳定可靠的电源。
人机交互界面则用于显示当前温度和风扇转速,同时提供用户设置温度阈值的接口。
在软件设计上,系统需要实现温度数据的采集、处理与传输,风扇转速的控制,以及人机交互界面的管理等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能风扇设计报告学院:信息工程学院专业:自动化基于单片机的智能电风扇控制系统第1节引言电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。
其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。
尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。
鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。
1.1 智能电风扇控制系统概述传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。
本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。
从而达到无须人为控制便可自动调整风力大小的效果。
1.2设计任务和主要内容本设计以MCS51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。
另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。
本设计主要内容如下:风速设为从高到低6个档位,可由用户通过键盘手动设定。
② 当温度每降低3℃则电风扇风速自动下降一个档位。
③ 当温度每升高3℃则电风扇风速自动上升一个档位。
④ 10℃最低工作温度,当低于该温度时,电风扇自动停转。
⑤ 自动与手动的切换第2节 系统主要硬件电路设计2.1 总体硬件设计系统总体设计框图如图2-1所示图2-1 系统原理框图 对于单片机中央处理系统的方案设计,根据要求,我们可以选用具有4KB 片内E2PROM 的AT89C51单片机作为中央处理器。
作为整个控制系统的核心,AT89C51内部已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个键盘输入温度显示单片机系统 电机控制模块数字温度传感模块最小系统。
整个系统结构紧凑,抗干扰能力强,性价比高。
是比较合适的方案2.2温度传感器模块设计温度传感器可以选用LM324A的运算放大器,将其设计成比例控制调节器,输出电压与热敏电阻的阻值成正比,但这种方案需要多次检测后方可使采样精确,过于烦琐。
所以我采用更为优秀的DS18B20数字温度传感器,它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。
2.2.1 温度传感器模块组成本模块以DS18B20作为温度传感器,AT89C51作为处理器,配以温度显示作为温度控制输出单元。
整个系统力求结构简单,功能完善。
电路图如图2-2所示。
系统工作原理如下:DS18B20进行现场温度测量,将测量数据送入AT89C51的P3.7口,经过单片机处理后显示温度值,并与设定温度值的上下限值比较,若高于设定上限值或低于设定下限值则控制电机转速进行调整。
电路图见附录。
2.3电机调速与控制模块设计电机调速是整个控制系统中的一个重要的方面。
通过4905,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。
2.3.1 电机调速原理可控硅的导通条件如下:1)阳-阴极间加正向电压;2)控制极-阴极间加正向触发电压;3)阳极电流IA 大于可控硅的最小维持电流IH。
电风扇的风速设为从高到低6、5、4、3、2、1档,各档风速都有一个限定值。
在额定电压、额定功率下,以最高转速运转时,2.3.2 电机控制模块硬件设计电路图见附录。
2.4温度显示与控制模块设计温度的显示通过LED灯来显示其变化,在表盘上,共有8个LED指示灯。
分别为自动或手动,1级风苏、2级风速等。
LED会随着温度以及操作的不同会进行相应的显示。
2.5键盘控制系统模块设计矩阵键盘是3*3的,接在P2口进行相应的控制,主要的操作是进行手动自动切换、风速手动调节等,同时,在相应的键盘操作下,在LED显示部分,进行相应的操作显示。
这样做的目地可以简化操作,并且很简单的便可以达到控制目的。
电路图见附录。
2.6稳压电路模块的设计为了保证单片机在正常电压下正常工作,我们采用7805来进行5V的稳压工作。
电路原理图如下:电路图见附录。
第三节系统软件设计在程序设计上,我们主要设计了四个模块,主程序模块、温度扫描模块、电机控制模块和键盘扫描模块。
主程序主要涉及到对温度采集及键盘采集回来的数据进行综合性的处理。
温度扫描模块,则结合温度传感器的原理,写出了采集温度用的函数。
电机控制,通过延时实现了模拟的PWM波,对速度进行了分档。
键盘扫描,则采用定时中断的方法,隔100ms时间进行一次扫描。
具体思想见附录1.结束语首先,通过这次应用系统设计,在很大程度上提高了自己的独立思考能力和单片机的专业知识,也深刻了解写一篇应用系统的步骤和格式,有过这样的一次训练,相信在接下来的日子我们都会了,而且会做得更好。
我所写的系统主要根据目前节智能化电风扇技术的发展趋势和国内实际的应用特点和要求,采用了自动化的结构形式,实现对电风扇转速的自动控制。
系统以单片机AT89C51为核心部件,单片机系统完成对环境温度信号的采集、处理、显示等功能;用Protel软件绘制电路原理图和PCB电路印刷板图,由Protues软件进行访真测试,利用MCS51汇编语言编制,运行程序该系统的主要特点是:1)适用性强,用户只需对界面参数进行设置并启动系统正常运行便可满足不同用户对最适合温度的要求,实现对最适温度的实时监控。
2)系统成本低廉,操作非常简单,随时可以根据软件编写新的功能加入产品。
操作界面可扩展性强,只要稍加改变,即可增加其他按键的使用功能。
本系统在当今提倡人性化设计和健康产品的环境下具有非常好的市场前景。
本设计在模拟检测中运行较好,但采样据不太稳定。
功能上的缺憾是对于两个档之间的临界温度处理不好,并且档位太少。
还有待改进。
附录1:主程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned int#include "wendu.h"#include "dianji.h"#include "jianpan.h"//extern uint speed;//extern unit anjian[9];main(){uint tmp;EA=0;P0=0xff;dianji_kou=1; //dian ji chu shi wei gaoanjian_clear1();anjian[0]=1;anjian_dingshi_init();EA=1; //EA shi nengwhile(1){anjian_saomiao_1();if(anjian[0]==1){tmp=DS18B20_Tmp_Read();if(tmp<=0x00a0){P0=0x00; //<10cspeed_0();}else if(tmp>0x00a0&&tmp<=0x0140){P0=0x7f; //10--20cspeed_2();}else if(tmp>0x0140&&tmp<=0x0170){P0=0xbd; //20--23cspeed_3();}else if(tmp>0x0170&&tmp<=0x0190){P0=0xdd; //23--26cspeed_4();}else if(tmp>0x0190&&tmp<=0x01d0){P0=0xed; //26--29cspeed_5();}else if(tmp>0x01d0&&tmp<=0x0200){P0=0xf5; //29--32cspeed_6();}else {P0=0xf9; //>35cspeed_7();}}if(anjian[1]==1){P0=0xfe;anjian_saomiao_1();if(anjian[3]==1){P0=0x7e; //<10cspeed_1();}else if(anjian[4]==1){P0=0xbe; //10--20cspeed_2();;}else if(anjian[5]==1){P0=0xde; //20--25cspeed_3();}else if(anjian[6]==1){P0=0xee; //25--30cspeed_4();}else if(anjian[7]==1){P0=0xf6; //30--35cspeed_5();}else if(anjian[8]==1){P0=0xfa; //>35cspeed_6();}else speed_0();}else { P0=0xff; speed_0();}}}温度采集程序:///sbit TMDAT= P3^7;/////////////////////////dian ji/////////////////////////////////////sbit TMDAT= P3^7;void Delay(int useconds){int s;for (s=0;s<useconds;s++);}uchar Reset_Bus(void){uchar presence;TMDAT=0;Delay(29);TMDAT=1;Delay(3);presence=TMDAT;Delay(25);return(presence);}void Write_Bit(char bitval) {TMDAT=0;if(bitval==1) TMDAT=1;Delay(5);TMDAT=1;}void Write_Byte(char val) {uchar i;uchar temp;for (i=0;i<8;i++){temp=val>>i;temp&=0x01;Write_Bit(temp);}Delay(5);}uchar Read_Bit(void){uchar i;TMDAT=0;TMDAT=1;for(i=0;i<3;i++);return(TMDAT);}uchar Read_Byte(void){uchar i;uchar value=0;for (i=0;i<8;i++){if(Read_Bit()) value|=0x01<<i;Delay(6);}return(value);}uint DS18B20_Tmp_Read(void){uint TEMP;uchar TEMP_LSB,TEMP_MSB;Reset_Bus();Write_Byte(0xCC);Write_Byte(0x44);Delay(5);Reset_Bus();Write_Byte(0xCC);Write_Byte(0xBE);TEMP_LSB=Read_Byte();TEMP_MSB=Read_Byte();TEMP=TEMP_MSB;TEMP=TEMP<<8;TEMP=TEMP|TEMP_LSB;return(TEMP);}电机调速程序:sbit dianji_kou=P3^6; //P3^6控制电机void sudu(uint x){uint i;dianji_kou=0;for(i=0;i<5001;i++){if(i==x){dianji_kou=~dianji_kou;}}}void speed_0(void){sudu(0);}void speed_1(void){sudu(500);}void speed_2(void){sudu(700);}void speed_3(void){sudu(800);}void speed_4(void){sudu(1000);}void speed_5(void){sudu(1200);}void speed_6(void){sudu(1500);}void speed_7(void){sudu(1800);}sbit dianji_kou=P3^6; //P3^6控制电机void sudu(uint x){uint i;dianji_kou=0;for(i=0;i<5001;i++){if(i==x){dianji_kou=~dianji_kou;}}}void speed_0(void){sudu(0);}void speed_1(void){sudu(500);}void speed_2(void){sudu(700);}void speed_3(void){sudu(800);}void speed_4(void){sudu(1000);}void speed_5(void){sudu(1200);}void speed_6(void){sudu(1500);}void speed_7(void){sudu(1800);}键盘采集程序:/*p2^0 p2^1 p2^2p2^3p2^4p2^5*/sbit KeyIn1 = P2^3;sbit KeyIn2 = P2^4;sbit KeyIn3 = P2^5;sbit KeyOut1 = P2^0;sbit KeyOut2 = P2^1;sbit KeyOut3 = P2^2;uint anjian[9];void anjian_dingshi_init(){TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256; //100MS// EA=1; //KAI ZONG ZHONG DUANTR0=1; //T0 YUN XU }void anjian_clear1(void){char i;for(i=0;i<9;i++){anjian[i]=0;}}void anjian_clear2(void){char i;for(i=3;i<9;i++){anjian[i]=0;}}void anjian_saomiao_1(void){KeyOut1 = 0;KeyOut2 = 1;KeyOut3 = 1;if (KeyIn1 == 0){anjian_clear1();anjian[0]=1;}if (KeyIn2 == 0){anjian_clear1();anjian[1]=1;}if (KeyIn3 == 0){anjian_clear1();}while(KeyIn1 == 0||KeyIn2 == 0||KeyIn3 == 0);KeyOut1 = 1;KeyOut2 = 0;KeyOut3 = 1;if (KeyIn1 == 0){anjian_clear2();anjian[3]=1;}if (KeyIn2 == 0){anjian_clear2();anjian[4]=1;}if (KeyIn3 == 0){anjian_clear2();anjian[5]=1;} while(KeyIn1 == 0||KeyIn2 == 0||KeyIn3 == 0);KeyOut1 = 1;KeyOut2 = 1;KeyOut3 = 0;if (KeyIn1 == 0){anjian_clear2();anjian[6]=1;}if (KeyIn2 == 0){anjian_clear2();anjian[7]=1;}if (KeyIn3 == 0){anjian_clear2();anjian[8]=1;} while(KeyIn1 == 0||KeyIn2 == 0||KeyIn3 == 0);}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;anjian_saomiao_1();}附录2:电源模块:温度传感器模块:键盘模块:电机模块:。