38-基于51单片机的简单风扇控制

发布者:epsilon15最新更新时间:2021-10-31 来源: eefocus关键字:51单片机  风扇控制 手机看文章 扫描二维码
随时随地手机看文章

具体实现功能

系统由STC89C52单片机+单体数码管+LED指示灯+LM298N芯片芯片+直流电机构成。


具体功能:


(1)模拟实现风扇的转动及摇头;


(2)实现按键设置1 档强风,2档中风,3档弱风,并用数码管显示;


(3)实现按键控制摇头与停止摇头。


设计背景

本设计以直流电机控制为基础,基于传感器技术,以单片机控制技术为核心,实现电风扇的智能控制,同时设计采用轻触开关即可具有电风扇的调档功能。使用集成电路LM298N完成电风扇的驱动设计,通过单片机STC89C52的定时器0以及定时器1产生不同占空比的PWM波形控制电风扇电机驱动芯片从而改变电风扇电机的输入电流,最终实现电风扇电机转速调节功能,使得设计更加人性化,更加环保节能。


硬件设计

本设计以STC89C52处理器为核心,单片机作为外围检测与控制电路设计实现智能家居系统。其中单片机系统通过传感器检测到相关信息,向嵌入式平台发送相对应的信息,嵌入式平台做出相应判断与处理,并同时通过网络告知主人与物管人员做出相应处理,以保证业主的财产人身安全。


本设计主要设计指标:


(1) 按键输入模块,4个按键分别调整“睡眠风”,“自然风”,“常风”,“无风”2个按键分别控制 “摇头” “定时”;


(2) 直流电机转速控制,通过LM298N芯片驱动;


(3) 当前转速显示、当前电机温度显示,状态在LCD上显示。


原理图

本系统原理图设计采用Altium Designer19,具体如图。

程序

本设计利用KEIL5软件实现程序设计,具体如图。

仿真实现

本设计利用protues8.7软件实现仿真设计,具体如图。

关键字:51单片机  风扇控制 引用地址:38-基于51单片机的简单风扇控制

上一篇:39-基于51单片机的热敏电阻测温设计
下一篇:37-基于51单片机智能温控风扇设计

推荐阅读最新更新时间:2024-11-09 20:12

