51单片机 Proteus仿真 电风扇模拟控制系统 自然风 睡眠风 常风 您所在的位置:网站首页 家用电扇 51单片机 Proteus仿真 电风扇模拟控制系统 自然风 睡眠风 常风

51单片机 Proteus仿真 电风扇模拟控制系统 自然风 睡眠风 常风

2024-06-30 00:24| 来源: 网络整理| 查看: 265

1

课程设计题三十五:风扇模拟控制系统设计  设计内容:1、3个独立按键分别控制“自然风”、“睡眠风”、“常风”,(三者的区别是直流电机的停歇时间不同),并在数显管上显示出区别    2、每种类型风可以根据按下独立按键次数分为4个档的风力调节。     3、设计风扇的过热保护,用继电器实现。即当风扇运行一段时间后,暂停10秒。    4、其他创新内容(如报警提示)

按键1 1234档位 按键2 5678档位 按键3 9 10 11 12档位 在这里插入图片描述

所有代码仿真打开下载:

http://dt4.8tupian.net/2/28880a68b9990.pg3

在这里插入图片描述

这是一个基于8051单片机的嵌入式系统程序,用于控制风扇的档位和定时关闭功能。以下是程序的主要部分的解释:

头文件和宏定义:

#include "reg51.h": 引入51单片机的寄存器定义。#include , , , : 引入一些标准库和一些用于字符串、输入输出和内存管理的头文件。定义了一些宏,如uchar, uint, u8, u16,用于简化数据类型的定义。

全局变量和IO定义:

sbit ENA = P3 ^ 4;: 定义 ENA 为 P3.4 引脚,用于控制风扇。u8 ENA_PWM_data = 7;: 用于控制风扇的 PWM 数据。uchar code LEDData[]: 数码管段选表。sbit key_01, key_02, key_03;: 定义三个按键的输入引脚。sbit RELAY = P3 ^ 6;, sbit BEEP = P3 ^ 7;: 定义继电器和蜂鸣器的控制引脚。

函数和延时:

void delay_ms_key(unsigned char t): 实现毫秒级延时函数。unsigned char KeySscan(void): 按键检测函数,返回按下的按键编号。void init_timer1(void): 定时器1的初始化设置。void timer1_server(void) interrupt 3: 定时器1中断服务程序,用于控制 PWM。

主函数 main():

初始化风扇、蜂鸣器和定时器。通过按键控制风扇档位,设置 ENA_PWM_data 和数码管显示的值。

定时器1中断服务程序 timer1_server():

控制 PWM 的工作。当 pwm_count 达到 ENA_PWM_data 时,关闭 ENA。

定时器0中断服务程序 T1_time():

实现定时功能,控制风扇在一定时间内打开或关闭。当 ifg 为1时,计时关闭风扇,否则计时打开风扇。控制 LED 数码管显示,用于显示风扇的运行时间。

总体来说,这个程序通过按键控制风扇的档位,定时关闭风扇,并通过 LED 数码管显示风扇的运行时间。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有