历史上的今天

今天是:2024年09月04日(星期三)

正在发生

2020年09月04日 | 51单片机温度+pwm控制风扇转速,且温度在LCD1602上显示

发布者:创意旋律 来源: 51hei关键字:51单片机  pwm  控制风扇转速  LCD1602 手机看文章 扫描二维码
随时随地手机看文章

原理图如下:
 

源代码如下:

#include

#include

#include"define.h"

#include"delay.h"

#include"LCD1602.h"

#include"DS18B20.h"

#include"HL_alarm.h"

sbit KEY3 = P3^5;                //定义开始/停止

  void zhuan();

  unsigned char timer1;

//***********************************************************************/


void main()

{  if(KEY3==0)            //第一次检测是否有键按下

    {   

    PWM=0;MA=~MA;MB=~MB;

    delay(1);

    return;   

}

else

    {LCD_init();

    set_alarm_HL();

    DS_read_temperature();

    TMOD=0x01;

    TH0=-50000/256;

    TL0=-50000%256;

    EA=1;

    ET0=1;

    TR0=1;

    while(1)

    {}

}

}

void timer0() interrupt 1

{ if(KEY3==0)            //第一次检测是否有键按下

    {     TH0=-50000/256;

    TL0=-50000%256;

    DS_read_temperature();//读取温度

    if((HI_alarm==1)||(LO_alarm==1))

        alarm();

    if(DS_OK==0)

        return;//如果读取错误,返回从新再读

    display_temperature();

    buffer_line1[10]='S';//*********修改成STOP

    buffer_line1[11]='T';

    buffer_line1[12]='O';

    buffer_line1[13]='P';

PWM=0;MA=~MA;MB=~MB;

    delay(1);

    return;

}

else

{

    TH0=-50000/256;

    TL0=-50000%256;

    DS_read_temperature();//读取温度

    if((HI_alarm==1)||(LO_alarm==1))

        alarm();

    if(DS_OK==0)

        return;//如果读取失败,返回重新再读

    display_temperature();

    if(sign_temp<=50&&sign_temp>=15)

    {

        MA=1;

        MB=0;

        if(sign_temp<25) //等于45或65时停止转动,占空比0

        {    buffer_line1[10]='S';//*********修改成STOP

            buffer_line1[11]='T';

            buffer_line1[12]='O';

            buffer_line1[13]='P';

            PWM=0;

            delay(1);

            return;

        }

          buffer_line1[10]='R';//*********修改成RUN

        buffer_line1[11]='U';

        buffer_line1[12]='N';

        buffer_line1[13]=' ';

         zhuan();

    }

        else

        {

            MA=0;

            MB=0;

        }

    }

}

  void zhuan()

  {

    TMOD|= 0x10;   //设置定时计数器工作方式1为定时器

    TH1 = 0xFE;

    TL1 = 0x0C;             //--定时器赋初始值,12MHZ下定时0.5ms--//

    ET1 = 1;      //开启定时器1中断

    EA = 1;

    TR1 = 1;     //开启定时器

   

        if(timer1>50)  //PWM周期为50*0.5ms

        {

            timer1=0;

        }

        if(timer1 < sign_temp)    //改变sign_temp这个值可以改变直流电机的速度

        {

            PWM=1;

        }

        else

        {

            PWM=0;

        }

    }


void Time1(void) interrupt 3    //3为定时器1的中断号 1 定时器0的中断器 0外部中断 1 2外部中断 2 4串口中断

    {

    TH1 = 0xFE;  //重新赋初值

    TL1 = 0x0C;

    timer1++;   

    }


关键字:51单片机  pwm  控制风扇转速  LCD1602 引用地址:51单片机温度+pwm控制风扇转速,且温度在LCD1602上显示

上一篇:单片机红外解码,短按开关灯,长按调光,数码管显示键值
下一篇:单片机红外遥控风扇源程序

推荐阅读

今日,伴随着新学期的开始,有着西北模电王之称的西安交通大学电气工程学院杨建国教授,又发布了全新的系列丛书,那就是《新概念模拟电路》。这是继《你好,放大器》之后,杨建国教授的又一最新力作,该套丛书包括了《晶体管》、《负反馈和运算放大器》、《运放电路的频率特性和滤波器》、《信号处理电路》以及《源电路.信号和电源》五本,囊括了模拟电路...
9月3日,东方电气集团与中国移动集团在北京签署战略合作框架协议,联合成立5G+先进制造工程应用研究中心。 双方将围绕服务国家制造强国和网络强国战略,加快推动新一代信息技术与制造技术融合发展,加速5G在先进制造业的应用示范,研究培育新型生产方式,全面提升产品研发、生产、管理和服务智能化水平,助力先进制造业实现数字化转型、高质量发展。 ...
数字万用表有很多的种类,应用的范围也很广,但毕竟万用表属于电子产品中的一种,或许在使用的过程中会出现一些小问题,这里就分享下几点排除故障的小方法。1、波形分析。用电子示波器观察电路各关键点的电压波形、幅度、周期(频率)等。例如,如测时钟振荡器是否起振,振荡频率是否是40kHz。若振荡器无输出,说明TSC7106内部反相器损坏,也可能是外部元...
当打工人被繁杂的工作压垮,在日复一日的重复性工作后逐渐躺平;企业也在业务流程复杂性和员工生产力中困顿不堪,企业是时候思考如何实现业务流程端到端的自动化,以及组织和员工的协作关系。有远见的企业正在使用自动化与人工智能来增强核心优势,并与员工和客户建立智能高效的协作关系。 根据 IBM 商业价值研究院的一项研究显示,到 2022年,人工...

史海拾趣

问答坊 | AI 解惑

电话遥控程序2

最近我又把程序改了改,感觉还不是很好,劳烦大家给看看改改啊 ORG 0000H LJMP SETUP ORG 0003H LJMP INEX0P ORG 000BH LJMP INET0P ORG 00013H LJMP INEX1P ORG 0030H SETUP: MOV R2,#0 MOV 7FH,#0FFH M ...…

查看全部问答∨

Proteus常用器件中英文对照表

AND 与门 ANTENNA 天线 BATTERY 直流电源 BELL 铃,钟 BVC 同轴电缆接插件 BRIDEG 1 整流桥(二极管) BRIDEG 2 整流桥(集成块) BUFFER 缓冲器 BUZZER 蜂鸣器 CAP 电容 CAPACITOR 电容 CAPACITOR POL 有极性电容 CAPVAR 可调电容 CIRCUIT ...…

查看全部问答∨

重要消息,关于温度计

刚才接到SOSO姐消息啦,51组和C8051FXXX组的板子已经去生产啦,估计下周就能出来啦:Q 烫手啊!!!!标题党!!!!:D :D…

查看全部问答∨

請問沒有參加譯碼的地扯如何處理?

若低位地址(A0-A11)接在内存芯片地址引脚上,高位地址(A12-A19)进行片选译码(其中,A14和A16没有参加译码),且片选信号低电平有效,则对下图所示的译码器,不属于此译码空间的地址为 (36) 。 (36)A. AB000H~ABFFFH     ...…

查看全部问答∨

请教一个串口通信问题

我用的核心板是AT91RM9200,用的是标准的linux C函数输出和获取用户空间信息。( printf和gets等等) 操作系统是linux2.4.27 我想在系统启动的时候自动加载我的程序,可是自动运行之后发现它是从串口0输出的,串 口1看不见任何东西。 后来在in ...…

查看全部问答∨

基于WINCE6.0 R3定制的模拟器NK能玩QQ但上不了网,为什么?Ping主机也是可以通的.

基于WINCE6.0 R3定制的模拟器NK能玩QQ但上不了网,为什么?Ping主机也是可以通的.…

查看全部问答∨

大家帮忙给翻译一下下面几句,高分~~~~~~~~~~

The GEM-6208 PCI Adapter is a wireless PCI adapter featuring the very latest in advanced wireless silicon chip technology to deliver incredibly fast data transfer in the 2.4GHz frequency. The DWL-G520 also works with 802.11b stand ...…

查看全部问答∨

有人用过atmega128can吗?

有人用过atmega128can吗?   atmega128can好使吗? 为啥我自己画的板子焊上128好使,焊上128can就不能用呢?…

查看全部问答∨

MCO输出失真,怎么办?

// Enable GPIOA clock  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);  // Output HSE or other clock on MCO pin PA8 (pin 67) ...…

查看全部问答∨

宽带滤波器

请教高手讲讲宽带滤波器是怎么回事,是指可处理的输入信号带宽很宽呢还是指输出的带宽宽呢?…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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