基于51单片机个8位数码管的简单拨号键盘
我们知道,在拨号是,每拨一位数字,前边拨的数字就要向左挪一位,我们可以用一个一位数组,通过移动数组中数字的移动和8位数码管的动态扫描来实现位置的移动。 代码如下: #include reg52.h //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; #define GPIO_DIG P0 #define GPIO_KEY P1 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; u8 KeyValue; //用来存放读取到的键值
[单片机]
51单片机实例一:12位AD_DS1621与12864液晶
简介:本文为关于12位AD_DS1621与12864液晶的程序代码的文本格式,如需要源文件点击链接:http://www.eeskill.com/file/id/42247 下载资料就可以使用了。 //EDM12864B DRIVE// /************************************** PAGEADD为页地址起使 TIERADD为行地址起使 DIS_STARTADD为开始命令 CTABLE为汉字字库数组 ETABLE为英文字库数组 ***************************************/ #include reg51.h #define uchar unsigned ch
[单片机]
51单片机汇编语言(五)
定时器 计数器 功能说明: 开始时接在单片机P1端口中的P1.7亮,用定时器延时60ms后P1.6亮,如此向右移动,移到最右端P1.0亮后,又回到最左端重新开始向右移动,不断循环。 程序:DS01.ASM 01: START: MOV R0, #8 ;设右移8次 02: MOV A, #01111111B ;存入开始点亮灯位置 03: LOOP: MOV P1, A ;传送到P1并输出 04: ACALL DELAY ;调延时子程序 05: RR A
[单片机]
带详细注释的51单片机数字钟源码(带闹钟万年历)
一、设计任务: 本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。系统以AT89S52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。温度采集选用DS18B20芯片,万年历采用直观的数字显示,数据显示采用1602A液晶显示模块,可以在LCD上同时显示年、月、日、星期、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。 二、设计要求: (1)用4个按键实现所有功能,计时准确。 (2)可以设定闹钟功能。 (3)有阴历功能,平年闰年准确无误。 (4)
[单片机]
带详细注释的<font color='red'>51单片机</font>数字钟源码(带闹钟万年历)
51单片机扩充串行口的方法
基本的 51 单片机有四个并行口,其中还包含了一个串行口。 当接口不够用的时候,大家就会想到,使用什么外接芯片来扩充。 但是,各种教材、参考书、网络文章,介绍扩充并行口的花样不少,扩充串行口的方法,几乎无人问津。 偶尔见到一个,也是使用 8250、8251 等“巨型”芯片来扩充的 使用这些芯片,就要占用单片机很多的更为紧缺的并行口,基本上就是得不偿失。更别说还要设置复杂的控制字了。 使用简单的三态门,即可为单片机扩充串行口,仅仅占用单片机的一、二个引脚作为控制引线而已。 实际上是很简单的,就像使用 74LS373、74LS244 扩充并行口一样,为串行口,配上合适三态门就行了。 选用 74LS125(低电平
[单片机]
<font color='red'>51单片机</font>扩充串行口的方法
51单片机通用汇编延时子程序,
[DELY]:通用延时子程序 [地址]:7FEBH - FFEBH [功能]:延时 [入口]:延时常数放在 R2 寄存器中。时间常数 N(十六进制)所对应的延时时间(6MZH 晶振时)见下表: [出口]:R2=0 [占用寄存器]:R2 [调用]:无 例:延时1 秒子程序 MOV R2,#18H LCALL 7FEBH RET ORG 7FEBH ;通用延时子程序(07EBH & 0FEBH & ...) L7FEB: PUSH 02H ;R2(复位后R2即为 02H)存放时间常数,进栈保护 L7FED: PUSH 02H ; R2 进栈保护 L7FEF: PUSH 02H ; 进栈 L7FF1: DJNZ R2,$ ;R2 不为零
[单片机]
51单片机学习:LCD12864液晶显示实验
实验名称:LCD12864液晶显示实验(带字库) 接线说明: 实验现象:下载程序后,LCD12864上显示汉字字符信息 注意事项: ***************************************************************************************/ #include public.h #include lcd12864.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出
[单片机]
51单片机驱动16*16点阵显示生日快乐程序
自己亲手做的一个点阵屏 仿真+实物, 送给女朋友的生日礼物 单片机+液晶显示 带仿真文件 妞都狠喜欢这个了,显示生日快乐4个字然后还有心型,还有i love you,全部源码和仿真文件的下载地址是:http://www.51hei.com/bbs/dpj-18851-1.html 下面是部分源码预览: #include at89x51.h #include DS1302.h #define din P3_2 #define load P3_3 #define clk P3_4 #define uchar unsigned char #define uint unsigned int unsigned char code
[单片机]
<font color='red'>51单片机</font>驱动16*16点阵显示生日快乐程序

推荐帖子

方波-555
我用555做了一個方波,目標38kHz的,PS;markspaceratio=55:45用途是仿造紅外線,另外有一組是data,2kHz的我按照他的datasheet做,用了C=10nF,Ra=380,Rb=1700不過做了很多次都係只有35kHz:\'(大家可以教教我嗎?方波-555做了很多次????震荡频率没有适当调节吗?我了都有6-7次,我是按照他的方程式計出Ra和Rb的因為markspaceratio=55:45,=t1:t2=55:45output
kingdomwing 单片机
怎么读取FAT16文件系统的FDT表
我的困惑是一次到底读多少,因为一个文件信息占32位,我想只读32位,然后查询file-name,再得到首簇号。哪位大虾指点一下啊,谢谢怎么读取FAT16文件系统的FDT表那个好像是有文件系统。
5xue ARM技术
求教!!简单问题。。。。。。。。。。。。。。。。。
怎么实现wince下win32程序的纵横切替??求教!!简单问题。。。。。。。。。。。。。。。。。纵横切替??是什么东东?用baidu搜索了,汗一个。请详解。
1742 嵌入式系统
开关电源的啸叫原因分析(推荐)
凡是做过开发工作的人员都有这样的经历,测试开关电源或在实验中有听到类似产品打高压不良的漏电声响或高压拉弧的声音不请自来:其声响或大或小,或时有时无;其韵律或深沉或刺耳,或变化无常者皆有。  1、变压器(Transformer)浸漆不良:包括未含浸凡立水(Varnish)。啸叫并引起波形有尖刺,但一般带载能力正常,特别说明:输出功率越大者啸叫越甚之,小功率者则表现不一定明显。本人曾在一款72W的充电器产品中就有过带载不良的经验,并在此产品中发现对磁芯的材质有着严格的要求。(此款产品客户要求较为严
wxf1357 模拟与混合信号
招聘WinCE开发人员
要求有实际开发项目经验可兼职公司在成都有意向的朋友请留下QQ联系也可以发邮件到:pupyt@163.com招聘WinCE开发人员成都的朋友们怎么啦?158320817,本人在成都,你们具体要求做什么,想兼职,可以聊聊加我最好注明,谢谢本人在上海,可以兼职一下在杭州工作,乐意兼职,dthxman@163.comlf2000_www@yahoo.com.cn本人在合肥,做过不少的EVC项目,如嵌入式GIS,数据库之类。本人在长春,家是四川的倒是很想回成都。。有机会联系一下吧
qdjxll WindowsCE
Qt学习之路第18篇 标准对话框 事件
事件(event)是由系统或者Qt本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。事件也就是我们通常说的“事件驱动(eventdrive)”程序设计的基础概念。事件的出现,使得程序代码不会按照原始的线性顺序执行。想想看,从最初的C语言开始,我们的程序就是以一种线性的顺序执行代码:这一条语句执行之后,开始
兰博 嵌入式系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved